Получение байтов фото через aiogram

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

@dp.message_handler(content_types=['photo'])
async def handle_photo(msg: types.Message):
    with sqlite3.connect("users.db") as db:
        sql.execute("SELECT id FROM users")
        ids = sql.fetchall()
        photo = Читать байты отправленного фото
        for i in range(len(ids)):
            await bot.send_photo(chat_id=ids[i][0], photo=photo, caption = "Текст сообщения")
        sql.execute("UPDATE users SET photo = ?", [photo])

Можно конечно сначало сохранить фото а потом открыть InputFile() но хотелось бы что бы вы показали как можно получить байты фото из сообщений в переменную


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

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

Думаю такой способ вам подойдет

@dp.message_handler(content_types=['photo'])
async def handle_photo(message: types.Message):
    #вот эту переменную сохраняйте в бд
    id_photo = message.photo[-1].file_id
    #А потом просто вот так отправляете где айди это вытащенное фото из бд(к примеру)
    await message.answer_photo(id_photo)
    # или вот так
    await bot.send_photo(message.chat.id, id_photo)
→ Ссылка