[Mac][CLI] slack-cleaner をアップデートする

以前 Mac のコマンドラインから Slack のメッセージを一括削除する方法について書いた。

Slack でチャンネル内のメッセージを一括削除する – with a Christian Wife
https://wacw.cf/2018/04/23/delete-all-messages-in-slack/

slack-cleaner の挙動がおかしい気がしたので、アップデートすることにした(後で分かったが、挙動がおかしいのは気のせいだった)。

最初インストールしたのは以下のページのものだ。

kfei/slack-cleaner: Bulk delete messages and files on Slack
https://github.com/kfei/slack-cleaner

インストールのコマンドは以下。

$ sudo pip install slack-cleaner

インストールされるのは v0.3.0 で現在は開発が止まっている模様。しかし、以下のページはまだ開発が続いているようだ。こちらをインストールし直すことにした。

sgratzl/slack-cleaner: delete slack message and files. An improved version is at: https://github.com/sgratzl/slack_cleaner2
https://github.com/sgratzl/slack-cleaner

環境:macOS Catalina Version 10.15.3

(1)現在の slack-cleaner を削除する。

$ sudo pip uninstall slack-cleaner

(2)新しい slack-cleaner をインストール。

$ sudo pip install -e git+https://github.com/sgratzl/slack-cleaner.git#egg=slack-cleaner

これで v0.6.3 がインストールされた。

***

改めて削除のコマンドをメモしておく。

特定のパブリックチャンネルの全ユーザーの投稿を削除するには以下。

$ slack-cleaner --token <TOKEN> --message --channel <CHANNEL> --user "*" --perform --rate 1

特定のパブリックチャンネルの bot による投稿を削除するには以下。

$ slack-cleaner --token <TOKEN> --message --channel <CHANNEL> --bot --perform --rate 1

プライベートチャンネルの場合は、上のコマンドの channel を group に変える。特定のプライベートチャンネルの全ユーザーの投稿を削除するには以下。

$ slack-cleaner --token <TOKEN> --message —group <CHANNEL> --user "*" --perform --rate 1

特定のプライベートチャンネルの bot の投稿を削除するには以下。

$ slack-cleaner --token <TOKEN> --message —group <CHANNEL> --bot --perform --rate 1

2020 年3月 10 日より前の、特定のプライベートチャンネルの全ユーザーの投稿を削除するには以下。

$ slack-cleaner --token <TOKEN> --message —group <CHANNEL> --user "*" --perform --rate 1 --before 20200310

参考:
[Slack] Channelのメッセージを一括削除 – Qiita
https://qiita.com/Koutetsu666/items/cab999a1e939decf5751