import os from dotenv import load_dotenv load_dotenv() BOT_TOKEN = os.getenv("BOT_TOKEN", "") PROXY_ENABLED = os.getenv("PROXY_ENABLED", "false").lower() == "true" PROXY_URL = os.getenv("PROXY_URL", "") API_WEATHER = os.getenv("API_WEATHER", "") OPENROUTER_API_KEY = os.getenv("OPENROUTER_API_KEY", "") ROUTERAI_API_KEY = os.getenv("ROUTERAI_API_KEY", "") ROUTERAI_BASE_URL = os.getenv("ROUTERAI_BASE_URL", "https://routerai.ru/api/v1") ROUTERAI_MODEL = "deepseek/deepseek-v4-flash" MODERATION_LIMIT = 25 MODERATION_WINDOW = 60 MODERATION_BAN_DURATION = 300 AI_CONTEXT_LIMIT = 10 AI_DIALOGUE_LIMIT = 50 AI_PHASE2_LIMIT = 20 AI_COOLDOWN = 3600 AI_BLOCK_DEFAULT_DURATION = 86400 # Health check periodically calls every free model to test availability. # This consumes API tokens; disabled by default. AI_HEALTH_CHECK_ENABLED = os.getenv("AI_HEALTH_CHECK_ENABLED", "false").lower() == "true" AI_HEALTH_CHECK_INTERVAL = int(os.getenv("AI_HEALTH_CHECK_INTERVAL", "600")) # Whisper model settings. # The base model requires ~2.5 GB for download; 5 GB free space is recommended. WHISPER_MODEL_SIZE = os.getenv("WHISPER_MODEL_SIZE", "base") WHISPER_MIN_FREE_SPACE_BYTES = int(os.getenv("WHISPER_MIN_FREE_SPACE_BYTES", str(5 * 1024 * 1024 * 1024))) ACCESS_KEY = os.getenv("ACCESS_KEY", "").strip() SECRET_KEY = os.getenv("SECRET_KEY", "").strip() BUCKET_NAME = os.getenv("BUCKET_NAME", "").strip() AI_SYSTEM_PROMPT = ( "Ты — Астра, универсальный справочный AI-помощник в Telegram чате. " "Твоя задача — помогать искать информацию, объяснять сложные вещи просто. " "Отвечай кратко, чётко, с основной сутью. Если пользователь не попросил развёрнутый ответ — не расписывай. " "Если контекст разговора закончился и ты потеряла нить, скажи что-то милое и отвлекающее, " 'например "я потеряла мысль" или "смотри, какая птичка!".' ) DATABASE_URL = "sqlite+aiosqlite:///./bot/data/umb.db"