From 43e9c263d5178734fb284e3dd414258a14d3e6ea Mon Sep 17 00:00:00 2001 From: xds Date: Tue, 3 Feb 2026 17:02:14 +0300 Subject: [PATCH] + api --- routers/char_router.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/routers/char_router.py b/routers/char_router.py index 9363423..d6ec870 100644 --- a/routers/char_router.py +++ b/routers/char_router.py @@ -1,3 +1,4 @@ +import io import logging import traceback @@ -71,14 +72,15 @@ async def new_char_bio(message: Message, state: FSMContext, dao: DAO, bot: Bot): await dao.chars.add_character(char) file_info = await bot.get_file(char.character_image_doc_tg_id) file_bytes = await bot.download_file(file_info.file_path) + file_io = file_bytes.read() avatar_asset = await dao.assets.save_asset( - Asset(name="avatar.png", type=AssetType.IMAGE, linked_char_id=char.id, data=file_bytes, - tg_doc_file_id=message.document.file_id)) + Asset(name="avatar.png", type=AssetType.IMAGE, linked_char_id=str(char.id), data=file_io, + tg_doc_file_id=file_id)) char.avatar_image = avatar_asset.link # Отправляем подтверждение # Используем байты для отправки обратно photo_msg = await message.answer_photo( - photo=BufferedInputFile(file_bytes.read(), + photo=BufferedInputFile(file_io, filename="char.jpg") if not char.character_image_tg_id else char.character_image_tg_id, caption=( "🎉 Персонаж создан!\n\n" @@ -86,6 +88,7 @@ async def new_char_bio(message: Message, state: FSMContext, dao: DAO, bot: Bot): f"📝 Био: {char.character_bio}" ) ) + file_bytes.close() char.character_image_tg_id = photo_msg.photo[0].file_id await dao.chars.update_char(char.id, char)