33
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GASでhangouts chatのbotを作ってみる

Posted at

google謹製のチャットツール、hangouts chatのbotを作成してみたメモです。

公式チュートリアルがあるので、これに沿ってbotを作成・公開してみます。

bot本体を作成する

最低限の機能を持ったテンプレートが用意されています。これを開き、自分のドライブに適当な名前で保存します。
001.png

ひとまずbotそのものはこれで完成です。機能を実装する際は、ここに保存したコードを改修していきます。

botをGoogle Cloud Platformで公開する

メニューから「公開」⇒「マニフェストから配置」を選択します。

Latest Version (HEAD)の「Get Id」から配置IDが取得できるので、メモ帳にでもコピペしておきます。

メニューから「リソース」⇒「Cloud Platform プロジェクト」を選択します。

プロジェクト名と一意なIDが書かれているリンクから、Google Cloud Platformのダッシュボードに飛びます。

メニューから「APIとサービス」⇒「ライブラリ」に移動し、Hangouts Chat APIを有効化します。

Hangouts Chat APIの設定を開き、必要事項を入力していきます。
「変更を保存」で保存すれば公開完了です。

ボット名

適当な名前を入力します。botを追加する際は、この名前で検索することになります。

アバターのURL

チャットのアイコンを設定します。httpsで公開されているURLである必要があるみたいです。
アイコンを用意していない場合は、chatのアイコンを借りましょう。

説明

適当に入力します。

機能

複数メンバーのルームに投入して動かしたい場合は「ボットはルーム内で機能します」
DM(一対一)のチャットで動かしたい場合は「ボットはダイレクトメッセージ内で機能します」
にチェックを入れます。

接続設定

Apps Script projectを選択し、さきほどコピペしておいた配置IDを貼り付けます。

権限

「ドメイン内の特定のユーザーとグループ」を選択し、ひとまず自身のメールアドレスを入力します。ほかの人に使ってほしい場合は該当のメールアドレスも入力しましょう。

botを使ってみる

Chatで「ユーザー、チャットルーム、botを検索」から、設定したボット名で検索します。
リストに出てきたbotの「メッセージ」を押下すれば、botの追加は完了です。
002.png

話しかけると、「You said "話しかけた内容"」と返してくれます。
003.png

返信内容を変えてみる

せっかくなので、返信処理をちょっとだけいじってみます。
作成したプロジェクトの中に、onMessage(event)という関数があり、これがメッセージを受け取る処理になります。
送られてきたメッセージは、event.message.textで取得でき、{"text":"返信したいテキスト"} をreturnすればメッセージを返信できそうです。

function onMessage(event) {
  var said = event.message.text;
  var msg = "";
  if (said === "ズン") {
    msg = "ズンズン";
  } else if (said === "ズンドコ") {
    msg = "\き!よ!し!/";
  } else {
    msg = "えっ?";
  }
  return { "text": msg };
}

こんな感じで動きます。
004.png

まとめ

botというと、「rubyやPythonで書いて、サーバ借りて、プログラム置いて…」
というイメージがあったのですが、GASとGCPを利用することでかなりお手軽にbotを構築できました。
その他のgoogle系APIとも連携が容易そうなので、google系のツールを多用している環境ではかなりパワーを発揮しそうです。

33
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?