FloodWaitError при запросе entity телеграмм-канала в telethon
Реализован следующий код для скачивания сообщений из всех каналов из списка:
async def main(username = "X", api_id = "X", api_hash = "X"):
client = TelegramClient(username, api_id, api_hash)
await client.start()
filename = "channels.data"
fin = open(filename, "r")
channels = fin.readlines()
fin.close()
today = date.today() - timedelta(0) # test
messages = []
for channel in channels:
entity = await client.get_input_entity(channel)
async for message in client.iter_messages(entity, offset_date = today + timedelta(days = 1)):
if (message.date.year, message.date.month, message.date.day) == (today.year, today.month, today.day):
messages.append(message.message)
else:
break
На строку entity = await client.get_input_entity(channel) вылетает ошибка:
FloodWaitError: A wait of 16721 seconds is required (caused by ResolveUsernameRequest)
Так понимаю, где-то внутри резолвится username и за это идет пенальтирование.
В официальной документации было указано использовать get_input_entity вместо get_entity, что и сделано, однако это не избавило от ошибки. Что стоит предпринять?