Fix admin middleware

This commit is contained in:
Zakhar Izmaylov
2024-11-17 15:39:27 +03:00
parent 4dba5736e1
commit 75b5d2f9cc
+11 -7
View File
@@ -4,6 +4,7 @@ from aiogram import BaseMiddleware
from aiogram.types import TelegramObject
from config import ADMIN_ID
from logger import logger
class AdminMiddleware(BaseMiddleware):
@@ -13,12 +14,15 @@ class AdminMiddleware(BaseMiddleware):
event: TelegramObject,
data: Dict[str, Any],
) -> Any:
if isinstance(ADMIN_ID, list):
if event.from_user.id in ADMIN_ID:
data["admin"] = True
elif isinstance(ADMIN_ID, int):
if event.from_user.id == ADMIN_ID:
data["admin"] = True
else:
try:
if isinstance(ADMIN_ID, list):
if event.from_user.id in ADMIN_ID:
data["admin"] = True
elif isinstance(ADMIN_ID, int):
if event.from_user.id == ADMIN_ID:
data["admin"] = True
except Exception as e:
logger.error(e)
finally:
data["admin"] = False
return await handler(event, data)