import configparser import os import sys from database.db import BotDB from helper_bot.helper_bot import TelegramHelperBot from logs.custom_logger import Logger #TODO: Добавить проверку можно ли отвечать пользователю? Сейчас если у него скрыто лс, ему похоже не приходят сообщения #TODO Подумать над реализацией функционала с поступлениями в колледжи #TODO: Покрыть все логированием и ошибками корректными. Ерроры кидать в чат. #TODO: Покрыть все тестами class BaseDependencyFactory: def __init__(self): # Загрузка настроек из settings.ini self.logger = Logger('main') config_path = os.path.join(sys.path[0], 'settings.ini') self.config = configparser.ConfigParser() self.config.read(config_path) self.BotDB = BotDB('database/tg-bot-database') self.settings = {} for section in self.config.sections(): self.settings[section] = {} for key in self.config[section]: # Преобразование значений в соответствующий тип if key == 'PREVIEW_LINK': self.settings[section][key] = self.config.getboolean(section, key) elif key == 'LOGS' or key == 'TEST': self.settings[section][key] = self.config.getboolean(section, key) else: self.settings[section][key] = self.config.get(section, key) def get_settings(self): return self.settings def get_database(self): return self.BotDB if __name__ == "__main__": # Запускаем тг бота bot = TelegramHelperBot(BaseDependencyFactory()) bot.start() #scheduler = BackgroundScheduler() #scheduler.add_job(bot.unban_notifier(), 'cron', hour=22, minute=9) #scheduler.start()