| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- import os
- from dotenv import load_dotenv
- def _env_int(name: str, default: int = 0) -> int:
- try:
- return int(os.environ.get(name, default))
- except (TypeError, ValueError):
- return default
- CONFIG_ENV_PATH = os.environ.get(
- "WBB_CONFIG_PATH",
- "config.env" if os.path.isfile("config.env") else "sample_config.env",
- )
- load_dotenv(CONFIG_ENV_PATH)
- BOT_TOKEN = os.environ.get("BOT_TOKEN", "")
- API_ID = _env_int("API_ID")
- SESSION_STRING = os.environ.get("SESSION_STRING", "")
- API_HASH = os.environ.get("API_HASH", "")
- USERBOT_PREFIX = os.environ.get("USERBOT_PREFIX", "\\")
- PHONE_NUMBER = os.environ.get("PHONE_NUMBER", "")
- SUDO_USERS_ID = [
- int(item)
- for item in os.environ.get("SUDO_USERS_ID", "").split()
- if item.lstrip("-").isdigit() and int(item) > 0
- ]
- LOG_GROUP_ID = _env_int("LOG_GROUP_ID")
- GBAN_LOG_GROUP_ID = _env_int("GBAN_LOG_GROUP_ID")
- MESSAGE_DUMP_CHAT = _env_int("MESSAGE_DUMP_CHAT")
- WELCOME_DELAY_KICK_SEC = _env_int("WELCOME_DELAY_KICK_SEC", 600)
- MONGO_URL = os.environ.get("MONGO_URL", "mongodb://127.0.0.1:27017/wbb")
- ARQ_API_KEY = os.environ.get("ARQ_API_KEY")
- ARQ_API_URL = os.environ.get("ARQ_API_URL", "https://arq.hamker.dev")
- LOG_MENTIONS = os.environ.get("LOG_MENTIONS", "True").lower() in ["true", "1"]
- RSS_DELAY = int(os.environ.get("RSS_DELAY", 300))
- PM_PERMIT = os.environ.get("PM_PERMIT", "True").lower() in ["true", "1"]
- ADMIN_WEB_ENABLED = os.environ.get("ADMIN_WEB_ENABLED", "True").lower() in [
- "true",
- "1",
- ]
- ADMIN_WEB_HOST = os.environ.get("ADMIN_WEB_HOST", "127.0.0.1")
- ADMIN_WEB_PORT = _env_int("ADMIN_WEB_PORT", 8088)
- ADMIN_WEB_USERNAME = os.environ.get("ADMIN_WEB_USERNAME", "admin")
- ADMIN_WEB_INITIAL_PASSWORD = os.environ.get(
- "ADMIN_WEB_INITIAL_PASSWORD", "qwe0.123456"
- )
- ADMIN_WEB_SESSION_HOURS = _env_int("ADMIN_WEB_SESSION_HOURS", 12)
- ADMIN_WEB_COOKIE_SECURE = os.environ.get(
- "ADMIN_WEB_COOKIE_SECURE", "False"
- ).lower() in ["true", "1"]
- ADMIN_WEB_UPLOAD_MAX_MB = _env_int("ADMIN_WEB_UPLOAD_MAX_MB", 20)
- ADMIN_WEB_STATIC_DIR = os.environ.get("ADMIN_WEB_STATIC_DIR", "admin-web/dist")
- SERVICE_ADDRESS_ENCRYPTION_KEY = os.environ.get(
- "SERVICE_ADDRESS_ENCRYPTION_KEY", ""
- )
- SERVICE_ADDRESS_RETENTION_DAYS = _env_int("SERVICE_ADDRESS_RETENTION_DAYS", 7)
- SERVICE_REVIEW_QR_EXPIRY_HOURS = _env_int("SERVICE_REVIEW_QR_EXPIRY_HOURS", 24)
- SERVICE_REVIEW_FORUM_CHAT_ID = os.environ.get("SERVICE_REVIEW_FORUM_CHAT_ID", "")
- SERVICE_REVIEW_FORUM_USERNAME = os.environ.get(
- "SERVICE_REVIEW_FORUM_USERNAME", ""
- )
- SERVICE_CUSTOMER_MAX_OPEN_ORDERS = _env_int("SERVICE_CUSTOMER_MAX_OPEN_ORDERS", 3)
- SERVICE_CUSTOMER_DAILY_REQUEST_LIMIT = _env_int(
- "SERVICE_CUSTOMER_DAILY_REQUEST_LIMIT", 10
- )
- SERVICE_TECHNICIAN_MINI_APP_URL = os.environ.get(
- "SERVICE_TECHNICIAN_MINI_APP_URL",
- "https://tg.97admin.com/admin/technician",
- )
- SERVICE_MINI_APP_AUTH_MAX_AGE_SECONDS = _env_int(
- "SERVICE_MINI_APP_AUTH_MAX_AGE_SECONDS",
- 3600,
- )
- BUSINESS_ASSISTANT_OPENAI_BASE_URL = os.environ.get(
- "BUSINESS_ASSISTANT_OPENAI_BASE_URL", ""
- )
- BUSINESS_ASSISTANT_OPENAI_API_KEY = os.environ.get(
- "BUSINESS_ASSISTANT_OPENAI_API_KEY", ""
- )
- BUSINESS_ASSISTANT_OPENAI_MODEL = os.environ.get(
- "BUSINESS_ASSISTANT_OPENAI_MODEL", ""
- )
- BUSINESS_ASSISTANT_OPENAI_TIMEOUT_SECONDS = _env_int(
- "BUSINESS_ASSISTANT_OPENAI_TIMEOUT_SECONDS", 30
- )
- BUSINESS_ASSISTANT_OPENAI_MAX_OUTPUT_TOKENS = _env_int(
- "BUSINESS_ASSISTANT_OPENAI_MAX_OUTPUT_TOKENS", 600
- )
- USERBOT_ENABLED = os.environ.get("USERBOT_ENABLED", "False").lower() in ["true", "1"]
- ADMIN_BOOTSTRAP_MODE = os.environ.get("WBB_ADMIN_BOOTSTRAP", "0").lower() in ["true", "1"]
- SUPERVISOR_MODE = os.environ.get("WBB_SUPERVISOR_MODE", "0").lower() in ["true", "1"]
- BOT_PROFILE_ID = os.environ.get("WBB_BOT_PROFILE_ID", "primary")
- BOT_PROFILES_PATH = os.environ.get("BOT_PROFILES_PATH", "runtime/bot_profiles.json")
- BOT_WORKER_MODE = os.environ.get("WBB_BOT_WORKER", "0").lower() in ["true", "1"]
- SUPERVISOR_INTERNAL_URL = os.environ.get("WBB_SUPERVISOR_INTERNAL_URL", "")
- INTERNAL_TOKEN = os.environ.get("WBB_INTERNAL_TOKEN", "")
- _BOT_PERMISSIONS_RAW = os.environ.get("WBB_BOT_PERMISSIONS")
- BOT_PERMISSIONS = (
- {"*"}
- if _BOT_PERMISSIONS_RAW is None
- else {
- item.strip()
- for item in _BOT_PERMISSIONS_RAW.split(",")
- if item.strip()
- }
- )
|