ゴミ出しの前日に通知してくれるLINEbotです。 使用するには、後述するLINE DevelopersとAWSのセットアップが必要です。
- ゴミを出さないと、ゴミ箱にゴミが溜まり、部屋が臭くなる。
- ゴミ出しの曜日を覚えるのが面倒。
- ギリギリまでゴミを溜めてから捨てる習慣だと、ビニール袋を結ぶ時、大変だし臭い。
その結果、定期的にゴミを捨てれば、溜まらずに臭くなくなることに気づいた。(自明)
- ゴミ出しの前日にどのゴミを出すのか通知してくれる、これだけです。
ゴミの種類(編集可能)
- 燃えるゴミ: 月曜日、金曜日
- プラスティックゴミ: 土曜日
- ペットボトル、ビン、缶ゴミ: 木曜日
- 資源ゴミ: 水曜日
- Node.js (v12.x または v10.x)
- TypeScript
- AWS(Lambda, CloudWatch Events)
- LINE Developers (Messaging API)
- LINE Developersにアクセスして、LINEアカウントでログインします。
- 新規プロバイダーを作成します。(プロバイダーとは、アプリを提供する組織のことです。ご自身のお名前や企業の名前を入力するものです)
- 記入を完了し、無事作成したら、
Your user IDとChannel access tokenを確認してどこかにメモしてください。Channel access tokenは、Messaging APIタブの一番下にあるChannel access tokenを発行すると確認できます。
AWSにログインします。
まず、Lambda関数を作成します。
次に、トリガーをCloudWatchで設定します。
私はスケジュール式でcron式を書きました。(時間はUTCで、日本は9時間進んでいるので注意)
cron(0 14 * * ? *)なので、夜11時にLambda関数が実行されることになります。
最後に、環境変数を登録します。
先ほど、LINE Developers (Messaging API)で取得したYour user IDとChannel access tokenをLambda関数の環境変数に登録してください。
自分の家のゴミ出しの曜日を確認して、src/message.tsを開き編集しても大丈夫です。
const infos = [
{
message: '明日は「燃えるゴミ」を捨てる日です!',
days: [Monday, Friday]
},
{
message: '明日は「プラスチックゴミ」を捨てる日です!',
days: [Saturday]
},
{
message: '明日は「ペットボトル、ビン、缶ゴミ」を捨てる日です!',
days: [Thursday]
},
{
message: '明日は「資源ゴミ」を捨てる日です!',
days: [Wednesday]
}
];Lambdaにデプロイするためにzipにします。
$ chmod +x ./script/zip.sh
$ ./script/zip.sh/distフォルダにlambda.zipファイルがあるので、それをLambdaコンソール画面のActionsからアップロードします。
ここまで完成できたら、LINEbotをご自分のスマホで友達に追加してください。
方法は、LINE DevelopersのMessaging APIタブのQRコードを使って登録するのが簡単です。というか、それ以外の方法を知らない:smile: