GASで対話型Botを開発するための設定について

2021/5/25

以前、incomingなBotの作り方に関して書きました。outgoingな対話型Botを作ろうと思ったら…意外と面倒だったので色々記録しておきます。

1:コードを書く

まず…マニフェストを編集するために設定を変えます。編集できるようになったら、チャットに関する記述を追加します。

{
"timeZone": "Asia/Tokyo",
"dependencies": {},
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8",
"chat": {}
}

とりあずサンプルコードは、Googleのブログにある…こんなので良いかと思います。

function onMessage(event) {
let response = 'こんにちは' + event.user.displayName + 'さん' + '!\n';
response += 'あなたのメッセーは\"' + event.message.text + '\"ですね。';
return { "text": response };
}

eventオブジェクトから、ユーザー名やメッセージを抜き出す方法は…このコードでわかるかと思います。

後はSpreadsheetの中身を取得して検索したり…メッセージ内容を判断してSpreadsheetに記録したり…色々遊んで貰えれば良いかと思います。

2:開発用のデプロイ(HEAD)について

まだ開発中の場合、何度修正しても履歴が残らず…GASで完結できるのHEADというデプロイが便利です、ただ自分しか動作確認できないので…正式なデプロイ方法は後日…記事にしたいと思います。

まずHEADデプロイなんですが、まずデプロイIDを入手する必要があります。

しかし…新しいEditorにHEADのデプロイIDを取得する方法が見当たりませんので(知ってたら教えて下さい…)、ここだけ以前のエディタに戻ります。

「なんで古いエディタに戻ったの?」という英語アンケートは華麗にスルーしつつ…「公開」→「マニフェストから開始」を選びます。

Get IDをクリックすると「Deployment ID」が表示されるのでコピーしてメモ帳などに保存しておきます。

GCPに移動して…「プロジェクトの選択」から新しいプロジェクトを選び、プロジェクトを作成します。

プロジェクトができたら、左サイドメニューから「APIとサービス」の「ライブラリ」に移動し「CHAT」を検索します。

Google Chat APIを見つけたら有効化します。

APIを有効化したら、設定メニューからいろいろ設定します。

  • アプリケーション設定

    • 名前はご自由に。CHAT画面からbotを検索する際に使います。

    • アバターのURLは…画像があればなんでもいいんですが、とりあえずこれで…

  • 機能

    • とりあえず「ダイレクトメッセージ」用から始めましょう。

  • 接続設定

    • Apps Script projectを選択します。

  • 権限

    • 最終的に公開したい範囲を選びます。

これでセット完了です。

使ってみるにはCHATのチャットからbotを検索して話しかけるだけです。

これで色々作って見られますね。簡単なので色々やってみてください。