All checks were successful
continuous-integration/drone/push Build is passing
41 lines
1.7 KiB
Python
41 lines
1.7 KiB
Python
import os
|
|
from pathlib import Path
|
|
|
|
def _bool(name: str, default: str) -> bool:
|
|
return os.environ.get(name, default).strip().lower() in ("1", "true", "yes", "on")
|
|
|
|
API_ID = int(os.environ.get("TG_API_ID", "0"))
|
|
API_HASH = os.environ.get("TG_API_HASH", "")
|
|
SESSION_PREFIX = os.environ.get("TG_SESSION", "telethon_session")
|
|
|
|
TARGET_USERNAME = os.environ.get("TARGET_USERNAME", "").strip().lstrip("@")
|
|
TARGET_USER_ID = int(os.environ.get("TARGET_USER_ID", "0"))
|
|
TARGET_DISPLAY_NAME = os.environ.get("TARGET_DISPLAY_NAME", "").strip()
|
|
TARGET_CACHE_FILE = Path(os.environ.get("TARGET_CACHE_FILE", "target_id.txt"))
|
|
|
|
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY", "")
|
|
OPENAI_MODEL = os.environ.get("OPENAI_MODEL", "gpt-4o-mini")
|
|
|
|
MIN_DELAY_SEC = int(os.environ.get("MIN_DELAY_SEC", "25"))
|
|
MAX_DELAY_SEC = int(os.environ.get("MAX_DELAY_SEC", "75"))
|
|
|
|
HISTORY_FILE = Path(os.environ.get("HISTORY_FILE", "chat_history.jsonl"))
|
|
MAX_TOKENS_HISTORY = int(os.environ.get("MAX_TOKENS_HISTORY", "2200"))
|
|
MAX_MESSAGES_HISTORY = int(os.environ.get("MAX_MESSAGES_HISTORY", "30"))
|
|
|
|
AUTO_OPENER_ENABLED = _bool("AUTO_OPENER_ENABLED", "false")
|
|
OPENER_TEXT = os.environ.get("OPENER_TEXT", "").strip()
|
|
|
|
TYPING_SIM_ENABLED = _bool("TYPING_SIM_ENABLED", "true")
|
|
TYPING_WPM = int(os.environ.get("TYPING_WPM", "22"))
|
|
TYPING_MIN_SEC = float(os.environ.get("TYPING_MIN_SEC", "2.0"))
|
|
TYPING_MAX_SEC = float(os.environ.get("TYPING_MAX_SEC", "18.0"))
|
|
|
|
DEBOUNCE_SEC = float(os.environ.get("DEBOUNCE_SEC", "2.5"))
|
|
LAST_IDS_FILE = Path(os.environ.get("LAST_IDS_FILE", "last_ids.json"))
|
|
|
|
def require():
|
|
if not (API_ID and API_HASH):
|
|
raise RuntimeError("Set TG_API_ID and TG_API_HASH")
|
|
if not OPENAI_API_KEY:
|
|
raise RuntimeError("Set OPENAI_API_KEY") |