From 2290584c45fb7e1bcc01164271ffcbe205b97ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=90=D0=B1?= =?UTF-8?q?=D0=BE=D1=80=D0=BA=D0=B8=D0=BD?= Date: Thu, 13 Jun 2024 11:56:41 +0300 Subject: [PATCH] Add/user_status_check_in_decorated_handler --- src/bot/utils.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/bot/utils.py b/src/bot/utils.py index 9a5a34aa..8c20ae6a 100644 --- a/src/bot/utils.py +++ b/src/bot/utils.py @@ -9,7 +9,7 @@ from src.bot.keyboards import get_unregistered_user_keyboard from src.bot.services import ExternalSiteUserService from src.core.depends import Container -from src.core.enums import UserRoles +from src.core.enums import UserRoles, UserStatus ReturnType = TypeVar("ReturnType") ParameterTypes = ParamSpec("ParameterTypes") @@ -64,7 +64,11 @@ async def decorated_handler( if id_hash else await ext_site_user_service.get_by_telegram_id(telegram_user.id) ) - if ext_site_user and ext_site_user.role in list(UserRoles): + if ( + ext_site_user + and ext_site_user.role in set(UserRoles) + and ext_site_user.moderation_status in set(UserStatus) + ): await handler(update, context, ext_site_user, *args, **kwargs) else: keyboard = await get_unregistered_user_keyboard()