Konifar's WIP

親方!空からどらえもんが!

Slackチャネル大掃除のためにPublicチャネル一覧をGASでSpreadSheetに書き出す

年末なので社のSlackチャネルを大掃除したいなと思い、アーカイブしてもよいPublicチャネルを探すためにSpreadSheetにチャネル一覧を書き出してみました。

簡単なわりに便利だったので、他社でも役に立つかもしれません。

f:id:konifar:20201221200218p:plain

どんなものか

毎日2~3時にSlackのPublicチャネル一覧をSpreadSheetに書き出してくれます。

チャネル名、作成ユーザー、ユーザー数、最新コメント、最新コメント日時、最新コメントからの日数などが一覧で見れるようになります。

仕組み

Google Apps ScriptでSlack APIをいくつか叩いてSpreadSheetに書き出しています。

Scriptの中では、Slack APIconversations.listconversations.historyusers.listを使ってチャネル関連データを取得しています。

Script自体は複雑ではなく愚直なコードです。Gistに入れたので興味があれば参考にしてみてください。

SlackのPublicチャネル一覧を書き出すGoogle Apps Script · GitHub

このScriptを時間ベースのトリガーで起動させています。

現状

不要なチャネルを20個くらいアーカイブしてやりました。気持ちよかったです。

アーカイブルールを明確にして自動でアーカイブしたりサジェストコメント投げたりしてもよさそうですね。

また、チャネルを一覧で見れるようになったので新メンバーがどんなチャネルがあるのか確認するのにも役立つかもしれません。