Files

31 lines
1.2 KiB
Python
Raw Permalink Normal View History

2026-05-31 18:46:09 +08:00
"""Модуль конфигурации для загрузки настроек из переменных окружения."""
import os
from dotenv import load_dotenv
load_dotenv()
class Settings:
"""Настройки приложения."""
BOT_TOKEN: str = os.getenv("BOT_TOKEN", "")
ADMIN_ID: int = int(os.getenv("ADMIN_ID", "0"))
SD_API_URL: str = os.getenv("SD_API_URL", "http://192.168.1.120:7860")
IMAGES_DIR: str = os.getenv("IMAGES_DIR", "/app/images")
DEFAULT_IMAGE_TTL_HOURS: int = int(os.getenv("DEFAULT_IMAGE_TTL_HOURS", "48"))
MAX_IMAGE_TTL_HOURS: int = int(os.getenv("MAX_IMAGE_TTL_HOURS", "168"))
CLEANUP_INTERVAL_MINUTES: int = int(os.getenv("CLEANUP_INTERVAL_MINUTES", "30"))
DB_PATH: str = os.getenv("DB_PATH", "/app/data/bot.db")
@classmethod
def validate(cls) -> None:
"""Проверка обязательных настроек."""
if not cls.BOT_TOKEN or cls.BOT_TOKEN == "your_telegram_bot_token_here":
raise ValueError(
"BOT_TOKEN не установлен. Получите токен у @BotFather и установите его в .env файле."
)
settings = Settings()