【slack】Real Time Messaging APIイベントを覗いてみる

みなさん、簡単にslackAPIを使いこないしているようで、誠に悔しいです。

Slack rtmAPIとは?

rtmAPIはリアルタイムにslackからのイベントを受け取り、ユーザーとしてメッセージを送らせることができるようにするWebSocket-based APIです。

イベント(Event)

全てのイベントはイベントの種類を現すtypeプロパティを持っており、サーバはイベントによりイベントタイプを返します。

イベント一覧(Real Time Messaging API)はこちら

英語というのもあり、眺め読みする気がなくなるボリュームです。
ざっと見たところ↓のイベントがあり、一通り網羅してそうです。

・サーバ接続時(hello)
・メッセージ送信(message)
・入力があったとき(user_typing)

また、次の追加や変更や削除があったとき

・チャンネル、チャンネルのユーザー
・DMチャンネル
・グループ・プライベートグループ
・ファイル、ファイルのコメント、シェア
・pin
・emojリアクションやstarアクション
・チームのプロフィール・emoji・ドメイン
・bot
・ユーザーグループへ
・slash command
・チームのプラン
Do not Disturb settings

messageイベント

一番利用頻度が高いと思われるmessageだけ中身を確認してみる。

{ type: 'message',
  channel: 'XXXXXXXXX', // メッセージがポストされたプライベートグループやDMチェンネルのID
  user: 'U00000000',  // ポストしたユーザーのID
  text: 'hi', // ポストされた内容
  ts: '1466307427.000012', // チャンネル毎にユニークなタイムスタンプ
  team: 'T00000000',
  event: 'direct_message',
  match: [ 'h', index: 0, input: 'hi' ] }

この辺りのパラメータを利用して、好き勝手sayさせたり、replyさせたりするわけですね!

イベントみてただけでも、pinとか、dnd機能など、普段使用していなかった機能の存在に気付けました。

ありがとう、公式ドキュメント。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク