【Python】祝日通知LINE Botを作成しました。

2019年5月6日

祝日通知LINE Botを作成した理由

前回の記事でも紹介していますが、私が作成したのは祝日通知ラインボットです。作成した動機は少し前に私が祝日に誤って出社してしまうというミスをしてしまったからです。

たまたまカレンダーや日程を確認していなかったために起こってしまった悲劇でした…。会社についてから気づいたときの虚無感といえば凄まじいものでした。こんな悲劇を二度と起こさないためにも、私は祝日を通知してくれるLINE Botを作成することにしたのです。

通知するのが目的なのでプッシュ機能を使用しています。

環境情報

言語:Python

フレームワーク:Flask

ホスティング:heroku

その他:Holidays JP API(https://matsuoshi.hatenablog.com/entry/2018/11/14/000000)

タイトルに記載した通りLINEボットはPython × Flaskで作成しました。最近Pythonをちょこちょこ使用していたので、その勉強を兼ねてPythonにしました。また、フレームワークはこれまではDjangoを使用していましたが、LINE Botにはフルスタックフレームワークは必要ないので、軽量フレームワークとして人気のあるFlaskを使用することにしました。

ホスティングサービスはherokuにしました。以前使った際に非常に簡単に設定できたのと無料なのでherokuに決めました。

また、今回祝日一覧の取得にはmatsuoshi様の「Holidays JP API」を使用させていただきました。MITライセンスとのことなので、ありがたく使用させていただきます。matsuoshi様ありがとうございます。

祝日LINE Botの作り

祝日LINE Botの構成は非常に単純です。定期実行にはHeroku sschedulerを使用しています。毎日朝7時半と夜9時にcurlコマンドによってFlaskサーバへGETリクエストが送られるようにスケジューリングしています。

リクエストが送られてきたら「Holidays JP API」から祝日を取得、システム日付を比較して当日もしくは翌日が祝日であるならLINE SDKでプッシュ通知を送る。以上です。

実行結果

実際の実行結果は以下のようになっています。

記事を書いている現在はGW中なので通知の量がすごいことになっています。しっかり動いていることを確認できました!!

正直他に書くことが無いので以下にソースコード全体を晒して終了したいと思います。

今回の成果物

今回作成した祝日通知ボットのコードは以下にあります。

https://github.com/i-shinya/line-bot