feat: user-customizable event voice rules (gift/blind box/enter/follow/like/guard/super chat)
- New event_rules.py: load/save event_rules.json, robust template renderer (missing vars -> empty, empty template -> muted), guard level mapping - danmaku_handler.py: custom SEND_GIFT callback to extract blind_gift_name; implements all event callbacks feeding the TTS queue per user rules - server.py: GET/POST /api/rules, load rules at startup, pass to client - Web UI: 'Event Voice Rules' panel (per-event toggle + template + save) - main.py CLI loads rules; build.py bundles event_rules.json - skip_free_gift option to mute silver free gifts - Rebuild portable zip (83.8 MB)
This commit is contained in:
@@ -145,6 +145,8 @@ def main() -> int:
|
||||
shutil.copy2(ROOT / "tts_bridge.js", BUILD_DIR / "tts_bridge.js")
|
||||
shutil.copy2(ROOT / "english-kana-matcher.js", BUILD_DIR / "english-kana-matcher.js")
|
||||
shutil.copy2(ROOT / "package.json", BUILD_DIR / "package.json")
|
||||
if (ROOT / "event_rules.json").exists():
|
||||
shutil.copy2(ROOT / "event_rules.json", BUILD_DIR / "event_rules.json")
|
||||
print(" OK")
|
||||
|
||||
# ── 6. Launcher ────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user