slackのemoji集計のために使うスクリプト。 現状は特定期間の間に各ユーザーが獲得したemojiの集計に使えるのみです。 例えば、特定期間で特定emojiのランキングを出すところまでは実装していません。スクリプト追加してくれると嬉しいです。
pip3 install -r requirements.txt
# channel_listが10分割されて出力される
SLACK_API_TOKEN=<YOUR_PERSONAL_TOKEN> python3 save_channel_list.py
# どのchannel_listを処理するのかを引数(0~9)で渡す. 並列で動かすのはおすすめしない。rate limitにより。
SLACK_API_TOKEN=<YOUR_PERSONAL_TOKEN> python3 get_emoji_stats_per_channel_list.py 0
# user単位で集計する
SLACK_API_TOKEN=<YOUR_PERSONAL_TOKEN> python3 aggregate_csv_stats.py
# 必要なemojiだけに絞り込む
python3 csv_minify.py
result.csv, result2.csvというファイルが出力されます。 各scriptで、input_dir/output_dirなどの変数があるので、その値を更新することで、出力先を変更することができます
- python3をローカルにインストールしてください。
- 動作確認は python3.11.4 で行いました。
- SLACK_API_TOKENを発行するためにSLACK APPをOrganizationに追加してください。
User OAuth Token
を使ってください。「参加していないがPublic」なチャンネルのメッセージを取得するために必要です。Bot User OAuth Token
ではできません。- API実行のために以下のPermissionを
User OAuth Token
に付与してください。channels:history
groups:history
im:history
mpim:history
reactions:read
userss:read
channels:read
groups:read
im:read
mpim:read