かずきち。の日記

サーバサイドエンジニアのつぶやき

【業務効率化】GoogleChatを自動化するスクリプトをGoogleAppsScript16行で書いていく【もう人間は何もしない】

Google謹製のチャットサービスを自動化したい

世の中にはいろいろなコミュニケーションツールはあります。
LINE,Skype,GoogleChat,slackなどなど…
数えたらきりがありません。

そして、これら多くのチャットサービスには必ず「bot」という機械が自動応答していることがあります。
まずbotがわからない人はこのページを見てみてください。

businesschatmaster.com
引用:
https://businesschatmaster.com/tool/bot

日常のbotの例

〜月〜日の美容院を予約したい

かしこまりました。何時ですか?

16:00からでお願いします。

〜月〜日16:00~の予約を確定しました。

みたいなやり取りを今までは人間と人間がしていたと思いますが…
だいたい今は自動化されています。
これがよく見るLINEの自動応対の例です。

今回はGoogleChatで応答を自動化していく

script.google.com
引用:
https://script.google.com/

GoogleChatっていうのはGmailのチャットとMeetセクションをオンにすると

登場します。

function sendMessageFromGAS() {
 
  var url = "https://chat.googleapis.com/v1/spaces/AAAACJN2bVI/messages?key=ここを自身のキーに変更&token=ここを自身のWebHookに変更";
  
  var message = {'text': "テスト投稿です"}
  var options = {
    'method': 'POST',
    'headers': {
      'Content-Type': 'application/json; charset=UTF-8'
    },
    'payload':JSON.stringify(message)
  };
  
  UrlFetchApp.fetch(url, options);

}

と書くだけです。

WebHookの取得方法

WebHookとはなんでしょうか?
聞き慣れない言葉です。

developers-jp.googleblog.com

ja.wikipedia.org

Webhookはいわゆる魔法なんですね。
その名の通りフックなので何かをきっかけにして、機械になにか動作を行わせることができます。

よくわからないと思うのでもう少し噛み砕きます。


引用:
https://www.kenzai-navi.com/makers/hotron/news/13971

自動ドアのフックは   「人間がドアの前に立つこと」
自動改札機のフックは  「人間がSuiCaを改札機にかざすこと」
目覚まし時計のフックは 「時間がAM6:00になること」
高速道路のETCのフックは「自動車が料金所を通ること」

と言えます。
これに近いことって仕事でも多いはずなんです。

「課長に〜〜と言われたら…」
「毎月1日9:00になったら…」

この部分をプログラムのプロシージャに登録しておけばよいです。
プロシージャ (procedure)とは、プログラミングにおいて複数の処理を一つにまとめたもで 手続きとするのが定訳です 。
一連の処理を意味を持った一まとまりにすることで、再利用性が高まり、プログラム中に繰り返して現れる処理を1ヶ所で記述でき、プログラムの保守、管理を容易にできます。

テレビで最近SwitchBotを使っている芸能人を見る

www.youtube.com
引用:
https://www.youtube.com/watch?v=7-vzsRgEqCU

最近は家電をスマート家電化するアイテムも売られてはいるんですが

メーカーに踊らされているような気がして

買うに至りません。
しかもこの製品使っている俺かっこいいだろ?どヤ感がにじみ出てると思うんですよね。
でもこの製品を作った人は偉いけれど、使っている人はなんかダサい。
なのでどちらかというと自分でこういう機能を作れるようになりたい。

あと電池が必要

リチウム電池で動いているようですが、給電も自動だったらなーと思っているのが本音です。
自動車とかもガソリン入れなくて動けばなーとかいつも思います。

スクリプトの使い方わからない人へ

coconala.com
引用:
https://coconala.com/services/1273455

有償でサポートもしますので、自力でできない人はサービス購入してください。
購入後にコメントでチャットを自動化したいことをお伝えしていただければなと思います。