Facebook messenger聊天机器人提供重复的回复

问题描述 投票:-1回答:3

我正在用wit.ai和python构建一个聊天机器人并将其与Facebook Messenger集成。我已经设置了webhooks以及发送函数和fb_message函数,就像在本教程中一样:https://github.com/wit-ai/pywit/blob/master/examples/messenger.py

当我在wit.ai或控制台中测试它时,我的机器人工作正常,但是当我在实际的Facebook Messenger中测试它时,它会给每个回复两次。机器人内部的哪个函数被调用并不重要,我总是得到两个回复。

我最简单的动作是这样的:

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

(这将始终返回相同的字符串,该字符串在wit.ai引擎中定义。)

python chatbot wit.ai facebook-chatbot facebook-messenger-bot
3个回答
1
投票

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

发生了什么事情,你的机器人正在接收消息请求,然后接收另一个事件,你的代码将它们作为消息处理。

我认为这是问题,如果不是,请给我们更多细节。


0
投票

之前我遇到过这个问题,事实证明,启用了message_echoes。如果启用此功能,那么Bot将尝试回显您输入的任何文本。

我的逻辑最终捕获了回声,然后以相同的响应回应。我有一个处理程序来捕获类似的响应,所以我能够避免无限循环。


0
投票

有人可能有像我这样的案子。

我的情况:

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

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

找出问题让我很疯狂。

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

© www.soinside.com 2019 - 2024. All rights reserved.