Files

40 lines
1.6 KiB
Python

# - *- coding: utf- 8 - *-
from aiogram import Dispatcher
from tgbot.routers import main_errors, main_missed, main_start
from tgbot.routers import channel_requests
from tgbot.routers.admin import admin_menu
from tgbot.routers.admin import admin_panel
from tgbot.utils.misc.bot_filters import IsAdmin, IsPrivate
# Подключение всех роутеров
def register_all_routers(dp: Dispatcher):
# Общие фильтры для приватных чатов
main_errors.router.message.filter(IsPrivate())
main_start.router.message.filter(IsPrivate())
# Панель /admin — только для приватных чатов и только для админов
admin_panel.router.message.filter(IsPrivate(), IsAdmin())
admin_panel.router.callback_query.filter(IsPrivate(), IsAdmin())
admin_menu.router.message.filter(IsPrivate(), IsAdmin())
admin_menu.router.callback_query.filter(IsPrivate(), IsAdmin())
main_missed.router.message.filter(IsPrivate())
main_missed.router.callback_query.filter(IsPrivate())
# channel_requests не фильтруем по IsPrivate — заявки приходят от каналов
dp.include_router(channel_requests.router) # ChatJoinRequest
# Базовые роутеры
dp.include_router(main_errors.router)
dp.include_router(main_start.router)
# Пользователи и админы
dp.include_router(admin_panel.router) # /admin панель (раньше admin_menu)
dp.include_router(admin_menu.router) # утилиты: /db, /log, /clear_log
# Всё, что не поймали выше
dp.include_router(main_missed.router)