| from aiogram.filters import BaseFilter | |
| from aiogram.types import Message | |
| from sqlalchemy.ext.asyncio import AsyncSession | |
| from bot.services.users import is_admin | |
| class AdminFilter(BaseFilter): | |
| """Allows only administrators (whose database column is_admin=True).""" | |
| async def __call__(self, message: Message, session: AsyncSession) -> bool: | |
| if not message.from_user: | |
| return False | |
| user_id = message.from_user.id | |
| return await is_admin(session=session, user_id=user_id) | |