Как с помощью telethon отправить фаил по file id?

Подскажите, как в telethon использовать file_id для отправки файла ботом (не клиентом):
async def main():
    client = TelegramClient(
        TG_APP_TITLE,
        TG_APP_ID,
        TG_API_HASH
    )
    await client.connect()
    if not await client.is_user_authorized():
        await client.send_code_request(TG_PHONE)
        await client.sign_in(code=input('Get code:'))

    await client.start()

    bot = TelegramClient(f'{TG_APP_TITLE}Bot', TG_APP_ID, TG_API_HASH)
    await bot.start(bot_token=TG_BOT_API_TOKEN)
    bot2 = aiogram.Bot(TG_BOT_API_TOKEN)
    r = await client.send_file(TG_BOT, 'audio.mp3')
    file_id = pack_bot_file_id(r.media)
    await client.send_file(TG_CHAT_ID, file_id)
    await bot2.send_audio(TG_CHAT_ID, file_id)
    await bot.send_file(TG_CHAT_ID, file_id)


При попытке отправить ботом
await bot.send_file(TG_USER, file_id)

telethon.errors.rpcerrorlist.MediaEmptyError: The provided media object is invalid or the current account may not be able to send it (such as games as users) (caused by SendMediaRequest)

Если отправлять file_id через Bot API или клиентом то всё нормально
  • Вопрос задан
  • 2622 просмотра
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Он должен принимать file_id
https://docs.telethon.dev/en/latest/modules/client...

Можно попробовать получить медиа по айди файла
https://docs.telethon.dev/en/latest/modules/utils....
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы