generated from FOSS/Bot-Template
40 lines
1.6 KiB
Python
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)
|