52
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

いつも飲み過ぎちゃうから、もっと注意してくれるようにしたお話。

Last updated at Posted at 2023-06-20

この記事はQiita Engineer Festa 2023 参加記事です。
Qiita運営さんのこの記事誰得? 私しか得しないニッチな技術で記事投稿!企画への参加記事になります。
 

この記事で書くこと

いつも飲み過ぎちゃう自分に対して、シラフの自分がしっかり注意してくれるようにしてみたのですが、注意力が足りなかったので、もっと注意するようにしたお話です。
失敗を繰り返し、学び、成長していくのです。
生涯成長期を目指して、カイゼンしていくための試行錯誤を書きます。
 

この記事で書かないこと

もっと注意された結果、どうなったのか?は書きません。
そんな注意、アルコールの前では無力だと何度言ったら・・・!
成功していたら、カイゼンはしていません。

前回の振り返り

前回の反省

前回の仕組み化はどうだったのか振り返ってみます。
何事も検証と改善ですよね。

  • よかったこと
    • 朝の段階で今日は飲み会だ!気をつけよう!という気持ちになれた
  • 改善が必要なこと
    • メールは読んだあとに削除orアーカイブしちゃうので夜には忘れちゃう

改善の方向性

  • 削除やアーカイブをしないツールに注意してもらえば良さそう
      * LINEに通知とかいいのでは?

メールを削除(やアーカイブ)しなければ良いのでは?という正論パンチはやめてください。
そんなこと言ったら、そもそも飲み過ぎなんて自分の意識で改善すべきことです。
そして、記事を書くネタがなくなります。正論パンチ反対!

いつも飲み過ぎちゃうから、もっと注意してくれるようにしたお話。

準備

用意するもの

使うもの

仕組み

前回のGASのメール送信のタイミングで、LINEにも通知してみる。

実際に作ってみる。

LINE側で通知先のグループを作る

メンバーは自分だけでいいです!
通知先のグループ.png

LINE Notifyにログインして、アクセストークンをゲット

まずは、自分のLINEアカウントにログイン。

LINE Notifyにログイン.png

次にマイページに行く

マイページに行き.png

トークンを発行しましょう!

トークンを発行する.png

先程作ったグループを選択して「発行する」を押します!

先程作ったグループを選択.png

トークンをゲットできます!
閉じるを押しちゃうと、確認はできないので、コピーしてメモすることを忘れずに!
(再発行はできます。)

トークンゲット.png

グループにLINE notifyを招待しよう

いつものグループに友達を招待するように LINE Notify をグループに招待します。

グループに招待.png

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);

  }

}

とりあえず手動で動かしてみた

飲み会の予定がある日は・・・

今日も飲み会がある時は・・・.png

メールが飛んできた
メールが来た.png

LINEも飛んできた
LINEも飛んできた.png

できた

まとめ

2日連続で、勢いで書きました。
GASは、もっときれいに書けると思います。
LINEも来るし、飲み過ぎも減らせられると思います。
お酒とは正しく付き合いましょう。

52
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
52
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?