J'ai fait exactement la même chose avec mon compte d'essai avant, mais j'ai reçu un e-mail menaçant disant "Je vais supprimer tous mes comptes !!", alors j'ai déménagé.
https://github.com/nnsnodnb/morphological-linebot
https://github.com/line/line-bot-sdk-python
BOT
J'aimerais pouvoir accéder à la [page Wiki] du SDK (https://github.com/line/line-bot-sdk-python/wiki/Projects-Using-SDK) ...
bot.py
# coding: utf-8
from __future__ import unicode_literals
from flask import Flask, request, abort
from linebot import LineBotApi, WebhookHandler
from linebot.exceptions import InvalidSignatureError
from linebot.models import MessageEvent, TextMessage, TextSendMessage
from janome.tokenizer import Tokenizer
import os, re, json
def load_env():
try:
with open('.env') as f:
content = f.read()
except IOError:
content = ''
for line in content.splitlines():
m1 = re.match(r'\A([A-Za-z_0-9]+)=(.*)\Z', line)
if m1:
key, val = m1.group(1), m1.group(2)
m2 = re.match(r"\A'(.*)'\Z", val)
if m2:
val = m2.group(1)
m3 = re.match(r'\A"(.*)"\Z', val)
if m3:
val = re.sub(r'\\(.)', r'\1', m3.group(1))
os.environ.setdefault(key, val)
load_env()
app = Flask(__name__)
line_bot_api = LineBotApi(os.environ.get('CHANNEL_ACCESS_TOKEN'))
handler = WebhookHandler(os.environ.get('CHANNEL_SECRET'))
@app.route("/callback", methods=['POST'])
def callback():
signature = request.headers['X-LINE-Signature']
body = request.get_data(as_text=True)
receive_json = json.loads(body)
message = receive_json['events'][0]['message']['text']
response_arrays = []
t = Tokenizer()
for token in t.tokenize(message):
response_arrays.append(str(token))
response = ''
for item in range(len(response_arrays)):
if len(response_arrays) == item + 1:
response += str(response_arrays[item])
else:
response += str(response_arrays[item] + '\n')
try:
line_bot_api.reply_message(receive_json['events'][0]['replyToken'], TextSendMessage(text = response))
except InvalidSignatureError:
abort(400)
return 'OK'
if __name__ == '__main__':
app.run(host='0.0.0.0', port = 8003, threaded = True, debug = True)
.env
CHANNEL_ACCESS_TOKEN='hogehoge' #Mec très long
CHANNEL_SECRET='' #Celui qui se cache comme avant
Bien sûr, vous devez utiliser HTTPS, alors faisons de notre mieux!
Faisons de notre mieux pour atteindre l'écran de gestion de LINE @ et le paramétrer comme vous le souhaitez avec ** "Paramètres du compte" **> ** "Paramètres du bot" **!
C'est très difficile à voir ...
S'il y a quelque chose, je veux que vous soumettiez une pull request, etc.! Veuillez également me donner une page Wiki LINE.
J'étais impatient au début car il n'y a pas de request.headers ['X-LINE-Signature']
dans l'ancienne API et cette nouvelle API. D'ailleurs, dans l'ancienne API, cela correspond à request.headers ['X-Line-Channelsignature']
.
Recommended Posts