Facebook Messenger Bot - 当所有者开始回答问题时自动禁用机器人

时间:2016-08-30 10:37:43

标签: php facebook bots facebook-messenger

我创建了一个完美运行的Facebook messenger机器人。我用php创建它。

现在,我想添加一些新功能。当机器人所有者在Messenger中联机并开始回复消息时,机器人应该停止响应用户。

如何检测所有者何时开始接听?

2 个答案:

答案 0 :(得分:1)

一个简单的想法是从管理员帐户向Bot发送消息。例如,如果管理员发送'STOP',则Bot会停止发送消息,直到管理员发送'START'。

Bot的传入事件包含发件人ID。发件人ID必须与特定的管理员ID相关联。我发现为特定用户获取该ID的唯一方法是发送消息并打印出id。该ID特定于Bot和用户组合。例如,我的Bot将使用此JS行向我的个人帐户发送消息:

 sendTextMessage(1073962542672604,fistName + " " + lastName + " " + messageText); // send a message to Matthew directly

听起来您有机器人工作但如果您需要更多详细信息,请查看我的Botsource代码。

为了好玩,我将此功能添加到我的Bot中。要查看node.js实现中的详细信息,请在app.js脚本中搜索“isStopped”变量。

答案 1 :(得分:1)

我之前做过测试。

您可以尝试订阅“message_echo”webhook。当页面和机器人向用户发送消息时,将调用此webhook。因此,您需要区分哪个“message_echo”来自页面(一个人),哪个来自机器人。在webhook发送的json中,来自机器人的消息将在app_id对象中包含message键。

您的服务器将通过订阅此webhook获得大量点击。