AWS Cloud9で初めてLineBotを作ってみた話

LineBotの仕組みを知りたかった為、
検索したら、作り方の記事がたくさん見つかりました(特にQitta上)。
その中の1つ(オウム返し)を参考に作ってみました。
デプロイ時 No web processes runningのerrorが発生、それに対する解決方法をまとめました。

作成環境としてAWS Cloud9、python、LINE Developers、Heroku
手順が下記の通りです。
1.LINE DevelopersでLineMessagingAPIのチャネルを作成する。

2.Herokuのアカウントを作成する
  →Heroku CLIをインストールする(heroku --versionのコマンドで確認)

3.デプロイするファイルを作成する。下記4つ。画像1

main.py   →プログラム本体
procfile   →実行方法
requirements.txt →使用モジュール
runtime.txt   →pythonのバージョン

4.Herokuにデプロイする
  ここで問題発生!!!
  プロジェクトをHerokuへデプロイする時下記のようなerrorが表示された。

画像2

Herokuのホームページよりerror発生時に下記のような解決方法を試した。

Heroku ps:scale web=1

結局うまく行かず、↓のような警告が得られた。

画像3


これがHerokuに対してdynosがないことを意味しており、その為、Herokuのプロジェクトページで “Overview”の項目をチェックしてみた。
このアプリではプロセスタイプがまだないっていうことを確認できた。

画像4

次に、Cloud9でのプロジェクトのフォルダにProcfileに問題がないかを確認したところ、
まさかの。。ファイル名に問題があったとは(T^T)。。。
procfile   → Procfile
pを大文字のPに変えただけで解決した!!

もう一回Herokuの“Overview”の項目をチェックするとfree dynosを使用していると表示された。

画像5

Herokuがプロジェクトを認めたとのことを意味している。


これでやっと
5.LineDevelopersでwebhookを設定する
へ辿り着いた。

結果的にオウム返しを作成できたが、初心者が犯しやすいミスですごく時間を無駄にしてしまいました。でもいい経験だと思いました。今後もオウム返しをベースにいろいろ機能を増やして行こうと思います。

プログラミングって奥深いですね。

いいなと思ったら応援しよう!