18. 18
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
スプレッドシートの作成
https://drive.google.com/drive/my-drive にアクセスしスプレッドシートを作成
します。Googleアカウントが必要です(事前準備)。
①
②適当に名前をつけて保存
19. 19
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
Slackライブラリの導入
スプレッドシートにSlack連携のライブラリ?を設定します。
参考:http://qiita.com/soundTricker/items/7bbd86425ae8d0641d50
APIの説明は https://script.google.com/macros/library/versions/d/M3W5Ut3Q39AaIwLquryEPMwV62A3znfOO
①
②スクリプトのファイル名を入力して保存
※ここにプログラムを作成します。
30. 30
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
ボットの処理プログラムを作成
次頁のプログラムをスクリプトエディタに貼り付け、.openById("xx")部分を自分
のシートidを登録し、保存してから、再度バージョンを上げて公開してください。バージョ
ンを上げないと古いプログラムが動きます。認証ダイアログが表示される時は認証
してください。
新規作成で公開するとバージョンが上がる
ここがシートのID
31. 31
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
//SlackからのPostで動く処理。Webに公開しているとこれが動く。
function doPost(e) {
var mes = "お疲れ様です。";//秘書のメッセージ
var type = "";//出社、退社の区別
//eにpostデータが入ってる。
//出社をチェック
if (e.parameter.text.match(/おはよう/)) {
type = "出社";
mes = "おはようございます。きょうもお仕事頑張りましょう!";
}
//退社をチェック
if (e.parameter.text.match(/さようなら/)) {
type = "退社";
mes = "今日もお仕事お疲れ様でした。";
}
//slackApp インスタンスの取得
var slackApp = SlackApp.create(token);
//勤怠をシートに記録
//勤怠を設定している時だけ
if(type != ""){
//idからシートをセット。シートのURLの/d/****/部分。idじゃないとdoPostからはアクセス出来ない。自分のidに変更
var sheet = SpreadsheetApp.openById("").getSheetByName("シート1");
//名前,勤怠、日時を最終行にセット
sheet.appendRow([e.parameter.user_name,type,new Date()]);
}
//メッセージを返す
slackApp.chatPostMessage(e.parameter.channel_id,e.parameter.user_name+"さん。"+mes, {
username : "あなたの秘書"
});
return null;
}