Проверка формата фото gif или png/jpg
уважаемые пользователи Stackoverflow ?
Я искал в интернете свой вопрос, может плохо искал, но расскажу что я хочу у вас спросить. Можно ли как-то узнать какой формат фотографии/файла загружаешь?
К примеру у меня есть бот в Telegram, и я для своей команды использую библиотеку nekos.py. Там файлы gif/png выбираются случайно, я точнее не могу указать параметр что я хочу gif или png/jpg.
Можно ли как-то отслеживать что библиотека подгружает? Если к примеру в ссылке .gif в конце то бот отправляет send_animation, а если jpg/png то send_photo
@dp.message_handler(commands=['waifu'])
async def send_randavatar(message):
your_name = message.from_user.username
hugimg = nekos.img('waifu')
await bot.send_animation(message.chat.id, hugimg, caption=f'@{your_name}')
Если .gif в конце
Иначе если .png/jpg
P.S: Я использую библиотеку aiogram. Upd: на второй картинке используются команда, не для упоминания пользователя, но суть остается одна и та же.
Ответы (1 шт):
Не забудь добавить import os
@dp.message_handler(commands=['waifu'])
async def send_randavatar(message: types.Message):
your_name = message.from_user.username
hugimg = nekos.img('hug')
extension = os.path.splitext(hugimg)[1]
if extension == '.jpg':
await bot.send_photo(message.chat.id, hugimg, caption=f'@{your_name}')
elif extension == '.png':
await bot.send_photo(message.chat.id, hugimg, caption=f'@{your_name}')
elif extension == '.gif':
await bot.send_animation(message.chat.id, hugimg, caption=f'@{your_name}')
else:
await message.answer('Нет картинки')

