feat: add {gift_count} variable to gift/blind box default rules

- New variable {gift_count} (gift quantity) alongside existing {gift_num}
- Default templates: 感谢由{viewer_name}投喂的{gift_count}个{gift_name}
- danmaku_handler passes gift_count=message.num
- README variable table and examples updated
- Rebuild portable zip (83.9 MB)
This commit is contained in:
2026-08-08 17:41:10 +08:00
parent d7e940fe2e
commit d4de39f294
4 changed files with 11 additions and 9 deletions
+4 -4
View File
@@ -96,8 +96,8 @@ python main.py --room-id ROOM_ID [--voice VOICE] [--speed SPEED]
| 事件 | 变量 |
|------|------|
| `danmaku` 弹幕 | `{uname}` `{msg}` |
| `gift` 普通礼物 | `{viewer_name}` `{gift_name}` `{gift_num}` `{gift_price}` `{gift_coin_type}` |
| `blind_box` 盲盒礼物 | `{viewer_name}` `{gift_name}` `{gift_num}` `{blind_box_gift}` |
| `gift` 普通礼物 | `{viewer_name}` `{gift_name}` `{gift_count}` `{gift_price}` `{gift_coin_type}` |
| `blind_box` 盲盒礼物 | `{viewer_name}` `{gift_name}` `{gift_count}` `{blind_box_gift}` |
| `enter_room` 进房 | `{viewer_name}` `{user_uid}` |
| `follow` 关注 | `{viewer_name}` `{user_uid}` |
| `interact_other` 其他互动 | `{viewer_name}` `{user_uid}` `{interact_type}`(分享/特别关注/互粉) |
@@ -110,8 +110,8 @@ python main.py --room-id ROOM_ID [--voice VOICE] [--speed SPEED]
```json
{
"templates": {
"gift": "感谢由{viewer_name}投喂的{gift_name}",
"blind_box": "感谢由{viewer_name}投喂的{gift_name}爆出了{blind_box_gift}",
"gift": "感谢由{viewer_name}投喂的{gift_count}个{gift_name}",
"blind_box": "感谢由{viewer_name}投喂的{gift_count}个{gift_name}爆出了{blind_box_gift}",
"enter_room": "欢迎{viewer_name}进入直播间",
"buy_guard": "恭喜{ships_viewer_name}成为尊贵的{ships_level}",
"super_chat": "{viewer_name}的醒目留言:{super_chat_content}"
+2
View File
@@ -84,12 +84,14 @@ class DanmakuHandler(blivedm.BaseHandler):
viewer_name=message.uname,
gift_name=message.gift_name,
gift_num=message.num,
gift_count=message.num,
blind_box_gift=blind_box_gift)
else:
text = event_text(self._rules, "gift",
viewer_name=message.uname,
gift_name=message.gift_name,
gift_num=message.num,
gift_count=message.num,
gift_price=message.price,
gift_coin_type=message.coin_type)
logger.info("Gift: %s x%d from %s (blind=%s)",
+3 -3
View File
@@ -11,9 +11,9 @@
"super_chat": true
},
"templates": {
"danmaku": "卧槽!、是{uname}!、他说、 {msg}",
"gift": "感谢由{viewer_name}投喂的{gift_name}",
"blind_box": "感谢由{viewer_name}投喂的{gift_name}爆出了{blind_box_gift}",
"danmaku": "{uname}说、 {msg}",
"gift": "感谢由{viewer_name}投喂的{gift_count}个{gift_name}",
"blind_box": "感谢由{viewer_name}投喂的{gift_count}个{gift_name}爆出了{blind_box_gift}",
"enter_room": "欢迎{viewer_name}进入直播间",
"follow": "",
"interact_other": "",
+2 -2
View File
@@ -27,8 +27,8 @@ DEFAULT_RULES = {
},
"templates": {
"danmaku": "{uname}\u8bf4\u3001 {msg}",
"gift": "\u611f\u8c22\u7531{viewer_name}\u6295\u5582\u7684{gift_name}",
"blind_box": "\u611f\u8c22\u7531{viewer_name}\u6295\u5582\u7684{gift_name}\u7206\u51fa\u4e86{blind_box_gift}",
"gift": "\u611f\u8c22\u7531{viewer_name}\u6295\u5582\u7684{gift_count}\u4e2a{gift_name}",
"blind_box": "\u611f\u8c22\u7531{viewer_name}\u6295\u5582\u7684{gift_count}\u4e2a{gift_name}\u7206\u51fa\u4e86{blind_box_gift}",
"enter_room": "\u6b22\u8fce{viewer_name}\u8fdb\u5165\u76f4\u64ad\u95f4",
"follow": "",
"interact_other": "",