Files
Solo_bot/middlewares/admin.py
T
Zakhar Izmaylov 3aaa8d1ea3 Fix Middleware
2024-11-17 16:14:35 +03:00

31 lines
918 B
Python

from typing import Any, Awaitable, Callable, Dict
from aiogram import BaseMiddleware
from aiogram.types import TelegramObject
from config import ADMIN_ID
from logger import logger
class AdminMiddleware(BaseMiddleware):
async def __call__(
self,
handler: Callable[[TelegramObject, Dict[str, Any]], Awaitable[Any]],
event: TelegramObject,
data: Dict[str, Any],
) -> Any:
data["admin"] = False
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
else:
data["admin"] = False
except Exception as e:
logger.error(e)
data["admin"] = False
return await handler(event, data)