Задать вопрос
@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
  • Вопрос задан
  • 26035 просмотров
Подписаться 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...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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