【LINEで定期的にメッセージを送る方法】

#はじめに#
　私の住んでる市では毎週月曜日と木曜日がゴミの日なんですが、結構出すのを忘れてしまいます・・・。
ゴミの日になったら通知を出してくれる機能があればいいなぁと思って作っちゃいました！
一応備忘録として残していきたいと思います。

#LineNotify#
　まずは[LineNotify](https://notify-bot.line.me/ja/)にログインしていきます。LINEのアカウントはほとんどの方がお持ちだと思いますので登録については割愛します。
　右上のログインからご自身のアカウントのメールアドレスとパスワードを使ってログインしてください。

![スクリーンショット 2021-11-03 18.48.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1558223/8e735794-2351-6345-c08e-d5d59320509d.png)

ログインできたら画面右上に自分の名前が表示されますので、そこをクリックしてマイページを開いていきます。

するとアクセストークンの発行という項目があるので、トークンを発行するをクリックしてください。


![スクリーンショット 2021-11-03 18.50.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1558223/cc18a323-5569-3210-ad8b-1c4199498c3e.png)

トークン名はLINEの通知の際にタイトルとして出てきますので短めでわかりやすい単語がいいでしょう。

次に通知を送信するトークルームを選択します。

選択できたら発行するをクリックしましょう。

![スクリーンショット 2021-11-03 18.51.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1558223/3c4869a9-1e9e-12b6-5ba0-11eeac8aaa62.png)


トークンが発行されますのでどこかにコピーを取っておいてください。

![スクリーンショット 2021-11-03 18.54.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1558223/7d23e4bf-b37f-ab76-ba73-66ed3af0dbf4.png)

ここまでできたらLINE側でグループにLineNotifyを招待します。

#GoogleAppsScript#
　次に実際にコードを書くために準備していきましょう。
GoogleDriveの新規をクリックして、その他→アプリを追加を選択、GoogleAppsScriptを選択してインストールしてください。
インストールできたらGoogleAppsScriptを開いていきます。

![スクリーンショット 2021-11-03 19.00.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1558223/f37c6bd5-d31b-5179-298b-c6b33a2fd88f.png)

エディタにコードを書いていきましょう。

![スクリーンショット 2021-11-03 19.04.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1558223/b15cff2c-3e69-3ed6-bd68-d82d4b9c1e03.png)



今回は、
月曜日に「今日はゴミの日です！」
木曜日に「今日はゴミの日です！
　　　　　今日は大型ゴミの日です！」
火曜日に「今日は缶・ビンゴミの日です！」
と通知したいので、このように書きました。

```
function postMonday(){
  var content = "今日はゴミの日です！";
  sendPostContent(content);
}

function postThursday() {
  var content = "今日はゴミの日です！";
  content += "\n今日は大型ゴミの日です！";
  sendPostContent(content);
}

function postTuesday(){
  var content = "今日は缶・ビンゴミの日です！";
  sendPostContent(content);
}

function sendPostContent(content){
  var token = ['発行したアクセストークン'];
  var options = {
    "method": "post",
    "payload" : {"message": content },
    "headers": {"Authorization": "Bearer " + token}   
  };
  UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}

```

一応テストしておきましょう。

エディタ上部で関数を選択し、実行をクリックします。

![スクリーンショット 2021-11-03 20.10.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1558223/87e75bb2-9986-d33a-5188-d6f7cb566099.png)


すると、LINEに通知がきます！
![スクリーンショット 2021-11-03 20.20.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1558223/c130f817-b761-6505-144c-e395fbc4ecba.png)


#トリガーを設定#
あとは定期的にこのプログラムを走らせるだけです。
左側メニューバーのトリガーをクリックします。

![スクリーンショット 2021-11-03 20.20.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1558223/e2f33d8f-16aa-2543-7541-7c22a667732d.png)


このような画面になりますので右下のトリガーを追加をクリックしてください。


![スクリーンショット 2021-11-03 20.22.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1558223/c7e3055d-7a37-77b1-2096-12d8c691110c.png)

あとは好きな時間に関数が実行されるよう設定するだけです！

![スクリーンショット 2021-11-03 20.24.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1558223/303aab01-dfc7-f84f-c9a2-fc2de0e3ea3e.png)


#終わりに#
　意外と簡単に作れますので皆さんよかったら使ってみてください。