気づかなかった・・を防ぐ
没頭しすぎて、定時をとっくに超えていた・・を防ぐために通知ツール作ってみました。
※動いた時間がLINEに通知されてます。動かしたのが11時42分だったので画像の時間が11時42分になってます。
定時連絡ツール作ってみた。#protoout #integromat #gas pic.twitter.com/jBbmfKbarZ
— heihei (@heihei15408697) November 1, 2020
使ったツール
■GoogleAppsScript(GAS)
■Integromat
https://www.integromat.com/
〇Webhook
Custom webhook
〇LINE
Send a Notification
GoogleAppsScript(GAS)側設定
Googleスプレッドシート
Googleスプレッドシートに2020年11月から2021年11月の祝日を記載しました。
GoogleAppsScript(GAS)
Googleスプレッドシートに記載している日以外であれば、後述のWebhookを呼び出すようにしています。
function timeNotification() {
// 今日の日付時間を取得
const todayDateTime = new Date();
// 休日判定フラグ
let holidayFlg = 'false';
// スプレッドシート上の休みを取得
const sheet = SpreadsheetApp.getActiveSheet();
for (let i = 1; i <= sheet.getLastRow(); i++) {
// スプレッドシート上の日付取得
let holidayDateTime = sheet.getRange(i, 1).getValue();
// 日付を比較し、休日であれば、フラグをtrueに変更
if (holidayDateTime.getFullYear() === todayDateTime.getFullYear()
&& holidayDateTime.getMonth() === todayDateTime.getMonth()
&& holidayDateTime.getDate() === todayDateTime.getDate()) {
holidayFlg = 'true';
}
}
// 休日でなければ、Webhookを呼び出す
if (holidayFlg === 'false') {
// Webhook URL
const URL = 'WebhookのURL';
const res = UrlFetchApp.fetch(URL);
}
}
プロジェクトのトリガー設定
1.プロジェクトのトリガーボタン(赤枠)を押す
※黒い部分はWebhookのURLなので塗りつぶしてます。
3.画像の通りの設定をする(画像は毎週金曜日にしているが、毎週月曜日から毎週金曜日の5つを作成)
Integromat側設定
全体概要
LINE側設定
LINE Notifyとの接続を作成します。
LINEに送信するメッセージについて、現在時刻を加工して送信するようにしています。
メッセージといらすとやの画像も送るようにしました。
時間設定
最後に
GAS、Webhookと今まで使ったことない技術を使ってみたが、簡単に連携できました。
GASもっと使っていきたいと思います。