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

Как отправить фотографию с помощью aiogram?

Не понимаю какого типа нужно передать агрумент в метод message.answer_photo(photo)

Пробовал по разному:
async def send_photo(call: types.CallbackQuery):
    photo = 'img.png'
    await call.message.answer_photo(photo)

Выдаёт ошибку:
aiogram.exceptions.TelegramBadRequest: Bad Request: failed to get HTTP URL content


async def send_photo(call: types.CallbackQuery):
    photo = InputFile('img.png')
    await call.message.answer_photo(photo)

Выдаёт ошибку
TypeError: Can't instantiate abstract class InputFile with abstract method read


Использую aiogram 3.0.0b3
  • Вопрос задан
  • 24418 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 2
photo = open('photo.png', 'rb')
await call.answer_photo(photo, caption="caption")
Ответ написан
SoreMix
@SoreMix Куратор тега Python
yellow
В документации есть отдельная страница, посвященная загрузке файлов

https://docs.aiogram.dev/en/dev-3.x/api/upload_fil...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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