我正在使用telethon访问电报-API,用于对多个组进行网络分析。由于我不太明白垃圾邮件保护是如何工作的,所以我试着测试电报何时阻止我发送请求的限制。我执行了下面的代码片段(无意中没有等待,因此基本上立即执行了200个请求)。
for i in range(100):
client.get_messages(g, limit=None)
client.get_participants(g)我几乎立刻收到了一个错误:SessionRevokedError: The authorization has been invalidated, because of the user terminating all sessions (caused by GetHistoryRequest)。我不仅与我的应用程序,而且在我的智能手机和任何电报-网页/桌面会议,我打开的注销。
虽然我可以再次登录我的智能手机,电报网络,甚至通过telethon,一旦我发送任何其他请求,如client.get_dialogs(),我立即注销任何设备。
回顾过去,这可能是个坏主意,但我继续尝试登录,并以不同的方式被踢到一起,结果是一样的。
今天,大约20小时后,我再次尝试登录。和昨天一样,我又被踢了一跤,但现在,当我试图输入我的电话号码和确认信息(甚至没有访问任何api)时,我很快就被踢出了智能手机应用程序。
几个小时后,我尝试重新登录,有足够的时间处理原始请求,并从telethon中删除.session-db。
我基本上有三个问题:
非常感谢您的帮助!
发布于 2022-11-29 18:06:38
无意中没有等待,所以基本上是200次请求立即
这不是Python中异步的工作方式。如果您不对一个await调用async def,那么它根本不会运行(除非您已经导入了为您提供await的telethon.sync黑客)。
有人知道,我的帐户发生了什么事,如果这只是暂时的/我能做些什么使它恢复正常的行为?
如果您仍然得到"SessionRevokedError",您的帐户可能会受到损害,据我所知,只有在登录客户端撤销会话时才会发生这种情况。然而,电报可能在其他情况下引入了这一错误,在这种情况下,不知道。
我可以以某种方式检查我的帐户的‘状态’,因为我真的不知道它到底发生了什么?
您可以向@垃圾邮件或联系人支持发送消息,但仅此而已。
是否有人通过电报了解有关垃圾邮件保护工作的指南或出版物?
电报可以在任何时候更改这些限制,并且可以基于许多条件,如果不阅读服务器的源代码就不可能知道这些条件。只要您没有明显地滥用API,您就应该没事。
https://stackoverflow.com/questions/74613640
复制相似问题