0

I'm building a chatbot with wit.ai and python and integrating it with Facebook Messenger. I have set up webhooks as well as send function and fb_message function exactly like in this tutorial: https://github.com/wit-ai/pywit/blob/master/examples/messenger.py

My bot works fine when I test it in wit.ai or in console, but when I test it in actual Facebook Messenger, it gives each reply twice. It doesn't matter which function inside the bot gets called, I always get two replies.

My most simple action is this:

def defaultAnswer(request):
    context = request['context']
    return context

(This returns always the same string, which is defined in wit.ai engine.)

4

3 回答 3

2

如果您的机器人订阅了 pages_messaging 以外的事件,例如 messing_deliveries,请确保您也在处理此事件。

发生的事情是您的机器人正在接收消息请求,然后通过另一个事件接收另一个,并且您的代码将它们都作为消息处理。

我认为这是问题所在,如果不是,请向我们提供更多详细信息。

于 2016-12-03T15:39:06.953 回答
1

有人可能有像我这样的情况。

我的情况:

我错误地将我的两个不同的机器人订阅到 developer.facebook.com 上的一个 facebook 页面。

由于这个错误,当我向我的 facebook 页面写入特定命令(例如重新启动)时,bot 会向我回复完全相同的两条消息(例如“Bot Restarted”、“Bot Restarted”)。

发现问题让我发疯了。

您最多应该为您的 Facebook 页面订阅一个机器人。

于 2017-12-20T11:45:29.997 回答
0

我之前遇到过这个问题,结果message_echoes是启用了。如果启用此功能,基本上会发生什么,Bot 将尝试回显您输入的任何文本。

我的逻辑最终捕捉到了回声,然后做出了同样的回应。我确实有一个处理程序来捕获类似的响应,因此我能够避免无限循环。

于 2017-08-11T06:16:02.227 回答