pythonでSlackのメッセージを大量削除する
やりたいこと
slackのメッセージをまとめて削除したいが、slack自体にはその機能がないためpythonを用いて達成したい 基本的には以下のサイトを参考にさせて頂いたが、変更点があることと、slack apiの設定で手間取ったのでメモ
https://w1579143007-cwv391879.slack.com/archives/CSD3Y70NP
方法
環境
・自分のアカウントがワークスペースのオーナーであること ・python3.7 ・mac
slack apiの設定
まずapiを使えるようにappの設定をする必要がある Slack API: Applications | Slack
・Create App を選択し、App nameを適当に決めてWorkspaceを指定する ・Add features and functionality →Permissionsを選択 ・Scopes→User Token Scopesに以下のScopesを追加する channels:history、chat:write、groups:history、im:history、mpim:history ・一番上の Install App to Workspace でAppをinstallする ・OAuth Access Tokenをコピー ・Slackのアプリでリンクをコピーして最後の英数字であるchannel IDを取得しておく
pythonコード
こちらの delete_messages.py を使用させて頂く https://w1579143007-cwv391879.slack.com/archives/CSD3Y70NP 以下の変更点がある
HISTORY_URL = "https://slack.com/api/channels.history"
HISTORY_URL = "https://slack.com/api/conversations.history
Tokenにapi設定でコピーした文字列を書き込む
python delete_messages.py 取得しておいたchannel ID
これで良い