From 75e99ca0712a2c09230e5c6f8d093dc526cc717d Mon Sep 17 00:00:00 2001 From: Tolmachev Igor Date: Mon, 20 Apr 2026 20:56:35 +0300 Subject: Add users command --- libs/user.py | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) (limited to 'libs/user.py') diff --git a/libs/user.py b/libs/user.py index b201ce9..d145da6 100644 --- a/libs/user.py +++ b/libs/user.py @@ -1,5 +1,29 @@ -from aiogram.types import Chat, User +from aiogram import Bot +from models import UserCache +from shared import redis_users -def mention(user: User | Chat) -> str: - return f'{user.full_name}' + +async def set_user_cache(user_cache: UserCache) -> None: + await redis_users.set( + str(user_cache.id), + user_cache.model_dump_json( + exclude_defaults=True, + exclude_none=True, + ), + ) + + +async def get_user_cache(user_id: int) -> UserCache | None: + user_cache = await redis_users.get(str(user_id)) + if user_cache is None: + return None + return UserCache.model_validate_json(user_cache) + + +async def load_user_cache(bot: Bot, user_id: int) -> UserCache: + user_cache = await get_user_cache(user_id) + if user_cache is None: + user_cache = UserCache.from_chat(await bot.get_chat(user_id)) + await set_user_cache(user_cache) + return user_cache -- cgit v1.3