所以这是我一直试图思考大约16个小时的事情。我用PHP / CuRl / etc编写代码 - 机器人工作,一切都很好。我目前的问题是弄清楚如何禁用机器人并允许人们开始与客户/发件人聊天。
有没有人成功,为此创建了一条路线?我的意思是,从我看到的内容非常困难,你必须禁用等等。为我的客户付出了很多努力。
感谢您的任何意见。
答案 0 :(得分:4)
Facebook推出了一项"移交协议"这应该有助于实现人/机器人Messenger的组合实现。
https://developers.facebook.com/docs/messenger-platform/handover-protocol
有点不清楚第5步实际发生了什么:
传递线程控制:在对话的某个时刻,用户可以选择执行与实时代理交互的操作。要处理此问题,请将线程控制从主接收器传递到辅助接收器。辅助接收器将接收messaging_handovers webhook事件以通知它现在控制对话。
这实际上并没有禁用机器人(如所请求的OP),并且不在页面所有者的控制之内,而是在用户的控制之下。似乎FB设想用户输入类似于'我想和人类聊天的东西。触发机器人传递控制权......但是让页面所有者简单地将应用程序置于待机状态并自己处理消息会很好。
答案 1 :(得分:2)
一旦你认识到某人想要与人交谈,请设置一个标志,禁用机器人的所有操作。
然后,让您的机器人消息,或者任何会响应的消息,用户ID需要响应。让您的机器人继续将从它们收到的所有消息发送给您,直到您再次启用机器人。
为您的机器人创建某种方式与您交互,允许您向特定用户发送消息,以及再次启用机器人与用户交互的方式。
可能类似“sendMessage104012301230'Hi,抱歉你找不到[etc]”,并启用User104012301230
可能有更好的方法,但这些是关于我如何做的一些想法
答案 2 :(得分:2)
如果您启用了消息回送,只要人们使用该页面回复,就会发送回送帖子,并且在entry-> messaging->消息内部没有app_id。
您可以使用该信息在一段时间内禁用机器人回复,或者无限期禁用,直到您启用了一些管理命令(这就是我正在做的事情)
答案 3 :(得分:1)
我认为解决方案可能是将消息标记为“未解决”。另一种解决方案可能是让机器人将对话标记为未读。有没有人知道是否有可能在会话中添加标签或通过API标记为未读?