aiogram 3 уровни доступа через ChatTypesFilter
подскажите как лучше реализовать уровни доступа в боте что по ним ботт реагировал.
Есть ChatTypesFilter в котором есть уровень IsBoss и IsAdmin которые подтягиваются из базы данных
Есть хэндлер
@banlist_router.message(Command("ban"), IsBoss() or IsAdmin())
async def ban_user(message: types.Message, bot: Bot):
print('some_code')
надо чтобы бот реагировал является ли пользователь боссом или админом. А сейчас он реагирует на одно условие которое первое - IsBoss() . Мне нужно на каждую функцию настроить разные уровни доступа
Ответы (1 шт):
Автор решения: CausonQ
→ Ссылка
Если обратиться к документации:
Also, if you want to use two alternative ways to run the same handler (“or” condition) you can register the handler twice or more times as you like
@<router>.message(F.text == "hi")
@<router>.message(CommandStart())
Регистрируем несколько хендлеров и они будут работать как или
Должно быть примерно так:
@banlist_router.message(Command("ban"), IsAdmin())
@banlist_router.message(Command("ban"), IsBoss())
async def ban_user(message: types.Message, bot: Bot):
print('some_code')