8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Slackでreactionしてくれた人の情報を集める方法

Posted at

はじめに

  • Slackでreactionしてくれた人の情報を集めたかった
  • マウスオーバーでも誰がリアクションしたかは確認できるけどユーザIDを正確に集めたかったので目ではやりたくない
  • プログラマたるもの楽をするために苦労をしたい

Screenshot from 2018-11-11 01-36-41.png

SlackのAPIを使う

  • reactions.getがあるのでこれを使えばよさそう
    https://api.slack.com/methods/reactions.get/test
    Screenshot from 2018-11-11 01-55-43.png

  • Required Argumentがtokenのみなので、このまま叩けばなんらか情報が取れるかと思ったけど以下レスポンスが返ってきた

{
    "ok": false,
    "error": "no_item_specified"
}
  • アイテムを特定できないとダメそうですね
    • アイテムはこいつらを指しているらしい (file, file comment, channel message, group message, or direct message)
  • 今回はchannel messageを特定できれば良いのでtimestampを調べることにした
  • messageのURLをコピーするとチャンネルIDとタイムスタンプがついている
  • chanMel とtimestampを設定してAPIを叩いてみたら欲しい情報が得られた
    • どうやらchannel messageの場合はchannelとtimestampは必須らしい(APIドキュメントのErrorsに書いてある)
            {
                "name": "woman-gesturing-ok::skin-tone-4",
                "users": [
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890",
                    "W1234567890"
                ],
                "count": 19
            }

※ ユーザIDはマスク済み

まとめ

  • reaction情報を集めたいメッセージのURLをコピーする
  • タイムスタンプのフォーマットをAPIに合わせる p1541732787005700->1541732787.005700`
  • channelとtimestampを使ってreactions.get apiをコールする
8
7
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
8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?