[Web] slack bot 만들고 python으로 메세지 보내기

업데이트:

Slack Bot Help!

jpg

Slack은 사내 커뮤니케이션 및 시스템 모니터링 등 업무용으로도 자주 활용하고 있다. 현재 사용중인 여러가지 Bot이 있지만 (연습도 할겸)사소하지만 불편한 부분들을 해소해주기 위한 Bot을 직접 만들어 보려고 한다.
우선 이번 포스팅에서는 Bot을 만들고 간단한 메세지를 보내보자!


Slack bot 만들기

먼저 slack bot을 만들고 인증key라고 볼 수 있는 토큰을 발급 받자.

https://api.slack.com/

위 링크에 접속해서 Start Building 접근!

png

App Name과 해당 bot을 사용할 Workspace를 지정해주면 된다.
(WorkSpace가 없다면 만드는 것을 먼저!)

png

Basic Information -> Incoming Webhooks -> On
(슬랙 봇은 대화형과 알림용으로 사용되는데, 현재는 알림 기능으로 활용할 것이기 때문에 Incoming Webhooks를 활성화)

png

그리고 하단에 보이는 Add New Webhook to Workspace를 눌러 사용할 WorkSpace 및 채널을 선택해주자(이는 추후에 채널 추가 및 삭제가 가능하다)

png

이제 슬랙 permission이 완료되며, 좌측 OAuth & Permissions탭에 접근해 Token을 확인할 수 있다.
(Python 연동에 필요하니 잘 메모해두도록 하자)

png

추가로 봇으로 메세지를 보낼 chat:write scope가 필요하다.
(추가하면 경고 메세지가 뜨는데, 상단으로 올라가 Reinstall을 해주면 된다.)

이제 슬랙을 열어 추가된 나의 Smart한 slack bot을 볼 수 있다.!
(data_info라는 채널을 하나 만들어 Add on app으로 봇을 데려왔다.)

png


Python으로 슬랙 메세지 보내기

이제 bot을 만들었으니, 활용하는 것만 남았다.
Python과 연동할 때는 slacker라는 라이브러리를 활용한다. 간단하게 다음과 같이 메세지를 보낼 수 있다.

from slacker import Slacker
token = "발급받은 토큰 입력"
slack = Slacker(token)
slack.chat.post_message("#data_info", "Hi YG? I'm your Bot!", as_user=True)

png

정말 간단하고도 편리하네요. 이제 스마트한 알리미 봇 하나를 만들어 볼까요?

(계속)

댓글남기기