51 lines
2.1 KiB
Python
51 lines
2.1 KiB
Python
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()
|