import os from src.telegram_bot.logger import main_logger class Config: BOT_TOKEN: str = os.getenv("BOT_TOKEN") or os.getenv("TELEGRAM_TOKEN") GOOGLE_APPS_SCRIPT_URL: str = os.getenv("GOOGLE_APPS_SCRIPT_URL", "") WEBHOOK_SECRET: str = os.getenv("WEBHOOK_SECRET", "secret-key") SPACE_ID = os.environ.get('SPACE_ID', '') SPACE_URL = os.environ.get('SPACE_URL', '') PORT: int = int(os.getenv("PORT", 7860)) FINNHUB_API_KEY = os.getenv('FINNHUB_API_TOKEN') OPENROUTER_API_KEY = os.getenv('OPENROUTER_API_TOKEN', '') HF_TOKEN = os.getenv('HF_TOKEN', '') HF_DATASET_REPO = os.getenv('HF_DATASET_REPO', '') OPENROUTER_API_KEY_2 = os.getenv('OPENROUTER_API_TOKEN_2', '') GEMINI_API_KEY = os.getenv('GEMINI_API_TOKEN', '') @classmethod def validate(cls) -> bool: """Validate required configuration""" missing = [] for var in dir(cls): if var.isupper(): value = getattr(cls, var) if value in (None, "", []): missing.append(var) if missing: main_logger.error(f"Missing required environment variables: {missing}") return False return True