我有一个已构建并部署到Azure的机器人。一切都很好。目前,我们仅针对Facebook Messenger。
我需要处理的场景是在用户与漫游器之间进行对话时,页面的所有者可能会加入对话。
这时,我希望漫游器停止响应,并允许页面所有者与用户进行对话。
我似乎找不到太多有关此简单场景的文档,大多数场景都在谈论与客户支持团队进行对话。这是一个更为复杂的方案。
我该如何实现?
我确实尝试在页面上将漫游器设置为Primary receiver
,并将收件箱设置为Secondary receiver
。这种方法的问题在于,它将所有消息和对话标记为Done
,并将它们移至页面所有者Done
收件箱中。这不是我们想要的情况。
有人处理过类似情况吗?
老实说,如果没有设置主/次响应器,就无法说出它如何工作,从而使线程控制能够在两者之间传递。尽管我希望我做错了,并且有一个简单的方法/解决方案。
可能的解决方案
我正在研究的一种技术与此有关:
https://github.com/palindromed/Bot-HandOff/blob/master/handoff.ts
由于我们的漫游器实际上也没有什么要移交的,所以我只希望该漫游器在页面管理员进入并向用户发送消息时停止响应消息。
我是机器人静音中间件。当前的窍门将是检测特定用户是页面管理员。
答案 0 :(得分:1)
事实证明,没有设置Bot Framework连接器来转发使用Messenger平台的切换协议所需的事件,但是最近的更新已解决此问题。我写了一篇博客文章,解释了您需要了解的有关切换协议的所有信息:https://blog.botframework.com/2019/06/03/using-the-facebook-messenger-handover-protocol-with-the-microsoft-bot-framework/