かずきち。の日記

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

GASでWebhookを使って、GoogleChatに自動投稿をするプログラムを書いてみる

GoogleChat使っていますか?

GoogleChatというのはGoogleが提供しているチャットツールです。
そこまではいいと思います。

次にこの世の中は往々にして、自動化されています。
自動ドア、自動運転、自動湯沸かし器などなど世の中には「自動」がつくものが多いです。
そして、今までは自動化するには高度なエンジニア力が必要で企業じゃなければ達成ができなかったわけです。

f:id:kazukichi_0914:20220414110244j:plain
引用:
https://toyokeizai.net/articles/-/290377

近い未来、人間がハンドルを握らなくても自動車が勝手に行き先まで連れて行ってくれる世界がやってきます。
そして科学技術の発端は軍事技術やアダルト産業が発端になっていることが多いのです。

GPSは携帯電話などで自身の居場所を把握できますが、元はと言えば兵士の居場所など敵の居場所を把握するために使われていました。
昨今の戦争で話題の「ピンポイント爆撃」もむやみやたらに爆弾を落とさずにコンピュータで制御して目的の箇所だけ爆撃しようという算段です。

そしてそれら自動化はエンジニアによって作られている

エンジニアにもいろいろ種類があります。

客 「このパソコン、使い勝手いいの?」
店員「専門のものを呼んでまいりますので少々お待ち下さい」
客 「家電量販店の店員なのにそんなこともわからないのかよ」

客    「こういうスマホアプリ作れない?」
エンジニア「私はCのエンジニアなのでスマホアプリはわかりません」
客    「スマホアプリの一つも作れないのかよ」

というわけですね。

そして今回はプログラミングを用いて、自動のGoogleチャットを作っていこうと思います。

作ったきっかけはそもそも人間がパソコンの作業する必要ないよなと思い、人間の挙動をプログラムでかけば楽になるだろうと思い立って、さくさくっと作ってみました。
用意するものはGASのみです。
毎日おはようございます、毎年あけましておめでとうございますとか
もはや自動でいいんじゃないかと思っています。
早速作っていきます。

f:id:kazukichi_0914:20220414111901g:plain

ここにWebhookの文字があるかと思います。

特定の時間になったら特定の動作をする
特定のキーワードがきたら特定の動作をする

のがwebhookです。

function sendMessageFromGAS() {
 
  var url = "https://chat.googleapis.com/v1/spaces/スペースID/messages?key=自身のkey&token=自身のチャットルームのトークン";
  
  var message = {'text': "ここに自動発言したい内容"}
  var options = {
    'method': 'POST',
    'headers': {
      'Content-Type': 'application/json; charset=UTF-8'
    },
    'payload':JSON.stringify(message)
  };
  
  UrlFetchApp.fetch(url, options);

}

以上、16行のスクリプトで自動応答のプログラムが完成しました。