import os from dataclasses import dataclass @dataclass class Config: BOT_TOKEN: str DB_USER: str DB_PASS: str DB_HOST: str DB_PORT: str DB_NAME: str @property def DATABASE_URL(self): return f"postgresql+asyncpg://{self.DB_USER}:{self.DB_PASS}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}" def load_config() -> Config: return Config( BOT_TOKEN=os.getenv("BOT_TOKEN"), DB_USER=os.getenv("DB_USER", "postgres"), DB_PASS=os.getenv("DB_PASS", "postgres"), DB_HOST=os.getenv("DB_HOST", "db"), # 'db' - это имя сервиса в docker-compose DB_PORT=os.getenv("DB_PORT", "5432"), DB_NAME=os.getenv("DB_NAME", "bot_db"), ) config = load_config()