@Tim245

Как сохранить видео которое отправил пользватель телеграмм боту?

Мне нужно сохранить видео которое отправил пользователь
  • Вопрос задан
  • 1704 просмотра
Пригласить эксперта
Ответы на вопрос 2
user-anonym
@user-anonym
Python Developer and System Admin
С телефона или на пк ?
Ответ написан
@o5a
Простейший вариант. Стоит добавить проверки в виде try..except на случай ошибок.
@bot.message_handler(content_types=['document'])
def get_file(message):
    file_name = message.document.file_name
    file_info = bot.get_file(message.document.file_id)
    with open(file_name, "wb") as f:
        file_content = bot.download_file(file_info.file_path)
        f.write(file_content)
    bot.reply_to(message, f"OK. Сохранил {file_name}")


Типы принимаемых файлов как раз прописываются в content_types, т.е. для видео надо будет использовать 'video' (добавить к списку или заменить).

Я глянул, для видео нужно другие тэги использовать, и почему-то по аналогии с document не работает, но вот так должно
@bot.message_handler(content_types=['video'])
def get_file(message):
    file_name = message.json['video']['file_name']
    file_info = bot.get_file(message.video.file_id)
    with open(file_name, "wb") as f:
        file_content = bot.download_file(file_info.file_path)
        f.write(file_content)
    bot.reply_to(message, f"OK. Сохранил {file_name}")
Ответ написан
Ваш ответ на вопрос

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

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