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


Facebook Messenger Bot - disable bot automatically when owner start answering questions

我已经创建了一个工作完美的Facebook messenger bot。我用php创建的

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

我如何检测主人何时开始接听电话?

我之前做过一个测试。

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

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

一个简单的想法是从管理员帐户向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

听起来像你有一个机器人工作,但如果你需要更多的细节,看看我的机器人和源代码。

只是为了好玩,我给我的Bot添加了这个功能。要查看node.js实现中的细节,请在app.js脚本中搜索'isStopped'变量。