telegram-Bot / config.py
Ahmad3g's picture
h
fae6cf3
"""
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()