C'est il y a longtemps, mais du coup j'ai décidé de créer un LINE Bot, Je viens de créer un LINE Bot qui renvoie des perroquets.
En gros, vous devriez pouvoir vous inscrire sans aucun problème selon la page officielle ci-dessous [Pour utiliser l'API de messagerie | LINE Developers](https://developers.line.biz/ja/docs/messaging-api/getting-started/#%E3%83%81%E3%83%A3%E3 % 83% 8D% E3% 83% AB% E3% 81% AE% E4% BD% 9C% E6% 88% 90)
![Capture d'écran 2020-05-12 20.48.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130414/83b70611-c51f-d7f0-ca71 -6389eac33f13.png)
Si le canal peut être enregistré en toute sécurité, il sera dans un état comme ↓
Vérifiez les deux suivants car vous en aurez besoin plus tard ・ Channel secret ← Situé dans l'onglet Basic Setting ・ Jeton d'accès au canal (longue durée de vie) ← Situé dans l'onglet API de messagerie
2.Heroku
En gros, vous devriez pouvoir vous inscrire sans aucun problème selon la page officielle ci-dessous Heroku Dev Center
![Capture d'écran 2020-05-12 21.14.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130414/add1067e-c321-8ba2-a348 -3dcf648916be.png)
Téléchargez et installez Heroku CLI à partir de la page suivante The Heroku CLI | Heroku Dev Center
![Capture d'écran 2020-05-12 21.21.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130414/a3ee0f63-8bb9-a06e-418e -27c04e72a1b5.png)
Lorsque l'installation est terminée avec succès, vous devriez pouvoir utiliser la commande heroku dans le terminal.
Créez un fichier avec la configuration suivante
main.py La partie principale du programme
main.py
# -*- coding: utf-8 -*-
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import os
import sys
from argparse import ArgumentParser
from flask import Flask, request, abort
from linebot import (
LineBotApi, WebhookHandler
)
from linebot.exceptions import (
InvalidSignatureError
)
from linebot.models import (
MessageEvent, TextMessage, TextSendMessage,
)
app = Flask(__name__)
# get channel_secret and channel_access_token from your environment variable
channel_secret = os.getenv('LINE_CHANNEL_SECRET', None)
channel_access_token = os.getenv('LINE_CHANNEL_ACCESS_TOKEN', None)
if channel_secret is None:
print('Specify LINE_CHANNEL_SECRET as environment variable.')
sys.exit(1)
if channel_access_token is None:
print('Specify LINE_CHANNEL_ACCESS_TOKEN as environment variable.')
sys.exit(1)
line_bot_api = LineBotApi(channel_access_token)
handler = WebhookHandler(channel_secret)
@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 message_text(event):
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=event.message.text)
)
if __name__ == "__main__":
port = int(os.getenv("PORT", 5000))
app.run(host="0.0.0.0", port=port)
Procfile Comment exécuter le programme
web: python main.py
requirements.txt Module à utiliser
Flask==0.12.2
line-bot-sdk==1.8.0
runtime.txt Version python répertoriée
python-3.6.6
Exécutez la commande suivante à partir d'un terminal, etc.
$ cd line-bot
$ git init
$ git config user.name "Nom"
$ git config user.adresse e-mail
$ git add .
$ git commit -m "commentaire"
$ cd line-bot: Déplacer vers le répertoire racine $ git init: initialiser le dépôt git $ git config user.name "nom": config config $ git config user.email Adresse e-mail: paramètres de configuration $ git add .: Ajouter $ git commit -m "comment": commit
Exécutez la commande suivante pour vous connecter à Heroku
$ heroku login
Lorsque vous l'exécutez, il sera dans l'état suivant, donc si vous appuyez sur une touche, l'écran de connexion sera affiché sur le navigateur, donc Cliquez sur le bouton Connexion pour vous connecter
Exécutez la commande suivante pour créer et déployer une application sur Heroku
$heroku créer le nom de l'application
$ heroku config:set LINE_CHANNEL_SECRET="Channel Secret" --nom de l'application de l'application
$ heroku config:set LINE_CHANNEL_ACCESS_TOKEN="Jeton d'accès" --nom de l'application de l'application
$ git push heroku master
Le nom de l'application est arbitraire Définissez le "Channel Secret" et le "Access Token" qui ont été confirmés lors de la création du canal avec LINE Developers.
Le déploiement peut échouer si le pack de build n'est pas défini. Dans ce cas, exécutez la commande suivante pour définir le pack de construction
$ heroku buildpacks:set heroku/python
Définissez les paramètres du webhook pour le canal créé à partir de la console Line Developers Utilisez le webhook et spécifiez l'URL suivante comme URL du webhook
https://Nom de l'application.herokuapp.com/callback
Lorsque le travail jusqu'à ce point est terminé, le bot qui renvoie le perroquet est terminé! J'étais un débutant qui n'avait jamais utilisé Heroku, Git ou Messaging API, mais c'était étonnamment facile à créer. J'aimerais pouvoir faire quelque chose sur cette base à l'avenir
Recommended Posts