# PATH: bot/config.py import os def _get_int(name: str, default: int) -> int: try: return int(str(os.environ.get(name, default)).strip()) except Exception: return default def _get_str(name: str, default: str = "") -> str: return str(os.environ.get(name, default)).strip() class Telegram: API_ID: int = _get_int("API_ID", 0) API_HASH: str = _get_str("API_HASH", "") OWNER_ID: int = _get_int("OWNER_ID", 0) # HF: SESSION_STRING preferred (works even if BOT_TOKEN blocked) SESSION_STRING: str = _get_str("SESSION_STRING", "") BOT_TOKEN: str = _get_str("BOT_TOKEN", "") class Workers: WORKER1_URL: str = _get_str("WORKER1_URL", "").rstrip("/") WORKER2_URL: str = _get_str("WORKER2_URL", "").rstrip("/") BOT_BACKEND_KEY: str = _get_str("BOT_BACKEND_KEY", "") HF_API_KEY: str = _get_str("HF_API_KEY", "") class Server: BIND_ADDRESS: str = _get_str("BIND_ADDRESS", "0.0.0.0") PORT: int = _get_int("PORT", 7860) LOGGER_CONFIG_JSON = { "version": 1, "disable_existing_loggers": False, "formatters": { "default": { "format": "[%(asctime)s][%(name)s][%(levelname)s] -> %(message)s", "datefmt": "%d/%m/%Y %H:%M:%S", } }, "handlers": {"stream": {"class": "logging.StreamHandler", "formatter": "default"}}, "loggers": { "uvicorn": {"level": "INFO", "handlers": ["stream"]}, "uvicorn.error": {"level": "INFO", "handlers": ["stream"]}, "bot": {"level": "INFO", "handlers": ["stream"]}, "hydrogram": {"level": "INFO", "handlers": ["stream"]}, "httpx": {"level": "WARNING", "handlers": ["stream"]}, }, }