-
파이썬으로 Slack 메시지 보내기Language/Python 2024. 11. 24. 15:39
1. Slack API Key 생성 (slack api)
1.1. Create An App를 클릭한다.
2.2. From scratch
2.3. App Name 및 채널을 선택한다.
2.4. Basic Infomation
2.5. OAuth & Permissions
Slack에 메시지 전송을 위한 권한을 부여하도록 하자.
2.6. chat, channels 권한 추가
Add an OAuth Scope버튼을 클릭하고 3가지 Scope을 추가해 주자.
- chat:write
- chat:write.public
- channels:history
2.7. OAuth Token 생성
OAuth Tokens에서 건담봇 워크스페이스를 선택하고 토큰을 생성해주자.
2.8. OAuth Token을 생성하고 토큰 값을 복사한다.
2. Slack 설정
2.1. Private 채널을 생성한다.
2.2. Private `슬랙-봇-채널` 채널 생성
2.3. 채널 사용자 추가
지금은 패스해도 된다. 이후에 추가하자.
3. 파이썬
3.1. 발송 테스트 코드
import slack_sdk def main(): bot_user_oauth_token = 'Bot User OAuth Token' client = slack_sdk.WebClient(token=bot_user_oauth_token) # 일반 메시지 전송 slack_msg = f'테스트 메시지 전송' response = client.chat_postMessage( channel="private-캠핑-알림", text=slack_msg ) # 맨션으로 전송 user_id = "dchkang83" slack_msg = f'<@{user_id}> 맨션으로 테스트 메시지 전송' response = client.chat_postMessage( channel="private-캠핑-알림", text=slack_msg ) if __name__ == '__main__': main()
4. 에러
The server responded with: {'ok': False, 'error': 'channel_not_found'}
채널이 공개일때는 문제없이 동작하고, 필자가 생성한 `privat-캠핑-알림`처럼 비공개로 생성하고 bot(pyhon-slack-bot)을 초대하지 않고 코드를 실행하게되면 채널이 없다고 나온다.
4.1. @pyhon-slack-bot
위에서 생성한 `pyhon-slack-bot`을 @pyhon-slack-bot 이런식으로 맨션한다.
4.2. 봇 초대하기
`초대하기` 버튼으로 초대를 한다.
4.3. 파이썬 코드 실행
정상적으로 2가지의 메시지가 전송되었다.
짝짝짝
'Language > Python' 카테고리의 다른 글
selenium으로 크롤링하고 Slack에 메시지 전송 (2) 2024.11.24 ChromeDriverManager install 에러 (1) 2024.11.24 Python/Docker (2) 2022.09.02