from typing import Callable from aiogram import Bot from aiogram.client.default import DefaultBotProperties from aiogram.fsm.context import FSMContext from helper_bot.utils.base_dependency_factory import get_global_instance from .services import PostPublishService, BanService def get_post_publish_service() -> PostPublishService: """Фабрика для PostPublishService""" bdf = get_global_instance() bot = Bot( token=bdf.settings['Telegram']['bot_token'], default=DefaultBotProperties(parse_mode='HTML'), timeout=30.0 ) db = bdf.get_db() settings = bdf.settings return PostPublishService(bot, db, settings) def get_ban_service() -> BanService: """Фабрика для BanService""" bdf = get_global_instance() bot = Bot( token=bdf.settings['Telegram']['bot_token'], default=DefaultBotProperties(parse_mode='HTML'), timeout=30.0 ) db = bdf.get_db() settings = bdf.settings return BanService(bot, db, settings)