読者です 読者をやめる 読者になる 読者になる

L is Bエンジニアブログ

ビジネス用メッセンジャーdirectのエンジニアによるブログ

LisBエンジニアブログ

ビジネスチャットdirectのエンジニアブログ

ボットが送信したメッセージのIDを取得する方法

daab開発者向け

f:id:nabeyama:20160131153432p:plain

こんにちは、このところBot業務に忙しい鍋山です。
Bot案件が増えてきていて、人手が足りないながらも嬉しい悲鳴をあげています。

さて、今回はdirectでBotが送信したメッセージのメッセージIDを取得する方法についてです。

Botが送信したアクションスタンプの返信において、返される情報は下記の通りです。

f:id:nabeyama:20160131155833p:plain

セレクトスタンプ返信時のres.jsonの中身

in_reply_toが、先に送信したセレクトスタンプのメッセージIDを差し示すことになります。
このメッセージIDはユニークなものとなりますので、このIDを利用することによって、セレクトスタンプの返信期間を設ける等の制御が可能になり、できることの幅が広がります。

送信したメッセージのIDを取得するには、onsendでコールバックを受け取る必要があります。

メッセージIDをRedisに保存し、後から利用する為のコードサンプルは下記の通りです。
(onsendの部分に着目してください)

上:CoffeeScriptの場合
下:JavaScript(ES6)の場合

上記コードでBotが動作しますので、scriptsディレクトリに設置して実行してみましょう。

f:id:nabeyama:20160131161148p:plain

うまく動作しました。
ついでにRedisに保存された内容も確認します。

(何度か検証していた跡がありますね・・・) どうでしょうか?
Redisの内容も確認することによって仕組みのイメージがつきやすくなればと思います。

以上、ボットが送信したメッセージのIDを取得する方法でした。