見出し画像

専属秘書を作ろう! - #24 タスク通知を設定する③ - 通知内容を設定する

前回は、タスクの通知内容を対応するところを残し終了しました。

そこで、今回は残しておいたタスクの通知内容を設定していきましょう。

⬇️ 過去の note をまだご覧になっていない方はこちら ⬇️



まず始めに

以前の note でも少しお話しましたが、
タスクの場合はスケジュールとは異なり、その日のタスクだけ通知してもあまり意味はありません。

すでに超過しているタスクは?
期日が迫っているタスクは?

など、タスク特有の通知の方法が必要だからです。

この点を踏まえて実装していきます。

設定/処理を追加する

設定を追加する

タスクのシートに "通知設定日数" を追加します。

ここでは、"3" が入っていますが、3日後までのタスクを通知する、という意味になります。

通知処理を追加する

タスクリストが通知時点で超過している場合は「超過タスク」として、
指定された日数までのタスクは「期日が迫っているタスク」として登録するようにします。

それ以外は、通知対象外としています。

ソースは以下の通り。

let strPass = "";
let strSoon = "";
const futuredate = future*24*60*60*1000;
for( let task of sortedList )
{
  let target = new Date(task.due);
  let diff = target.getTime()-now.getTime();
  if(diff<0){
    strPass += Utilities.formatDate(target,"JST","MM月dd日終了予定:")+task.title+"\n";
  }
  else{
    if(diff<futuredate){
      strSoon += Utilities.formatDate(target,"JST","MM月dd日")+"("+(Math.trunc(diff/(24*60*60*1000))+1)+"日後)"+task.title+"\n";
   }
  }
}

このようにすることで指定日数後までのタスクを通知します。

まとめ

これで、タスク関連の機能実装が終わりました。

どうでしたでしょうか?

タスクの一覧を教えてくれ、
タスクを登録してくれ、
タスクを完了してくれ、
通知も設定/確認してくれます。

スケジュールとタスクが管理できるようになりましたね。
これで、いっぱしの秘書になったと思います。

バッチリですね~✨

さて、次は何を実装していきましょうか。

もし、

こんな機能が欲しい!
こんなことをやってみたい!

といったご要望がありましたら、コメント欄でお知らせください。

もしわからないことがありましたら、お気軽に LINE公式アカウント でご質問ください。

今回のご提供ファイルのキーワードは【専属秘書みどりこV18】です。

LINE公式アカウントにご登録の上、キーワードを送信してくださいね。

⬇️LINE公式アカウントに登録してご連絡ください⬇️

もし「サポートしたい!」という方がいらっしゃいましたら、ぜひぜひサポートをお願いいたします! 開発費や外注費などクリエイター活動の一部として使用させて頂きます✨