Facebook Messenger Bot - 当所有者开始回答问题时自动禁用机器人
Facebook Messenger Bot - disable bot automatically when owner start answering questions
我创建了一个运行良好的 Facebook Messenger 机器人。我用 php 创建了它。
现在,我想添加一些新功能。当机器人所有者在 Messenger 中在线并开始回复消息时,机器人应该停止响应用户。
我如何检测所有者何时开始回答?
一个简单的想法是从管理员帐户向机器人发送消息。例如,如果管理员发送 'STOP',则机器人会停止发送消息,直到管理员发送 'START'。
Bot 的传入事件包含发件人 ID。发件人 ID 必须与特定的管理员 ID 相关联。我发现为特定用户获取该 ID 的唯一方法是发送一条消息并打印出该 ID。该 ID 特定于 Bot 和用户组合。例如,我的 Bot 将使用此 JS 行向我的个人帐户发送一条消息:
sendTextMessage(1073962542672604,fistName + " " + lastName + " " + messageText); // send a message to Matthew directly
听起来你有一个机器人在工作,但如果你需要更多详细信息,请查看我的 Bot and source 代码。
只是为了好玩,我将此功能添加到我的机器人中。要查看 node.js 实现的详细信息,请在 app.js 脚本中搜索 'isStopped' 变量。
我之前测试过这个。
您可以尝试订阅 "message_echo" webhook。当页面和机器人向用户发送消息时调用此 webhook。因此,您需要区分哪个 "message_echo" 来自页面(人),哪个来自机器人。在 webhook 发送的 json 中,来自机器人的消息将在 message
对象中包含一个 app_id
键。
订阅此 webhook 后,您的服务器将获得大量点击。
我创建了一个运行良好的 Facebook Messenger 机器人。我用 php 创建了它。
现在,我想添加一些新功能。当机器人所有者在 Messenger 中在线并开始回复消息时,机器人应该停止响应用户。
我如何检测所有者何时开始回答?
一个简单的想法是从管理员帐户向机器人发送消息。例如,如果管理员发送 'STOP',则机器人会停止发送消息,直到管理员发送 'START'。
Bot 的传入事件包含发件人 ID。发件人 ID 必须与特定的管理员 ID 相关联。我发现为特定用户获取该 ID 的唯一方法是发送一条消息并打印出该 ID。该 ID 特定于 Bot 和用户组合。例如,我的 Bot 将使用此 JS 行向我的个人帐户发送一条消息:
sendTextMessage(1073962542672604,fistName + " " + lastName + " " + messageText); // send a message to Matthew directly
听起来你有一个机器人在工作,但如果你需要更多详细信息,请查看我的 Bot and source 代码。
只是为了好玩,我将此功能添加到我的机器人中。要查看 node.js 实现的详细信息,请在 app.js 脚本中搜索 'isStopped' 变量。
我之前测试过这个。
您可以尝试订阅 "message_echo" webhook。当页面和机器人向用户发送消息时调用此 webhook。因此,您需要区分哪个 "message_echo" 来自页面(人),哪个来自机器人。在 webhook 发送的 json 中,来自机器人的消息将在 message
对象中包含一个 app_id
键。
订阅此 webhook 后,您的服务器将获得大量点击。