我的Bot被用户屏蔽了,我能通过API知道吗?

在以轩在以轩06月29日1222

用户把我的Telegram Bot拉黑了,能通过API检查吗?有没有办法知道我被屏蔽了?

4 个回答

熊升荣
熊升荣回答于 06 月 29 日
最佳答案

无法。因为Telegram API的设计理念是保护用户隐私,禁止检测用户黑名单状态。可以发送消息查看是否报错,但这也不一定,用户可能只是关闭了通知而已。最好的办法就是让用户主动联系你。做好用户服务体验,不要让用户屏蔽你。

允以珊
允以珊回答于 06 月 29 日

Telegram API没有检测被拉黑功能,可以通过调用getChat或getUserProfilePhotos接口,如果返回的错误码为403(Forbidden)基本可以认为被拉黑了,但这种方法并不是100%准确,建议结合其他方式判断,比如用户能否收到消息等。在实际应用中可以这样处理。

廉新儿
廉新儿回答于 06 月 30 日

Telegram API没有提供直接检测用户是否拉黑自己的方法,可以通过try/catch发送消息时的403错误来判断用户拉黑。

这个方法也不是100%的准确,因为403也可能是因为用户删除了bot,或者是账号被封禁。

建议结合其他运维手段判断用户状态,如观察数据库活跃度变化。

章佳枫
章佳枫回答于 09 月 04 日

不能,Telegram官方API无法直接告诉你用户拉黑你了。

你发消息,对方不回,也不删好友,系统不提示“已拉黑”。

唯一能间接判断的:你发的消息,对方收不到,返回error码,如403 Forbidden,这时基本是被拉黑或踢出群。

注意:也可能是账号异常、网络问题,别一上来就脑补。

所以,真被拉黑了,基本靠猜。

不过你可以定期做用户活跃检测,比如主动发个测试消息,看能否送达,也能提前发现异常。

别太焦虑,这事儿正常得很。

您的答案