Как отправить каждый пользовательский вход в мессенджер на мой webhook? - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь зарегистрировать то, что пользователь отправляет моему боту-мессенджеру на мой веб-крючок.Из небольшого исследования на странице разработчиков в 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...