Slackにメッセージを送信するPythonスクリプト(2021.7.4)
Summary
Slackに自動で定期的にレポートを送信したい。
機械学習が完了または異常終了したらメッセージで知らせてほしい。
実験コード中にメッセージフックを書いておけば送信できるようにしたい
2018年にSlack APIの仕様が変わったらしく、webの情報が古いものがある。
手順
- ボットを設置したいSlack Workspaceとそのchannelを作成する
- https://api.slack.com/にWorkspaceのアカウントでログイン
- https://api.slack.com/appsで「Create New App」
- tokenの生成(メモしておく)やmanifestoの設定(users.readも設定)をしておく
- Slack Workspaceを指定してAppをインストール
- users.list TesterでWorkspaceの登録ユーザ一覧をjson形式で取得
- chat.postMessage Testerでメッセージ送信の確認(mentionには<@ユーザid>を使う)
- tokenの再発行や設定の追加は「OAuth & Permissions」の「scopes」などから行う
- pythonからメッセージを送る
Slack Workspaceを指定してbotを作成・登録
Basic app setupを参照