LoginSignup
17
21

More than 5 years have passed since last update.

Slackで誰がリアクションしたかを50人以上でも取得する

Posted at

問題

Slackではメッセージに対して絵文字でリアクションを投稿できる。他の人も同じリアクションをした場合には、横の数字が増えていく。

message

誰がリアクションしたかは、PCではマウスオーバー、SPでは長押しすれば表示される。
しかし50人以上になった場合は and others と省略されてしまい、完全なリストを取得することができない。 (HTMLソースやXHRを見ても無理)

解決策

reaction.get APIを使おう。

取得方法

以下は簡易的にWebから取得する方法。プログラムからAPI叩けるならそっちで。

  1. メッセージのリンクを取得
    • 時間の部分を右クリックとかメニューの Copy link とか
  2. URLから channeltimestamp を読み解く
    • URL形式は https://<team>.slack.com/archives/<channel>/p<timestamp>
  3. reaction.get Tester にパラメータを設定
    • token: 所属チームを選択 未発行の場合は適宜発行する
    • channel: 2で読み解いたもの
    • timestamp: 2で読み解いたものに小数点を追加 (12345678901234561234567890.123456)
    • full: true
    • 他は空欄でOK
  4. Test Method をクリックすると結果が出てくる
    • message.reactions.0.users 辺り
    • 但し U1234567890 みたいな形式のみで表示名は取れない
  5. 必要に応じて users.info なり users.list 使って real_name を取得

あとがき

リアクション使ったアンケートをしたら、50名超えた分の名前が見れなくて焦ったので書いた。

17
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
21