Files
telegram-scam-baiter/app/config.py
Cameron Grant 047c1ac8ff
All checks were successful
continuous-integration/drone/push Build is passing
Reformatted from long file. Added a duplicate guard.
2025-10-06 13:05:01 -07:00

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")