intra_max_chatbot/config.py

32 lines
1.5 KiB
Python

import os
from pathlib import Path
from dotenv import load_dotenv
load_dotenv()
BOT_TOKEN: str = os.environ["MAX_BOT_TOKEN"]
_project_root = Path(__file__).parent
_db_path_raw = os.environ.get("DB_PATH", "data/support.db")
DB_PATH: str = str(
Path(_db_path_raw) if Path(_db_path_raw).is_absolute() else _project_root / _db_path_raw
)
ADMIN_USERNAME: str = os.environ.get("ADMIN_USERNAME", "admin")
ADMIN_PASSWORD: str = os.environ.get("ADMIN_PASSWORD", "changeme")
ADMIN_HOST: str = os.environ.get("ADMIN_HOST", "0.0.0.0")
ADMIN_PORT: int = int(os.environ.get("ADMIN_PORT", "8080"))
# ── Intradesk API ──────────────────────────────────────────────────────────────
INTRADESK_BASE_URL: str = os.environ.get("INTRADESK_BASE_URL", "https://apigw.intradesk.ru")
# Ключ для /settings/odata (клиенты, пользователи)
INTRADESK_API_KEY: str = os.environ.get("INTRADESK_API_KEY", "")
# Ключ для /tasklist/odata (заявки)
INTRADESK_TASKS_API_KEY: str = os.environ.get("INTRADESK_TASKS_API_KEY", "")
# ID группы исполнителей для фильтрации заявок
INTRADESK_EXECUTOR_GROUP: str = os.environ.get("INTRADESK_EXECUTOR_GROUP", "")
# Список ID исполнителей через запятую (доп. фильтр)
INTRADESK_EXECUTORS: list[str] = [
e.strip()
for e in os.environ.get("INTRADESK_EXECUTORS", "").split(",")
if e.strip()
]