我想知道用户是否阻止聊天机器人。通过文档我没有找到方法,所以我不得不创建一个解决方案。 我向用户发送消息并创建发送标志;然后我使用睡眠功能10秒。每次用户收到消息时,我的代码都会将标志从发送更改为发送。 10秒后,如果标志仍在发送意味着接收方没有收到消息,那么我推断聊天机器人被阻止了。 这个工作存在一些缺陷,如果消息需要超过10秒才能到达,我不知道为什么如果我使用休眠功能> 15秒,我进入循环,并且Fb API开始发送我的要求。
有人有更好的解决方案吗?
感谢您的帮助! (:
答案 0 :(得分:1)
使用代码“10”子代码“2018108”或代码“200”子代码“1545041”检查错误。这些子代码主要定义用户已阻止您的机器人/信使对话。
答案 1 :(得分:0)
我今天使用最新的iOS Messenger应用进行了测试,结果发现,在以下每种情况下
Facebook Messenger API返回
{"error":{"message":"(#551) This person isn't available right now.","type":"OAuthException","code":551,"error_subcode":1545041,"fbtrace_id":"XXXXX"}}
因此,您的问题的答案是检查错误代码551,子代码1545041。请注意,您将找回那些与那些点击“关闭邮件”的用户混在一起的“被阻止”用户。
顺便说一句,您可以通过转到关联的Facebook页面并点击“洞察”的顶行来查看阻止Messsenger对话的用户百分比。
希望这对其他人有帮助,我花了我几个小时的时间来学习:)