Как отправить фотографию в бота телеграмм aiogram

Дело в том что есть генератор qr кода, он генерирует код сохраняет его в папку, но как сделать чтобы он отправлялся в сообщение боту


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

Автор решения: Muxe1

Держи

photo = open('Путь к фото', 'rb')
await bot.send_photo(chat_id, photo)
→ Ссылка
Автор решения: MyZik

Создайте объект InputFile, в котором хранится путь к файлу и воспользуйтесь методом send_photo():

photo = InputFile("files/test.png")

await bot.send_photo(chat_id=message.chat.id, photo=photo)
→ Ссылка
Автор решения: Длиато Райкаут
with open('Путь к фото', 'rb') as photo:
    await bot.send_photo(chat_id=message.chat.id, photo)
→ Ссылка
Автор решения: Mousillion

Нужно экспортировать InputFile

from aiogram.types import InputFile

Затем создать переменную, через которую указываем путь к фото и указываем нашу переменную photo при отправке через bot.send_photo()

photo = InputFile("files/any_picture.png")

await bot.send_photo(chat_id=message.chat.id, photo=photo)
→ Ссылка
Автор решения: empxthy

Покажу самый лёгкий путь. (aiogram v3.x >)

Если используеться Bot то:

await bot.send_photo(msg.chat.id, photo=types.FSInputFile(photo_path))

Если через Router то (@router.message):

await message.answer(reply)_photo(photo=types.FSInputFile(photo_path))
→ Ссылка
Автор решения: Zergey

aiogram 3.x Мне такой способ помог. Написал функцию

@router.message(F.photo)
async def get_photo(msg: Message):
    await msg.answer(f'ID фото: {msg.photo[-1].file_id}')

Дальше в бота в телеге отправил фото с компа, получил id Дальше написал так

await bot.send_photo('-id канала', photo='id фото которое отдаст бот в предыдущей функции', 
caption='здесь какой то текст', reply_markup=инлайн_кнпока)

на этом все, бот отправляет сообщение в канал, снизу под постом кнопка для перехода на рекламируемый ресурс.

→ Ссылка
Автор решения: miyon
from aiogram.types import FSInputFile 

@dp.message(Command("picture"))
async def get_qr_function(message: Message):
    chat_id = message.chat.id
    photo = "User/photo/img.png" # Путь к фото
    await bot.send_photo(chat_id=chat_id, photo=FSInputFile(path=photo))

    
→ Ссылка