| | 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', '') |
| | FMP_API_KEY = os.getenv('FMP_API_TOKEN', '') |
| | SEC_API_KEY = os.getenv('SEC_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 |
| |
|