Я пытаюсь зарегистрировать то, что пользователь отправляет моему боту-мессенджеру на мой веб-крючок.Из небольшого исследования на странице разработчиков в Facebook я обнаружил, что для этого нам нужно использовать handle_echo.
Но проблема в том, что он возвращает ответ только для некоторых входных данных, которые являются небольшими разговорами, такими как Hi, Bye, Ok.
Как мне записать все, независимо от значимого слова или тарабарского предложения?
Вот мой код фляги:
import urllib
import json
import os
import dialogflow
import pandas as pd
from flask import Flask
from flask import request
from flask import make_response
import json
import requests
import re
from fbmq import Page
from pymessenger.bot import Bot
page = Page("pagecredentials")
app = Flask(__name__)
app.config["DEBUG"] = True
@app.route('/webhook', methods=['POST'])
def webhook():
page.handle_echo(request.get_data(as_text=True))
print('this is it,.{}',request.get_json(silent=True, force=True))
return "200 ok"
# @page.handle_message
# def message_handler(event):
# """:type event: fbmq.Event"""
# sender_id = event.sender_id
# message = event.is_echo
# print(message)
@page.handle_echo
def message_handler(event):
""":type event: fbmq.Event"""
sender_id = event.sender_id
message = event.message_text
print(message)
return json.dumps(message)
@page.after_send
def after_send(payload, response):
""":type payload: fbmq.Payload"""
print("complete")
if __name__ == '__main__':
os.putenv('FLASK_ENV', 'development')
port = int(os.getenv('PORT', 5000))
app.run()