import os from pathlib import Path from dotenv import load_dotenv # Загрузка переменных окружения load_dotenv() class Config: """Класс для управления конфигурацией""" def __init__(self): # Telegram self.bot_token = os.getenv("BOT_TOKEN", "") # Database self.db_host = os.getenv("DB_HOST", "localhost") self.db_user = os.getenv("DB_USER", "root") self.db_password = os.getenv("DB_PASSWORD", "") self.db_name = os.getenv("DB_NAME", "botyobshik") # Support self.support_username = os.getenv("SUPPORT_USERNAME", "@support_username") # Payment self.payment_channel_id = os.getenv("PAYMENT_CHANNEL_ID", "") self.payment_thread_id = os.getenv("PAYMENT_THREAD_ID", "") self.payment_ticket_channel_id = os.getenv("PAYMENT_TICKET_CHANNEL_ID", "") self.payment_ticket_thread_id = os.getenv("PAYMENT_TICKET_THREAD_ID", "") self.payment_phone = os.getenv("PAYMENT_PHONE", "+7 904 788 77 35") # Admin admin_ids_str = os.getenv("ADMIN_IDS", "") self.admin_ids = [int(x.strip()) for x in admin_ids_str.split(",") if x.strip().isdigit()] # Remnawave API self.remwave_api_url = os.getenv("REMWAVE_API_URL", "") self.remwave_api_key = os.getenv("REMWAVE_API_KEY", "") @property def db_config(self) -> dict: """Конфигурация подключения к БД""" return { "host": self.db_host, "user": self.db_user, "password": self.db_password, } @property def db_config_with_name(self) -> dict: """Конфигурация подключения к БД с именем базы""" return { **self.db_config, "database": self.db_name } # Глобальный экземпляр конфигурации config = Config()