Получение байтов фото через 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)