【发布时间】:2018-03-11 12:00:37
【问题描述】:
所以我创建了 Messenger 机器人。当与机器人交互的人阻止它时,有没有办法接收 webhook?类似于当有人卸载 facebook 应用程序时如何设置 webhook。
当用户第一次与机器人交互时,我将他的信息存储在数据库中。如果他决定阻止机器人,我想从数据库中删除该行,这样接收 messenger_id 就足够了。
我阅读了 FB 文档,但没有发现任何有用的信息。如果有人可以提供帮助将不胜感激。
【问题讨论】:
所以我创建了 Messenger 机器人。当与机器人交互的人阻止它时,有没有办法接收 webhook?类似于当有人卸载 facebook 应用程序时如何设置 webhook。
当用户第一次与机器人交互时,我将他的信息存储在数据库中。如果他决定阻止机器人,我想从数据库中删除该行,这样接收 messenger_id 就足够了。
我阅读了 FB 文档,但没有发现任何有用的信息。如果有人可以提供帮助将不胜感激。
【问题讨论】:
当您尝试从您的机器人向用户发送消息时,您将收到一个错误代码。大概是这样的:
{
"error": {
"message": "This Person Cannot Receive Messages: This person isn't receiving messages from you right now.",
"type": "OAuthException",
"code": 10,
"error_subcode": 2018108,
"fbtrace_id": "BLBz/WZt8dN"
}
}
尝试查看您的响应日志,找到该用户 PSID 以查看您遇到的确切错误,但它应该与上述非常相似。
因此,您要做的就是在您始终如一地收到这样的响应时更新用户,也许设置一个计数器或建立一个规则,以便您决定何时足以将用户从您的数据库中删除或禁用。有关此处错误的更多信息: https://developers.facebook.com/docs/messenger-platform/reference/send-api/error-codes
【讨论】: