Как переслать видео из одного бота другому, не потеряв изначальный file_id (Telegram)

У меня есть 1 бот в телеграмме, который может принимать отправленные в него видео и сохранять их file_id в video.py. Теперь мне нужно чтобы все полученные видео были переданы другому боту, но главное условие, чтобы видео сохранили прежний file_id, как это можно реализовать?

# Обработчик видео сообщений для хранения file_id в video.py
    @bot.message_handler(content_types=["video"])
    def handle1_video(message):
           video_id = message.video.file_id
           with open('video.py', 'a') as file:
            file.write(f"\nfile.append('{video_id}')")
            bot.reply_to(message, f"{video_id}")

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

Автор решения: Medvedev

То что вы пытаетесь реализовать в рамках телеграма невозможно. file_id актуален только в рамках одного бота, в других ботах при попытке воспользоваться этим file_id будет ошибка.

В вашем случае только сохранять отправленные в первого бота файлы и эти файлы уже отправлять другим ботом. пример для сохранения видео:

# этот хендлер будет сохранять все отправленные боту видео
@bot.message_handler(content_types=['video'])
def func_video(message):
    file_id = message.video.file_id
    file_info = bot.get_file(file_id)
    downloaded_file = bot.download_file(file_info.file_path)

    # путь к месту хранения видео
    save_path = '/путь_к_вашей_папке/видео'
    # проверяем есть ли папка, если нет создаем
    if not os.path.exists(save_path):
        os.makedirs(save_path)
    # сохраняем файл
    with open(os.path.join(save_path, 'name_file.mp4'), 'wb') as file:
        file.write(downloaded_file)

и для отправки другим ботом:

video = open('/путь_к_вашей_папке/видео/name_file.mp4', 'rb')
bot.send_video(chat_id=call.message.chat.id, video=video)
→ Ссылка