31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
|
|
"""Модуль конфигурации для загрузки настроек из переменных окружения."""
|
||
|
|
|
||
|
|
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()
|