50
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-19

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

この記事で書くこと

いつも飲み過ぎちゃう自分に対して、シラフの自分がしっかり注意してくれるようにしてみたので、そのお話です。
 

この記事で書かないこと

注意された結果、どうなったのか?は書きません。
そんな注意、アルコールの前では無力です。

いつも飲み過ぎちゃうから、飲みすぎないようにメールで注意してくれるようにしたお話。

準備

用意するもの

  • Googleアカウント

使うもの

  • Googleカレンダー
  • Google Apps Script(通称GAS)

仕組み

毎朝、その日のカレンダーを取得して飲みの予定が入っていたら、飲み過ぎちゃダメよ!というメールを送る。

実際に作ってみる

GASを書いてみよう。

ここから作っていきます。
GASはここから作成.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;

  // 予定がある場合のみ実行
  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);

  }

}

トリガーを設定してみよう

ここからトリガーの画面に行って
トリガーはここから作る.png

右下のボタンを押します。
右下のボタンを押す.png

設定は、こんな感じ。
トリガーはこんな設定.png
毎朝、AM9時から10時の間にメールを飛ぶように設定。

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

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

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

できた

まとめ

勢いで書きました。
GASは、もっときれいに書けると思います。
というよりも、そもそもこんな通知が来なくても、お酒とは正しく付き合いましょう。

50
3
0

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
50
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?