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, что и сделано, однако это не избавило от ошибки. Что стоит предпринять?


Ответы (0 шт):