ajike switch

ajike switchの更新をメールでお伝えします!

8年以上ajikeが蓄積したデザイン思考とUXデザインの知見を発信し続けるブログ<ajike switch>の更新情報を無料でメールにてお知らせ致します。

×

便利!チャットワークで定期botを自動化する方法

弊社ではチャットワークを使用して、情報共有や各連絡などを行っております。
便利ではありますが、もうひと工夫して更に便利にする使い方の紹介です。
今回は、Google Apps Scriptというものを使って定期botを作る方法です。
せっかくの便利機能なので、ノンプログラマーでもできるように優しめに説明していきます。

Google Apps Scriptとは?

知らない人のためにまずは、Google Apps Script(以降はGAS)についてです。
GASは、Googleスプレッドシート・Gmail・Googleカレンダー等々のGoogleのアプリを操作できるスクリプト言語で、javascriptベースでオリジナルの処理が実装できます。
また、トリガーという機能があり、時間や曜日などを設定すると、任意の期間でスクリプトが処理されるようになります。今回はこれがポイントとなります。本来ならばサーバーでcronを設定して処理をする必要がありますが、そうなってくるとハードルが上がってしまいます…ので、この機能を大いに活かすことにします。

GASの導入と設定準備

まず、GoogleドライブにGAS環境を導入していない人は下記方法にてアプリを追加してください。

新規 > その他 > アプリを追加 にて『Google Apps Script』を検索追加
gas_img01

新規作成項目に、Google Apps スクリプトが追加されているので、選択して開いてください。
※GASですが、余裕がある人はドットインストールを事前に見ておくといいと思います。
Google Apps Script入門

次にwelcome画面で、空のプロジェクトを選んでください。
プロジェクト名、.gsファイルの名前は適宜任意のものに変更してください。

これでスクリプトを書いていく準備が出来たので、今度はチャットワーク側の設定を進めていきます。

チャットワークの設定

チャットワークの情報で必要なのは下記になります。

  • ルームID
  • チャットワークAPI

ルームID

これは、チャットワークのチャット毎に設定されているIDです。
URLを見るとわかるので、投稿したいチャットのIDを控えておいてください。
例えば、下記の場合『01234567』となります。

https://www.chatwork.com/#!rid01234567

チャットワークAPI

GASと連携させるためにAPIが必要になりますので、下記ページより申請して下さい。
http://developer.chatwork.com/ja/
企業アカウントで使用している場合はその管理者が申請する必要があると思います。それが手間だったり、ちょっとお試しの場合などは個人で無料アカウントを作成して申請するといいかと思います。
今だと申請後、1日くらいで利用開始になるかと思います。
発行の仕方は、チャットワークのドキュメントに載ってるので参照してください。
上記で、APIトークンというものを発行して、こちらも控えておいてください。

これでチャットワーク側の設定は完了です。

設定・連携

最後にスクリプトを書き、その処理を自動投稿されるように設定します。

ライブラリの設定

まずはチャットワークAPIを使えるようにするライブラリを設定します。
ありがたいことにチャットワークの人がつくってくれているので、それを使います。
チャットワークAPI を Google Apps Script で使ってみた
メニューバーの、リソース > ライブラリ を選択して、
ライブラリを検索から下記を入力すれば追加できます。
バージョンは最新のものにでも設定して、保存をすれば完了です。

M6TcEyniCs1xb3sdXFF_FhI-MNonZQ_sT

gas_img03

スクリプト

下記、サンプルのソースになるので、APIトークン・ルームID・投稿メッセージを任意のものに変更してください。

gas_img04

設定が完了したら、初回だけ認証を済ませる必要があります。
キャプチャの赤枠内毎の内容が同じか確認してから、青枠内の▶マークを押すと処理が実行されます。
gas_img05
実行すると、「承認するか」確認画面が出てくるので承認してください。
これでスクリプトの設定は完了です。
チャットの方を見ると、処理が実行されて投稿が完了しているかと思います。
gas_img06

トリガー設定

最後にトリガーで実行頻度を決めれば自動化の完了です。
メニューバーの、リソース > 現在のプロジェクトのトリガー を選択して、トリガーを設定してください。
今回は、19〜20時の間に投稿されるように設定しました。
gas_img07
時間ピッタリに投稿したいところなのですが、現状の1日毎のトリガー設定では指定の時間内でのトリガーしかないのが残念なところです…
一通り設定して保存をすると、これでbot作成の完了です。
例の場合は、1日1回、19〜20時のランダムなタイミングで投稿されると思います。

※ちょっと小技

この設定をすると、土日も投稿されるとになります。スマートではない方法ですが、平日だけにする方法です。
それは、日タイマーではなく、週タイマーにて設定して、月〜金までを設定すれば平日だけになります。
スマートではない上、設定が面倒で祝日も判別できませんが…トリガーの仕様が使いやすく改善されることを祈りつつ、悪あがき的な手法になりますw

スプレッドシートと連携させて…、チャットではなくメールを送信するように…、等など色々な使い方ができると思うので、これをベースに色々なことを自動化すると業務の効率化ができるのではないかと思います。

servi