chun_qiu
b7d0c26ad1
fix: danmaku template now uses event rules; rules apply instantly on save
...
- _on_danmaku renders via event_text(rules, 'danmaku', ...) like all other
events; hardcoded {uname}说、 {msg} format removed
- Drop message_format param from DanmakuHandler/DanmakuClient/server/main
- api_rules_post mutates the shared rules dict in place (clear+update)
instead of rebinding, so running handlers pick up new templates
immediately without restarting TTS
- UI save toast: '规则已保存并即时生效'
- Verified: custom template 卧槽!、是{uname}!、他说、 {msg} works;
save-then-next-danmaku uses new template without restart
2026-08-08 16:37:05 +08:00
chun_qiu
f3a71e908e
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)
2026-08-08 16:17:28 +08:00
chun_qiu
fd5c732d8a
feat: web UI + QR login + portable build
...
- Add web UI panel (dark theme) at / with REST API
- Add Bilibili QR code scan login with browser header emulation
- Add wanakana for English -> katakana conversion
- Add volume control (0%-200%)
- Add message format with '说、' pause marker
- PyInstaller --onedir build for portable exe
- Rate-limit danmaku logging (1/20)
- Fix aiohttp.access log spam
- Add README.md
2026-08-08 13:22:58 +08:00
chun_qiu
9b277fe2e0
feat: Bilibili Live Danmaku -> Yukkuri TTS Reader
...
- Python main entry with CLI (--room-id, --voice, --speed)
- blivedm integration for real-time danmaku receiving
- Chinese-to-Japanese katakana conversion (pypinyin + mapping table)
- Node.js persistent bridge for aquestalk.js TTS synthesis
- Audio playback via sounddevice
- Message queue for sequential TTS playback
2026-08-08 11:26:11 +08:00