""" 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 @classmethod 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()