100日間コメントのないSlackチャネルを自動でアーカイブするGoogle Apps Scriptを書きました。
モチベーション
- 90日以上コメントがないチャネルが全体の20%くらいになっていたので年末の大掃除をしたかった
- google/clasp を使ってみたかった
できること
- SlackのPublicチャネル一覧を取得し、public_channelsシート (サンプル)に記載
- 95日以上コメントのないチャネル一覧をarchive_warning_channelsシート (サンプル)に記載
- archive_warning_channelsシートに記載されてから5日以上経ったチャネルを自動でアーカイブ
動かし方
- Slackチャネル一覧サンプルシート と同じシート、フォーマットのSpreadSheetを用意する
- README.md#setup を参考にセットアップする
- Slack API で使うToken や Botを用意する
- GitHub Secrets や Script properties を設定する
- clasp push で Apps Scriptを反映させ、
execute()
を実行する
補足
- Slack APIをいくつか 使います
- 初回実行時に100日を超えていたとしてもいきなりアーカイブされることはありません
- 警告リストに追加されてから5日後にアーカイブされる仕組みです
- アーカイブされたくないチャネルは ホワイトリスト として除外できます
- Apps Scriptに時間ベースのトリガーを設定しておくと、毎日チェックしてSlackに結果を報告してくれます
一度自動化しておくと考えることが減ってよいですね。
公開にあたって確認はしましたが、必要な設定の説明が抜けていたりするかもしれないので、もしうまく動かない方がいれば@konifarまで気軽に連絡をください。