Erstellen Sie einen Zeilen-Chatbot, um den Papagei zurückzugeben. Es gibt viele andere Artikel, die hilfreich sein können, aber dieses Mal werde ich schreiben, einschließlich derjenigen, über die ich gestolpert bin.
window7 64bit python 3.6.4 Editor Atom (alles ist in Ordnung) Bibliothek: heroku Flask line-bot-sdk
Einfach ausgedrückt scheint Heroku in der Lage zu sein, Ihre eigene Webanwendung problemlos zu veröffentlichen. Es ist notwendig, einen Linienbot zu erstellen, also installieren wir ihn. Erstellen Sie ein Konto und installieren Sie Heroku. https://jp.heroku.com/
Nach der Installation und Kontoerstellung an der Eingabeaufforderung
heroku login
Wenn Du eintrittst Ein solcher Bildschirm wird im Browser angezeigt. Drücken Sie daher auf "Anmelden". Dann Sie können bestätigen, dass Sie sich erfolgreich angemeldet haben.
Alles was du brauchst runtime.txt requirements.txt Procfile main.py Ich werde vier machen. Schauen wir uns jeden an ・ Inhalt von runtime.txt
python-3.6.4
・ Inhalt der Anforderungen.txt
Flask==1.1.2
line-bot-sdk==1.17.0
Dies erfolgt durch Eingabe von pip freeze an der Eingabeaufforderung ・ Inhalt von Procfile (ohne Erweiterung)
web: python main.py
・main.py
from flask import Flask, request, abort
import os
from linebot import (
LineBotApi, WebhookHandler
)
from linebot.exceptions import (
InvalidSignatureError
)
from linebot.models import (
MessageEvent, TextMessage, TextSendMessage,
)
app = Flask(__name__)
#Umgebungsvariablen abrufen
YOUR_CHANNEL_ACCESS_TOKEN = os.environ["YOUR_CHANNEL_ACCESS_TOKEN"]
YOUR_CHANNEL_SECRET = os.environ["YOUR_CHANNEL_SECRET"]
line_bot_api = LineBotApi(YOUR_CHANNEL_ACCESS_TOKEN)
handler = WebhookHandler(YOUR_CHANNEL_SECRET)
@app.route("/")
def hello_world():
return "hello world!"
@app.route("/callback", methods=['POST'])
def callback():
# get X-Line-Signature header value
signature = request.headers['X-Line-Signature']
# get request body as text
body = request.get_data(as_text=True)
app.logger.info("Request body: " + body)
# handle webhook body
try:
handler.handle(body, signature)
except InvalidSignatureError:
abort(400)
return 'OK'
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=event.message.text))
if __name__ == "__main__":
# app.run()
port = int(os.getenv("PORT"))
app.run(host="0.0.0.0", port=port)
main.py kann unverändert verwendet werden (Zitat) Kombinieren Sie diese Dateien in einem Ordner.
An der Eingabeaufforderung
heroku create *******
heroku config:set YOUR_CHANNEL_ACCESS_TOKEN="**********" --app **********
heroku config:set YOUR_CHANNEL_SECRET="**********" --app **********
Geben Sie den Teil von ******* entsprechend Ihrer Umgebung ein. Geben Sie den App-Namen in das erste "heroku create ***" ein. YOUR_CHANNEL_ACCESS_TOKEN und YOUR_CHANNEL_SECRET werden in den "Grundeinstellungen des Kanals" und "Messaging-API-Einstellungen" der LINE-Entwickler beschrieben. Geben Sie danach den App-Namen in "--app ****" ein.
An der Eingabeaufforderung
git init
git add .
git commit -m "test commit"
git push heroku master
In Ordnung. Schließlich
heroku open
Wenn Du eintrittst ...
Wenn es im Browser angezeigt werden kann, ist es erfolgreich.
Danach können Sie die Funktion des Papageien-Rückgabe-Bots in der Linien-App überprüfen.
Es gab an erster Stelle viele Tippfehler. .. Die Behebung des Fehlers hat lange gedauert, da die Datei "Procfile" "Procfile.text" war. .. Ich bemerke keinen überraschend einfachen Fehler. Wenn Sie nicht wissen, wo der Fehler liegt,
heroku log
Sie können die Fehlerursache durch Eingabe ermitteln.
cheer up!!
Recommended Posts