Задать вопрос
@bombalor

Как правильно сделать проверку на content types?

Нужно сделать проверку того что скинул пользователь, вот код
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor

TOKEN = ''

bot = Bot(token=TOKEN)
dp = Dispatcher(bot)

@dp.message_handler(content_types=['voice', 'video'])
async def downloader(message:types.Message):
	if content_type == 'voice':
    file_id = message.voice.file_id
		file = await bot.get_file(file_id)
		file_path = file.file_path
		await bot.download_file(file_path, "123.ogg")
		await message.reply('это голосовое сообщение')
	else:
    file_id = message.video.file_id
		file = await bot.get_file(file_id)
		file_path = file.file_path
		await bot.download_file(file_path, "123.mp4")
		await message.reply('это видео')
		
if __name__ == "__main__":
    executor.start_polling(dp, skip_updates=True)

После проверки нужно просто скачать видео или войс, знаю что можно сделать через try, но это не удобно.
  • Вопрос задан
  • 1298 просмотров
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Фулстек-разработчик
на Python
    19 месяцев
    Далее
Решения вопроса 1
@twistfire92
Python backend developer
Примерно так можно попробовать
Третий if для примера, чтобы более понятно было.
if message.voice:
   ...
elif message.video:
   ...
elif message.video_note:
   ...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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