whoami

学んだことや考えたことのアウトプットをします。AtCoder@japanesekeigo Twitter@keigopiano

LINE messaging API + Heroku + Python で発言をそのまま返してくるだけのボットを作成(備忘)

背景

LINE Developers - # Herokuでサンプルボットを作成するに従っても、一部できなかったので備忘も兼ねて記載。(javaだとできた)

始める前に

LINE Developersのサイトを参考に

・ボット用のチャネルを作成する。

・Herokuアカウントを作成する。

HerokuでCreate New App

名前はなんでも良い

LINE Developers Console

Webhook URLを下記にする。

https://{Herokuで作ったアプリ名}.herokuapp.com/callback

Channel access token (long-lived)

Channel secret

を記録

Heroku

settings

Config VarsをReveal Config Vars

LINE_CHANNEL_ACCESS_TOKEN

LINE_CHANNEL_SECRET

を追記

deploy

Deployment methodをgithubにして、リポジトリと連携させる。

GitHub

サンプルボットのコピー

リポジトリに下記フォルダ以下のファイルをコピーする。ただし、app_with_handler.pyは不要

line-bot-sdk-python/examples/flask-echo at master · line/line-bot-sdk-python · GitHub

main関数をLINE Bot + Python + Heroku で「Error R10 (Boot timeout) 」エラーが出たときの解消方法に従って変更

ファイル追加

Procfileを作成し、

web: python app.py

と記載

Heroku

Manual DeployからDeploy Branchをクリック

これでできるはず。

他勉強したこと

Herokuはどうやってアプリの形式を判断する?

Heroku での Python および Django アプリのデプロイ | Heroku Dev Center

Procfileって?

Procfileはなんでweb属性なん?

Procfile | Heroku Dev Center