Cette fois, je vais créer un bot de retour en utilisant Python et heroku. Cet article s'adresse aux personnes qui ont un bon environnement pour python3 et homebrew. Si vous n'avez pas encore d'environnement https://ai-inter1.com/python-install/ https://qiita.com/balius_1064/items/ac7dff5ef10eaf69996f Veuillez vous référer à l'article etc.
Tout d'abord, connectez-vous à LINE Developers avec votre compte LINE.
Lorsque vous vous connectez, l'écran d'enregistrement du compte Développeurs s'affiche. --Nom du développeur
Lorsque l'enregistrement du compte est terminé
Une page comme celle-ci apparaîtra, cliquez sur Créer un nouveau fournisseur. Lorsque vous entrez le nom du fournisseur
S'affiche, sélectionnez l'API de messagerie. Lorsque cet écran s'affiche, --Nom du canal --Description du canal
pip install flask
pip install line-bot-sdk
Procédez comme suit pour line-bot-sdk et flask /) Est installé.
mkdir line-bot
cd line-bot
Ensuite, ouvrez un terminal, créez un répertoire pour linebot et accédez à ce répertoire.
Créer un fichier de configuration
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 ・ ・ ・ La version Python est décrite --requirements.txt ・ ・ ・ Décrivez la bibliothèque à installer --Procfile ・ ・ ・ Décrit comment exécuter le programme
Une fois que vous avez configuré jusqu'à présent, il est temps de créer un programme python.
main.py
#Importer la bibliothèque
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
#Framework d'application Web léger: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)
Créez main.py comme ceci.
#LINE Acces Token
LINE_CHANNEL_ACCESS_TOKEN = "LINE_CHANNEL_ACCESS_TOKEN"
#LINE Channel Secret
LINE_CHANNEL_SECRET = "LINE_CHANNEL_SECRET"
Pour la partie Jeton d'accès LINE et Secret de canal LINE, accédez à la page de configuration du canal de bot LINE que vous avez créée en premier, vérifiez la vôtre et copiez et collez.
Tout d'abord, veuillez vous inscrire sur Heroku. (C'était dur pour moi qui ne suis pas bon en anglais) Une fois l'enregistrement terminé, cliquez sur créer une nouvelle application pour créer l'application. Le nom de l'application que vous saisissez à ce stade ne doit pas être partagé avec d'autres personnes, alors réfléchissez bien. Après avoir créé l'application, entrez l'URL écrite dans Domains of Setting with / callback dans le paramètre webhook de l'API de messagerie LINE.
Puis au terminal
brew install heroku
Veuillez exécuter le. Ensuite, configurez-le pour pousser vers heroku.
heroku login
Et appuyez sur la touche Entrée pour lancer le navigateur. Veuillez saisir l'adresse e-mail et le mot de passe que vous avez enregistrés précédemment pour vous connecter.
Logged in as [Adresse e-mail enregistrée]
S'affiche, c'est réussi.
git init
heroku git:remote -a (nom de l'application)
git add .
git commit -m "first commit"
git push heroku master
L'exécution des commandes ci-dessus dans l'ordre terminera le déploiement. À l'activité d'Heroku Si la construction a réussi s'affiche, cela signifie qu'il a réussi.
heroku config:set LINE_CHANNEL_ACCESS_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXX
heroku config:set LINE_CHANNEL_SECRET=XXXXXXXXXXXXXXXXXXXXX
Ensuite, exécutez les deux ci-dessus dans le terminal pour définir les variables d'environnement. C'est le même que le jeton d'accès à la ligne et le secret de canal de ligne entrés précédemment dans main.py, donc copiez-le et exécutez-le.
Envoyons les caractères appropriés au bot que vous avez ajouté plus tôt avec votre application LINE! Si vous obtenez le même contenu que les personnages que vous avez envoyés, vous réussissez.
Si vous pouvez le lire mais que cela ne fonctionne pas, accédez au terminal
heroku logs --tail
Si vous entrez, vous pouvez voir le journal en temps réel, veuillez donc rechercher la cause là-bas. (Souvent, l'API de messagerie LINE a désactivé les webhooks)
Cette fois, j'ai créé un LINEbot qui vous rendra service, mais vous pouvez améliorer ce code source et créer votre propre LINEbot! Aussi, Rich Menu et LIFF App Il est également possible de créer un bot LINE plus luxueux en ajoutant liff / develop-liff-apps /). Veuillez essayer ça aussi!
https://developers.line.biz/ja/docs/messaging-api/ https://github.com/line/line-bot-sdk-python
Recommended Posts