投稿メッセージやメンションに反応するだけのslackアプリ(python)で作ってみた。意外と設定が面倒!

投稿メッセージやメンションに反応するだけのslackアプリ(python)で作ってみた。意外と設定が面倒!

参考URL
https://api.slack.com/lang/ja-jp/hello-world-bolt

Pythonで作るslack chatbot


https://www.wantedly.com/companies/wantedly/post_articles/302887

1, https://api.slack.com/apps Create New APPで、適当なアプリ名、使うworkspaceを入力

2, 左のOAuth & Permissionsをクリックして、Bot Token ScopesのOAuth scopeをクリックして、
app_mentions:read
chat:write
groups:history
を追加し、ページ上部の「install to workspace」をクリック。ワークスペースに追加してOK?と聞いてくるので許可
Bot User OAuth Tokenが表示されるのでメモっておく
xoxb-xxxxxxxxxxxxxxxxxxxxxxxx

ボット用トークンだけじゃなく、アプリ用トークも必要!

3, 左のBasic Informationをクリックして、Generate Token and Scopesボタンを押す。Token Nameは何でもOK(オウム返し)
connections:write
を付与。
xapp-1-yyyyyyyyyyyyyyyyyyy

4, 左のSocket Modeをクリックして、Enable Socket Modeを有効化しておく
さらに、Event Subscriptionsも有効化。同じページ内のSubscribe to bot eventsから「Add Bot User Event」ボタンを押して
app_mention
message:groups
を付与

5, SLACK公式ライブラリをインストール

6, chatbot.pyに、ようやくコーディング

7, チャンネルを作って、チャンネル名をクリック「インテグレーション」タブから「アプリを追加する」ボタンで、自作の「オウム返し」を追加

8, DOS窓から、環境変数をセットしておく
set SLACK_BOT_TOKEN=xoxb-xxxxxxxxxxxxxxxxxxxxxxxx
set SLACK_APP_TOKEN=xapp-1-yyyyyyyyyyyyyyyyyyy

自分のPC上で、python chatbot.py で実行。
これで、このチャンネルに何か投稿すると、アプリが動作する