From 3a7e80adcbe45825195087b88f242fe949fcb008 Mon Sep 17 00:00:00 2001 From: Sergey Elpashev Date: Sat, 4 Nov 2023 05:32:00 +0300 Subject: [PATCH] Admin check --- handlers/middlewares/user.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/handlers/middlewares/user.py b/handlers/middlewares/user.py index ec4b599..0029779 100644 --- a/handlers/middlewares/user.py +++ b/handlers/middlewares/user.py @@ -4,9 +4,8 @@ from aiogram import BaseMiddleware from aiogram.types import Message from sqlalchemy.orm import Session -from db.data import User, engine +from db.data import Admin, User, engine -ADMIN_LIST = [248770879, 395543883] class AdminMiddleware(BaseMiddleware): def __init__(self) -> None: @@ -14,11 +13,12 @@ class AdminMiddleware(BaseMiddleware): async def __call__(self, handler: Callable[[Message, Dict[str, Any]], Awaitable[Any]], event: Message, data: Dict[str, Any]) -> Any: with Session(engine) as session: - if not session.get(User, event.from_user.id): - user = User(id=event.from_user.id, user_name=event.from_user.username) - session.add(user) - session.commit() - if event.from_user.id not in ADMIN_LIST: + if not session.get(User, event.from_user.id): + user = User(id=event.from_user.id, user_name=event.from_user.username) + session.add(user) + session.commit() + isAdmin = session.get(Admin, event.from_user.id) + if not isAdmin: await event.answer('Команда только для админов!') return None return await handler(event, data)