Slackの自動応答ボット
Bolt for Pythonを用いてSlackのチャンネルユーザーから投稿された特定のメッセージに応答するボットを作成したい
発生している問題・エラーメッセージ
ボットへのDM投稿に対しては問題なく応答しましたが、
ボットが参加済みのチャンネルへのユーザーからの投稿には応答しません。
///追記
loggingモジュールを用いて確認しましたが、エラーは出ませんでした。
また、チャンネル投稿に対するボットの動作ログも出てこず、
そもそも参加が出来ていないような状態です。
該当のソースコード
bot_bolt.py
Python
1#!/usr/local/bin/python3.7 2import os 3from dotenv import load_dotenv 4from slack_bolt import App 5from slack_bolt.adapter.socket_mode import SocketModeHandler 6 7load_dotenv(verbose=True) 8# ボットトークンとソケットモードハンドラーを使ってアプリを初期化します 9app = App(token=os.environ.get("SLACK_BOT_TOKEN")) 10# 指定可能なリスナーのメソッド引数の一覧は以下のモジュールドキュメントを参考にしてください: 11# https://slack.dev/bolt-python/api-docs/slack_bolt/kwargs_injection/args.html 12@app.message("knock knock") 13def ask_who(message, say): 14 say("_Who's there?_") 15 16@app.message("hello") 17def message_hello(message,say): 18 say(f"hello <@{message['user']}>") 19 20# '????' が含まれるすべてのメッセージに一致 21@app.message(":wave:") 22def say_hello(message, say): 23 user = message['user'] 24 say(f"Hi there, <@{user}>!") 25 26# アプリを起動します 27if __name__ == "__main__": 28 SocketModeHandler(app, os.environ["SLACK_APP_TOKEN"]).start() 29
環境変数格納ファイル
.env
SLACK_APP_TOKEN=xapp-********* SLACK_BOT_TOKEN=xoxb-*********
cron設定用Bot自動起動
bot_run.sh
#!/bin/bash # # cron script # cd cd ./web/slackBot /usr/local/bin/python bot_bolt.py
試したこと
ボットのScopeにこちらの設定を追記しましたが応答はありません。
- chat:write
- chat:write.customize
- chat:write.public
- channels:read
- channels:history
- groups:read
- groups:history
- im:history
- im:read
- im:write
- mpim:history
- mpim:read
- mpim:write
補足情報(FW/ツールのバージョンなど)
Python 3.7.12
ロリポップレンタルサーバーにて実行ファイルとcron設定を保存
回答1件
あなたの回答
tips
プレビュー