この記事では、GAS(Google Apps Script)で「トリガー」を使って、ねこあつめを一定時間間隔にChatworkに送信します。
お世話になった記事は、いつも隣にITのお仕事さんの
【初心者向けGAS】時限式のイベントトリガーを設置して決まった時刻にBotを送信する方法
です。
GASサンプル集に戻る
メインメニューに戻る
これからプログラミングを始める方へ
基本情報技術者へ
自己紹介
今回の内容に入る前に、前回の復習をします。
このスプレッドシートの赤枠が空欄になっている猫ちゃんの名前(A列)を1匹ずつ変数bodyに格納して、Chatworkに送信する関数「sendMessage」を呼び出し、Chatworkに出力した後に、スプレッドシートの赤枠に「済」をつける流れになっています。
全ての猫ちゃんの名前をChatworkに出力したら、「済」を全部消して再度同様の処理が出来る様になっていま
す。
前回のコードです。
//メインの関数でAmazonにDVDの注文をする
function myFunction() {
const ss = SpreadsheetApp.getActiveSheet();
let lastRow = ss.getLastRow();//最終行を取得
for (let i = 2; i <= lastRow; i++) {
//もしもD列の「済」が空白だったらA列の「なまえ」を出力してD列を「済」にする
if (!ss.getRange(i, 4).getValue()) {
//AmazonがDVDの注文を受け取る
const body=ss.getRange(i, 1).getValue();
//ここでAmazonが宅配業者みたいなsendMessage関数にDVDの配達を依頼する
sendMessage(body);
ss.getRange(i, 4).setValue('済');
//もしも最終行以上になったらセル範囲を消去する
if (i >= lastRow) {
ss.getRange(2, 4, lastRow - 1).clearContent();
}
break;
}
}
}
//宅配業者のようなsendMessage関数がAmazonからDVDを受け取って、配達を行う
function sendMessage(body){
const cw=ChatWorkClient.factory({token:'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'});
cw.sendMessageToMyChat(body);
}
今回の内容に入る前に、ねこあつめ画像で癒されました。
前回は手動で1つ1つチャットワークに送っていましたが、今回はGASの「トリガー」を用いて定期的に送るようにいたします。
エディター画面の左側の四角の目覚まし時計マークをクリックします。
右下の「トリガーを追加」を押下します。
左側の赤枠の設定をします。
イベントのソースを選択を「時間主導型」に、
時間ベースのトリガータイプを選択を「分ベースのタイマー」に、
時間の間隔を設定(分)を「1分おき」に設定します。
右下の「トリーガーの保存」を押下します。
トリガーがこの様に追加されました。
これで1分ごとに猫ちゃんの名前がチャットワークに送られてきます。
このままですとずっと送られてきてしまうので、下の図の3点リーダーからトリガーを削除します。
「トリガーを削除」を選択します。
「完全に削除」を選択します。
ここまでご精読ありがとうございました。
■参考文献の紹介■
初めてGASを学ぶ方向け。
スプレッドシートの基本的な使い方からGASのベースとなるJavaScriptの基礎文法、GASでの初歩的なプログラミングを学べます。
GASに少し慣れて来たら、基礎固めとリファレンスとしてこの本を通してじっくり学べます。