Spaces:
Sleeping
Sleeping
| """ | |
| config.py — Centralized configuration loader. | |
| """ | |
| import os | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| class Config: | |
| # Telegram | |
| BOT_TOKEN: str = os.getenv("BOT_TOKEN", "") | |
| OWNER_USERNAME: str = os.getenv("OWNER_USERNAME", "Ahmad_Gebril") | |
| # Database | |
| DATABASE_URL: str = os.getenv("DATABASE_URL", "") | |
| # Webhook — your HF Space public URL (no trailing slash) | |
| # Example: https://ahmad3g-telegram-bot.hf.space | |
| WEBHOOK_URL: str = os.getenv("WEBHOOK_URL", "") | |
| # Web server | |
| WEB_HOST: str = "0.0.0.0" | |
| WEB_PORT: int = 7860 | |
| # Pagination | |
| ITEMS_PER_PAGE: int = 10 | |
| def validate(cls): | |
| missing = [] | |
| if not cls.BOT_TOKEN: | |
| missing.append("BOT_TOKEN") | |
| if not cls.DATABASE_URL: | |
| missing.append("DATABASE_URL") | |
| if not cls.WEBHOOK_URL: | |
| missing.append("WEBHOOK_URL") | |
| if missing: | |
| raise EnvironmentError( | |
| f"❌ Missing environment variables: {', '.join(missing)}" | |
| ) | |
| config = Config() |