こんにちは、このところ多くのBot業務を任せていただいている鍋山です。
Bot案件が増えてきていて、人手が足りないながらも嬉しい悲鳴をあげています。
さて、今回はdirectでBotが送信したメッセージのメッセージIDを取得する方法についてです。
Botが送信したアクションスタンプの返信において、返される情報は下記の通りです。
セレクトスタンプ返信時のres.json
の中身
in_reply_to
が、先に送信したセレクトスタンプのメッセージIDを差し示すことになります。
このメッセージIDはユニークなものとなりますので、このIDを利用することによって、セレクトスタンプの返信期間を設ける等の制御が可能になり、できることの幅が広がります。
送信したメッセージのIDを取得するには、onsend
でコールバックを受け取る必要があります。
メッセージIDをRedisに保存し、後から利用する為のコードサンプルは下記の通りです。
(onsendの部分に着目してください)
上:CoffeeScriptの場合
下:JavaScript(ES6)の場合
上記コードでBotが動作しますので、scripts
ディレクトリに設置して実行してみましょう。
うまく動作しました。
ついでにRedisに保存された内容も確認します。
(何度か検証していた跡がありますね・・・) どうでしょうか?
Redisの内容も確認することによって仕組みのイメージがつきやすくなればと思います。
以上、ボットが送信したメッセージのIDを取得する方法でした。