39 lines
955 B
Python
39 lines
955 B
Python
import os
|
|
from pathlib import Path
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
|
|
def _env(key: str, default: str = "") -> str:
|
|
return os.getenv(key, default)
|
|
|
|
|
|
def _env_bool(key: str, default: bool = True) -> bool:
|
|
val = os.getenv(key, "").lower()
|
|
if val in ("0", "false", "no"):
|
|
return False
|
|
if val in ("1", "true", "yes"):
|
|
return True
|
|
return default
|
|
|
|
|
|
def _env_int(key: str, default: int) -> int:
|
|
try:
|
|
return int(os.getenv(key, ""))
|
|
except (ValueError, TypeError):
|
|
return default
|
|
|
|
|
|
# WeChat Work Bot
|
|
WECOM_BOT_ID = _env("WECOM_BOT_ID")
|
|
WECOM_BOT_SECRET = _env("WECOM_BOT_SECRET")
|
|
|
|
# Windows Local TTS
|
|
TTS_VOICE_NAME = _env("TTS_VOICE_NAME", "") # empty = system default voice
|
|
TTS_RATE = _env_int("TTS_RATE", 0) # SAPI rate: -10 (slowest) to 10 (fastest), default 0
|
|
|
|
# TTS
|
|
TTS_ENABLED = _env_bool("TTS_ENABLED", True)
|
|
TTS_MAX_TEXT_LENGTH = _env_int("TTS_MAX_TEXT_LENGTH", 500)
|