質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

1136閲覧

オウム返しのLINEbotがオウム返ししてくれません

yoquo

総合スコア5

LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/04/30 05:51

編集2020/05/01 06:39

前提・実現したいこと

ただいまLINEbotでオウム返しのbotを作っています。
現在やったこと
・LINEdevelopperでLINEbotを作成
・オウム返しのフレームワークがFlaskのpythonプログラムを用意
・herokuでサーブしてもらうために、Procfile、runtime.txt、requirement.txtファイルも用意してbuild-succeeded、deployまでできています。

git init heroku git:remote -a アプリ名 git add . git commit -m "***" git push herouk master

・herokuでConfig Varsを作成し、チャンネルシークレットとチャンネルアクセストークンも指定してあります。

Profile

1web:python main.py

runtime.txtファイルが

python-3.8.2

requirement.txtファイルが

Flask==1.1.2 line-bot-sdk==1.16.0

発生している問題・エラーメッセージ

発生している問題としては、
・LINEbotに問いかけても、オウム返ししてくれない。
・コマンドでheroku openをすると

An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command heroku logs --tail

該当のソースコード

python

1from flask import Flask,request,abort 2from linebot import LineBotApi,WebhookHandler 3from linebot.exceptions import InvalidSignatureError 4from linebot.models import MessageEvent,TextMessage,TextSendMessage 5import os 6 7app=Flask(__name__) 8#環境変数の取得 9YOUR_CHANNEL_ACCESS_TOKEN="アクセストークンを入力" 10YOUR_CHANNEL_SECRET="Channel Secretを入力" 11line_bot_api=LineBotApi(YOUR_CHANNEL_ACCESS_TOKEN) 12handler=WebhookHandler(YOUR_CHANNEL_SECRET) 13 14@app.route("/callback",methods=["POST"]) 15def callback(): 16 signature=request.headers["X-Line-Signature"] 17 18 body=request.get_data(as_text=True) 19 app.logger.info("Request body"+body) 20 21 try: 22 handler.handle(body,signature) 23 except InvalidSignatureError: 24 abort(400) 25 return "OK" 26 27@handler.add(MessageEvent,message=TextMessage) 28def handle_message(event): 29 line_bot_api.reply_message(event.reply_token,TextSendMessage(text=event.message.text)) 30 31if __name__=="__main__": 32 port=int(os.getenv("PORT",5000)) 33 app.run(host="0.0.0.0",port=port)

試したこと

試したこととして
・LINEbotのチャンネルシークレットとチャンネルアクセストークンが間違ってないかのチェック
・webhookのURLが間違えてないかチェック
→LINEbotのコンソールでWebhook設定を見ると「https://アプリ名.herokuapp.com/callback」となっていました。

ただ、pythonプログラムはこちらの記事からのコピペで正しいかどうか自分で読むことができていません。

どなたか、他に間違えていそうなところが分かる方がいましたら、指摘していただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2020/05/02 08:37

> An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command heroku logs --tail といわれているようですが、` heroku logs ` でどのようなメッセージが出てるのでしょうか?
yoquo

2020/05/03 12:12

返信ありがとうございます。このログを読みたくなくてコマンドを叩いたままで読むのをあきらめていました。 2020-05-03T09:07:29.611847+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=POST path="/callback" host=new-native.herokuapp.com request_id=6d164a0c-45cb-4c23-83f2-2d5cb77c6316 fwd="203.104.156.74" dyno= connect= service= status=503 bytes= protocol=https 2020-05-03T12:04:26.717262+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=new-native.herokuapp.com request_id=ad9aa84e-cb07-4f52-b2c8-8b1e700f00ca fwd="118.106.37.171" dyno= connect= service= status=503 bytes= protocol=https 2020-05-03T12:04:27.649351+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=new-native.herokuapp.com request_id=93a03b32-1235-4e8b-8031-1c283cba7972 fwd="118.106.37.171" dyno= connect= service= status=503 bytes= protocol=https ですね。 また自分で読んでみます。
yoquo

2020/05/03 12:34 編集

pushherokuした後はアプリケーションのプロセスを動かす必要がある?と書いてある記事があり heroku ps:scale web=1 としたところ、これにもエラー Scaling dynos... ! ! Couldn't find that process type (web). これも出てました。
yoquo

2020/05/03 12:46

叩くと Scaling dynos... ! ! Couldn't find that process type (web). となりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問