GAS(Google Apps Script )を使ってChatworkでbotを作成するまでの流れ

こんにちは。TOMMY(トミー)です。

先日、「Switch文でSwitchに表示」というダジャレブログを書きました。
こちらから察していただけるように、現在お笑いブームが到来中ですヽ(´▽`)/

Switch文でSwitchに表示

そんな最中、CEOがTwitterに下記のツイートをしました、、、


見て見ぬ振りもできたのですが、遠回しの圧を感じ周囲に相談しました。
相談すると「データベースを作ったらいいよ!」「検索機能をつけたらいいんじゃない?」「APIを使ったらいいかも?」など教えてもらい、ザワザワしていると、、、

CEO

Google Apps ScriptとGoogleスプレッドシートとChatwork APIでいけるんじゃない?

CEOより謎の言葉が飛んできました。
(後々わかりましたが、要するにbotを作ることができる魔法の呪文だったみたいです!)

横文字ばっかりで理解できてない(´・ω・`)

TOMMY

と返すと、その後ヒントをもらい、私でもbotを作ることができました!!!!!
今後、同じような謎の呪文が届いても困るので、ここに書き残しておきたいと思います。

GAS(Google Apps Script )を使ってみた!

GAS(Google Apps Script)とは

簡単に言うと「Googleが提供しているプログラム環境」のことです。
JavaScriptをベースとしたプログラム言語を使って操作することができます。

Googleが提供してる下記のサービスと連携させて業務の自動化などを行うことができる便利な機能です!

  • Googleスプレッドシート
  • Googleドライブ
  • Googleフォーム
  • Googleマップ
  • Googleカレンダー
  • Googleアナリティクス
  • Gmail

と言われてもピンと来ないので、、、
今回、Googleスプレッドシートを利用してbotを作成しました。

Chatworkでbotを作成するまでの流れ

下記のサービスを利用して作成していきます。

  • Google(グーグル)
  • Googleスプレッドシート
  • Chatwork(チャットワーク)

Google(グーグル)

 

1. GCP(Google Cloud Platform)に登録するためにGoogleアカウントを作成します。
(Googleアカウント持っている方は不要です)

Googleアカウントの作成はこちら

 

2. GCP(Google Cloud Platform)に登録してAPIキーを取得します。
とてもわかりやすい記事がありましたので、下記をご参照ください。

参考 Google Cloud Platform に登録してAPIキーを取得する手順コンサルママとノマドパパ

3. bot用のGoogleアカウントを作成します。

Googleアカウントの作成はこちら

Chatwork(チャットワーク)

 

1. bot用に作成したGoogleアカウントで、Chatwork(チャットワーク)に登録します。

Chatwork(チャットワーク)の登録はこちら

 

2.Chatwork(チャットワーク)にログイン後、APIトークンを発行します。

参考 APIトークンを発行するChatwork(チャットワーク)

Googleスプレッドシート

 

1. Googleスプレッドシートを新規作成します。

Googleスプレッドシートはこちら

 

2. 「ツール」から「< >スクリプトエディタ」を開きます。

 

ここから今回のメインであるGAS(Google Apps Script)を扱います!!

 

2-1. スクリプトエディタを開くと下記のコードが表示されますので、一旦、全てのコードを削除します。

 

2-2. 初期設定を入力していきます。
コード内にある「xxxxxx」の部分には、先ほどの「GCPで取得したAPIキー」と「Chatworkで発行したAPIトークン」を入れます。

 

2-3. 「スプレッドシートのメニューバーにメニューを追加する」関数を記述します。

 

2-4. 「シート1(質問と回答を登録する場所)とシート2(履歴を残す場所)を追加する」関数を記述します。

 

2-5. 「質問を受け取り処理計算する」関数を記述します。

 

2-6. 「Chatwork(チャットワーク)にメッセージを送る」関数を記述します。

 

2-7. 「語句を抽出する」関数を記述します。

 

2-8. 「シートを読み込んでJSON形式で返す」関数を記述します。

 

2-9. 「シートを読み込んで二次元配列を返す」関数を記述します。

 

2-10. 「レーベンシュタイン距離(キーワード一覧から入力文字にある程度近い部分の文字を探し出す)」関数を記述します。

 

4. 「スクリプトエディタ」を保存します。
保存時に「プロジェクト名の編集」と表示されますので、適当な名前をつけて保存します。

 

5. 「実行」→「関数を実行」→「onOpen」を押します。

 

6. 「承認が必要です」と表示されますので「許可を確認」を押します。

 

7. Google Cloud Platform(GCP)で登録したアカウントを選択します。

 

8. 「許可」を押します。

 

9. スプレッドシートに戻ると、メニューバーに「初期設定」が表示されます。

初期設定」→「初期設定を行う」をクリックします。

 

10. 「シート1(質問と回答を登録する場所)」に「回答とキーワード」が表示されたことと、「シート2(履歴を残す場所)」が追加されたことを確認します。

 

11. 動作に問題がないようであれば、「スクリプトエディタ」へ戻り、「公開」→「ウェブ アプリケーションとして導入」を選択します。

 

12. 「ウェブ アプリケーションとして導入」が表示されます。

------------------------------------------------------------

プロジェクトバージョン:空欄でも可
次のユーザーとしてアプリケーションを実行:自分(メールアドレス)
アプリケーションにアクセスできるユーザー:全員(匿名ユーザーを含む)

------------------------------------------------------------

選択後は「導入」ボタンを押します。

 

 

13. 最後に「ウェブアプリケーションとして導入」にURLが表示されますので、コピーします。

Chatwork(チャットワーク)

 

1. ChatWorkの「API設定」から「Webhook」の画面を開いて「新規作成」をクリックします。

 

2. 「Webhookの新規作成」が開きます。

------------------------------------------------------------
Webhook名:適当な名前
Webhook URL:先ほど「ウェブアプリケーションとして導入」の際にコピーしたURLを貼り付け
イベント:「アカウントイベント」を選択
------------------------------------------------------------
選択後は「作成」ボタンを押します。

Googleスプレッドシート

最後にスプレッドシートの「回答」と「キーワード」にダジャレを入力します。

これでbotの完成です!!!

botを自分のアカウントと連携させることで一人遊びが楽しめます♪♪
※反映には少しお時間がかかることがあります

履歴に残る内容について

スプレッドシートの「シート2」には、履歴が残るようになっています。
履歴では返答できなかった内容を確認することができ、不足の情報があった場合は加筆修正を行うことができます。

シート2(履歴を残す場所)に記録される内容
  • 質問された日時
  • 質問文
  • 抽出した語句
  • 信頼性(語句の一致率)
  • botが回答した文
  • 質問・回答したルームID(チャットワークURLの末尾の数字)

まとめ

今回、GAS(Google Apps Script)という機能自体はじめて知りました!
改めてGoogle先生の偉大さを知り、「Google先生に聞けばいいから、Google先生に書けばいい!」という考えに至りました(笑)
少しでも仕事の負担が減るように業務の自動化が進めばいいなと思います。

また、今回のbot作成も慣れると1時間ほどで可能です!
みなさんも一度試してみてはいかがでしょうか?
自分だけのオリジナルbotが作成できますよ♪

この記事が気に入ったら
いいね ! しよう

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)