[PYTHON] Papagei gibt LINE BOT-Erstellung zurück

Einführung

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.

Ausführungsumgebung

window7 64bit python 3.6.4 Editor Atom (alles ist in Ordnung) Bibliothek: heroku Flask line-bot-sdk

Heroku vorbereiten

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 her.JPG Ein solcher Bildschirm wird im Browser angezeigt. Drücken Sie daher auf "Anmelden". Dann dd.JPG Sie können bestätigen, dass Sie sich erfolgreich angemeldet haben.

Dateierstellung

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.

Anwendung erstellen und konfigurieren

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.

Stellen Sie Heroku bereit

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 ... gg.JPG

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. IMG_3328.jpg

Wo ich gestolpert bin

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

Papagei gibt LINE BOT-Erstellung zurück
[Python] [LINE Bot] Erstellen Sie einen LINE Bot mit Papageienrückgabe
Lassen Sie einen Papagei LINE Bot mit AWS Cloud9 zurückgeben
[LINE Messaging API] Erstellen Sie einen Papageienrückgabe-BOT mit Python
Checkpoint, wenn der LINE Parrot Return Bot von Heroku abhängig ist
Discord Bot Memorandum ① Bot Erstellung
Machen Sie einen LINE BOT
LINE BOT, wenn ~ gestolpert ist
[Python] Verwenden der Linien-API [1. Erstellung des Beauty-Bots]
Machen Sie einen LINE BOT (Chat)
Bis Django etwas mit einem Linienbot zurückgibt!
Sicherheitsbestätigung LINE bot [Erklärung]
[Python] Erstelle deinen eigenen LINE-Bot
[LINE Bot] Ich bin ein Ranger! Teil 2
Erstellen Sie mit Django einen LINE-Bot