diff --git a/bot.py b/bot.py index abf95cb9..62c86a2a 100644 --- a/bot.py +++ b/bot.py @@ -1,12 +1,12 @@ import traceback -from aiogram import Bot, Dispatcher, Router +from aiogram import Bot, Dispatcher from aiogram.client.default import DefaultBotProperties from aiogram.enums import ParseMode from aiogram.fsm.storage.memory import MemoryStorage from aiogram.types import ErrorEvent -from config import API_TOKEN, CRYPTO_BOT_ENABLE, FREEKASSA_ENABLE, ROBOKASSA_ENABLE, STARS_ENABLE, YOOKASSA_ENABLE +from config import API_TOKEN from logger import logger from middlewares.admin import AdminMiddleware from middlewares.database import DatabaseMiddleware @@ -17,37 +17,6 @@ from middlewares.user import UserMiddleware bot = Bot(token=API_TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML)) storage = MemoryStorage() dp = Dispatcher(bot=bot, storage=storage) -router = Router() - -from handlers import coupons, donate, notifications, pay, profile, start -from handlers.admin import admin_coupons, admin_panel, admin_servers, admin_user_editor -from handlers.instructions import instructions -from handlers.keys import key_management, keys -from handlers.payments import cryprobot_pay, freekassa_pay, robokassa_pay, stars_pay, yookassa_pay - -dp.include_router(admin_coupons.router) -dp.include_router(admin_panel.router) -dp.include_router(admin_user_editor.router) -dp.include_router(admin_servers.router) -dp.include_router(coupons.router) -dp.include_router(start.router) -dp.include_router(profile.router) -dp.include_router(keys.router) -dp.include_router(key_management.router) -dp.include_router(pay.router) -dp.include_router(notifications.router) -dp.include_router(instructions.router) -dp.include_router(donate.router) -if YOOKASSA_ENABLE: - dp.include_router(yookassa_pay.router) -if FREEKASSA_ENABLE: - dp.include_router(freekassa_pay.router) -if CRYPTO_BOT_ENABLE: - dp.include_router(cryprobot_pay.router) -if STARS_ENABLE: - dp.include_router(stars_pay.router) -if ROBOKASSA_ENABLE: - dp.include_router(robokassa_pay.router) dp.message.middleware(LoggingMiddleware()) dp.callback_query.middleware(LoggingMiddleware()) diff --git a/handlers/__init__.py b/handlers/__init__.py new file mode 100644 index 00000000..613d08f9 --- /dev/null +++ b/handlers/__init__.py @@ -0,0 +1,30 @@ +__all__ = ('router',) + +from aiogram import Router + +from .admin import router as admin_router +from .coupons import router as coupons_router +from .donate import router as donate_router +from .instructions import router as instructions_router +from .keys import router as keys_router +from .notifications import router as notifications_router +from .pay import router as pay_router +from .payments import router as payments_router +from .profile import router as profile_router +from .start import router as start_router + +router = Router(name='handlers_main_router') + +router.include_routers( + start_router, + profile_router, + pay_router, + donate_router, + coupons_router, + notifications_router, + + payments_router, + keys_router, + instructions_router, + admin_router, +) diff --git a/handlers/admin/__init__.py b/handlers/admin/__init__.py new file mode 100644 index 00000000..8f83973d --- /dev/null +++ b/handlers/admin/__init__.py @@ -0,0 +1,17 @@ +__all__ = ('router',) + +from aiogram import Router + +from .admin_coupons import router as coupons_router +from .admin_panel import router as panel_router +from .admin_servers import router as servers_router +from .admin_user_editor import router as user_editor_router + +router = Router(name='admins_main_router') + +router.include_routers( + panel_router, + servers_router, + coupons_router, + user_editor_router, +) diff --git a/handlers/instructions/__init__.py b/handlers/instructions/__init__.py new file mode 100644 index 00000000..b8121003 --- /dev/null +++ b/handlers/instructions/__init__.py @@ -0,0 +1,11 @@ +__all__ = ('router',) + +from aiogram import Router + +from .instructions import router as instructions_router + +router = Router(name='instructions_main_router') + +router.include_routers( + instructions_router, +) diff --git a/handlers/keys/__init__.py b/handlers/keys/__init__.py new file mode 100644 index 00000000..45256dad --- /dev/null +++ b/handlers/keys/__init__.py @@ -0,0 +1,13 @@ +__all__ = ('router',) + +from aiogram import Router + +from .key_management import router as management_router +from .keys import router as keys_router + +router = Router(name='keys_main_router') + +router.include_routers( + keys_router, + management_router, +) diff --git a/handlers/payments/__init__.py b/handlers/payments/__init__.py new file mode 100644 index 00000000..231dd68a --- /dev/null +++ b/handlers/payments/__init__.py @@ -0,0 +1,23 @@ +__all__ = ('router',) + +from aiogram import Router + +from config import ROBOKASSA_ENABLE, STARS_ENABLE, CRYPTO_BOT_ENABLE, FREEKASSA_ENABLE, YOOKASSA_ENABLE +from .cryprobot_pay import router as cryprobot_router +from .freekassa_pay import router as freekassa_router +from .robokassa_pay import router as robokassa_router +from .stars_pay import router as stars_router +from .yookassa_pay import router as yookassa_router + +router = Router(name='payments_main_router') + +if YOOKASSA_ENABLE: + router.include_router(yookassa_router) +if FREEKASSA_ENABLE: + router.include_router(freekassa_router) +if ROBOKASSA_ENABLE: + router.include_router(robokassa_router) +if CRYPTO_BOT_ENABLE: + router.include_router(cryprobot_router) +if STARS_ENABLE: + router.include_router(stars_router)