28 lines
746 B
Python
28 lines
746 B
Python
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()
|