Press "Enter" to skip to content

LINEで定期連絡をするbotを作る

wyosis 1

LINEのMessenger APIを使ってbotを登録した人に任意のタイミングでメッセージが届くようにする。

開発言語はRuby(Sinatra)。

全体

今回はプログラムを2つに分けた。1つはMessenger APIを使って、LINEにpush送信をさせるスクリプト。もう一つは、1つ目のスクリプトを定期的に実行させるためのスクリプト。

まずは、LINE側から。

LINE bot

Messenger APIの準備は省略する。

まずは、botを登録したアカウントのUserIdを取得する。公式のドキュメントからbotが登録されると、そのIdが送られてくることがわかる。


まずは、Messenger APIの雛形を作っておく。もちろん必要なgemをGemfileに書いておく。

このUserIdをデータベースに保存する。

Messenger APIはSSLにしか対応していないので、これをherokuなどに上げて、URLをLINEのWebhook URLに登録する。herokuの場合URLは、

https://<プロジェクト名>.herokuapp.com:443/callback

のようになる。末尾の/callbackがさっきのpost ‘/callback’ doにあたる(一致していれば何でも良い)。

後は、Channel Secretとアクセストークン(ロングターム)をメモして、herokuの環境変数に登録する。別にENV[‘~’]を使わずに直書きしても動作に影響はないが、一応セキュリティを考慮しておく。

正常に動作していれば、LINEを友達に追加したときに、「登録しました」と帰ってくる。コンソールからデータベースの中を見れば、UserIdが追加されているのがわかる。

長くなったので、今回はここまで。次回、外部から上のスクリプトを叩くスクリプトを載せます。

参考

・botの雛形はこちらから

・sinatraあまり触ってなくて。ここがとても参考になった

コメントを残す

メールアドレスが公開されることはありません。