import os from pathlib import Path from dotenv import load_dotenv # Загрузка переменных окружения load_dotenv() # Пути BASE_DIR = Path(__file__).parent.parent # Корень проекта (batch-bot/) DATA_DIR = BASE_DIR / "data" # Примонтированная директория для данных SESSIONS_DIR = BASE_DIR / "sessions" LOGS_DIR = DATA_DIR / "logs" DB_PATH = DATA_DIR / "comments.db" # Telegram Bot (контроллер) BOT_TOKEN = os.getenv("BOT_TOKEN") # Telegram API (воркеры) API_ID = int(os.getenv("TELEGRAM_API_ID", "0")) API_HASH = os.getenv("TELEGRAM_API_HASH", "") # Группы (добавляются через бота) LOG_GROUP_ID = int(os.getenv("LOG_GROUP_ID", "0")) # Ollama OLLAMA_URL = os.getenv("OLLAMA_URL", "http://localhost:11434").rstrip("/") OLLAMA_MODEL = os.getenv("OLLAMA_MODEL", "qwen3:30b-a3b") PROMPT_FILE = os.getenv("PROMPT_FILE", "prompt.txt") # Сканирование INITIAL_SCAN_LIMIT = int(os.getenv("INITIAL_SCAN_LIMIT", "20")) # Комментарии MAX_REGENERATIONS = int(os.getenv("MAX_REGENERATIONS", "3")) COMMENT_DELAY_MIN = int(os.getenv("COMMENT_DELAY_MIN", "1")) COMMENT_DELAY_MAX = int(os.getenv("COMMENT_DELAY_MAX", "5")) # Админы ADMIN_IDS = [int(x.strip()) for x in os.getenv("ADMIN_IDS", "").split(",") if x.strip()] # Проверка конфигурации def validate_config(): errors = [] if not BOT_TOKEN: errors.append("BOT_TOKEN не задан") if not API_ID or not API_HASH: errors.append("TELEGRAM_API_ID или TELEGRAM_API_HASH не заданы") if not LOG_GROUP_ID: errors.append("LOG_GROUP_ID не задан") if not ADMIN_IDS: errors.append("ADMIN_IDS не заданы") return errors