"""Создание объектов Bot и Dispatcher, регистрация роутеров.""" from __future__ import annotations from aiogram import Bot, Dispatcher from aiogram.client.default import DefaultBotProperties from aiogram.enums import ParseMode from aiogram.fsm.storage.memory import MemoryStorage from common.config import get_settings def create_bot() -> Bot: """Создать объект бота с HTML-разметкой по умолчанию.""" settings = get_settings() return Bot( token=settings.bot_token, default=DefaultBotProperties(parse_mode=ParseMode.HTML), ) def create_dispatcher() -> Dispatcher: """Собрать Dispatcher и подключить все роутеры. Порядок важен: сначала события участников и команды, затем магазин, и в конце — экономика (в ней есть catch-all обработчик сообщений). """ from bot.handlers import commands, economy, member_events, shop from bot.handlers.errors import register_errors dp = Dispatcher(storage=MemoryStorage()) dp.include_router(member_events.router) dp.include_router(commands.router) dp.include_router(shop.router) dp.include_router(economy.router) register_errors(dp) return dp