当我尝试运行通过 API 访问我的电报帐户的代码时,它运行良好,直到出现以下错误。
A wait of 4013 seconds is required (caused by ResolveUsernameRequest)
我的代码如下:
from telethon.sync import TelegramClient
from telethon import functions, types
api_id = xxxxxxx
api_hash = '468f15380793dxxxxxxxxxxxxxxx'
with TelegramClient('sessionx', api_id, api_hash) as client:
result = client(functions.channels.GetFullChannelRequest(
channel='channelname'
))
print(result.stringify())
有什么解决办法可以摆脱它吗?我应该对我的代码进行哪些更改。
你不能。它来自电报的限制,使用时有限制
GetFullChannelRequest
如果超过这些限制,你将面临洪水等待问题
我知道这可能并不严格相关,但在过去,当考虑此类问题时,我发现解决方案是利用系统管理的帐户列表。虽然创建 10 个帐户可能不是一个重大挑战,即使这需要与移动网络提供商交互,但想象一下您要获得 10 个帐户而不是一个帐户。那么,在相同的数据收集速度下,您需要等待的请求之间的等待时间是典型时间的十倍。
我记不清具体细节了,但那是几年前的事了,我通过使用几十个帐户成功解决了这个问题。坦率地说,仅用一种方法就不可能解决此类问题,因为频繁请求过多数据不仅令人怀疑,而且还表明试图规避服务法规和限制。