1
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 3 years have passed since last update.

今日は何のごみの日かを教えてくれるシステム(Trash_day_notification)1/3

Last updated at Posted at 2020-06-14

今日は何のごみの日かを教えてくれるシステム(Trash_day_notification)

困っていること

ごみの日がどうしても覚えられない、、
私の家には、庭があって、ごみを一時的にためておくことができるために、ごみをいつでも捨てれるのは素晴らしいのですが、
ごみの日を覚えられないため、基本的に朝の用事があるときに、周りを見て、今日何のごみの日かを確認している。
-> これが非常に面倒くさい、、

ということで、通知してくれるシステムを作ろう!

機能

  • 毎朝8時30分にごみの日をLINEに通知する

使用するもの

  • GAS (Google Apps Script)
  • LINE Notify

設計

シンプルに
GAS(トリガー機能) -> LINE Notify -> LINE

1. 設定とコーディング1

まずは、午前8時にLINE Notifyを使って、LINEに通知する仕組みを作成する。

LINE Notify設定

LINE Notifyのwebhook登録ページでトークルームを選択して、トークンを取得する。

キャプチャ2.PNG

自分だけのトークグループを作成し、LINE Noticeをメンバーに招待する。
キャプチャ3.PNG

GASでコーディング

GASに次のコードを記載して、実行する。

function requestPost(message){
  var token = '{LINE Notifyトークン}';
  var options =
   {
     "method"  : "post",
     "payload" : "message=" + message,
     "headers" : {"Authorization" : "Bearer "+ token}

   };

   UrlFetchApp.fetch("https://notify-api.line.me/api/notify",options);
}

function myFunction(){
  var message="今日は〇〇のごみの日です。" ;
  requestPost(message);
}

GASでトリガーの設定

毎朝8時くらいに送られてほしいので、次のように設定する。

キャプチャ4.PNG

キャプチャ5.PNG

キャプチャ6.PNG

2. 設定とコーディング2

ゴミの日は曜日ごとに決まっているので、それに従って違うメッセージを送信する。
もし、ごみの日でなかったら送ってきません。

function requestPost(message){
  let token = '{LINE Notifyトークン}';
  let options =
   {
     "method"  : "post",
     "payload" : "message=" + message,
     "headers" : {"Authorization" : "Bearer "+ token}

   };

   UrlFetchApp.fetch("https://notify-api.line.me/api/notify",options);
}

function myFunction(){
  let day_of_week = get_day_of_week();
  let trash_dict = {
    'Mon': '紙・布類(段ボール)',
    'Tue': '燃やすごみ',
    'Fri': '燃やすごみ',
    'Sat': 'ビン・缶・ペットボトル類',
  }
  
  let trash_str = trash_dict[day_of_week];
  
  if (trash_str != undefined){
    let message='今日は'+ trash_str +'のごみの日です。' ;
    requestPost(message);
  }
  
}

function get_day_of_week(){
//  曜日を取得する
  let arr_day = new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
  let day_num = new Date().getDay();
  console.log(arr_day[day_num]);
  return arr_day[day_num]
}

次回の記事

今日は何のごみの日かを教えてくれるシステム(Trash_day_notification)2/3

まとめ

これで、GAS, LINE Notify, LINE を使用して、ごみの日に何のごみを捨てればいいのかLINEに通知することができました。
しかし、ここまでなら、カレンダーの通知機能で大丈夫です。
この機能に、amazonダッシュボタンを使ってごみがどのくらいたまっているか、
その数によって、通知をきめるような処理を入れていきます。

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