from aiogram.filters import BaseFilter from aiogram.types import CallbackQuery, Message from bot.config import ADMIN_ID from bot.logging_utils import get_logger logger = get_logger(__name__) class AdminFilter(BaseFilter): async def __call__(self, message: Message) -> bool: allowed = message.from_user.id == ADMIN_ID if not allowed: logger.warning( "Отклонено сообщение от неавторизованного пользователя: user_id=%s", message.from_user.id if message.from_user else None, ) return allowed class AdminCallbackFilter(BaseFilter): async def __call__(self, callback: CallbackQuery) -> bool: allowed = callback.from_user.id == ADMIN_ID if not allowed: logger.warning( "Отклонен callback от неавторизованного пользователя: user_id=%s data=%s", callback.from_user.id, callback.data, ) return allowed