我正在开发一个 fb 聊天机器人,针对特定意图,webhook 被触发并通过 python 处理。python 应用程序托管在 Heroku 云中。我面临一个典型的问题,每当触发任何 webhook 时,它都会在无限循环中继续触发,直到触发来自聊天的下一个查询。
#!/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")
我只为 3 个意图启用了 webhook。api.ai 中的其他意图未启用实现(Webhook 或 Webhook 插槽填充)。
任何人都可以在这方面帮助我。