Dieses Mal werde ich mit Python und Heroku einen Return-Bot erstellen. Dieser Artikel richtet sich an Personen, die eine gute Umgebung für Python3 und Homebrew haben. Wenn Sie noch keine Umgebung haben https://ai-inter1.com/python-install/ https://qiita.com/balius_1064/items/ac7dff5ef10eaf69996f Bitte beachten Sie den Artikel etc.
Melden Sie sich zunächst mit Ihrem LINE-Konto bei LINE Developers an.
Wenn Sie sich anmelden, wird der Registrierungsbildschirm für das Entwicklerkonto angezeigt.
Wenn die Kontoregistrierung abgeschlossen ist
Eine Seite wie diese wird angezeigt. Klicken Sie auf Neuen Anbieter erstellen. Wenn Sie den Anbieternamen eingeben
Wird angezeigt, wählen Sie die Messaging-API aus. Wenn dieser Bildschirm angezeigt wird, --Kanal Name --Kanal Beschreibung
pip install flask
pip install line-bot-sdk
Führen Sie die beiden oben genannten Schritte mit line-bot-sdk und flask aus. /) Ist installiert.
mkdir line-bot
cd line-bot
Öffnen Sie dann ein Terminal, erstellen Sie ein Verzeichnis für den Linebot und wechseln Sie in dieses Verzeichnis.
Erstellen Sie eine Konfigurationsdatei
runtime.txt
python-3.7.3
requirements.txt
Flask==1.1.1
line-bot-sdk==1.8.0
Procfile
web: python main.py
--runtime.txt ・ ・ ・ Die Python-Version wird beschrieben --requirements.txt ・ ・ ・ Beschreiben Sie die zu installierende Bibliothek --Procfile ・ ・ ・ Beschreibt die Ausführung des Programms
Sobald Sie sich eingerichtet haben, ist es Zeit, ein Python-Programm zu erstellen.
main.py
#Bibliothek importieren
from flask import Flask, request, abort
from linebot import (
LineBotApi, WebhookHandler
)
from linebot.exceptions import (
InvalidSignatureError
)
from linebot.models import (
FollowEvent, MessageEvent, TextMessage, TextSendMessage, ImageMessage, ImageSendMessage, TemplateSendMessage, ButtonsTemplate, PostbackTemplateAction, MessageTemplateAction, URITemplateAction
)
import os
#Leichtes Webanwendungsframework:Flask
app = Flask(__name__)
#LINE Acces Token
LINE_CHANNEL_ACCESS_TOKEN = "LINE_CHANNEL_ACCESS_TOKEN"
#LINE Channel Secret
LINE_CHANNEL_SECRET = "LINE_CHANNEL_SECRET"
line_bot_api = LineBotApi(LINE_CHANNEL_ACCESS_TOKEN)
handler = WebhookHandler(LINE_CHANNEL_SECRET)
@app.route("/callback", methods=['POST'])
def callback():
signature = request.headers['X-Line-Signature']
body = request.get_data(as_text=True)
app.logger.info("Request body: " + 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__":
port = os.getenv("PORT")
app.run(host="0.0.0.0", port=port)
Erstellen Sie main.py wie folgt.
#LINE Acces Token
LINE_CHANNEL_ACCESS_TOKEN = "LINE_CHANNEL_ACCESS_TOKEN"
#LINE Channel Secret
LINE_CHANNEL_SECRET = "LINE_CHANNEL_SECRET"
Wechseln Sie für den Teil LINE-Zugriffstoken und LINE-Kanalgeheimnis zur Einstellungsseite für den LINE-Bot-Kanal, die Sie zuerst erstellt haben, überprüfen Sie Ihre eigenen und kopieren Sie sie und fügen Sie sie ein.
Bitte registrieren Sie sich zunächst unter Heroku. (Es war schwer für mich, der nicht gut Englisch kann) Klicken Sie nach Abschluss der Registrierung auf Neue App erstellen, um die App zu erstellen. Der App-Name, den Sie zu diesem Zeitpunkt eingeben, sollte nicht mit anderen Personen geteilt werden. Überlegen Sie daher bitte genau. Geben Sie nach dem Erstellen der App die in Domains of Setting with / callback geschriebene URL in die Webhook-Einstellung der LINE Messaging-API ein.
Dann am Terminal
brew install heroku
Bitte führen Sie die. Als nächstes einrichten, um zu Heroku zu schieben.
heroku login
Drücken Sie die Eingabetaste, um den Browser zu starten. Bitte geben Sie die E-Mail-Adresse und das Passwort ein, die Sie zuvor registriert haben, um sich anzumelden.
Logged in as [registrierte Emailadresse]
Wird angezeigt, ist es erfolgreich.
git init
heroku git:remote -a (App Name)
git add .
git commit -m "first commit"
git push heroku master
Wenn Sie die obigen Befehle der Reihe nach ausführen, wird die Bereitstellung abgeschlossen. Bei Herokus Aktivität Wenn Build erfolgreich angezeigt wird, ist dies erfolgreich.
heroku config:set LINE_CHANNEL_ACCESS_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXX
heroku config:set LINE_CHANNEL_SECRET=XXXXXXXXXXXXXXXXXXXXX
Führen Sie als Nächstes die beiden oben genannten Schritte im Terminal aus, um die Umgebungsvariablen festzulegen. Dies ist dasselbe wie das zuvor in main.py eingegebene LINE-Zugriffstoken und LINE-Kanalgeheimnis. Kopieren Sie es also und führen Sie es aus.
Senden wir entsprechende Zeichen an den Bot, den Sie zuvor mit Ihrer LINE-App hinzugefügt haben! Wenn Sie den gleichen Inhalt wie die von Ihnen gesendeten Zeichen erhalten, sind Sie erfolgreich.
Wenn Sie es lesen können, es aber nicht funktioniert, gehen Sie zum Terminal
heroku logs --tail
Wenn Sie eingeben, können Sie das Protokoll in Echtzeit sehen. Bitte untersuchen Sie dort die Ursache. (Oft hat die LINE-Messaging-API Webhooks deaktiviert.)
Dieses Mal habe ich einen LINEbot erstellt, der Ihnen etwas zurückgibt, aber Sie können diesen Quellcode verbessern und Ihren eigenen LINEbot erstellen! Außerdem Rich Menu und LIFF App Es ist auch möglich, einen luxuriöseren LINE-Bot zu erstellen, indem Sie liff / development-liff-apps /) hinzufügen. Bitte versuchen Sie das auch!
https://developers.line.biz/ja/docs/messaging-api/ https://github.com/line/line-bot-sdk-python
Recommended Posts