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