Spaces:
Sleeping
Sleeping
File size: 1,077 Bytes
9a1712b fae6cf3 9a1712b fae6cf3 9a1712b fae6cf3 9a1712b fae6cf3 9a1712b fae6cf3 9a1712b fae6cf3 9a1712b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | """
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() |