Задать вопрос
@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
  • Вопрос задан
  • 26346 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 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...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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