こんにちは。ディレクターの Jack です。
「ディレクターもプログラミングを学ぼう」シリーズの第 4 弾は、Google Apps Script で Bot を作ってみるです。
ディレクターという職種の都合上、日々さまざまな業務が飛び込んできます。提案資料の作成や打ち合わせ、制作進行時のデザイナーやエンジニアへのタスク確認、見積書や請求書の作成など、やることがいっぱいです。もちろん、タスクの優先度を付けながら業務をすることは重要なのですが、職種に依存しない誰でもできるような業務は自動化したいものです。
そこで、今回は Bot を活用して業務を効率化する方法について書いていきたいと思います。
目次
Botとは?
IT 用語辞典『 e-Words 』でボットについて早速調べてみました。下記引用分となります。
ボットとは「ロボット」の略称で、もともと人間がコンピュータを操作して行っていたような処理を、人間に代わって自動的に実行するプログラムのこと。検索エンジンなどが導入している、Web ページを自動的に収集する「クローラ」や、オンラインゲームでキャラクターを人間に代わって自動的に操作するプログラムなどのことを言う。
端的に言うと、人間の代わりに特定の処理を自動的に行うプログラムのことですね。
ディレクターがGoogle Apps Scriptを学ぶメリット
さて、ディレクターが Google Apps Script( GAS )を学ぶメリットはなんでしょう?
GAS を利用することで、Google スプレッドシートを操作して処理を自動化することができたりします。以前、GAS を活用して Google スプレッドシートを操作した記事もありますので、ぜひご覧ください。
【ディレクターもプログラミングを学ぼう】Google Apps ScriptでGoogleスプレッドシートを操作してみよう
Google スプレッドシートの操作以外にも、Google Analytics のデータを取得したり、Google ドキュメントの情報を操作したりと、さまざまなことができます。
今回は、ChatWork の API を利用して、業務自動化用の Bot を開発してみようと思います。
実装編
何を実装するの?
ChatWork への自動投稿機能を実装してみようと思います。弊社ではコミュケーションツールに ChatWork を利用しており、タスクの確認や日々の会話も ChatWork を利用しています。「あの作業どうなってました?」とか「このファイルを xx 時までに更新してください!」とか「経費申請を行ってください!」など、さまざまな確認業務を ChatWork で行っています。
私はマネージャーも兼務している都合上、この確認タスクがめちゃくちゃあります。。
できるだけ、自動化したい!!
そんなときに役立つのが Bot なんです。
実装までの流れ
今回の Bot 開発の流れを下記に示します。
- ChatWork の API トークンを取得する
- 特定のルームに確認依頼メッセージを投稿する GAS を記述する
- トリガー機能を利用し自動投稿させる
ChatWorkのAPIトークンを取得する
ChatWork の API トークンを取得するには、ChatWork 社が提供しているドキュメントを読むことをおすすめします。とても分かりやすく記述されていますので、すぐ API トークンを取得できるかと思います。
ソースコード
Google スプレッドシートの「ツール」 → 「スクリプトエディタ」をクリックして、GAS 記述用のエディタを開いてみましょう。
また、今回は chatwork-client-gas というライブラリを使用しています。GitHubにて Google App Script Project Key を取得できますので、その取得した Google App Script Project Key を利用して、ライブラリのインストール作業を行いましょう。
ライブラリのインストール手順は、下記となります。
1.プロジェクト名を入力する
「リソース」 → 「ライブラリ」をクリックし、プロジェクト名を入力する。
2.Google App Script Project Keyを入力
3.ライブラリのバージョンを指定
任意のファイル名を指定して、下記コードを書いていきます。
function bot() { var client = ChatWorkClient.factory({token: "xxxxxxxxxxxxxxxxxxxxxxxx"}); var message = "【本日18時まで!】経費申請をしてください!"; client.sendMessage({ room_id: xxxxxxxxx, body: message }); }
token に取得したアクセストークンを、room_id に投稿したスレッドの ID を入力してください。
実行してみる
手動実行する
スクリプトエディタに「実行ボタン」があるので、クリックしてみましょう。記述したコードを実行することができます。
定期実行する
「リソース」 → 「すべてのトリガー」をクリックし、cron のように定期実行することができます。毎週月曜日の午前 10 時〜 11 時の時間帯に投稿するには、下記のように設定します。
これで、定期実行ができるようになりました。とても便利ですね!
おわりに
いかがでしたか? 手順がわかれば、GAS を利用しての Bot 開発はそんなに難しくなかったかと思います。これでガンガン業務効率化ができそうですね!
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。