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.
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
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
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.
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.
Legen Sie / api
der URL (oder der URL der Ausführungsumgebung selbst) fest, die zuvor von ngrok ausgegeben wurde.
Es ist so. Beachten Sie, dass der Dienst noch nicht gestartet wurde. Selbst wenn Sie auf Überprüfen klicken, schlägt er fehl.
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