import os
from dotenv import load_dotenv

load_dotenv()


def env_bool(name: str, default: bool = False) -> bool:
    value = os.getenv(name)
    if value is None:
        return default
    return value.strip().lower() in ("1", "true", "yes", "on")


class Config:
    BOT_TOKEN = os.getenv("BOT_TOKEN", "").strip()
    BOT_OWNER_IDS = [
        int(x)
        for x in os.getenv("BOT_OWNER_IDS", "").replace(" ", "").split(",")
        if x.strip().isdigit()
    ]

    DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///bot.db").strip()

    WEBHOOK_DOMAIN = os.getenv("WEBHOOK_DOMAIN", "").strip()
    WEBHOOK_PATH = os.getenv("WEBHOOK_PATH", "webhook").strip().strip("/")
    WEBHOOK_SECRET = os.getenv("WEBHOOK_SECRET", "secret_token").strip()

    DEFAULT_LANG = os.getenv("DEFAULT_LANG", "fa").strip().lower()
    SPONSOR_EXEMPT_ADMINS = env_bool("SPONSOR_EXEMPT_ADMINS", True)
    NSFW_ENABLED = env_bool("NSFW_ENABLED", False)
    BOT_USERNAME = os.getenv("BOT_USERNAME", "").strip().lstrip("@")