Files
ai-char-bot/routers/assets_router.py
2026-02-03 14:20:22 +03:00

27 lines
1.0 KiB
Python

from aiogram import Router
from aiogram.filters import Command
from aiogram.types import Message, InputMediaPhoto, InputMedia, BufferedInputFile
from repos.dao import DAO
router = Router()
@router.message(Command("assets"))
async def assets_command(msg: Message, dao: DAO):
assets = await dao.assets.get_assets(limit=10, offset=0)
media_group = []
for asset in assets:
if asset.tg_photo_file_id:
media_group.append(InputMediaPhoto(media=asset.tg_photo_file_id))
elif asset.tg_doc_file_id:
asset_full_info = await dao.assets.get_asset(asset.id)
media_group.append(InputMediaPhoto(media=BufferedInputFile(asset_full_info.data, asset_full_info.name)))
else:
continue
mg = await msg.answer_media_group(media_group)
for media_index, media in enumerate(mg):
if assets[media_index].tg_photo_file_id is None:
assets[media_index].tg_photo_file_id = media.photo[-1].file_id
await dao.assets.update_asset(assets[media_index].id, assets[media_index])