Initial commit
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
"""Модуль конфигурации для загрузки настроек из переменных окружения."""
|
||||
|
||||
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()
|
||||
Reference in New Issue
Block a user