20 lines
516 B
Python
20 lines
516 B
Python
"""Фильтры доступа."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from aiogram.filters import BaseFilter
|
|
from aiogram.types import CallbackQuery, Message
|
|
|
|
from config import Settings
|
|
|
|
|
|
class IsAdmin(BaseFilter):
|
|
def __init__(self, settings: Settings) -> None:
|
|
self._admin_ids = set(settings.admin_ids)
|
|
|
|
async def __call__(self, event: Message | CallbackQuery) -> bool:
|
|
user = event.from_user
|
|
if user is None:
|
|
return False
|
|
return user.id in self._admin_ids
|