bilibili-API-collect
bilibili-API-collect copied to clipboard
[新增/更新请求] 直播间信息流cmd `WEALTH_NOTIFY`、`USER_PANEL_RED_ALARM`等,共14个
提交前请确认
- [x] 我已检索仓库中文档,不包含所提及内容,或所提及内容在本仓库中存在错误,且 Issues、Pull Requests 中无相关提交
API 来源
Web 端(含 h5)
API 类型
长连接数据帧(含 ws、TCP)
API 地址
https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/live/message_stream.md
详情描述
WEALTH_NOTIFY
(推测)与登录会话绑定且当投喂电池数量达到升级条件时下发。
~~我直播所得收益甚至达不到升级所需,没法复核。~~
JSON消息:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cmd | str | WEALTH_NOTIFY |
|
| data | obj | 信息本体 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| flag | int | 标志? | |
| info | obj | 信息 |
data.info:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| effect_key | int | ? | |
| has_items_changed | int | ? | |
| level | int | 达到的等级 | |
| send_time | int | 发送时间 | UNIX 毫秒时间戳 |
| status | int | 状态? |
示例:
{
"cmd": "WEALTH_NOTIFY",
"data": {
"flag": 3,
"info": {
"effect_key": 1073,
"has_items_changed": 1,
"level": 5,
"send_time": 1743337942833,
"status": 1
}
}
}
USER_PANEL_RED_ALARM
未知,于投喂“粉丝灯牌”后下发,与登录会话绑定。
JSON消息:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cmd | str | ||
| data | obj | 信息本体 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| module | str | ? | 不清楚,可能是要调用的动画效果 |
| alarm_num | int |
示例:
查看消息示例:
1743337943564478429.json
{
"cmd": "USER_PANEL_RED_ALARM",
"data": {
"module": "user_head_dot",
"alarm_num": 1
}
}
1743338013976410433.json
{
"cmd": "USER_PANEL_RED_ALARM",
"data": {
"module": "user_head_dot",
"alarm_num": 0
}
}
GIFT_BOARD_RED_DOT
跟上面那个USER_PANEL_RED_ALARM下发情况相同,不过只有1次。
没看明白是什么。
JSON消息:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cmd | str | ||
| data | obj | 信息本体 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| categoryL1 | str |
示例:
查看消息示例:
1743337948341784937.json
{
"cmd": "GIFT_BOARD_RED_DOT",
"data": {
"categoryL1": "3"
}
}
获得粉丝勋章 MESSAGEBOX_USER_GAIN_MEDAL
与登录会话绑定,目前发现使用主播登录信息会在自己的直播间会下发,在某个直播间投喂粉丝灯牌后下发。
JSON消息:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cmd | str | ||
| data | obj | 信息本体 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| type | int | 类型? | |
| uid | int | 用户mid | |
| up_uid | int | 主播mid | |
| medal_id | int | ||
| medal_name | str | 粉丝勋章名称 | |
| medal_level | int | 粉丝勋章等级 | |
| medal_color | int | 粉丝勋章颜色 | 十进制颜色值 |
| medal_color_start | int | 粉丝勋章变色起始值 | |
| medal_color_end | int | 粉丝勋章变色结束值 | |
| medal_color_border | int | 粉丝勋章边框颜色值 | 推测 |
| msg_title | str | 信息标题 | 未确定 |
| msg_content | str | 信息内容 | 未确定 |
其余待补充
示例:
查看消息示例:
部分数据包是我粉丝投喂后收到的,这类数据包将抹去粉丝信息,实际数据是完整的。具体抹去: 1742650672636808872.json 和 1742808315878038648.json 的data.uid和data.fan_name。
1742650672636808872.json
{
"cmd": "MESSAGEBOX_USER_GAIN_MEDAL",
"data": {
"type": 0,
"uid": 9,
"up_uid": 438160221,
"medal_id": 19113177,
"medal_name": "粉丝团",
"medal_level": 1,
"medal_color": 6067854,
"medal_color_start": 6067854,
"medal_color_end": 6067854,
"medal_color_border": 6067854,
"msg_title": "欢迎萌新~",
"msg_content": "获得100点亲密度\n你的粉丝勋章达到1级",
"normal_color": 7697781,
"highlight_color": 16478873,
"intimacy": 100,
"next_intimacy": 201,
"today_feed": 100,
"day_limit": 2000,
"is_wear": 1,
"guard_level": 0,
"is_received": 1,
"is_lighted": 1,
"is_lighted_v2": true,
"toast": "成功入团并关注主播,得1级大礼包",
"fan_name": "[粉丝昵称]",
"uinfo_medal": {
"name": "粉丝团",
"level": 1,
"color_start": 6067854,
"color_end": 6067854,
"color_border": 6067854,
"color": 6067854,
"id": 19113177,
"typ": 0,
"is_light": 1,
"ruid": 438160221,
"guard_level": 0,
"score": 0,
"guard_icon": "",
"honor_icon": "",
"v2_medal_color_start": "#5762A799",
"v2_medal_color_end": "#5762A799",
"v2_medal_color_border": "#5762A799",
"v2_medal_color_text": "#FFFFFFFF",
"v2_medal_color_level": "#000B7099",
"user_receive_count": 0
}
}
}
1742808315878038648.json
{
"cmd": "MESSAGEBOX_USER_GAIN_MEDAL",
"data": {
"type": 0,
"uid": 9,
"up_uid": 438160221,
"medal_id": 19296674,
"medal_name": "粉丝团",
"medal_level": 1,
"medal_color": 6067854,
"medal_color_start": 6067854,
"medal_color_end": 6067854,
"medal_color_border": 6067854,
"msg_title": "恭喜你获得【weatfe】的粉丝勋章~",
"msg_content": "获得100点亲密度\n你的粉丝勋章达到1级",
"normal_color": 7697781,
"highlight_color": 16478873,
"intimacy": 100,
"next_intimacy": 201,
"today_feed": 100,
"day_limit": 2000,
"is_wear": 0,
"guard_level": 0,
"is_received": 1,
"is_lighted": 1,
"is_lighted_v2": true,
"toast": "成功入团并关注主播,得1级大礼包",
"fan_name": "[粉丝昵称]",
"uinfo_medal": {
"name": "粉丝团",
"level": 1,
"color_start": 6067854,
"color_end": 6067854,
"color_border": 6067854,
"color": 6067854,
"id": 19296674,
"typ": 0,
"is_light": 1,
"ruid": 438160221,
"guard_level": 0,
"score": 0,
"guard_icon": "",
"honor_icon": "",
"v2_medal_color_start": "#5762A799",
"v2_medal_color_end": "#5762A799",
"v2_medal_color_border": "#5762A799",
"v2_medal_color_text": "#FFFFFFFF",
"v2_medal_color_level": "#000B7099",
"user_receive_count": 0
}
}
}
1743337943543817491.json
{
"cmd": "MESSAGEBOX_USER_GAIN_MEDAL",
"data": {
"type": 0,
"uid": 438160221,
"up_uid": 11602644,
"medal_id": 19252517,
"medal_name": "广药",
"medal_level": 1,
"medal_color": 6067854,
"medal_color_start": 6067854,
"medal_color_end": 6067854,
"medal_color_border": 6067854,
"msg_title": "恭喜你获得【WuGuangYao】的粉丝勋章~",
"msg_content": "获得100点亲密度\n你的粉丝勋章达到1级",
"normal_color": 7697781,
"highlight_color": 16478873,
"intimacy": 100,
"next_intimacy": 201,
"today_feed": 100,
"day_limit": 2000,
"is_wear": 0,
"guard_level": 0,
"is_received": 1,
"is_lighted": 1,
"is_lighted_v2": true,
"toast": "成功入团并关注主播,得1级大礼包",
"fan_name": "weatfe",
"uinfo_medal": {
"name": "广药",
"level": 1,
"color_start": 6067854,
"color_end": 6067854,
"color_border": 6067854,
"color": 6067854,
"id": 19252517,
"typ": 0,
"is_light": 1,
"ruid": 11602644,
"guard_level": 0,
"score": 0,
"guard_icon": "",
"honor_icon": "",
"v2_medal_color_start": "#5762A799",
"v2_medal_color_end": "#5762A799",
"v2_medal_color_border": "#5762A799",
"v2_medal_color_text": "#FFFFFFFF",
"v2_medal_color_level": "#000B7099",
"user_receive_count": 0
}
}
}
有人购买商品 GOTO_BUY_FLOW
去购买主播推荐商品时下发。
用户昵称会打星号(*)。
目前仅在手机客户端上显示。
JSON消息:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cmd | str | `` | |
| data | obj | 信息本体 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| text | str | 购买提示 |
示例:
查看消息示例:
{
"cmd": "GOTO_BUY_FLOW",
"data": {
"text": "回**正在去买"
}
}
热抢提示 HOT_BUY_NUM
推测是有人去购买后下发。
JSON消息:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cmd | str | `` | |
| data | obj | 信息本体 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| num | int | 热抢数量 | |
| goods_id | str | 商品id |
示例:
查看消息示例:
{
"cmd": "HOT_BUY_NUM",
"data": {
"num": 81,
"goods_id": "1817875296579985408"
}
}
查看示例图片
已对图片中的用户昵称打码处理。
成功搞清楚遗留在DM_INTERACTION记录里的103所指代的。103为关注。
{
"cmd": "DM_INTERACTION",
"data": {
"data": "{\"fade_duration\":10000,\"cnt\":6,\"card_appear_interval\":0,\"suffix_text\":\"人关注了主播\",\"reset_cnt\":0,\"display_flag\":1}",
"dmscore": 36,
"id": 94362402889728,
"status": 4,
"type": 103
}
}
直播间1864383375时间2025-04-11T11:30:56+08:00
粉丝勋章更新 MESSAGEBOX_USER_MEDAL_CHANGE
JSON消息:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cmd | str | `` | |
| data | obj | 信息本体 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| type | int | 提示类型 | 1:升级,2:点亮 |
| uid | int | 用户mid | |
| up_uid | int | 主播mid | |
| medal_level | int | 粉丝勋章等级 | |
| medal_name | str | 粉丝勋章名称 | |
| medal_color_start | int | 勋章过渡开始颜色 | |
| medal_color_end | int | 勋章过渡结束颜色 | |
| medal_color_border | int | 勋章边框颜色 | |
| is_lighted | int | 是否点亮? | |
| is_lighted_v2 | bool | 是否点亮v2? | |
| guard_level | int | ||
| unlock | int | ||
| unlock_level | int | ||
| multi_unlock_level | str | ||
| upper_bound_content | str | 提示信息 | |
| uinfo_medal | obj | 用户粉丝勋章信息 | |
| effect_id | int |
待补充和论证
示例:
查看消息示例:
{
"cmd": "MESSAGEBOX_USER_MEDAL_CHANGE",
"data": {
"type": 1,
"uid": 438160221,
"up_uid": 11602644,
"medal_level": 5,
"medal_name": "广药",
"medal_color_start": 6126494,
"medal_color_end": 6126494,
"medal_color_border": 6126494,
"is_lighted": 1,
"is_lighted_v2": true,
"guard_level": 0,
"unlock": 1,
"unlock_level": 5,
"multi_unlock_level": "5",
"upper_bound_content": "恭喜你的粉丝勋章【广药】升到5级",
"uinfo_medal": {
"name": "广药",
"level": 5,
"color_start": 6126494,
"color_end": 6126494,
"color_border": 6126494,
"color": 0,
"id": 0,
"typ": 0,
"is_light": 1,
"ruid": 11602644,
"guard_level": 0,
"score": 0,
"guard_icon": "",
"honor_icon": "",
"v2_medal_color_start": "#5866C799",
"v2_medal_color_end": "#5866C799",
"v2_medal_color_border": "#5866C799",
"v2_medal_color_text": "#FFFFFFFF",
"v2_medal_color_level": "#000B7099",
"user_receive_count": 0
},
"effect_id": 1861
}
}
master_qn_strategy_chg
未知,在直播时有概率捕获,用途未知,没有更多信息。
查看数据包
1744379313198411390.json
{
"cmd": "master_qn_strategy_chg",
"data": "{\"mtime\":1744378995,\"scatter\":[0,300]}"
}
1744379853143736080.json
{
"cmd": "master_qn_strategy_chg",
"data": "{\"mtime\":1744379604,\"scatter\":[0,300]}"
}
1744380753118644643.json
{
"cmd": "master_qn_strategy_chg",
"data": "{\"mtime\":1744380444,\"scatter\":[0,300]}"
}
一起玩图标更改 (机翻) PLAYTOGETHER_ICON_CHANGE
未知。
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| area_id | num | 分区id | |
| has_perm | num | ||
| show_count | num |
{
"cmd": "PLAYTOGETHER_ICON_CHANGE",
"data": {
"area_id": 40,
"has_perm": 0,
"show_count": 0
}
}
连麦开关 VOICE_JOIN_SWITCH
在直播姬开关连麦功能时下发。
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cmd | str | ||
| data | obj | ||
| room_id | num | 房间号 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| room_id | num | 房间号 | |
| room_status | num | 连麦开关状态 | |
| root_status | num | 连麦开关状态 |
数据
开:
{
"cmd": "VOICE_JOIN_SWITCH",
"data": {
"room_id": 1899237171,
"room_status": 1,
"root_status": 1
},
"room_id": 1899237171
}
关:
{
"cmd": "VOICE_JOIN_SWITCH",
"data": {
"room_id": 1899237171,
"room_status": 0,
"root_status": 0
},
"room_id": 1899237171
}
必须接受的进场特效 ENTRY_EFFECT_MUST_RECEIVE
已知主播进入自己的直播间会下发该数据包。
整体结构与ENTRY_EFFECT相同。(回头确认一下它要不要更新)
JSON消息:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cmd | str | `` | |
| data | obj | 信息本体 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|
示例:
查看消息示例:
{
"cmd": "ENTRY_EFFECT_MUST_RECEIVE",
"data": {
"id": 135,
"uid": 438160221,
"target_id": 438160221,
"mock_effect": 0,
"face": "https://i0.hdslb.com/bfs/face/member/noface.jpg",
"privilege_type": 0,
"copy_writing": "<%weatfe%> 来了",
"copy_color": "#000000",
"highlight_color": "#FFF100",
"priority": 1,
"basemap_url": "https://i0.hdslb.com/bfs/live/mlive/da6933ea70f31c4df63f4b68b735891284888357.png",
"show_avatar": 1,
"effective_time": 1,
"web_basemap_url": "https://i0.hdslb.com/bfs/live/mlive/da6933ea70f31c4df63f4b68b735891284888357.png",
"web_effective_time": 2,
"web_effect_close": 0,
"web_close_time": 900,
"business": 3,
"copy_writing_v2": "<%weatfe%> 来了",
"icon_list": [],
"max_delay_time": 7,
"trigger_time": 1746076900180569651,
"identities": 1,
"effect_silent_time": 0,
"effective_time_new": 0,
"web_dynamic_url_webp": "",
"web_dynamic_url_apng": "",
"mobile_dynamic_url_webp": "",
"wealthy_info": null,
"new_style": 0,
"is_mystery": false,
"uinfo": {
"uid": 438160221,
"base": {
"name": "weatfe",
"face": "https://i0.hdslb.com/bfs/face/member/noface.jpg",
"name_color": 0,
"is_mystery": false,
"risk_ctrl_info": null,
"origin_info": null,
"official_info": null,
"name_color_str": ""
},
"medal": {
"name": "粉丝团",
"level": 11,
"color_start": 9272486,
"color_end": 9272486,
"color_border": 9272486,
"color": 9272486,
"id": 2956282,
"typ": 0,
"is_light": 1,
"ruid": 438160221,
"guard_level": 0,
"score": 17500,
"guard_icon": "",
"honor_icon": "",
"v2_medal_color_start": "#596FE099",
"v2_medal_color_end": "#596FE099",
"v2_medal_color_border": "#596FE099",
"v2_medal_color_text": "#FFFFFFFF",
"v2_medal_color_level": "#000B7099",
"user_receive_count": 0
},
"wealth": {
"level": 5,
"dm_icon_key": ""
},
"title": null,
"guard": {
"level": 0,
"expired_str": ""
},
"uhead_frame": null,
"guard_leader": null
},
"full_cartoon_id": 0,
"priority_level": 0,
"wealth_style_info": {
"url": "https://i0.hdslb.com/bfs/live/24f6ef867c3905064136f5c4e33a8d423d41ebdd.png"
}
}
}
粉丝团戳一戳礼物通知 FANS_CLUB_POKE_GIFT_NOTICE
与登录会话绑定,主播使用粉丝团戳一戳功能时下发。
需要求证:
- [ ] 头像是主播还是用户的(因为这个数据是我戳我自己)
JSON消息:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cmd | str | `` | |
| data | obj | 信息本体 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| icon | str | 图标 | |
| uface | str | 头像 | 需要求证 |
| bg_img_url | str | 背景图片 | |
| text | str | 提示文本 | |
| highlight_text | str | 高亮文本? | |
| button_text | str | 按钮文本 | |
| display_duration | num | 显示时间? | |
| room_id | num | 房间号 |
示例:
查看消息示例:
{
"cmd": "FANS_CLUB_POKE_GIFT_NOTICE",
"data": {
"icon": "https://i0.hdslb.com/bfs/live/37a2fe03f2af95928c67cbac889e10dab6f7d42a.png",
"uface": "https://i0.hdslb.com/bfs/face/member/noface.jpg",
"bg_img_url": "https://i0.hdslb.com/bfs/live/fbe99002b5914157d783f8e07f021e2fd6ba5c1b.png",
"text": "主播戳了戳你~投喂礼物获5倍亲密度加成",
"highlight_text": "5倍亲密度加成",
"button_text": "去投喂",
"display_duration": 8,
"room_id": 1899237171
}
}
使用投票功能会使用DM_INTERACTION来承载,type为101。
目前认为status与type关联,有1,2,4,5。
具体不清楚,特别是106(点赞)。
目前暂时认为:
| status值 | 猜测 |
|---|---|
| 1 | 投票发起审核 |
| 2 | 投票审核结果(目前是不通过) |
| 4 | 正在交互(若使用官方提供的投票也会直接用这个) |
| 5 | 交互结束 |
106(点赞)有记录到4和5都是正在交互状态,无法敲定。
投票 (DM_INTERACTION type为101)
JSON消息:
其它略过,直接 data.data JSON解析后对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| question | str | 投票问题 | |
| options | obj | 投票详细选项 | |
| vote_id | num | 投票id | |
| cnt | num | 弹幕计数 | |
| duration | num | 持续时间 | 单位毫秒 |
| left_duration | num | 剩余时间 | 单位毫秒 |
| fade_duration | num | ? | |
| waiting_duration | num | ? | |
| result | num | 投票倾向状态 | |
| result_text | str | 投票倾向提示 | |
| component | str | 投票链接 | |
| natural_die_duration | num | ? | |
| my_vote | num | ? | |
| component_anchor | str | 投票控制链接 | |
| audit_reason | str | 审核结果 | |
| combo | obj | 投票状态展示 |
data.data JSON解析后的 options 数组中对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| idx | num | 选项索引 | |
| desc | str | 选项内容 | |
| cnt | num | 票数 | |
| percent | num | 显示占比 |
data.data JSON解析后的 combo 数组中对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| id | num | 标识id | 同data.data.options数组中对象的idx |
| status | num | 状态 | 同data.status |
| content | str | 投票选项内容 | |
| cnt | str | 弹幕计数 | |
| guide | str | ? | 空字符串 |
| left_duration | num | 剩余时间 | |
| fade_duration | num | ? | |
| prefix_icon | str | 投票选项图标 |
示例:
查看消息示例:
1746083627185045255.json
{
"cmd": "DM_INTERACTION",
"data": {
"data": "{\"question\":\"投票\",\"options\":[{\"idx\":1,\"desc\":\"赞成\",\"cnt\":0,\"percent\":0.5},{\"idx\":2,\"desc\":\"弃权\",\"cnt\":0,\"percent\":0.5}],\"vote_id\":98014370742272,\"cnt\":0,\"duration\":60000,\"left_duration\":60000,\"fade_duration\":1000,\"waiting_duration\":-1,\"result\":1,\"result_text\":\"平局\",\"component\":\"https://live.bilibili.com/p/html/live-app-guessing-game/vote.html?is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,245,0,0,30,100,12,0;2,2,375,100p,0,0,30,100,12,0;3,3,100p,245,0,0,30,100,12,0;4,2,375,100p,0,0,30,100,12,0;5,3,100p,70p,0,0,30,100,12,0;6,3,100p,70p,0,0,30,100,12,0;7,3,100p,70p,0,0,30,100,12,0;8,3,100p,70p,0,0,30,100,12,0\",\"natural_die_duration\":30000,\"my_vote\":0,\"component_anchor\":\"https://live.bilibili.com/p/html/live-app-guessing-game/anchor_vote.html?pc_ui=390,428,0,3\\u0026is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,448,0,0,30,0,12,0;2,2,375,100p,0,0,30,0,12,0;3,3,100p,448,0,0,30,0,12,0;4,2,375,100p,0,0,30,0,12,0;5,3,100p,448,0,0,30,0,12,0;6,2,320,100p,0,0,30,0,12,0;7,2,320,100p,0,0,30,0,12,0;8,2,320,100p,0,0,30,0,12,0#/\",\"audit_reason\":\"\",\"combo\":[{\"id\":1,\"status\":1,\"content\":\"赞成\",\"cnt\":0,\"guide\":\"\",\"left_duration\":60000,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/7d7e3682c9116aa3503418abe3cde6b45ed2e91e.png\"},{\"id\":2,\"status\":1,\"content\":\"弃权\",\"cnt\":0,\"guide\":\"\",\"left_duration\":60000,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/f83c7280b2a90b4f58a68fd8c594ea7d5667e3cb.png\"}]}",
"dmscore": 36,
"id": 98014370742272,
"status": 1,
"type": 101
}
}
1746083627284230776.json
{
"cmd": "DM_INTERACTION",
"data": {
"data": "{\"question\":\"投票\",\"options\":[{\"idx\":1,\"desc\":\"赞成\",\"cnt\":0,\"percent\":0.5},{\"idx\":2,\"desc\":\"弃权\",\"cnt\":0,\"percent\":0.5}],\"vote_id\":98014370742272,\"cnt\":0,\"duration\":60000,\"left_duration\":60000,\"fade_duration\":1000,\"waiting_duration\":-1,\"result\":1,\"result_text\":\"平局\",\"component\":\"https://live.bilibili.com/p/html/live-app-guessing-game/vote.html?is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,245,0,0,30,100,12,0;2,2,375,100p,0,0,30,100,12,0;3,3,100p,245,0,0,30,100,12,0;4,2,375,100p,0,0,30,100,12,0;5,3,100p,70p,0,0,30,100,12,0;6,3,100p,70p,0,0,30,100,12,0;7,3,100p,70p,0,0,30,100,12,0;8,3,100p,70p,0,0,30,100,12,0\",\"natural_die_duration\":30000,\"my_vote\":0,\"component_anchor\":\"https://live.bilibili.com/p/html/live-app-guessing-game/anchor_vote.html?pc_ui=390,428,0,3\\u0026is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,448,0,0,30,0,12,0;2,2,375,100p,0,0,30,0,12,0;3,3,100p,448,0,0,30,0,12,0;4,2,375,100p,0,0,30,0,12,0;5,3,100p,448,0,0,30,0,12,0;6,2,320,100p,0,0,30,0,12,0;7,2,320,100p,0,0,30,0,12,0;8,2,320,100p,0,0,30,0,12,0#/\",\"audit_reason\":\"您提交的弹幕投票未审核通过,请修改\",\"combo\":[{\"id\":1,\"status\":2,\"content\":\"赞成\",\"cnt\":0,\"guide\":\"\",\"left_duration\":60000,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/7d7e3682c9116aa3503418abe3cde6b45ed2e91e.png\"},{\"id\":2,\"status\":2,\"content\":\"弃权\",\"cnt\":0,\"guide\":\"\",\"left_duration\":60000,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/f83c7280b2a90b4f58a68fd8c594ea7d5667e3cb.png\"}]}",
"dmscore": 36,
"id": 98014370742272,
"status": 2,
"type": 101
}
}
1746083672711936540.json
{
"cmd": "DM_INTERACTION",
"data": {
"data": "{\"question\":\"给我你们的意见\",\"options\":[{\"idx\":1,\"desc\":\"1\",\"cnt\":0,\"percent\":0.5},{\"idx\":2,\"desc\":\"2\",\"cnt\":0,\"percent\":0.5}],\"vote_id\":98014463034880,\"cnt\":0,\"duration\":60000,\"left_duration\":59000,\"fade_duration\":1000,\"waiting_duration\":-1,\"result\":1,\"result_text\":\"平局\",\"component\":\"https://live.bilibili.com/p/html/live-app-guessing-game/vote.html?is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,245,0,0,30,100,12,0;2,2,375,100p,0,0,30,100,12,0;3,3,100p,245,0,0,30,100,12,0;4,2,375,100p,0,0,30,100,12,0;5,3,100p,70p,0,0,30,100,12,0;6,3,100p,70p,0,0,30,100,12,0;7,3,100p,70p,0,0,30,100,12,0;8,3,100p,70p,0,0,30,100,12,0\",\"natural_die_duration\":30000,\"my_vote\":0,\"component_anchor\":\"https://live.bilibili.com/p/html/live-app-guessing-game/anchor_vote.html?pc_ui=390,428,0,3\\u0026is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,448,0,0,30,0,12,0;2,2,375,100p,0,0,30,0,12,0;3,3,100p,448,0,0,30,0,12,0;4,2,375,100p,0,0,30,0,12,0;5,3,100p,448,0,0,30,0,12,0;6,2,320,100p,0,0,30,0,12,0;7,2,320,100p,0,0,30,0,12,0;8,2,320,100p,0,0,30,0,12,0#/\",\"audit_reason\":\"\",\"combo\":[{\"id\":1,\"status\":4,\"content\":\"1\",\"cnt\":0,\"guide\":\"\",\"left_duration\":59000,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/7d7e3682c9116aa3503418abe3cde6b45ed2e91e.png\"},{\"id\":2,\"status\":4,\"content\":\"2\",\"cnt\":0,\"guide\":\"\",\"left_duration\":59000,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/f83c7280b2a90b4f58a68fd8c594ea7d5667e3cb.png\"}]}",
"dmscore": 36,
"id": 98014463034880,
"status": 4,
"type": 101
}
}
1746083733861426100.json
{
"cmd": "DM_INTERACTION",
"data": {
"data": "{\"question\":\"给我你们的意见\",\"options\":[{\"idx\":1,\"desc\":\"1\",\"cnt\":1,\"percent\":0.8},{\"idx\":2,\"desc\":\"2\",\"cnt\":0,\"percent\":0.2}],\"vote_id\":98014463034880,\"cnt\":1,\"duration\":60000,\"left_duration\":0,\"fade_duration\":1000,\"waiting_duration\":-1,\"result\":2,\"result_text\":\"蓝领先\",\"component\":\"https://live.bilibili.com/p/html/live-app-guessing-game/vote.html?is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,245,0,0,30,100,12,0;2,2,375,100p,0,0,30,100,12,0;3,3,100p,245,0,0,30,100,12,0;4,2,375,100p,0,0,30,100,12,0;5,3,100p,70p,0,0,30,100,12,0;6,3,100p,70p,0,0,30,100,12,0;7,3,100p,70p,0,0,30,100,12,0;8,3,100p,70p,0,0,30,100,12,0\",\"natural_die_duration\":30000,\"my_vote\":0,\"component_anchor\":\"https://live.bilibili.com/p/html/live-app-guessing-game/anchor_vote.html?pc_ui=390,428,0,3\\u0026is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,448,0,0,30,0,12,0;2,2,375,100p,0,0,30,0,12,0;3,3,100p,448,0,0,30,0,12,0;4,2,375,100p,0,0,30,0,12,0;5,3,100p,448,0,0,30,0,12,0;6,2,320,100p,0,0,30,0,12,0;7,2,320,100p,0,0,30,0,12,0;8,2,320,100p,0,0,30,0,12,0#/\",\"audit_reason\":\"\",\"combo\":[{\"id\":1,\"status\":4,\"content\":\"1\",\"cnt\":1,\"guide\":\"\",\"left_duration\":0,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/7d7e3682c9116aa3503418abe3cde6b45ed2e91e.png\"},{\"id\":2,\"status\":4,\"content\":\"2\",\"cnt\":0,\"guide\":\"\",\"left_duration\":0,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/f83c7280b2a90b4f58a68fd8c594ea7d5667e3cb.png\"}]}",
"dmscore": 36,
"id": 98014463034880,
"status": 4,
"type": 101
}
}
1746083733918230162.json
{
"cmd": "DM_INTERACTION",
"data": {
"data": "{\"question\":\"给我你们的意见\",\"options\":[{\"idx\":1,\"desc\":\"1\",\"cnt\":1,\"percent\":0.8},{\"idx\":2,\"desc\":\"2\",\"cnt\":0,\"percent\":0.2}],\"vote_id\":98014463034880,\"cnt\":1,\"duration\":60000,\"left_duration\":0,\"fade_duration\":1000,\"waiting_duration\":-1,\"result\":2,\"result_text\":\"蓝获胜\",\"component\":\"https://live.bilibili.com/p/html/live-app-guessing-game/vote.html?is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,245,0,0,30,100,12,0;2,2,375,100p,0,0,30,100,12,0;3,3,100p,245,0,0,30,100,12,0;4,2,375,100p,0,0,30,100,12,0;5,3,100p,70p,0,0,30,100,12,0;6,3,100p,70p,0,0,30,100,12,0;7,3,100p,70p,0,0,30,100,12,0;8,3,100p,70p,0,0,30,100,12,0\",\"natural_die_duration\":30000,\"my_vote\":0,\"component_anchor\":\"https://live.bilibili.com/p/html/live-app-guessing-game/anchor_vote.html?pc_ui=390,428,0,3\\u0026is_live_half_webview=1\\u0026hybrid_half_ui=1,3,100p,448,0,0,30,0,12,0;2,2,375,100p,0,0,30,0,12,0;3,3,100p,448,0,0,30,0,12,0;4,2,375,100p,0,0,30,0,12,0;5,3,100p,448,0,0,30,0,12,0;6,2,320,100p,0,0,30,0,12,0;7,2,320,100p,0,0,30,0,12,0;8,2,320,100p,0,0,30,0,12,0#/\",\"audit_reason\":\"\",\"combo\":[{\"id\":1,\"status\":5,\"content\":\"1\",\"cnt\":1,\"guide\":\"\",\"left_duration\":0,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/7d7e3682c9116aa3503418abe3cde6b45ed2e91e.png\"},{\"id\":2,\"status\":5,\"content\":\"2\",\"cnt\":0,\"guide\":\"\",\"left_duration\":0,\"fade_duration\":0,\"prefix_icon\":\"http://i0.hdslb.com/bfs/dm/f83c7280b2a90b4f58a68fd8c594ea7d5667e3cb.png\"}]}",
"dmscore": 36,
"id": 98014463034880,
"status": 5,
"type": 101
}
}
直播小助手的那两个cmd在直播时长首次达到360分钟(6个小时)也会下发。
没有启用数据包记录,所以没有示例。
修订:
400分钟也会。
再修订:
460、500、600分钟也会。
礼物星球小部件信息 WIDGET_WISH_INFO
目前只在主播更新想要的礼物时下发。
推测达成礼物数量也会下发。
JSON消息:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| cmd | str | `` | |
| data | obj | 信息本体 |
data 对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| sid | num | ? | |
| wish | arr | 礼物需求信息 | |
| jump_url | str | 用户端礼物星球界面 | |
| wish_status | num | 礼物星球状态 | |
| card_text | str | 卡片提示文本 | |
| modal_text | str | 需求标题 | |
| button_text | str | 按钮文本 | |
| show_time | num | 显示时间 | 单位秒 |
| ts | num | 发送时间戳 | 秒时间戳 |
| tid | num | ? | |
| wish_status_info | arr | 状态对照信息 | |
| wish_name | str | 礼物星球名称 |
data.wish 数组内对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| gift_id | num | 礼物id | |
| target_num | num | 需求数量 | |
| gift_img | str | 礼物图片URL | |
| gift_price | num | 礼物价格 | ×0.001RMB |
| gift_name | str | 礼物名称 | |
| wish_status | num | 该礼物达成状态 |
data.wish_status_info 数组内对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| wish_status_msg | str | 状态提示信息 | |
| wish_status_img | str | 状态图片URL | |
| wish_status | str | 状态 | |
| wish_status_desc | str | 状态描述 | 不一定存在 |
示例:
查看消息示例:
{
"cmd": "WIDGET_WISH_INFO",
"data": {
"sid": 658537,
"wish": [
{
"gift_id": 31036,
"target_num": 1,
"gift_img": "https://s1.hdslb.com/bfs/live/8b40d0470890e7d573995383af8a8ae074d485d9.png",
"gift_price": 100,
"gift_name": "小花花",
"wish_status": 1
},
{
"gift_id": 30758,
"target_num": 1,
"gift_img": "https://s1.hdslb.com/bfs/live/3ddb10b055b9d1826829ec0fad93ab56484d4a90.png",
"gift_price": 100,
"gift_name": "这个好诶",
"wish_status": 1
},
{
"gift_id": 31039,
"target_num": 1,
"gift_img": "https://s1.hdslb.com/bfs/live/91ac8e35dd93a7196325f1e2052356e71d135afb.png",
"gift_price": 100,
"gift_name": "牛哇牛哇",
"wish_status": 1
}
],
"jump_url": "https://live.bilibili.com/p/html/bilili-page-gift-wishes-mix-planet/user.html?is_live_half_webview=1&hybrid_half_ui=1,3,100p,70p,0,0,30,100,15,0;2,2,375,100p,0,0,30,100,15,0;3,3,100p,70p,0,0,30,100,15,0;4,2,375,100p,0,0,30,100,15,0;5,3,100p,70p,0,0,30,100,15,0;6,3,100p,70p,0,0,30,100,15,0;7,3,100p,70p,0,0,30,100,15,0;8,3,100p,70p,0,0,30,100,15,0",
"wish_status": 1,
"card_text": "主播今日心愿还未完成",
"modal_text": "今日心愿礼物",
"button_text": "去助力",
"show_time": 5,
"ts": 1746257134,
"tid": 6585370000,
"wish_status_info": [
{
"wish_status_msg": "礼物星球待点亮",
"wish_status_img": "https://i0.hdslb.com/bfs/live/e507f8b101289b2ce6741880a28304215a65f5bf.png",
"wish_status": -1
},
{
"wish_status_msg": "今日心愿暂未达成",
"wish_status_img": "https://i0.hdslb.com/bfs/live/e507f8b101289b2ce6741880a28304215a65f5bf.png",
"wish_status": 1
},
{
"wish_status_msg": "今日心愿已达成",
"wish_status_img": "https://i0.hdslb.com/bfs/live/e507f8b101289b2ce6741880a28304215a65f5bf.png",
"wish_status": 2,
"wish_status_desc": "已完成"
}
],
"wish_name": "心愿礼物"
}
}