へんてこのブログ

日々気づいたことや、最近やっていることを書いています

SlackのMessage Buttonsを試そうとした

SlackにMessage Buttonsなるものが追加されたので試そうとしました
試そうとしましたが、httpsなサーバーが必要とわかったのでそこでやめました
httpsなサーバー用意するのめんどくさすぎる…またVPS一台借りようかな

2016/6/23 22時半 追記

試しました
henteko07.hatenablog.com

Botの作り方の流れ

  1. ここからbot用のアプリ作る
  2. 作ったアプリのApp CredentialsのClient IDとClient Secretをメモる
  3. 作ったアプリのBot UsersからBot User追加する
  4. 作ったアプリのInteractive MessagesでInteractive MessagesをEnableにしてそこにbotサーバーのhttpsなURL貼る
  5. サンプル見ながらコード書いて走らせてみる
  6. https://MY_DOMAIN:port/login とかにアクセスしてSlackのTeamにアプリをインストールする
  7. やっとbotと会話できるので、Message Buttonsを試しまくる

bot

controller.on('interactive_message_callback', function(bot, message) {});

とかにユーザーがbuttonを押した時にcallbackとしてやってくるので、そこに処理書くとリアクションができるみたい(要検証)

button自体の表示はreplyのattachmentsのtypeにbuttonとか指定してあげると出せるので便利
アラート出して遊んでた

感想

botkitのconversationみたいに、サーバー立てなくてもbotにcallbackが来るものだと思っていたのだけど、そうじゃないっぽくてめんどくさかった
動作的にはslash commandと同じ扱いみたい
もしかしたら気づいてないだけで、サーバー立てなくてもbotにinteractive_message_callbackが来る方法があるのかもしれない
調べてみる

参考にしたの

ここら辺見ておけば大丈夫そう

Slack “Message Buttons” in Botkit — Why Not?
botkit/readme-slack.md at master · howdyai/botkit · GitHub
botkit/slackbutton_bot_interactivemsg.js at master · howdyai/botkit · GitHub
Making messages more interactive with buttons | Slack