ぶていのログでぶログ

思い出したが吉日

貴様は今までにSlackで審議リアクションを付けられた数を覚えているのか?

A. 85


Slack APIでリアクションが取れることを知ったので実際にカウントしてみた。 最初 reactions.list で取ろうと思ったけど、これはリアクション した リストなので目的が達成できなかった。。

仕方ないので、 search.messages を使うことにした。 queryに has:reaction を付けるとリアクション付きのメッセージが検索できる。 APIのレスポンスに含まれる messages にはなぜか、reactions が含まれないので reactions.getに必要な情報を渡して、一覧を取る必要があった。

ここまで来て、ワンライナーでできないことがわかったのでrubyでシュッと作った。

github.com

実行すると↓みたいな感じになる。 長いので途中省略…

$ be ./summarize-reaction.rb
message total: 374
reaction total: 653

reactions
---------
eyes: 23
hai: 34
hachanhasiru: 1
hunya: 4
otsu: 3
clap::skin-tone-4: 1
bob: 1
interrobang: 1
muscle: 4
sabachi: 1
clapping: 2
innocent: 28
hachanhai: 2
usu: 2
hachansuman: 1
niceyoshimoto: 2
+1: 32
metal: 2
pray: 12
toilet: 3
closed_lock_with_key: 2
tada: 17
cina2: 1
shingi: 85
(snip)

追記: shingiが85でダントツトップであった。 次に多かったのがhaiで34。ダブルスコアを付けている。。

追記2: Slackのヘルプを見ていたら、 :shingi: の付けられたメッセージ数だけなら検索クエリに has::shingi: をつけてあげればいける気がしてきた。 ただ、これで取得できるのはメッセージ数だけなのでリアクション数を取るには一手間加える必要がありそうだ。 https://get.slack.help/hc/en-us/articles/202528808-Searching-in-Slack