Je développe un chatbot fb où, pour des objectifs spécifiques, des webhooks ont été lancés et traités via python. L'application python est hébergée dans le cloud Heroku. Je suis confronté à un problème typique, chaque fois qu'un webhook a été déclenché, il continue à être lancé dans une boucle infinie jusqu'à ce que la prochaine requête de chat est déclenchée.Webhook Python appelé plusieurs fois depuis Facebook Chatbot - Api.ai
#!/usr/bin/env python
from __future__ import print_function
from future import standard_library
standard_library.install_aliases()
import urllib.request, urllib.parse, urllib.error
import json
import os
import psycopg2
import urlparse
from flask import Flask
from flask import request, render_template
from flask import make_response
# Flask should start in global layout
context = Flask(__name__)
# Webhook requests are coming to this method
@context.route('/webhook', methods=['POST'])
def webhook():
reqContext = request.get_json(silent=True, force=True)
if reqContext.get("result").get("action") == "input.welcome":
return welcome()
elif reqContext.get("result").get("action") == "yahooWeatherForecast":
return weatherhook(reqContext)
elif reqContext.get("result").get("action") == "GoogleSearch":
return searchhook()
else:
print("Good Bye")
J'ai activé le webhook pour 3 intentions seulement. Les autres intentions d'api.ai ne sont pas remplies (Webhook ou Webhook slot filling) activé.
Quelqu'un peut-il m'aider dans ce domaine.