Slackの指定チャンネルの古いメッセージを削除するPowershellスクリプト

 SlackをFreeで使用していると、なるべくメッセージを少なくしたいと思います。

うちのチームでは出勤・退勤の連絡チャンネルがあるので、そういうどんどん書き込まれるけど読み返すことはないチャンネルは、日々綺麗にしていきたいです。

なので、SlackのAPIを使ってN日以上前のメッセージを削除するPowershellスクリプトを書きました。


Slack Cleaner

https://github.com/hareruya-maro/slack_cleaner


使い方はSlackボットを設定して、環境変数に以下の設定をして実行するだけです。

社内の環境の問題でProxy認証を設定していますが、Proxyが不要であれば関連する行を削除してもらえば動くと思います。

  • USER:プロクシ認証用ユーザ
  • PASSWORD:プロクシ認証用パスワード
  • PROXYHOST:プロクシ認証ホスト&ポート番号(http://は不要)
  • トークン:Slack APIトークン
  • DATECOUNT:何日以上前のメッセージを削除するか
  • CHANNELLIST:対象チャンネルIDリスト(カンマ区切り)

Slack API tokenの取得方法等は別途調べて下さい。
Botに必要な権限は以下の通りです。
(いらないのも設定してるかも・・・汗)

Bot Token Scopes

Scopes that govern what your app can access.

OAuth Scope
Description
 
View messages and other content in public channels that slack_cleaner has been added to
Send messages as @slackcleaner

User Token Scopes

Scopes that access user data and act on behalf of users that authorize them.

OAuth Scope
Description
 
View messages and other content in the user’s public channels
Send messages on the user’s behalf
View messages and other content in the user’s direct messages
Start direct messages with people on the user’s behalf

不明点あればTwitter(@HAL1986___)とかで聞いて下さい。

コメント

人気の投稿