GoogleChatAPIを使ってBotにSlashCommandを追加してみるよ。


こんにちは
あけましておめでとうございます
今年もいっぱい実装して、いっぱい勉強して、こつこつ賢くなっちゃうよ

今日は、GoogleChatAPIを使って作ったBOTにSlash Commandを自作できるようになっていたので、
公式通り追加してみたいと思います。超簡単。

公式
Google Chat API: Developing Slash Commands

今回はBotが出来上がっている前提から進めます。
GoogleChatでBotを作る方法は、個別に投稿しているのでそちらを参考にしてくださいー
GoogleChat の一番簡単なBotを公式通り作ってみるよ
GoogleChatAPIを使って問い合わせを転送するBotを作ったよ

SlashCommandを追加するよ

まずはGoogleGloudPlatformで作業をするよ。

1.該当のプロジェクトを選んで、hangoutChatAPIの管理画面を開く。

2.設定画面よりスラッシュコマンドを追加する。

  • Name ・・ /から始まるコマンドの名前。これをChatの画面で選択するのに使用される
  • CommandId ・・ uniqueな値。PGMの中でshashCommandの区別をする
  • Description ・・ コマンド選択画面で表示される説明。 追加された後の画面を見るとわかりやすいかも。

今回は画像の通りの内容で追加、保存を押したよ。

この状態でBotをみてみるよ。メッセージ画面での表示はこんな感じ。

GoogleAppScriptで処理を追加するよ。

次にこのコマンドを選択した場合の動きを追加するよ。
onMessage(event)で取得されたevent.messageの中に、slashCommandの情報が入ってくるよ。
commandId = 1 = "hello"がきた場合は、テキストを返すようにしてみるよ。

slashCommandTest
function onMessage(event) {

  /// コマンド情報が含まれている場合
  if (event.message.slashCommand) {

    // 設定画面で決めたcommandIdで判別をするよ
    switch (event.message.slashCommand.commandId) {
      case 1:
         return {"text" :"おはよう"}
         break;  
     }
}

これで試してみるとこんな感じ。

超簡単だね

まとめ

公式そのままコピーで簡単に追加ができたね。
/でメニューが出ると、それだけでBotぽいので、活用していくと面白いね。

参考にさせていただいたもの

公式大好き。リンクバグってるけれど、そこも味だね

公式
Google Chat API: Developing Slash Commands