Erstellen Sie mit Minette für Python einen LINE BOT

Apropos BOT in Japan, es ist wahrscheinlich LINE BOT. Hier werden wir Ihnen vorstellen, wie Sie es mit Minette for Python, einem BOT-Anwendungsframework, erstellen.

Dinge, die im Voraus vorbereitet werden müssen

Installation abhängiger Bibliotheken

Installieren Sie den Pytz und die Anforderungen, die erforderlich sind, damit Minette funktioniert, sowie die Webanwendungs-Framework-Flasche und das LINE SDK, die zum Starten des LINE-Endpunkts erforderlich sind. Wenn Sie es bereits installiert haben, können Sie diesen Schritt überspringen.

$ pip install pytz
$ pip install requests
$ pip install Flask
$ pip install line-bot-sdk

Minette Installation

Wie der Titel schon sagt, werden wir das BOT-Framework Minette verwenden. Weitere Informationen zu Minette finden Sie in den folgenden Artikeln.

Die Installation ist mit einem einzigen "pip" -Befehl in Ordnung.

$ pip install minette

Lassen Sie uns die Operation mit Umu-return BOT überprüfen.

$ minette
user> hello
minette> You said: hello

Veröffentlichung im Internet

Da der Eingang der LINE Messaging-API darauf ausgelegt ist, den vom Entwickler angegebenen Webhook zu treffen und eine Nachricht weiterzuleiten, muss der Computer, auf dem Minette ausgeführt wird, über das Internet zugänglich gemacht werden.

Ich denke, es gibt verschiedene Methoden, aber hier werde ich das Verfahren mit ngrok erklären, was sich einfach und leicht anfühlt.

ngrok Installation

Grob gesagt ist ngrok ein Routing- und Tunneling-Tool (Erkennung), das verschiedene Protokolle unterstützt. Weitere Informationen finden Sie unter ngrok offiziell. Laden Sie die Binärdatei entsprechend der Plattform von der Download-Seite herunter und entpacken Sie sie.

Wenn Sie es entpacken, wird eine ausführbare Datei mit dem Namen "ngrok" angezeigt. Klicken Sie also wie folgt auf diese. Wenn Sie es normal ausführen, können Sie danach nicht mehr arbeiten, daher versuche ich, es im Hintergrund auszuführen.

$ ./ngrok http 5050 -log=stdout > ngrok.log &

Überprüfen Sie die Internet-URL sowie den Vorgang.

$ curl http://localhost:4040/api/tunnels

{"tunnels":[{"name":"command_line","uri":"/api/tunnels/command_line","public_url":"https://abcd1234.ngrok.io","proto":"https","config":{"addr":"localhost:5050","inspect":true},"metrics":{"conns":{"count":0,"gauge":0,"rate1":0,"rate5":0,"rate15":0,"p50":0,"p90":0,"p95":0,"p99":0},"http":{"count":0,"rate1":0,"rate5":0,"rate15":0,"p50":0,"p90":0,"p95":0,"p99":0}}},{"name":"command_line (http)","uri":"/api/tunnels/command_line+%28http%29","public_url":"http://abcd1234.ngrok.io","proto":"http","config":{"addr":"localhost:5050","inspect":true},"metrics":{"conns":{"count":0,"gauge":0,"rate1":0,"rate5":0,"rate15":0,"p50":0,"p90":0,"p95":0,"p99":0},"http":{"count":0,"rate1":0,"rate5":0,"rate15":0,"p50":0,"p90":0,"p95":0,"p99":0}}}],"uri":"/api/tunnels"} 

Die Informationen wurden in einer Reihe zurückgegeben, aber da "https: // abcd1234.ngrok.io" im Element "public_url" angezeigt wird, ist dies die URL für den Zugriff auf den von ngrok ausgegebenen Raspberry Pi Notieren Sie sich dies, indem Sie es kopieren.

Stellen Sie die Webhook-URL der LINE-Entwickler ein

Legen Sie / api der URL (oder der URL der Ausführungsumgebung selbst) fest, die zuvor von ngrok ausgegeben wurde.

Webhook URLの設定

Es ist so. Beachten Sie, dass der Dienst noch nicht gestartet wurde. Selbst wenn Sie auf Überprüfen klicken, schlägt er fehl.

Wird als Endpunkt für die LINE Messaging-API gestartet

Mit dem Befehl minette können Sie zusätzlich zur generischen Web-API eine Beispielimplementierung des LINE Messaging API-Endpunkts starten.

Legen Sie zunächst die authentifizierungsbezogenen Informationen fest, die für die Verwendung der LINE Messaging-API in den Umgebungsvariablen erforderlich sind.

$ export LINE_CHANNEL_SECRET="Dein Kanalgeheimnis"
$ export LINE_ACCESS_TOKEN="Ihr Zugriffstoken"

Wenn Sie über den API-Schlüssel der Docomo-Chat-API verfügen, können Sie ihn wie folgt festlegen, um ihn zu einem Chat-BOT zu machen. Wenn dieser Schritt weggelassen wird, wird er wie die Funktionsprüfung von Minette als Rückgabe-BOT ausgeführt.

$ export CHAT_API_KEY="Ihr API-Schlüssel"
$ export DEFAULT_DIALOG_SERVICE="minette.dialog.chat_dialog.ChatDialogService"

Nachdem Sie fertig sind, starten wir den Endpunkt. Fügen Sie die Option -l hinzu.

$ minette -l

Lassen Sie uns die Operation überprüfen.

Wenn es so funktioniert, ist es ein Erfolg. Danke für Ihre Unterstützung.

Recommended Posts

Erstellen Sie mit Minette für Python einen LINE BOT
[Python] [LINE Bot] Erstellen Sie einen LINE Bot mit Papageienrückgabe
Erstellen Sie einen Twitter-BOT mit dem GoogleAppEngine SDK für Python
[LINE Messaging API] Erstellen Sie einen BOT, der eine Verbindung zu jemandem mit Python herstellt
Schritte zum Erstellen eines Twitter-Bots mit Python
Erstellen Sie ein Verzeichnis mit Python
Ich habe versucht, LINE BOT mit Python und Heroku zu machen
[Zum Spielen] Versuche Yuma zu einem LINE Bot zu machen (Python)
Erstellen Sie in Docker eine Ebene für AWS Lambda Python
[Super einfach] Machen wir einen LINE BOT mit Python.
[LINE Messaging API] Erstellen Sie einen Papageienrückgabe-BOT mit Python
Erstellen Sie eine virtuelle Umgebung mit Python!
Erstellen Sie mit Django einen LINE-Bot
Erstellen Sie eine App für maschinelles Lernen mit ABEJA Platform + LINE Bot
Erstellen Sie einen Mastodon-Bot mit einer Funktion, die automatisch mit Python antwortet
Erstellen Sie ein untergeordnetes Konto für die Verbindung mit Stripe in Python
[Python] Erstellen Sie mit Django einen Bildschirm für den HTTP-Statuscode 403/404/500
Einführung in das BOT-Framework Minette für Python
Erstellen Sie mit Class einen Python-Funktionsdekorator
Erstellen wir eine virtuelle Umgebung für Python
[Python] Erstellen Sie mit Anaconda eine virtuelle Umgebung
Erstellen wir mit Python eine kostenlose Gruppe
Erstellen Sie mit Python 3.4 einen Worthäufigkeitszähler
Machen wir einen Twitter-Bot mit Python!
Erstellen Sie eine Windows Python-Ausführungsumgebung mit VScode + Remote WSL
Erstellen Sie eine gestreifte Illusion mit Gammakorrektur für Python3 und openCV3
Erstellen Sie mit Python + Qt (PySide) einen Farbwähler für das Farbrad.
Erstellen Sie ein USB-Boot-Ubuntu mit einer Python-Umgebung für die Datenanalyse
Ich habe einen Stempelersatzbot mit Linie gemacht
Erstellen Sie mit tkinter [Python] einen Rahmen mit transparentem Hintergrund.
Senden Sie eine Nachricht mit Python an LINE (LINE Notify)
Die Geschichte, wie man mit Python einen 100-Yen-Frühstücks-Bot für die Universität macht
Machen Sie Twitter Trend Bot mit Heroku + Python
Python-Anfänger haben beschlossen, einen LINE-Bot mit Flask zu erstellen (Flask-Kommentar)
Erstellen Sie ein Python-Modul
Erstellen Sie eine automatische Klassenverwaltungs-App für Tenho Private Room mit LINE Bot und Python Part 1
Vorgehensweise zum Erstellen eines mit Python erstellten LineBot
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Erstellen Sie eine Seite, die unbegrenzt mit Python geladen wird
[Hinweis] Erstellen Sie mit Python eine einzeilige Zeitzonenklasse
Sie können auch mit Python problemlos eine GUI erstellen
Erstellen Sie mit Sublime Text3 eine Python3-Build-Umgebung
LINE BOT mit Python + AWS Lambda + API Gateway
Erstellen Sie mit Django ein Dashboard für Netzwerkgeräte!
Erstellen Sie eine Farbleiste mit Python + Qt (PySide)
Erstellen Sie mit LINE Bot und Python Part 2 eine automatische Klassenverwaltungs-App für Tenho Private Room
Ich habe einen LINE Bot mit Serverless Framework erstellt!
Erstellen Sie eine automatische Klassenverwaltungs-App für Tenho Private Room mit LINE Bot und Python Part ③
Befehle zum Erstellen einer Python3-Umgebung mit virtualenv
Erstellen Sie mit Python einen Entscheidungsbaum von 0 (1. Übersicht)
Erstellen Sie eine neue Seite im Zusammenfluss mit Python
Erstellen Sie mit Python + Qt (PySide) ein farbspezifisches Widget.
Erstellen Sie mit Python eine Datei im Photoshop-Format (.psd)
Erstellen Sie eine Python-Umgebung
Erstellen Sie mit Amazon Lex einen LINE WORKS-Bot
Erstellen Sie einfach eine Python-Konsolenanwendung mit Click
Lesen Sie mit Python Zeile für Zeile aus der Datei
Mattermost Bot mit Python gemacht (+ Flask)
Erstellen Sie einen Slack Bot
[AWS] Ich habe BOT mit LINE WORKS daran erinnert