两个fb-messenger机器人,同一个FB页面

时间:2017-09-15 13:24:45

标签: facebook facebook-messenger-bot

我阅读了facebook messenger bot的文档,但是如果有可能制作两个不同的FB机器人(一个测试机器人)并连接到同一个Facebook页面(使用相同的webhook,我找不到任何地方。有人知道吗如果这是可能的并且它是aginst FB规则吗?

2 个答案:

答案 0 :(得分:0)

是的,您可以在同一个网页上订阅多个应用。您需要在页面设置中指定一个作为主要接收者角色,然后使用平台的切换协议来控制该应用之间的对话。

答案 1 :(得分:0)

您想要调查Handover Protocol (Beta)。这将允许您将两个或多个应用程序订阅到同一个Facebook页面。其中一个应用程序将被配置为"主要接收器",默认情况下将控制任何新的对话线程。所有其他应用程序将配置为"辅助接收器"。任何应用都可以将线程控制传递给另一个应用,但只有主接收器可以强行从另一个应用程序获取控制权。

当应用程序控制该线程时,它将在标准消息传递通道上接收消息。当应用程序无法控制时,它将在standby channel上接收它们。待机消息看起来就像常规消息一样,只是它们的输入项包含一个"备用消息"字段而不是"消息传递"字段。

以下是踢球者:允许应用发送消息是否具有线程控制。这意味着您不能依赖切换协议来自动整理您的机器人能够和不能说话的时间。相反,您的机器人需要跟踪它是否具有控制权并且仅在适当的时间响应。要做到这一点,messaging_handovers webhook会有所帮助。

Facebook已经提供了新版本的Inbox页面,它支持切换协议。当配置为辅助接收器时,新的会话线程将自动归入"完成"夹。如果您的某个应用程序将线程控制传递给收件箱应用程序,则会话线程将被移动到"收件箱"夹。当人工页面管理员点击"完成"该对话的复选框,线程被移回"完成"文件夹,并将线程控制传递给主接收器。

至少从2017年11月开始,要注意的一点是,回发消息与切换协议的交互有点不直观,甚至可能有错误。 postback documentation表示应用程序将始终在标准消息传递通道上收到自己的回发,即使它没有线程控制。从"标题"的描述回发事件的领域:

  

点击的CTA标题。这将发送到订阅该页面的所有应用程序。对于原始CTA发件人以外的应用,回发事件将通过备用频道发送。

作为"有效载荷的描述"但是,field表示回发消息的备用版本省略了有效负载:

  

使用按钮定义的有效负载参数。这仅对发送原始模板消息的应用程序可见。

我认为这是不直观的,因为在我看来,#34;待机"常规消息的含义与回发消息的含义不同。我提到它可能是错误的,因为我发现我的应用程序经常在消息传递和备用通道上收到自己的回发。 (出于这个原因,我已经忽略了备用通道上的回发消息。)

希望这有帮助。