毎日のお天気と雨の日の準備を朝にLINEに送ってくれるBot

好きなモノは酒と女とラーメン、LIFULLのてぃば(@rechiba3)です。

この記事は、[LIFULL Advent Calendar 2021](https://qiita.com/advent-calendar/2021/lifull "LIFULL Advent Calendar 2021")の1日目の記事です。

# はじめに

4歳の娘を保育園に送り迎えするために、毎日自転車で送迎しています。
現在、育休中のため、天気が良い日やおでかけのついでのときには、0歳児も一緒に連れていきます。
そのときはベビーカーに乗せて、歩いて通っています。

このときの**「0歳児を連れて行くかor行かないか」にはその日の天気が大きく影響**されます。

そこで、毎朝、今日の天気が送られてきたらいいじゃん〜！って思って作ってみました。

# 既存サービスとの比較

ちなみに、大好きなヤフー天気でもプッシュ通知してくれるんだけど、時系列はアプリ開いて見に行かないとわかりません。
限られたスペースで最大限の情報を出してくれるから、今から登園する人向けではない。
![IMG_4094.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86461/111f5ad9-6c66-9b8e-4a32-1797d1539f44.jpeg)

#1. LINE Messaging APIを使えるようにする

## 1-1.LINE Developer登録
以下のURLから公式の手順に沿って登録します。

https://developers.line.biz/

##1-2. 新規チャンネル作成
登録したら、任意のプロバイダーを選択して以下の手順でチャンネルの作成を行います。

1. チャンネル設定 > 新規チャンネル作成を選びます。
1. チャンネルの種類を選択してください。 > Messaging API
1. チャンネルアイコン、チャンネル名、詳細、カテゴリー、サブカテゴリー、メールアドレスなどを入力したらCreateを押下

![screencapture-developers-line-biz-console-channel-new-2021-12-01-09_57_45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86461/9a1e01cd-2b23-d7b0-e50e-8e088b1d0984.png)

##1-4. あいさつメッセージの変更

1. 作成したチャンネルを開き、上部のタブ左から二番目の「Messaging API」を押下
1. ページの中間部、「あいさつメッセージ」右側の「編集」を押下、「LINE Official Account Manager」に遷移
1. あいさつメッセージを好きに編集する。これが友達追加したときに最初に送られてくるメッセージです！

![スクリーンショット 2021-12-01 11.59.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86461/f8f05311-96c6-6381-c1b0-4c1b0171b2d1.png)


##1-3. Messaging API設定

1. 作成したチャンネルを開き、上部のタブ左から二番目の「Messaging API」を押下
1. QRコードを手持ちのスマートフォンのLINEで読み取り、友達に追加する
1. ページ最下部、「チャンネルアクセストークン」の「Issue」を押下、トークンを取得して控えておく

![screencapture-developers-line-biz-console-channel-1656680187-messaging-api-2021-12-01-09_58_39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86461/aca2dc72-5676-86a5-94c3-da0fd4e4957d.png)

#2. Weather APIを使えるようにする

1. [OpenWeatherMap](https://openweathermap.org)にアクセスします。
1. ページ上部ツールバーの「Pricing」を押下
1. プラン一覧から「Free」（個人利用なので収まる範囲のため）を選択、「Get API key」を押下
1. 登録すると、入力したメールアドレス宛にAPI keyが送られてくるのでそれを控えておく

これでお天気APIが使えるようになります。

#3. GASでアプリケーションを作る

ここからは参考にした別の記事がわかりやすいので紹介します。

https://qiita.com/tomo_20180402/items/3651f58fd1cb52a7bbe2

ちなみに、冒頭のコンセプトから以下のような文章を雨の日に合わせて登録しています。

![スクリーンショット 2021-12-01 12.07.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86461/8ec784d1-3299-f692-b074-10fdecf79e7e.png)

#4. GASのトリガーを設定する

1. Apps Script画面左部の時計のアイコンにマウスオーバーすると、「トリガー」へのリンクが出現するので押下
![スクリーンショット 2021-12-01 12.54.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86461/9f849586-92a6-9b82-49c9-ee980ba627f8.png)

2. 毎朝起きる時間に合わせて、午前7時〜8時を設定します。
![スクリーンショット 2021-12-01 12.56.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86461/b2333894-747f-3145-9ffd-1bb8002a73ee.png)

これで完了です！

# テストしてみましょう

1. トリガーを「特定の日時」、直近の時間2分後くらいに設定します
![スクリーンショット 2021-12-01 12.59.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86461/cd21af9d-8d6d-9527-d952-a8464b78c2c5.png)

1. if文を削除して、画面上部ツールバーの「実行」を押下
![スクリーンショット 2021-12-01 12.59.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86461/ceedd0d9-6ecb-b2a6-e467-fdfe7745281a.png)

1. 結果
if文を抜いたので余計なundefinedが入ってしまいましたが、配信できることがテストできました。
![IMG_4096.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86461/96b245f8-1a4f-279c-0313-76ce73936638.png)


# さいごに - 今後の応用アイデア
娘も4歳、来月で5歳です。
最近は身支度も自分で用意できるようになったので、今後はこの雨の日アラートをスマートスピーカーなどに配信して、「あ！雨の日だからレインコート着なくちゃ」と子どもが自分で準備できるように活用できたらいいなぁと思います。