씨앗뿌리는 개발자의 개발노트
Published 2023. 9. 9. 12:48
Slack API로 메시지 보내기 개발

카카오 톡 API에는 여러가지 한계가 있었다. 

무엇보다도 자신에게 보내는 메시지는 알림이 오지 않았다. 

그건 팀원으로 추가한 타인에게 보낼때도 마찬가지였다. 

친구 목록을 얻기 위해서는 검수를 받아야 한다고 하는데 그 과정이 잘 보이지 않았다. 

우리나라 최고에 가까운 IT 업계의 문서화 수준이 이 정도라는건 매우 아쉬운 일이다. 

너무 많은 활용예를 고려해서인지 사용법이 simple하지가 않았다. 

시간만 많이 소모하다 결국 slack API를 활용하기로 결정했다. 

훨씬 쉽고 간단하게 구현할 수 있었다. 카카오 API에서 필요한 복잡한 로그인 과정 따윈 필요 없었다. 

먼저 slack-sdk를 설치한다. 

pip install slack-sdk

이어서 hubot token을 준비하고 보내려는 channel id는 브라우저에서 슬랙에 로그인한 뒤 다음 url 포맷에 따라 확인한다. 

https://app.slack.com/client/{WORKSPACE_ID}/{CHANNEL_ID}

이어서 다음과 같은 파이썬 코드로 메시지를 전송할 수 있다. 

from slack_sdk import WebClient

slack_token = "" # hubot token을 입력합니다.
client = WebClient(token=slack_token)
channel_id = ""  # Slack 채널의 ID를 입력합니다.

message = {
    "text": ":thumbsup: *hello* my friend",
    "mrkdwn": True,
    "attachments": [
        {
            "title": "목록 제목",
            "fields": [
                {
                    "title": "필드 1",
                    "value": "값 1",
                    "short": False
                },
                {
                    "title": "필드 2",
                    "value": "값 2",
                    "short": False
                },
                {
                    "title": "필드 3",
                    "value": "값 3",
                    "short": False
                },
                {
                    "title": "필드 4",
                    "value": "값 4",
                    "short": False
                }
            ]
        }
    ]
}

# 메시지를 보냅니다.
response = client.chat_postMessage(channel=channel_id, attachments=message["attachments"], text=message["text"])

if response["ok"]:
    pass
else:
    print(f"메시지 전송 실패: {response['error']}")

 

'개발' 카테고리의 다른 글

kakao API 로 나에게 메시지 보내기  (0) 2023.09.03
profile

씨앗뿌리는 개발자의 개발노트

@씨앗뿌리는 개발자

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!