Try #006 – Azure FunctionsやGoogle Apps ScriptでSlack Statusを操作してみた

By | 2017年7月17日

 

 

 

今回は、Azure FunctionsGoogle Apps Scriptを利用してSlack Statusを操作してみようと思います。

 

まずは、Slackでトークンを取得する必要があります。今回はテスト用としてLegacy tokensを取得します。

 

トークンが取得できたら次に、Azure Functionsで定期的にSlack Statusを実行してみます。
Azure Functionsの操作方法は「Try #005 – Node.jsとAzure FunctionsでSlack botを作ってみた」を参考にしてみてください。

開発 → コードに下記のようなスクリプトを記述します。

index.js

 

token:に取得したトークンを記述
emojiに表示したいアイコンを記述
textaddに表示したいテキストを記述

 

タイマーも設定しておきます。

 

スクリプトを保存して実行してみます。タイマーで設定した時間にStatusが変更されるのが確認できます。

 

最後に、Google Apps ScriptでGoogleカレンダーとSlack Statusを同期してみたいと思います。事前に同期させたいGoogleカレンダーのカレンダーIDを取得しておきます。

新規にファイルを作成して、下記のようなスクリプトを記述します。

script.gs

 

cdidに取得したカレンダーIDを記述
slackTokenに取得したトークンを記述
currentEvent.textに表示したいテキストを記述
currentEvent.emojiに表示したいアイコンを記述

 

今回はカレンダーに全日予定で当日登録されている場合、Slack Statusを設定するスクリプトの記述としましたが、スクリプトを書き換えると時間単位予定や予定の内容の表示なども指定も可能です。

 

スクリプトを記述したら、トリガーの設定をします。トリガーを設定するとAzure Functionsのタイマーのように定期的にスクリプトを実行することが可能です。1分おきや5分おきで設定することでGoogleカレンダーの監視が可能です。

 

スクリプトを保存して実行してみます。GoogleカレンダーとSlackのStatusが同期されるのが確認できます。

 

GitHub

 

Azure FunctionsやGoogle Apps ScriptでSlack Statusを手軽に操作できることが確認できました。これで現在会議中などの状況を可視化できますね!