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

Как сделать так, чтобы телеграм бот сохранял фото, отправленные ему?

Я уже искал подобное. Там было:
@router.message(F.photo)
async def get_photo(message: types.Message):
     await message.photo[-1].download(destination_file=file_name)

Но мне выдаёт ошибку:
AttributeError: 'PhotoSize' object has no attribute 'download'

Как исправить проблему?
  • Вопрос задан
  • 3296 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
febday
@febday
Вы пытаетесь обратиться к методу download в PhotoSize, что в принципе в ошибке и указано.
Мне больше интересно откуда вы вообще взяли подобный пример, поскольку в aiogram 2 и 3 (в вашем случае aiogram 3) не существует PhotoSize.donwload(). В aiogram 3 есть метод download в объекте Bot, но вот параметра destination_file никогда не существовало

Вердикт следующий, читайте документацию библиотеки, которую вы используйте

Решение вашего вопрос вот:
@router.message(F.photo)
async def get_photo(message: types.Message):
	await message.bot.download(file=message.photo[-1].file_id, destination=file_name)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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