오늘 소개할 것은 Slack Bolt다.
Slack Bolt 이전에는 슬랙봇을 만들기 위해 Redirect URL을 App에 정의 해주어야 했고, 그렇기 때문에 도메인도 필요하고 LocalHost에서 돌릴려면 ngrok 같은 서비스도 부가적으로 이용해야 했다. 웹 애플리케이션을 만들어야 했던건 덤이다 ㅎ...
하지만 이 모든것은 Bolt선에서 모두 정리된다!
두-둥
시작하기
- 슬랙 앱 만들기
- 봇 토큰 Scope 요청해서 토큰 발급받기
위 2가지 과정이 선행되어야 함은 기존과 변함없다.
하지만 Socket Mode를 켜줘야하는 추가 설정이 필요하다. Socket Mode는 우리의 봇이 HTTP 엔드포인트를 노출하지 않고도 작동할 수 있게 해준다. 설령 봇이 방화벽 뒤에있더라도 말이다.
- Socket Mode를 활성화하기 위한 App 레벨 토큰 발급받기
설정은 이렇게 간단하게 끝이고, 남은건 구현이다.
slack_bolt를 설치하고 바로 시작할 수 있다.
pip install slack_bolt
import os
from slack_bolt.adapter.socket_mode import SocketModeHandler
from slack_bolt import App
app = App(
token=os.environ.get("SLACK_BOT_TOKEN"),
signing_secret=os.environ.get("SLACK_SIGNING_SECRET")
)
# @app.event("app_home_opened") etc.
if __name__ == "__main__":
handler = SocketModeHandler(app, SLACK_APP_TOKEN)
handler.start()
여느 웹 프레임워크를 구현하는 것과 비슷하게 구성되어있다.
그리고...끝이다! 이제 붙이고 싶은 기능을 문서를 보면서 구현하면된다.
자세한 튜토리얼을 원한다면 이 포스팅이 좋다.
https://www.twilio.com/blog/how-to-build-a-slackbot-in-socket-mode-with-python
'프로그래밍 > Python' 카테고리의 다른 글
[Python] zstandard로 dictionary list 압축하기 (0) | 2022.06.26 |
---|---|
CLI로 Python 실행시 No module named 오류 해결방법 (0) | 2022.06.06 |
[Windows] mysqlclient 설치하기 (pip install mysqlclient) (0) | 2022.05.28 |
[Windows] Python virtual envorinment 활성화 하기 (0) | 2022.05.28 |
Python 특정 키 값을 기준으로 Dictionary List에서 더하기 (0) | 2022.05.07 |