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) | |