Bolt for Pythonを使ってSlackでメンションをつけられたら応答する
2022-04-23
Bolt for Pythonを使ってSlackでメンションをつけられたら応答するように実装する話
Bolt for Pythonとは?という話は、以下の記事を参照ください
いつの間にslackbotモジュールやHubotは使えなくなったらしい(絶対できるBolt for Python入門)
Contents
Botに権限付与
まずは、メンションをつけられたら応答できるようにBot側に権限を付与する
サイドバーの「Event Subscriptions」をクリック
下にスクロールして「Subscribe to bot events」>「Add Bot User Event」から
「app_mentions:read」というイベントを追加する
「app_mention」というイベントが追加されたのを確認して「Save Changes」
「reinstall your app」をクリック
「Allow」をクリック
コード
権限が追加されたら、コードを実装
「SLACK_BOT_TOKEN」と「SLACK_APP_TOKEN」は以下記事を参考に発行してください
いつの間にslackbotモジュールやHubotは使えなくなったらしい(絶対できるBolt for Python入門)
% cat app.py from slack_bolt import App from slack_bolt.adapter.socket_mode import SocketModeHandler SLACK_BOT_TOKEN = 'xoxb-xxxxxxxx' SLACK_APP_TOKEN = 'xapp-xxxxxxxx' app = App(token=SLACK_BOT_TOKEN) @app.event("app_mention") def message_mention(say): say("Whats up?") if __name__ == "__main__": SocketModeHandler(app, SLACK_APP_TOKEN).start()
参考:https://github.com/slackapi/bolt-python/blob/main/examples/events_app.py#L17
実行
実行して、Botにメンションをつけると反応してくれるようになる
以上。