この記事はQiita Engineer Festa 2023 参加記事です。
Qiita運営さんのこの記事誰得? 私しか得しないニッチな技術で記事投稿!企画への参加記事になります。
この記事で書くこと
いつも飲み過ぎちゃう自分に対して、シラフの自分がしっかり注意してくれるようにしてみたのですが、注意力が足りなかったので、もっと注意するようにしたお話です。
失敗を繰り返し、学び、成長していくのです。
生涯成長期を目指して、カイゼンしていくための試行錯誤を書きます。
この記事で書かないこと
もっと注意された結果、どうなったのか?は書きません。
そんな注意、アルコールの前では無力だと何度言ったら・・・!
成功していたら、カイゼンはしていません。
前回の振り返り
前回の反省
前回の仕組み化はどうだったのか振り返ってみます。
何事も検証と改善ですよね。
- よかったこと
- 朝の段階で今日は飲み会だ!気をつけよう!という気持ちになれた
- 改善が必要なこと
- メールは読んだあとに削除orアーカイブしちゃうので夜には忘れちゃう
改善の方向性
- 削除やアーカイブをしないツールに注意してもらえば良さそう
* LINEに通知とかいいのでは?
メールを削除(やアーカイブ)しなければ良いのでは?という正論パンチはやめてください。
そんなこと言ったら、そもそも飲み過ぎなんて自分の意識で改善すべきことです。
そして、記事を書くネタがなくなります。正論パンチ反対!
いつも飲み過ぎちゃうから、もっと注意してくれるようにしたお話。
準備
用意するもの
- Googleカレンダー
- 前回のGAS
- LINEアカウント
使うもの
仕組み
前回のGASのメール送信のタイミングで、LINEにも通知してみる。
実際に作ってみる。
LINE側で通知先のグループを作る
LINE Notifyにログインして、アクセストークンをゲット
まずは、自分のLINEアカウントにログイン。
次にマイページに行く
トークンを発行しましょう!
先程作ったグループを選択して「発行する」を押します!
トークンをゲットできます!
閉じるを押しちゃうと、確認はできないので、コピーしてメモすることを忘れずに!
(再発行はできます。)
グループにLINE notifyを招待しよう
いつものグループに友達を招待するように LINE Notify をグループに招待します。
GASをカスタマイズしよう!
function sendAlertMail() {
// 自分のカレンダー
const myCalendar = 'jibun_no_mail@example.com';
// カレンダーオブジェクト取得
const calendarData = CalendarApp.getCalendarById(myCalendar);
// 今日の日付を取得
const today = new Date();
// 今日の予定を配列で取得
const schedules = calendarData.getEventsForDay(today);
// メールを送信するかフラグ
let sendMailFlg = false;
// LINEのトークン
const lineToken = 'LINE_NO_TOKEN';
const lineNotifyApi = 'https://notify-api.line.me/api/notify';
// 予定がある場合のみ実行
if (schedules.length != 0) {
// 予定の件数だけ実行
for (schedule in schedules) {
// 飲み会っぽい文字がある時はメールを送る
if(schedules[schedule].getTitle().includes('飲') || schedules[schedule].getTitle().includes('🍺') || schedules[schedule].getTitle().includes('🍻') || schedules[schedule].getTitle().includes('会食')){
sendMailFlg = true;
}
}
}
// 飲み会がある時はメールを送信する。
if(sendMailFlg){
// メール件名
const subject = '【要注意】本日は飲み会があります。';
// 送付先メールアドレス
const address = 'jibun_no_mail@example.com'
// メール本文テンプレート
const body = `本日は飲み会があります。
あなたは、過去何回も飲みすぎて失敗しています。
お酒は程々に`;
// メール送信
GmailApp.sendEmail(address, subject, body);
// LINEにも送信
// メッセージの送信設定
let options = {
"method" : "post",
"payload" : {"message": body},
"headers" : {"Authorization":"Bearer " + lineToken}
};
// 送信設定
UrlFetchApp.fetch(lineNotifyApi, options);
}
}
とりあえず手動で動かしてみた
飲み会の予定がある日は・・・
できた
まとめ
2日連続で、勢いで書きました。
GASは、もっときれいに書けると思います。
LINEも来るし、飲み過ぎも減らせられると思います。
お酒とは正しく付き合いましょう。