Créez un chatbot en ligne pour renvoyer le perroquet. Il existe de nombreux autres articles qui peuvent être utiles, mais cette fois, j'écrirai en incluant ceux sur lesquels je suis tombé par hasard.
window7 64bit python 3.6.4 éditeur Atom (tout va bien) Bibliothèque: heroku Flask line-bot-sdk
Pour faire simple, Heroku semble être en mesure de publier facilement votre propre application Web. Il est nécessaire de créer un robot de ligne, alors installons-le. Créez un compte et installez Heroku. https://jp.heroku.com/
Après l'installation et la création du compte, à l'invite de commande
heroku login
Quand vous entrez Un écran comme celui-ci sera affiché sur le navigateur, alors appuyez sur "Connexion". Puis Vous pouvez confirmer que vous vous êtes connecté avec succès.
Tout ce dont tu as besoin runtime.txt requirements.txt Procfile main.py J'en ferai quatre. Regardons chacun d'eux ・ Contenu de runtime.txt
python-3.6.4
・ Contenu de requirements.txt
Flask==1.1.2
line-bot-sdk==1.17.0
Cela se fait en tapant pip freeze à l'invite de commande ・ Contenu de Procfile (sans extension)
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__)
#Obtenir des variables d'environnement
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)
Vous pouvez utiliser main.py tel quel sans le modifier (citation) Combinez ces fichiers dans un seul dossier.
À l'invite de commande
heroku create *******
heroku config:set YOUR_CHANNEL_ACCESS_TOKEN="**********" --app **********
heroku config:set YOUR_CHANNEL_SECRET="**********" --app **********
Entrez la partie de ******* en fonction de votre environnement. Entrez le nom de l'application dans le premier "heroku create ***". YOUR_CHANNEL_ACCESS_TOKEN et YOUR_CHANNEL_SECRET sont décrits dans "Paramètres de base de la chaîne" et "Paramètres de l'API de messagerie" des développeurs LINE. Après cela, entrez le nom de l'application dans "--app ****".
À l'invite de commande
git init
git add .
git commit -m "test commit"
git push heroku master
En ordre. finalement
heroku open
Quand vous entrez ...
S'il peut être affiché sur le navigateur, il réussit.
Après cela, vous pouvez vérifier le fonctionnement du robot de retour de perroquet dans l'application en ligne.
Il y a eu beaucoup de fautes de frappe en premier lieu. .. La résolution de l'erreur a pris beaucoup de temps car le fichier «Procfile» était «Procfile.text». .. Je ne remarque pas une erreur étonnamment simple. Si vous ne savez pas où se trouve l'erreur,
heroku log
Vous pouvez trouver la cause de l'erreur en tapant.
cheer up!!
Recommended Posts