Не удается по url подключить фото в метод send_invoice (aiogram 3.4)?

Мне нужно, чтобы при отправки платежа прикреплялось фото. У меня есть file_id фотографии, но параметр photo_url метода send_invoice принимает только url.

Формирую url из file_id фото таким образом:

async def get_file_url(bot, file_id):
    file_info = await bot.get_file(file_id)
    url = f"https://api.telegram.org/file/bot{bot.token}/{file_info.file_path}"
    return URLInputFile(url=url)

При попытке подключения в send_invoice фотография отправляется, но это просто черный квадрат:

await bot.send_invoice(
        chat_id=callback.message.chat.id,
        ...
        photo_url=photo.url,
        ...)

Причем, если это обычная ссылка на фото, например, с гугла, то все работает. Не знаю что и делать теперь...Помогите, пожалуйста


Ответы (1 шт):

Автор решения: Ben Puls

Вы можете использовать reply_photo.

await message.reply_photo(photo=photo, caption='some text')

А также send_photo

await bot.send_photo(message.chat.id, photo, caption='some text')
→ Ссылка