Slack APIを用いて一定期間より前のメッセージを自動削除する

Slack APIとpythonを用いて一定期間より前のSlackのメッセージを削除するスクリプトの例を示す。 参考URLではlegacy Tokenを使用しているが、現在は使用できないので、OAuth Tokenを使用する必要があります。OAuth Tokenを利用するようにコードを修正しました。 また、chat.deleteメソッドとchannels.historyメソッドを使用しているが、channels.historyは使用できないので、conversations.historyメソッドを使用する必要がある。 参考にしたURL https://michimani.net/post/programming-delete-old-slack-messages/ from datetime import datetime #日付を扱うため from time import sleep # 処理を一旦停止するため import json # json形式のデータを扱うため import re #正規表現の操作を行うため import sys # システムに関する処理を行うため import urllib.parse #URLを解析して構成要素を得るため import urllib.request #URLを開くため DELETE_URL = "https://slack.com/api/chat.delete" #メッセージを削除するためのSlackのAPIのURL HISTORY_URL = "https://slack.com/api/conversations.history" #メッセージの履歴を得るためのSlackのAPIのURL API_TOKEN = '*********************************' #メッセージに対する操作をする際に必要となるAPI_TOKEN※legacy Tokenは使用できないことに注意。各自で変更 TERM = 60 * 60 * 24 * 7 #1週間なので7を指定。ここの数字を変更することで、削除対象のメッセージの期間を変更できる def clean_old_message(channel_id): #メッセージを削除するための関数 print('Start cleaning message at channel "{}"....

January 2, 2022 · 2 min · Me