【问题标题】:Facebook Messenger Bot - How to disable bot and allow human to chatFacebook Messenger Bot - 如何禁用机器人并允许人类聊天
【发布时间】:2016-06-24 06:52:59
【问题描述】:

所以这是我 16 小时以来一直在思考的问题。我正在使用 PHP / CuRl / 等进行编码 - 机器人可以工作,一切都很好。我当前的问题是弄清楚如何禁用机器人并允许人类开始与客户/发件人聊天。

有没有人成功地为此创建了一条路线?我的意思是,从我所看到的情况来看,这很难,您必须禁用等等。为我的客户付出了很多努力。

感谢您的任何意见。

【问题讨论】:

  • 为什么不只是在收到某些条款时才由机器人回答,而其他问题仍然可以通过 Messenger 由人类回答?
  • 是的,我也想过这个问题——这意味着当消息不存在时,数据库用于响应,而不是什么都不做。只是不知道是否有人能够创建一个插件:)
  • 如果你发送一个特殊的命令来禁用它呢?你的解决方案是什么?

标签: facebook messenger facebook-messenger


【解决方案1】:

Facebook 推出了“移交协议”,旨在促进人/机器人 Messenger 组合的实施。

https://developers.facebook.com/docs/messenger-platform/handover-protocol

有点不清楚第 5 步中实际发生了什么:

传递线程控制:在对话的某个时刻,用户可能会选择做一些事情,比如与实时代理进行交互。要处理此问题,请将线程控制从主接收器传递给辅助接收器。辅助接收器将接收到一个 messing_handovers webhook 事件来通知它现在控制对话。

这实际上并没有禁用机器人(按照 OP 的要求),并且不受页面所有者的控制,而是由用户控制。似乎 FB 设想用户输入诸如“我想与人聊天”之类的内容来触发机器人传递控制权......但让页面所有者简单地将应用程序置于待机状态并自己处理消息会很好。

【讨论】:

    【解决方案2】:

    一旦您发现有人想与人交谈,请设置一个标志以禁用您的机器人的所有操作。

    然后,让您的机器人向您或任何将回复的人发送用户 ID 需要回复的消息。让您的机器人继续将收到的所有消息发回给您,直到您再次启用该机器人。

    创建某种方式让您的机器人与您交互,允许您向特定用户发送消息,并再次启用机器人与用户交互的方式。

    可能类似于“sendMessage104012301230'嗨,对不起,您找不到 [etc]',并且 enableUser104012301230

    可能有更好的方法,但这些是我如何做的一些想法

    【讨论】:

      【解决方案3】:

      如果您启用消息回显,每当有人使用页面响应时,都会发送回显帖子,并且在 entry->messaging->message 中没有 app_id。

      您可以使用该信息在一段时间内禁用机器人回复,或无限期禁用,直到您通过某些管理命令启用(我就是这样做的)

      【讨论】:

        【解决方案4】:

        我认为解决方案可能是将消息标记为“未解决”。另一种解决方案可能是让机器人将对话标记为未读。有谁知道是否可以通过 API 为对话添加标签或标记为未读?

        【讨论】:

        • 我正在尝试做类似的事情 - 如果我们可以在系统中传递变量 post 和 tag 会更好。
        猜你喜欢
        • 1970-01-01
        • 2016-08-14
        • 2020-03-28
        • 1970-01-01
        • 1970-01-01
        • 2019-01-03
        • 1970-01-01
        • 2018-11-30
        • 2018-09-12
        相关资源
        最近更新 更多