Подскажите, как в 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 или клиентом то всё нормально