Add WeWork XiaoAi TTS bot - WeChat Work long connection bridge
Receives messages from WeChat Work bot via WebSocket long connection and speaks them through XiaoAi smart speaker TTS. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
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")
|
||||
|
||||
# Xiaomi TTS
|
||||
XIAOMI_USER_ID = _env("XIAOMI_USER_ID", "1136458602")
|
||||
XIAOMI_TOKEN_PATH = _env(
|
||||
"XIAOMI_TOKEN_PATH",
|
||||
str(Path(__file__).resolve().parent / ".mi.token"),
|
||||
)
|
||||
XIAOMI_SPEAKER_DID = _env("XIAOMI_SPEAKER_DID", "3ba2c1e8-d8cb-45c5-b88a-15624e7a02f3")
|
||||
|
||||
# TTS
|
||||
TTS_ENABLED = _env_bool("TTS_ENABLED", True)
|
||||
TTS_MAX_TEXT_LENGTH = _env_int("TTS_MAX_TEXT_LENGTH", 500)
|
||||
TTS_TIMEOUT_SECONDS = _env_int("TTS_TIMEOUT_SECONDS", 15)
|
||||
Reference in New Issue
Block a user