我正在用wit.ai和python构建一个聊天机器人,并将其与Facebook集成。我已经设置了webhooks以及发送函数和fb_message函数,与本教程中的https://github.com/wit-ai/pywit/blob/master/examples/messenger.py完全相同。
当我在wit.ai或控制台上测试它时,我的机器人工作得很好,但是当我在实际的中测试它时,它会给每个回复两次。不管机器人内部哪个功能被调用,我总是收到两个回复。
我最简单的做法是:
def defaultAnswer(request):
context = request['context']
return context(这总是返回在wit.ai引擎中定义的相同字符串。)
发布于 2016-12-03 15:39:06
如果您的bot订阅了pages_messaging以外的事件,如messaging_deliveries,请确保您也在处理此事件。
正在发生的事情是,机器人接收消息请求,然后接收另一个事件,而您的代码将它们作为消息处理。
我认为这就是问题所在,如果不是的话,给我们更多的细节。
发布于 2017-12-20 11:45:29
可能有人有像我这样的案子。
My:
我错误地将我的两个不同的机器人订阅到了developer.facebook.com上的一个facebook页面。
由于这个错误,当我向我的facebook页面写入一个特定的命令(例如重新启动)时,bot会回复完全相同的两条消息。“机器人重新开始”,“机器人重新开始”)给我。
发现这个问题让我发疯了。
你最多应该为你的facebook页面订阅一个机器人。
发布于 2017-08-11 06:16:02
我以前有过这个问题,结果发现,message_echoes是启用的。本质上,如果启用了这个功能,那么Bot将尝试回显您输入的任何文本。
我的逻辑最终捕捉到了回声,然后用同样的回应做出了回应。我确实有一个处理程序来捕获类似的响应,所以我能够避免无限循环。
https://stackoverflow.com/questions/40842989
复制相似问题