直播间信息流

获取信息流认证秘钥

https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo

请求方法: GET

认证方式: Cookie(SESSDATA)

可以选择进行认证,若未认证视作未登录,将会受到限制,详见后续内容。

URL参数:

参数名类型内容必要性备注
idnum直播间真实id必要

JSON回复:

根对象:

字段类型内容备注
codenum返回值0: 成功
65530: token 错误 (登录错误)
1: 错误
60009: 分区不存在
(其他错误码有待补充)
messagestr错误信息默认为空
ttlnum1
dataobj信息本体

data 对象:

字段类型内容备注
groupstrlive
business_idnum0
refresh_row_factornum0.125
refresh_ratenum100
max_delaynum5000
tokenstr认证秘钥
host_listarray信息流服务器节点列表

data.host_list[n] 对象:

字段类型内容备注
hoststr服务器域名
portnumTCP 端口
wss_portnumWSS 端口
ws_portnumWS 端口

示例:

获得直播间 14047 的信息流认证秘钥

curl -G 'https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo' \
--url-query 'id=14047'
查看响应示例:
{
  "code": 0,
  "message": "0",
  "ttl": 1,
  "data": {
    "group": "live",
    "business_id": 0,
    "refresh_row_factor": 0.125,
    "refresh_rate": 100,
    "max_delay": 5000,
    "token": "IFfrzJxUd-K6mBPLGCpu-Z9QAz1V3KzIxde_-tCzvah05fYgfXjBWyuqRywF8Ov2w-MGQWt7l80pLiZEsfx3OPEDsXSRaJlzihV0hTXYwkiJvRmzMH3JjfAjdzlvI8sytUCrIbezBgbr_grGPd4ENTEknvu165L-ocW_cyql1e-L_EE=",
    "host_list": [
      {
        "host": "hw-sg-live-comet-02.chat.bilibili.com",
        "port": 2243,
        "wss_port": 443,
        "ws_port": 2244
      },
      {
        "host": "hw-sg-live-comet-01.chat.bilibili.com",
        "port": 2243,
        "wss_port": 443,
        "ws_port": 2244
      },
      {
        "host": "broadcastlv.chat.bilibili.com",
        "port": 2243,
        "wss_port": 443,
        "ws_port": 2244
      }
    ]
  }
}

数据包格式

数据包为 MQ (Message Queue, 消息队列) 使用 WebSocket 或 TCP 连接作为通道, 具体格式为 头部数据 + 正文数据

注: 特别的, WS 与 WSS 连接地址带有路径 /sub, 如 wss://broadcastlv.chat.bilibili.com:443/sub.

再注: B 站更新了隐私政策, 连接建立后, 若该连接认证时传入信息来自未登录用户, 会提示 为保护用户隐私,未注册登陆用户将无法查看他人昵称, 随后部分数据包(如“弹幕”、“进场或关注消息”)的用户 mid 都为 0, 用户名部分也使用 * 保护, 部分房间受到豁免, 参见 #732open in new window

操作流程 (伪代码):

const s = new Socket(uri);
// 认证包
s.send('verify_hello');
s.receive('verfiy_reply');
// 心跳包
setInterval(() => {
  s.send('heartbeat');
  s.receive('heartbeat_reply');
}, 30000);
// 接收普通包
while (!s.isclosed()) {
  s.receive('normal_package');
}

头部格式:

偏移量长度类型含义
04uint32封包总大小 (头部大小 + 正文大小)
42uint16头部大小 (一般为 0x0010, 即 16 字节)
62uint16协议版本:
0: 普通包 (正文不使用压缩)
1: 心跳及认证包 (正文不使用压缩)
2: 普通包 (正文使用 zlib 压缩)
3: 普通包 (使用 brotli 压缩的多个带文件头的普通包)
84uint32操作码 (封包类型)
124uint32sequence, 每次发包时向上递增

操作码:

代码含义
2心跳包
3心跳包回复 (人气值)
5普通包 (命令)
7认证包
8认证包回复

普通包可能包含多条命令, 每个命令有一个头部, 指示该条命令的长度等信息

数据包

认证包

方向: 上行

注: 连接成功后 5 秒内发送, 否则强制断开连接

再注: 若uid字段填写的是用户mid,则通过获取信息流认证密钥接口使用的认证信息所属用户mid必须与uid字段相同,并正确传递认证密钥,否则强制断开连接。

JSON正文:

根对象:

字段类型内容必要性备注
uidnum用户mid非必要0 即为游客登录
roomidnum加入房间的id必要直播间真实id
protovernum协议版本非必要3, 与数据包头部协议版本无关
platformstr平台标识非必要web
typenum2非必要
keystr认证秘钥非必要

示例:

00000000: 0000 00ff 0010 0001 0000 0007 0000 0001  ................
00000001: 7b22 7569 6422 3a31 3630 3134 3836 3234  {"uid":160148624
00000002: 2c22 726f 6f6d 6964 223a 3232 3630 3831  ,"roomid":226081
00000003: 3132 2c22 7072 6f74 6f76 6572 223a 332c  12,"protover":3,
00000004: 2270 6c61 7466 6f72 6d22 3a22 7765 6222  "platform":"web"
00000005: 2c22 7479 7065 223a 322c 226b 6579 223a  ,"type":2,"key":
00000006: 2230 7670 5448 5737 7757 556e 6c6f 5270  "0vpTHW7wWUnloRp
00000007: 5251 6b47 764e 626e 7776 7364 6d2d 7159  RQkGvNbnwvsdm-qY
00000008: 4777 4243 5875 2d59 5164 6e57 7653 5547  GwBCXu-YQdnWvSUG
00000009: 7373 4139 7962 4b68 7932 6a78 3952 6f63  ssA9ybKhy2jx9Roc
0000000a: 4150 4651 6d54 4f6b 5277 6b4b 687a 4479  APFQmTOkRwkKhzDy
0000000b: 4839 5054 756f 5468 6834 4630 7562 584c  H9PTuoThh4F0ubXL
0000000c: 4964 6e69 3734 5539 304b 4242 6972 3248  Idni74U90KBBir2H
0000000d: 7451 3941 3777 674b 3438 4b7a 495f 5a5a  tQ9A7wgK48KzI_ZZ
0000000e: 3838 7557 4e59 6652 4f48 6964 4e6a 3732  88uWNYfROHidNj72
0000000f: 7061 796e 3479 3071 4268 513d 3d22 7d    payn4y0qBhQ=="}

认证包回复

方向: 下行

注: 在认证包发送成功后就会收到 JSON 正文, 若失败则返回 HTTP/0.9 的 403

JSON正文:

根对象:

字段类型内容备注
codenum返回值0: 认证成功

示例:

00000000: 0000 001a 0010 0001 0000 0008 0000 0001  ................
00000001: 7b22 636f 6465 223a 307d                 {"code":0}

心跳包

方向: 上行

注: 30 秒左右发送一次, 否则 60 秒后会被强制断开连接

正文:

可以为空或任意字符

示例:

00000000: 0000 001f 0010 0001 0000 0002 0000 0001  ................
00000001: 5b6f 626a 6563 7420 4f62 6a65 6374 5d    [object Object]

心跳包回复 (人气值)

方向: 下行

注: 在心跳包发送成功后就会收到

正文:

正文分为两个部分

  • 第一部分: uint32 整数代表的房间当前的人气值

  • 第二部分: 心跳包正文内容

示例:

示例房间内人气值为 2466 (0x000009a2)

00000000: 0000 0014 0010 0001 0000 0003 0000 0000  ................
00000001: 0000 09a2 5b6f 626a 6563 7420 4f62 6a65  ....[object Obje
00000002: 6374 5d                                  ct]

普通包

方向: 下行

正文:

一般为普通 JSON 数据

大多数普通包都经过 zlib 或 brotli 压缩

示例:

00000000: 0000 0086 0010 0003 0000 0005 0000 0000  ................
00000001: 8b38 8000 0000 7200 1000 0000 0000 0500  .8....r.........
00000002: 0000 007b 2263 6d64 223a 2257 4154 4348  ...{"cmd":"WATCH
00000003: 4544 5f43 4841 4e47 4522 2c22 6461 7461  ED_CHANGE","data
00000004: 223a 7b22 6e75 6d22 3a32 3230 3937 2c22  ":{"num":22097,"
00000005: 7465 7874 5f73 6d61 6c6c 223a 2232 2e32  text_small":"2.2
00000006: e4b8 8722 2c22 7465 7874 5f6c 6172 6765  ...","text_large
00000007: 223a 2232 2e32 e4b8 87e4 baba e79c 8be8  ":"2.2..........
00000008: bf87 227d 7d03                           .."}}.

弹幕 (DANMU_MSG)

注: 当收到弹幕时接收到此条消息, 10 进制转 16 进制若位数不足则在左侧补 0

JSON消息:

根对象:

字段类型内容备注
cmdstrDANMU_MSG
dm_v2str空串?
infoarray弹幕信息感谢 #1084open in new window 补充

info 数组:

类型内容备注
0array弹幕信息大部分信息可从 info[0][15].extra 获取
1str弹幕文本
2array发送者信息大部分信息可从 info[0][15].user 获取
3array发送者粉丝勋章信息若无则为空
4array发送者UL等级信息
5array?
6num0?
7num0?
8null
9obj发送时间戳
10num0?
11num0?
12null
13null
14num0?
15num?
16array?

info[0] 数组:

类型内容备注
0num
1num弹幕模式弹幕的 mode 字段
2num弹幕字体大小弹幕的 fontsize 字段
3num弹幕颜色弹幕的 color 字段
十六进制颜色值的十进制数字
4num发送时的 UNIX 毫秒时间戳弹幕的 rnd 字段
5num一个负整数
6num0?
7str可能为颜色?一个 16 进制数
8num0?
9num0?
10num0?
11str空串?
12num0?
13str字符串表示的 JSON Object空?
14str字符串表示的 JSON Object空?
15obj弹幕补充信息
16obj活动相关信息?
17num0?
18null

info[0][15] 对象:

字段类型内容备注
extrastr弹幕信息字符串表示的 JSON
modenum弹幕模式?
show_player_typenum0?
userobj用户相关信息

info[0][15].extra 表示的对象:

见下方 JSONC

{
  "send_from_me": false,      // 是否由该接收消息的用户发送
  "mode": 0,                  // 弹幕模式 (info[0][1])
  "color": 9920249,           // 弹幕颜色 (info[0][3])
  "dm_type": 0,
  "font_size": 25,            // 弹幕字体大小 (info[0][2])
  "player_mode": 1,
  "show_player_type": 0,
  "content": "白花300块[热]", // 弹幕文本 (info[1])
  "user_hash": "197700816",
  "emoticon_unique": "",
  "bulge_display": 0,
  "recommend_score": 3,
  "main_state_dm_color": "",
  "objective_state_dm_color": "",
  "direction": 0,             // 弹幕方向?
  "pk_direction": 0,
  "quartet_direction": 0,
  "anniversary_crowd": 0,
  "yeah_space_type": "",
  "yeah_space_url": "",
  "jump_to_url": "",
  "space_type": "",
  "space_url": "",
  "animation": {},
  "emots": {                  // 表情相关信息 (用于文本替换)
    "[热]": {
      "count": 1,
      "descript": "[热]",
      "emoji": "[热]",
      "emoticon_id": 278,
      "emoticon_unique": "emoji_278",
      "height": 20,
      "url": "http://i0.hdslb.com/bfs/live/6df760280b17a6cbac8c1874d357298f982ba4cf.png",
      "width": 20
    }
  },
  "is_audited": false,
  "id_str": "364b06e3c561af3d5921f1253d66c1d575",
  "icon": {
    "prefix": {
      "type": 1,
      "resource": "ChronosWealth_4.png"
    }
  },
  "show_reply": true,         // 显示回复?
  "reply_mid": 0,
  "reply_uname": "",
  "reply_uname_color": "",
  "reply_is_mystery": false,
  "hit_combo": 0
}

info[0][15].user 对象:

字段类型内容备注
baseobj基本信息
guardnull
guard_leaderobj?
medalobj粉丝排信息参见 指定用户的所有粉丝勋章信息 data.list[n].uinfo_medal
titleobj?
uhead_framenull
uidnum发送者 mid
wealthnull

info[0][15].user.base 对象:

字段类型内容备注
facestr发送者头像 URL
is_mysterybool是否是神秘用户?
namestr发送者用户名
name_colornum用户名颜色10 进制
name_color_strnum字符串表示的颜色
offical_infoobj认证信息参见 用户空间详细信息 data.official
origin_infoobjface name
risk_ctrl_infonull

info[0][15].user.title 对象:

字段类型内容备注
old_title_css_idstr空串?
title_css_idstr空串?

info[0][16] 对象:

字段类型内容备注
activity_identitystr空串?
activity_sourcenum0?
not_shownum0?

info[2] 数组:

类型内容备注
0num发送者 midinfo[0][15].user.uid
1str发送者用户名info[0][15].user.base.name
2num0?
3num0?
4num0?
5num用户权限等级?参见 用户空间详细信息 data.rank
6num?

info[3] 数组:

类型内容备注
0numinfo[0][15].user.medal.level
1strinfo[0][15].user.medal.name
2str粉丝牌创建主播名称
3num?
4numinfo[0][15].user.medal.color
5str空串?
6num0?
7numinfo[0][15].user.medal.color_border
8numinfo[0][15].user.medal.color_start
9numinfo[0][15].user.medal.color_end
10numinfo[0][15].user.medal.guard_level
11numinfo[0][15].user.medal.is_light
12numinfo[0][15].user.medal.ruid

info[4] 数组:

类型内容备注
0num?
1num?
2num?
3num?
4num?

info[5] 数组:

类型内容备注
0str空串?
1str空串?

info[9] 对象:

字段类型内容备注
ctstr?16 进制
tsnum发送时间UNIX 秒级时间戳

info[16] 数组:

类型内容备注
0num?

示例:

查看消息示例(带注释):
{
  "cmd": "DANMU_MSG",
  "dm_v2": "",
  "info": [
    [
      0,
      1,
      25, //字体大小
      9920249, //弹幕颜色代码(10进制)#975ef9
      1723979200649,
      -1312973962,
      0,
      "0bc8acd0",
      0,
      0,
      0,
      "",
      0,
      "{}",
      "{}",
      {
        "extra": "{\"send_from_me\":false,\"mode\":0,\"color\":9920249,\"dm_type\":0,\"font_size\":25,\"player_mode\":1,\"show_player_type\":0,\"content\":\"白花300块[热]\",\"user_hash\":\"197700816\",\"emoticon_unique\":\"\",\"bulge_display\":0,\"recommend_score\":3,\"main_state_dm_color\":\"\",\"objective_state_dm_color\":\"\",\"direction\":0,\"pk_direction\":0,\"quartet_direction\":0,\"anniversary_crowd\":0,\"yeah_space_type\":\"\",\"yeah_space_url\":\"\",\"jump_to_url\":\"\",\"space_type\":\"\",\"space_url\":\"\",\"animation\":{},\"emots\":{\"[热]\":{\"count\":1,\"descript\":\"[热]\",\"emoji\":\"[热]\",\"emoticon_id\":278,\"emoticon_unique\":\"emoji_278\",\"height\":20,\"url\":\"http://i0.hdslb.com/bfs/live/6df760280b17a6cbac8c1874d357298f982ba4cf.png\",\"width\":20}},\"is_audited\":false,\"id_str\":\"364b06e3c561af3d5921f1253d66c1d575\",\"icon\":{\"prefix\":{\"type\":1,\"resource\":\"ChronosWealth_4.png\"}},\"show_reply\":true,\"reply_mid\":0,\"reply_uname\":\"\",\"reply_uname_color\":\"\",\"reply_is_mystery\":false,\"hit_combo\":0}",
        "mode": 0,
        "show_player_type": 0,
        "user": {
          "base": {
            "face": "https://i1.hdslb.com/bfs/face/5a9bb9cac3afbb58347c808ae76aaa41ca967d07.jpg", //弹幕发送用户头像
            "is_mystery": false,
            "name": "tim1997", //弹幕发送用户名称
            "name_color": 0,
            "name_color_str": "",
            "official_info": {
              "desc": "",
              "role": 0,
              "title": "",
              "type": -1
            },
            "origin_info": {
              "face": "https://i1.hdslb.com/bfs/face/5a9bb9cac3afbb58347c808ae76aaa41ca967d07.jpg",
              "name": "tim1997"
            },
            "risk_ctrl_info": null
          },
          "guard": null,
          "guard_leader": {
            "is_guard_leader": false
          },
          "medal": {
            "color": 2951253, //粉丝牌颜色(10进制)#2d0855
            "color_border": 16771156, //粉丝牌边框颜色(10进制)#ffe854
            "color_end": 10329087, //粉丝牌渐变颜色结束(10进制)#9d9bff
            "color_start": 2951253, //粉丝牌渐变颜色开始(10进制)#2d0855
            "guard_icon": "https://i0.hdslb.com/bfs/live/1d16bf0fcc3b1b768d1179d60f1fdbabe6ab4489.png", //粉丝牌左边的图标
            "guard_level": 1, //类型 1.总督 2.提督 3,舰长
            "honor_icon": "",
            "id": 1279130,
            "is_light": 1,
            "level": 29, //粉丝牌等级
            "name": "果咩吖", //粉丝牌名称
            "ruid": 3546569288714792, //粉丝牌创建者UID
            "score": 50427312,
            "typ": 0,
            "user_receive_count": 0,
            "v2_medal_color_border": "#D47AFFFF", //粉丝牌边框颜色(APP)
            "v2_medal_color_end": "#9660E5CC", //粉丝牌渐变颜色结束(APP)
            "v2_medal_color_level": "#6C00A099", //粉丝牌右边等级数字颜色(APP)
            "v2_medal_color_start": "#9660E5CC", //粉丝牌渐变颜色开始(APP)
            "v2_medal_color_text": "#FFFFFFFF" //粉丝牌右边圆形颜色(APP)
          },
          "title": {
            "old_title_css_id": "",
            "title_css_id": ""
          },
          "uhead_frame": null,
          "uid": 6088969, //弹幕发送用户UID
          "wealth": null
        }
      },
      {
        "activity_identity": "",
        "activity_source": 0,
        "not_show": 0
      },
      0
    ],
    "白花300块[热]", //弹幕内容
    [
      6088969, //同info[0][15].user.uid
      "tim1997", //同info[0][15].user.base.name
      0,
      0,
      0,
      10000,
      1,
      ""
    ],
    [
      29, //同info[0][15].user.medal.level
      "果咩吖", //同info[0][15].user.medal.name
      "果宝Official", //粉丝牌创建主播名称
      31180317,
      2951253, //同info[0][15].user.medal.color
      "",
      0,
      16771156, //同info[0][15].user.medal.color_border
      2951253, //同info[0][15].user.medal.color_start
      10329087, //同info[0][15].user.medal.color_end
      1, //同info[0][15].user.medal.guard_level
      1, //同info[0][15].user.medal.is_light
      3546569288714792 //同info[0][15].user.medal.ruid
    ],
    [
      39,
      0,
      10512625,
      42523,
      2
    ],
    [
      "",
      ""
    ],
    0,
    0,
    null,
    {
      "ct": "AFFF4206",
      "ts": 1723979200 //时间戳(秒级)
    },
    0,
    0,
    null,
    null,
    0,
    1040,
    [
      49
    ],
    null
  ]
}

交互信息合并 (DM_INTERACTION)

注: 连续多条相同弹幕时触发

JSON正文:

根对象:

字段类型内容备注
cmdstrDM_INTERACTION
dataobj信息本体

data 对象:

字段类型内容备注
idnum事件 ID
statusnum状态
typenum事件类型102:弹幕
103:
104:送礼
105:分享
106:点赞
datastr事件数据一个JSON字符串
dmsourcenum

data.data 字符串对象:

内容格式取决于data.type的类型,下面将按照data.data(类型)进行区分标记。

温馨提示: 要记得先解析data.data内的JSON字符串,不要直接使用哦。

data.data(102) 对象: (弹幕)

字段类型内容备注
comboarray连续发送弹幕事件信息
merge_intervalnum合并弹幕时间间隔
card_appear_intervalnum弹窗出现时间间隔
send_intervalnum发送时间间隔

data.data(102).combo[n] 对象:

字段类型内容备注
idnum标识 ID
statusnum状态
contentstr重复的弹幕内容
cntnum重复数量
guidestr标题词"他们都在说:"
left_durationnum左移时长
fade_durationnum淡化时长

data.data(104) 对象: (送礼)

字段类型内容备注
fade_durationnum
cntnum投喂计数
card_appear_intervalnum
suffix_textstr提示文本人在投喂
reset_cntnum
display_flagnum
gift_idnum礼物 ID
gift_alert_messagestr

data.data(105) 对象: (分享)

字段类型内容备注
fade_durationnum
cntnum分享计数
card_appear_intervalnum
suffix_textstr提示文本人分享了直播间
reset_cntnum
display_flagnum

data.data(106) 对象: (点赞)

字段类型内容备注
fade_durationnum
cntnum点赞计数
card_appear_intervalnum
suffix_textstr提示文本人正在点赞
reset_cntnum
display_flagnum

示例:

查看正文示例:

type===102

{
  "cmd": "DM_INTERACTION",
  "data": {
    "id": 6785480089600,
    "status": 4,
    "type": 102,
    "data": {
      "combo": [
        {
          "id": 6785480089600,
          "status": 4,
          "content": "晚安",
          "cnt": 3,
          "guide": "他们都在说:",
          "left_duration": 20000,
          "fade_duration": 60000
        }
      ],
      "merge_interval": 1000,
      "card_appear_interval": 1000,
      "send_interval": 1000
    }
  }
}

type===104

{
	"cmd": "DM_INTERACTION",
	"data": {
		"data": "{\"fade_duration\":10000,\"cnt\":5,\"card_appear_interval\":0,\"suffix_text\":\"人在投喂\",\"reset_cnt\":0,\"display_flag\":1,\"gift_id\":33988,\"gift_alert_message\":\"投喂一个%s支持主播\"}",
		"dmscore": 36,
		"id": 85744481752576,
		"status": 5,
		"type": 104
	}
}

type===105

{
	"cmd": "DM_INTERACTION",
	"data": {
		"data": "{\"fade_duration\":10000,\"cnt\":1,\"card_appear_interval\":0,\"suffix_text\":\"人分享了直播间\",\"reset_cnt\":0,\"display_flag\":1}",
		"dmscore": 36,
		"id": 85743053669888,
		"status": 4,
		"type": 105
	}
}

type===106

{
	"cmd": "DM_INTERACTION",
	"data": {
		"data": "{\"fade_duration\":10000,\"cnt\":11,\"card_appear_interval\":0,\"suffix_text\":\"人正在点赞\",\"reset_cnt\":1,\"display_flag\":1}",
		"dmscore": 36,
		"id": 66159395305984,
		"status": 5,
		"type": 106
	}
}

进场或关注消息 (INTERACT_WORD)

注: 有用户进入直播间或关注主播时触发

JSON消息:

根对象:

字段类型内容备注
cmdstrINTERACT_WORD
dataobj进入直播间的用户的信息

data 对象:

字段类型内容备注
contributionobj待调查
dmscorenum待调查
fans_medalobj粉丝勋章
identitiesnum待调查
is_spreadnum待调查
msg_typenum1为进场,2为关注,3为分享
roomidnum房间号
is_spreadnum待调查
is_spreadnum待调查
scorenum待调查
spread_descstr待调查
spread_infostr待调查
tail_iconnum待调查
timestampnum时间戳
trigger_timenum触发时间
uidnum用户ID
unamestr用户名称
uname_colorstr用户名称颜色

示例:

查看消息示例:
{
  "cmd": "INTERACT_WORD",
  "data": {
    "contribution": {
      "grade": 0
    },
    "dmscore": 4,
    "fans_medal": {
      "anchor_roomid": 890976,
      "guard_level": 0,
      "icon_id": 0,
      "is_lighted": 0,
      "medal_color": 6067854,
      "medal_color_border": 12632256,
      "medal_color_end": 12632256,
      "medal_color_start": 12632256,
      "medal_level": 1,
      "medal_name": "小豆皮",
      "score": 134,
      "special": "",
      "target_id": 6574487
    },
    "identities": [
      1
    ],
    "is_spread": 0,
    "msg_type": 1,
    "roomid": 24143902,
    "score": 1644563948936,
    "spread_desc": "",
    "spread_info": "",
    "tail_icon": 0,
    "timestamp": 1644563948,
    "trigger_time": 1644563947876475000,
    "uid": 335979315,
    "uname": "TIM_Init",
    "uname_color": ""
  }
}

上舰通知 (GUARD_BUY)

注: 当有用户购买 舰长 / 提督 / 总督 时

JSON消息:

字段类型内容备注
cmdstrGUARD_BUY
dataobj信息本体

data 对象:

字段类型内容备注
uidnum用户ID
usernamestr用户名称
guard_levelnum大航海等级1: 总督
2: 提督
3:舰长
numnum数量
pricenum原金瓜子标价即 CNY*1000
gift_idnum礼物id
gift_namestr礼物名称
start_timenum待调查
end_timenum待调查

示例:

查看消息示例:
{
  "cmd": "GUARD_BUY",
  "data": {
    "uid": 14225357,
    "username": "妙妙喵喵妙妙喵O_O",
    "guard_level": 3,
    "num": 1,
    "price": 198000,
    "gift_id": 10003,
    "gift_name": "舰长",
    "start_time": 1677069316,
    "end_time": 1677069316
  }
}

用户庆祝消息 (USER_TOAST_MSG)

注: 用户购买 舰长 / 提督 / 总督 后的庆祝消息, 内容包含用户陪伴天数

JSON消息:

根对象:

字段类型内容备注
cmdstrUSER_TOAST_MSG
dataobj信息本体

data 对象:

字段类型内容备注
anchor_showbool是否显示
colorstr颜色
dmscorenum待调查
effect_idnum待调查
face_effect_idnum待调查
gift_idnum礼物id
group_namestr待调查
group_op_typenum待调查
group_role_namestr待调查
guard_levelnum大航海等级1: 总督
2:
提督
3:舰长
is_groupnum待调查
is_shownum待调查
numnum上舰个数
op_typenum待调查
payflow_idstr待调查
pricenum实际金瓜子标价即 CNY*1000
role_namestr身份名称
room_effect_idnum待调查
room_group_effect_idnum待调查
start_timenum待调查
svga_blocknum待调查
target_guard_countstr庆祝消息正文
toast_msgnum待调查
uidnum上舰人UID
unitstr购买身份时间单位
user_showbool待调查
usernamestr上舰人用户名

示例:

查看消息示例:
{
  "cmd": "USER_TOAST_MSG",
  "data": {
    "anchor_show": true,
    "color": "#00D1F1",
    "dmscore": 90,
    "effect_id": 397,
    "end_time": 1702580687,
    "face_effect_id": 44,
    "gift_id": 10003,
    "group_name": "",
    "group_op_type": 0,
    "group_role_name": "",
    "guard_level": 3,
    "is_group": 0,
    "is_show": 0,
    "num": 1,
    "op_type": 1,
    "payflow_id": "2312150304155852173446521",
    "price": 138000,
    "role_name": "舰长",
    "room_effect_id": 590,
    "room_group_effect_id": 1337,
    "start_time": 1702580687,
    "svga_block": 0,
    "target_guard_count": 146,
    "toast_msg": "<%无光之日%> 在主播Mia米娅-的直播间开通了舰长,今天是TA陪伴主播的第1天",
    "uid": 79667344,
    "unit": "月",
    "user_show": true,
    "username": "无光之日"
  }
}

醒目留言 (SUPER_CHAT_MESSAGE)

JSON消息:

根对象:

字段类型内容备注
cmdstrSUPER_CHAT_MESSAGE
dataobj信息本体
roomidnum直播间房间号 (非短号)

data 对象:

字段类型内容备注
background_bottom_colorstr待调查
background_colorstr待调查
background_color_endstr待调查
background_color_startstr待调查
background_iconstr待调查
background_imagestr待调查
background_price_colorstr待调查
color_pointnum待调查
dmscorenum待调查
end_timenum待调查
giftobj礼物信息
idnum醒目留言 ID
is_rankednum待调查
is_send_auditnum待调查
medal_infoobjSC发送用户佩戴的粉丝牌信息
messagestrsc内容
message_font_colorstrSC文本颜色
message_transstr机翻sc内容
pricenumsc金额为 CNY 价值
ratenum待调查
start_timenum待调查
timenumsc持续时间
tokennum待调查
trans_marknum待调查
tsnum待调查
uidnum发送用户uid
user_infoobj发送用户信息

data.gift 对象:

字段类型内容备注
gift_idnum礼物id
gift_namestr礼物名称一般均为"醒目留言"
numnum数量

data.medal_info 对象:

字段类型内容备注
anchor_roomidnum房间号包含短号
anchor_unamestr主播昵称
guard_levelnum大航海等级1: 总督
2: 提督
3: 舰长
icon_idnum待调查
is_lightednum待调查
medal_colorstr待调查
medal_color_bordernum待调查
medal_color_endnum待调查
medal_color_startnum待调查
medal_levelnum粉丝牌等级
medal_namestr粉丝牌名称
specialstr待调查
target_idnum粉丝牌对应的主播mid

data.user_info 对象:

字段类型内容备注
facenum用户头像
face_framenum头像边框
guard_levelnum大航海等级1: 总督
2: 提督
3: 舰长
is_main_vipnum待调查
is_svipnum待调查
is_vipnum待调查
level_colorstr待调查
managernum待调查
name_colorstr待调查
titlestr待调查
unamestr用户名称
user_levelnum待调查

示例:

查看消息示例:
{
  "cmd": "SUPER_CHAT_MESSAGE",
  "data": {
    "background_bottom_color": "#2A60B2",
    "background_color": "#EDF5FF",
    "background_color_end": "#405D85",
    "background_color_start": "#3171D2",
    "background_icon": "",
    "background_image": "https://i0.hdslb.com/bfs/live/a712efa5c6ebc67bafbe8352d3e74b820a00c13e.png",
    "background_price_color": "#7497CD",
    "color_point": 0.7,
    "dmscore": 120,
    "end_time": 1677069095,
    "gift": {
      "gift_id": 12000,
      "gift_name": "醒目留言",
      "num": 1
    },
    "id": 6522809,
    "is_ranked": 1,
    "is_send_audit": 0,
    "medal_info": {
      "anchor_roomid": 732,
      "anchor_uname": "Asaki大人",
      "guard_level": 3,
      "icon_id": 0,
      "is_lighted": 1,
      "medal_color": "#1a544b",
      "medal_color_border": 6809855,
      "medal_color_end": 5414290,
      "medal_color_start": 1725515,
      "medal_level": 21,
      "medal_name": "ASAKI",
      "special": "",
      "target_id": 194484313
    },
    "message": "猪播完美预测自己第一个死,这就是鹅鸭杀高玩吗",
    "message_font_color": "#A3F6FF",
    "message_trans": "",
    "price": 30,
    "rate": 1000,
    "start_time": 1677069035,
    "time": 60,
    "token": "7BED5681",
    "trans_mark": 0,
    "ts": 1677069035,
    "uid": 294094150,
    "user_info": {
      "face": "https://i1.hdslb.com/bfs/face/7a11b48e0a3055e220fa8b4c7d938cd4bcac2577.jpg",
      "face_frame": "https://i0.hdslb.com/bfs/live/80f732943cc3367029df65e267960d56736a82ee.png",
      "guard_level": 3,
      "is_main_vip": 1,
      "is_svip": 0,
      "is_vip": 0,
      "level_color": "#969696",
      "manager": 0,
      "name_color": "#00D1F1",
      "title": "0",
      "uname": "界原虚",
      "user_level": 6
    }
  },
  "roomid": 6154037
}

醒目留言日语 (SUPER_CHAT_MESSAGE_JPN)

基本同 醒目留言 (SUPER_CHAT_MESSAGE), 但多了 message_jpn 字段

示例:

查看消息示例:
{
  "cmd": "SUPER_CHAT_MESSAGE_JPN",
  "data": {
    "id": "3790747",
    "uid": "394060741",
    "price": 30,
    "rate": 1000,
    "message": "棉花!!转盘中了武器后,上号30抽3武器,救命!!!",
    "message_jpn": "",
    "is_ranked": 1,
    "background_image": "https://i0.hdslb.com/bfs/live/a712efa5c6ebc67bafbe8352d3e74b820a00c13e.png",
    "background_color": "#EDF5FF",
    "background_icon": "",
    "background_price_color": "#7497CD",
    "background_bottom_color": "#2A60B2",
    "ts": 1650363318,
    "token": "24655ABF",
    "medal_info": {
      "icon_id": 0,
      "target_id": 1871001,
      "special": "",
      "anchor_uname": "棉花大哥哥",
      "anchor_roomid": 103,
      "medal_level": 24,
      "medal_name": "棉花花",
      "medal_color": "#1a544b"
    },
    "user_info": {
      "uname": "改了名真的能中吗",
      "face": "http://i1.hdslb.com/bfs/face/e2391f132cd981fb70468a8ce9418513e959eb10.jpg",
      "face_frame": "https://i0.hdslb.com/bfs/live/80f732943cc3367029df65e267960d56736a82ee.png",
      "guard_level": 3,
      "user_level": 11,
      "level_color": "#61c05a",
      "is_vip": 0,
      "is_svip": 0,
      "is_main_vip": 1,
      "title": "0",
      "manager": 0
    },
    "time": 60,
    "start_time": 1650363318,
    "end_time": 1650363378,
    "gift": {
      "num": 1,
      "gift_id": 12000,
      "gift_name": "醒目留言"
    }
  },
  "roomid": "34348"
}

醒目留言删除 (SUPER_CHAT_MESSAGE_DELETE)

JSON消息:

根对象:

字段类型内容备注
cmdstrSUPER_CHAT_MESSAGE_DELETE
dataobj消息本体
roomidnum直播间号

data 对象:

字段类型内容备注
idsarr待删除的醒目留言 ID 列表

示例:

查看消息示例:
{
  "cmd": "SUPER_CHAT_MESSAGE_DELETE",
  "data": {
    "ids": [
      3897503
    ]
  },
  "roomid": 23708804
}

送礼 (SEND_GIFT)

JSON消息:

根对象:

字段类型内容备注
cmdstrSEND_GIFT
dataobj消息本体

data 对象:

字段类型内容备注
actionstr礼物操作,一般为"投喂"
batch_combo_idstr待调查有时为空字符串
batch_combo_sendobj待调查有时为null
beatIdstr待调查
biz_sourcestr待调查
blind_gift待调查
broadcast_idnum待调查
coin_typestr标识金银瓜子礼物对应是否付费?
combo_resources_idnum待调查
combo_send待调查
comber_stay_timenum待调查
combo_total_coinnum待调查
crit_probnum待调查
demarcationnum待调查
discount_pricenum待调查
dmscorenum待调查
drawnum待调查
effectnum待调查
effect_blocknum待调查
facestr礼物投喂者的头像URL
face_effect_idnum待调查
face_effect_typenum待调查
float_sc_resource_idnum待调查
giftIdnum礼物ID
giftNamestr礼物名称
giftTypenum待调查
goldnumber待调查
guard_levelnum待调查
is_firstbool待调查
is_join_receiverbool待调查
is_namingbool待调查
is_special_batchnum待调查
magnificationnum待调查
medal_infoobj礼物投喂者粉丝奖牌信息
name_colorstr待调查
numnum该次投喂的礼物数量
original_gift_namestr待调查
pricenum价值
rcostnum待调查
receive_user_infoobj礼物接收者信息,一般是主播
remainnum待调查
rndnum礼物发送时的时间戳,以及后面9位未知数字
send_master待调查
silvernum待调查
supernum待调查
super_batch_gift_numnum待调查
super_gift_numnum待调查
svga_blocknum待调查
switchbool待调查
tag_imagestr待调查
tidnum礼物发送时的时间戳,以及后面9位未知数字似乎与rnd字段相同
timestampnum礼物发送时的时间戳
top_list待调查
total_coinnum实际金银瓜子总价值不是总等于 num*price
uidnum礼物投喂者的UID
unamestr礼物投喂者的名称

data.batch_combo_send 对象:

字段类型内容备注
actionstr礼物操作,一般为"投喂"
batch_combo_idstr待调查
batch_combo_numnum待调查
blind_gift待调查
gift_idnum待调查
gift_namestr投喂的礼物名称待调查
gift_numnum投喂礼物数量待调查
send_master待调查
uidnum礼物投喂者的UID
unamestr礼物投喂者的名称

data.medal_info 对象:

字段类型内容备注
anchor_roomidnum待调查
anchor_unamestr待调查
guard_levelnum待调查
icon_idnum待调查
is_lightednum待调查
medal_colornum礼物投喂者的粉丝奖牌颜色十六进制颜色值转为了十进制表示
medal_border_colornum礼物投喂者的粉丝奖牌边框颜色十六进制颜色值的十进制表示
medal_color_endnum待调查
medal_color_startnum待调查
medal_levelnum礼物投喂者的粉丝奖牌等级
medal_namestr礼物投喂者的粉丝奖牌名称
specialstr待调查
target_idnum待调查

data.receive_user_info 对象:

字段类型内容备注
uidnum礼物接收者的UID一般为主播的UID
unamestr礼物接收者的名称一般为主播的名称

示例:

查看消息示例:
{
  "cmd": "SEND_GIFT",
  "data": {
    "action": "投喂",
    "batch_combo_id": "batch:gift:combo_id:510149209:36047134:31036:1673622464.8445",
    "batch_combo_send": {
      "action": "投喂",
      "batch_combo_id": "batch:gift:combo_id:510149209:36047134:31036:1673622464.8445",
      "batch_combo_num": 1,
      "blind_gift": null,
      "gift_id": 31036,
      "gift_name": "小花花",
      "gift_num": 1,
      "send_master": null,
      "uid": 510149209,
      "uname": "12138额83121"
    },
    "beatId": "",
    "biz_source": "live",
    "blind_gift": null,
    "broadcast_id": 0,
    "coin_type": "gold",
    "combo_resources_id": 1,
    "combo_send": {
      "action": "投喂",
      "combo_id": "gift:combo_id:510149209:36047134:31036:1673622464.8434",
      "combo_num": 1,
      "gift_id": 31036,
      "gift_name": "小花花",
      "gift_num": 1,
      "send_master": null,
      "uid": 510149209,
      "uname": "12138额83121"
    },
    "combo_stay_time": 3,
    "combo_total_coin": 100,
    "crit_prob": 0,
    "demarcation": 1,
    "discount_price": 100,
    "dmscore": 8,
    "draw": 0,
    "effect": 0,
    "effect_block": 0,
    "face": "https://i1.hdslb.com/bfs/face/fb79103e8b33547023e2010030b6889bba2b49bf.jpg",
    "face_effect_id": 0,
    "face_effect_type": 0,
    "float_sc_resource_id": 0,
    "giftId": 31036,
    "giftName": "小花花",
    "giftType": 0,
    "gold": 0,
    "guard_level": 0,
    "is_first": true,
    "is_join_receiver": false,
    "is_naming": false,
    "is_special_batch": 0,
    "magnification": 1,
    "medal_info": {
      "anchor_roomid": 0,
      "anchor_uname": "",
      "guard_level": 0,
      "icon_id": 0,
      "is_lighted": 0,
      "medal_color": 0,
      "medal_color_border": 0,
      "medal_color_end": 0,
      "medal_color_start": 0,
      "medal_level": 0,
      "medal_name": "",
      "special": "",
      "target_id": 0
    },
    "name_color": "",
    "num": 1,
    "original_gift_name": "",
    "price": 100,
    "rcost": 164536872,
    "receive_user_info": {
      "uid": 36047134,
      "uname": "小霖QL"
    },
    "remain": 0,
    "rnd": "1673622464121900003",
    "send_master": null,
    "silver": 0,
    "super": 0,
    "super_batch_gift_num": 1,
    "super_gift_num": 1,
    "svga_block": 0,
    "switch": true,
    "tag_image": "",
    "tid": "1673622464121900003",
    "timestamp": 1673622464,
    "top_list": null,
    "total_coin": 100,
    "uid": 510149209,
    "uname": "12138额83121"
  }
}

礼物星球点亮 (GIFT_STAR_PROCESS)

注: 主播的礼物星球其一点亮之后

JSON消息:

根对象:

字段类型内容备注
cmdstrGIFT_STAR_PROCESS
dataobj信息本体

data 对象:

字段类型内容备注
statusnum待调查
tipstr点亮礼物星球的消息文本

示例:

查看消息示例:
{
    "cmd": "GIFT_STAR_PROCESS",
    "data": {
        "status": 1,
        "tip": "情书已点亮"
    }
}

礼物连击 (COMBO_SEND)

JSON消息:

根对象:

字段类型内容备注
cmdstrCOMBO_SEND
dataobj信息本体

data 对象:

字段类型内容备注
actionstr礼物操作,一般为"投喂"
batch_combo_idstr待调查
batch_combo_numnum连击礼物数量
combo_idstr待调查
combo_numstr连击礼物数量
combo_total_coinnum待调查
dmscorenum待调查
gift_idnum待调查
gift_namestr连击礼物的名称
gift_numnum0
is_join_receiverbool待调查
is_namingbool待调查
is_shownum待调查
medal_infoobj礼物投喂者的粉丝勋章信息
name_colorstr待调查
r_unamestr主播的名称
receive_user_infoobj主播的UID和名称
ruidnum主播的UID
send_master待调查
total_numnum连击礼物数量
uidnum礼物投喂者的UID
unamestr礼物投喂者的名称

data.receive_user_info 对象:

字段类型内容备注
uidnumber礼物接收者的UID一般为主播的UID
unamestring礼物接收者的名称一般为主播的名称

示例:

查看消息示例:
{
  "cmd": "COMBO_SEND",
  "data": {
    "action": "投喂",
    "batch_combo_id": "batch:gift:combo_id:3493090830584635:29857468:31036:1673774515.6190",
    "batch_combo_num": 2,
    "combo_id": "gift:combo_id:3493090830584635:29857468:31036:1673774515.6180",
    "combo_num": 2,
    "combo_total_coin": 200,
    "dmscore": 112,
    "gift_id": 31036,
    "gift_name": "小花花",
    "gift_num": 0,
    "is_join_receiver": false,
    "is_naming": false,
    "is_show": 1,
    "medal_info": {
      "anchor_roomid": 0,
      "anchor_uname": "",
      "guard_level": 0,
      "icon_id": 0,
      "is_lighted": 1,
      "medal_color": 6067854,
      "medal_color_border": 6067854,
      "medal_color_end": 6067854,
      "medal_color_start": 6067854,
      "medal_level": 3,
      "medal_name": "爱珞珞",
      "special": "",
      "target_id": 3493076559465366
    },
    "name_color": "",
    "r_uname": "露萌不要雨草",
    "receive_user_info": {
      "uid": 29857468,
      "uname": "露萌不要雨草"
    },
    "ruid": 29857468,
    "send_master": null,
    "total_num": 2,
    "uid": 3493090830584635,
    "uname": "DOC-Neo"
  }
}

特殊礼物 (SPECIAL_GIFT)

JSON消息:

根对象:

字段类型内容备注
cmdstrSPECIAL_GIFT
dataobj信息本体

data 对象:

以 数字 为键, JSON Object 为值的表

data['?'] 对象:

字段类型内容备注
actionstr操作?
contentstr内容
hadJoinnum是否加入?
idstr?字符串表示的数字
numstr数量
storm_gifstrGIF 动画 URL
timestr持续时间?

示例:

查看消息示例:
{
  "cmd": "SPECIAL_GIFT",
  "data": {
    "39": {
      "action": "start",
      "content": "可爱即正义~~",
      "hadJoin": 0,
      "id": "3306976431489",
      "num": 1,
      "storm_gif": "http://static.hdslb.com/live-static/live-room/images/gift-section/mobilegift/2/jiezou.gif?2017011901",
      "time": 90
    }
  }
}

通知消息 (NOTICE_MSG)

JSON消息:

根对象:

字段类型内容备注
cmdstrNOTICE_MSG
idnum待调查
namestr通知名
fullobj完整显示信息?
halfobj半部显示信息?
sideobj边缘显示信息?
roomidnum目标直播间短号
real_roomidnum目标直播间真实ID
msg_commonstr显示的消息内容
msg_selfstr消息内容本身剔除额外文本
link_urlstr通知消息跳转的URL
msg_typenum待调查
shield_uidnum待调查
business_idstr待调查
scatterobj待调查
marquee_idstr待调查
notice_typenum待调查

示例:

查看消息示例:
{
  "cmd": "NOTICE_MSG",
  "id": 804,
  "name": "人气榜第一名",
  "full": {
    "head_icon": "https://i0.hdslb.com/bfs/live/f74b09c7fb83123a0dd66c536b6d5b143d271b08.png",
    "tail_icon": "https://i0.hdslb.com/bfs/live/822da481fdaba986d738db5d8fd469ffa95a8fa1.webp",
    "head_icon_fa": "https://i0.hdslb.com/bfs/live/f74b09c7fb83123a0dd66c536b6d5b143d271b08.png",
    "tail_icon_fa": "https://i0.hdslb.com/bfs/live/38cb2a9f1209b16c0f15162b0b553e3b28d9f16f.png",
    "head_icon_fan": 1,
    "tail_icon_fan": 4,
    "background": "#FFE6BD",
    "color": "#9D5412",
    "highlight": "#FF6933",
    "time": 20
  },
  "half": {
    "head_icon": "https://i0.hdslb.com/bfs/live/f74b09c7fb83123a0dd66c536b6d5b143d271b08.png",
    "tail_icon": "https://i0.hdslb.com/bfs/live/822da481fdaba986d738db5d8fd469ffa95a8fa1.webp",
    "background": "#FFE6BD",
    "color": "#9D5412",
    "highlight": "#FF6933",
    "time": 0
  },
  "side": {
    "head_icon": "",
    "background": "",
    "color": "",
    "highlight": "",
    "border": ""
  },
  "roomid": 23919301,
  "real_roomid": 23919301,
  "msg_common": "恭喜主播<%AG超玩会王者荣耀一诺%>荣获上小时人气榜第<%1%>名!点击传送查看精彩内容!",
  "msg_self": "恭喜主播<%AG超玩会王者荣耀一诺%>荣获上小时人气榜第<%1%>名!",
  "link_url": "https://live.bilibili.com/23919301?broadcast_type=0&is_room_feed=1&from=28003&extra_jump_from=28003",
  "msg_type": 1,
  "shield_uid": -1,
  "business_id": "",
  "scatter": {
    "min": 0,
    "max": 0
  },
  "marquee_id": "",
  "notice_type": 0
}
{
  "cmd": "NOTICE_MSG",
  "id": 814,
  "name": "幻影飞船专用",
  "full": {
    "head_icon": "https://i0.hdslb.com/bfs/live/08978f1721200e11328d1f7d6231b21bcca20488.gif",
    "tail_icon": "https://i0.hdslb.com/bfs/live/822da481fdaba986d738db5d8fd469ffa95a8fa1.webp",
    "head_icon_fa": "https://i0.hdslb.com/bfs/live/08978f1721200e11328d1f7d6231b21bcca20488.gif",
    "tail_icon_fa": "https://i0.hdslb.com/bfs/live/38cb2a9f1209b16c0f15162b0b553e3b28d9f16f.png",
    "head_icon_fan": 1,
    "tail_icon_fan": 4,
    "background": "#F09153",
    "color": "#FFFFFF",
    "highlight": "#FFE600",
    "time": 15
  },
  "half": {
    "head_icon": "https://i0.hdslb.com/bfs/live/08978f1721200e11328d1f7d6231b21bcca20488.gif",
    "tail_icon": "",
    "background": "#F09153",
    "color": "#FFFFFFFF",
    "highlight": "#FFE600",
    "time": 15
  },
  "side": {
    "head_icon": "",
    "background": "",
    "color": "",
    "highlight": "",
    "border": ""
  },
  "roomid": 25207004,
  "real_roomid": 25207004,
  "msg_common": "<%咖啡_ミシェル%>投喂<%夜月瓜瓜sukuyi%>1个幻影飞船,向着浩瀚星辰出发!",
  "msg_self": "<%咖啡_ミシェル%>投喂<%夜月瓜瓜sukuyi%>1个幻影飞船,向着浩瀚星辰出发!",
  "link_url": "https://live.bilibili.com/25207004?broadcast_type=0&is_room_feed=1&from=28003&extra_jump_from=28003&live_lottery_type=1",
  "msg_type": 2,
  "shield_uid": -1,
  "business_id": "32356",
  "scatter": {
    "min": 0,
    "max": 0
  },
  "marquee_id": "",
  "notice_type": 0
}

主播准备中 (PREPARING)

JSON消息:

根对象:

字段类型内容备注
cmdstrPREPARING
roundnum轮播状态:
1正在轮播
0未轮播
开启轮播时存在
roomidstr直播间ID未知是真实ID还是短号
msg_idstr信息id?
p_is_ackbool未知
p_msg_typenum1未知
send_timenum发送时间UNIX 毫秒时间戳

示例:

查看消息示例:

有启用轮播:

{
  "cmd": "PREPARING",
  "msg_id": "26964930181741056:1000:1000",
  "p_is_ack": true,
  "p_msg_type": 1,
  "roomid": "1899237171",
  "round": 1,
  "send_time": 1739985402716
}

未启用轮播:

{
  "cmd": "PREPARING",
  "msg_id": "27040425357932032:1000:1000",
  "p_is_ack": true,
  "p_msg_type": 1,
  "roomid": "1017",
  "send_time": 1740129398337
}

直播开始 (LIVE)

注:请求了开始直播接口、开始向服务器推流时下发。

JSON消息:

根对象:

字段类型内容备注
cmdstrLIVE
live_keystr标记直播场次的key与开始直播接口获得的live_key相同
voice_backgroundstr?
sub_session_keystr?
live_platformstr开播平台?推测由开播接口决定
live_modelnum?
live_timenum开播时间UNIX 秒级时间戳,只有请求了开始直播后立刻下发的那个数据包里存在
roomidnum直播间号

示例:

查看消息示例:
{
  "cmd": "LIVE",
  "live_key": "234304209915761953",
  "voice_background": "",
  "sub_session_key": "234304209915761953sub_time:1651036923",
  "live_platform": "pc",
  "live_model": 0,
  "live_time": 1651036923,
  "roomid": 23614753
}

主播信息更新 (ROOM_REAL_TIME_MESSAGE_UPDATE)

JSON消息:

根对象:

字段类型内容备注
cmdstrROOM_REAL_TIME_MESSAGE_UPDATE
dataobj信息本体

data 对象:

字段类型内容备注
roomidnum直播间ID未知是真实ID还是短号
fansnum主播当前粉丝数
red_noticenum待调查
fans_clubnum主播粉丝团人数

示例:

查看消息示例:
{
  "cmd": "ROOM_REAL_TIME_MESSAGE_UPDATE",
  "data": {
    "roomid": 8618057,
    "fans": 136,
    "red_notice": -1,
    "fans_club": 8
  }
}

直播间高能榜 (ONLINE_RANK_V2)

注: 直播间高能用户数据刷新

JSON消息:

根对象:

字段类型内容备注
cmdstrONLINE_RANK_V2
dataobj直播间高能用户数据

data 对象:

字段类型内容备注
listarray在直播间高能用户中的用户信息
rank_typestr待调查

data.list[n] 对象:

字段类型内容备注
uidnum用户 mid
facestr用户头像 URL
scorestr该用户的贡献值
unamestr用户名称
ranknum该用户在高能榜中的排名
guard_levelnum大航海等级?

示例:

查看消息示例:
{
    "cmd": "ONLINE_RANK_V2",
    "data": {
        "list": [
            {
                "uid": 2082621455,
                "face": "https://i2.hdslb.com/bfs/face/9de6050277fa13d830eb97e3453d89843de46a31.jpg",
                "score": "20",
                "uname": "8级萌新_小华",
                "rank": 1,
                "guard_level": 0
            },
            {
                "uid": 50500335,
                "face": "https://i0.hdslb.com/bfs/face/ca722209251478ef0ffb45c3adeafb9dab283c57.jpg",
                "score": "20",
                "uname": "属官一号",
                "rank": 2,
                "guard_level": 0
            },
            {
                "uid": 29857468,
                "face": "https://i1.hdslb.com/bfs/face/7b4ae2e7e950f2dfb2bd969859c813487ce3b64c.jpg",
                "score": "12",
                "uname": "露萌不要雨草",
                "rank": 3,
                "guard_level": 0
            }
        ],
        "rank_type": "gold-rank"
    }
}

直播间高能用户数量 (ONLINE_RANK_COUNT)

JSON消息:

根对象:

字段类型内容备注
cmdstrONLINE_RANK_COUNT
dataobj信息本体

data 对象:

字段类型内容备注
countnum直播间高能用户数量

示例:

查看消息示例:
{
  "cmd": "ONLINE_RANK_COUNT",
  "data": {
    "count": 4
  }
}

未登录通知 (LOG_IN_NOTICE)

注:未使用认证信息进行登录将会下发此数据包,通常于认证包回复后下发,在后续时间里也有可能会下发;部分受到豁免的直播间不会下发。

JSON消息:

根对象:

字段类型内容备注
cmdstrLOG_IN_NOTICE
dataobj信息本体

data 对象:

字段类型内容备注
notice_msgstr通知内容
image_webstr在网页端使用的通知图片
image_appstr在app端使用的图片(未确认)

示例:

查看消息示例:
{
	"cmd": "LOG_IN_NOTICE",
	"data": {
		"notice_msg": "为保护用户隐私,未登录无法查看他人昵称",
		"image_web": "http://i0.hdslb.com/bfs/dm/75e7c16b99208df259fe0a93354fd3440cbab412.png",
		"image_app": "http://i0.hdslb.com/bfs/dm/b632f7dcd3acf47deffb5f9ccc9546ae97a3415b.png"
	}
}

用户到达直播间高能榜前三名的消息 (ONLINE_RANK_TOP3)

JSON消息:

根对象:

字段类型内容备注
cmdstrONLINE_RANK_TOP3
dataobj信息本体

data 对象:

字段类型内容备注
dmscorenum待调查
listarray消息内容和高能榜排名

data.list[n] 对象:

字段类型内容备注
msgstr消息内容
ranknum该用户的高能榜排名

示例:

查看消息示例:
{
  "cmd": "ONLINE_RANK_TOP3",
  "data": {
    "dmscore": 112,
    "list": [
      {
        "msg": "恭喜 <%你干嘛哈哈哎哟%> 成为高能用户",
        "rank": 1
      }
    ]
  }
}

JSON消息:

根对象:

字段类型内容备注
cmdstrPOPULAR_RANK_CHANGED
dataobj直播间的人气榜排名信息

data 对象:

字段类型内容备注
uidnum主播 mid
ranknum人气榜排名
countdownnum人气榜下轮结算剩余时长
timestampnum触发时的Unix时间戳
cache_keystr待调查

示例:

查看消息示例:
{
  "cmd": "POPULAR_RANK_CHANGED",
  "data": {
    "uid": 780791,
    "rank": 36,
    "countdown": 1927,
    "timestamp": 1702578474,
    "cache_key": "rank_change:91a4e81ba3034ae894d61e432aa13081"
  }
}

直播间限时热门榜排名改变 (HOT_RANK_CHANGED)

JSON消息:

根对象:

字段类型内容备注
cmdstrHOT_RANK_CHANGED
dataobj信息本体

data 对象:

字段类型内容备注
ranknum排名
trendnum趋势?
countdownnum剩余时间?
timestampnum当前时间?UNIX 秒级时间戳
web_urlstr排行榜 URL
live_urlstr排行榜 URL
blink_urlstr排行榜 URL
live_link_urlstr排行榜 URL
pc_link_urlstr排行榜 URL
iconstr图标 URL
area_namestr分区名称
rank_descstr空?

示例:

查看消息示例:
{
  "cmd": "HOT_RANK_CHANGED",
  "data": {
    "rank": 31,
    "trend": 1,
    "countdown": 1440,
    "timestamp": 1651037760,
    "web_url": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=2&area_id=9&parent_area_id=9&second_area_id=0",
    "live_url": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=1&area_id=9&parent_area_id=9&second_area_id=0&is_live_half_webview=1&hybrid_rotate_d=1&hybrid_half_ui=1,3,100p,70p,f4eefa,0,30,100,12,0;2,2,375,100p,f4eefa,0,30,100,0,0;3,3,100p,70p,f4eefa,0,30,100,12,0;4,2,375,100p,f4eefa,0,30,100,0,0;5,3,100p,70p,f4eefa,0,30,100,0,0;6,3,100p,70p,f4eefa,0,30,100,0,0;7,3,100p,70p,f4eefa,0,30,100,0,0;8,3,100p,70p,f4eefa,0,30,100,0,0",
    "blink_url": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=3&area_id=9&parent_area_id=9&second_area_id=0&is_live_half_webview=1&hybrid_rotate_d=1&is_cling_player=1&hybrid_half_ui=1,3,100p,70p,f4eefa,0,30,100,0,0;2,2,375,100p,f4eefa,0,30,100,0,0;3,3,100p,70p,f4eefa,0,30,100,0,0;4,2,375,100p,f4eefa,0,30,100,0,0;5,3,100p,70p,f4eefa,0,30,100,0,0;6,3,100p,70p,f4eefa,0,30,100,0,0;7,3,100p,70p,f4eefa,0,30,100,0,0;8,3,100p,70p,f4eefa,0,30,100,0,0",
    "live_link_url": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=5&area_id=9&parent_area_id=9&second_area_id=0&is_live_half_webview=1&hybrid_rotate_d=1&is_cling_player=1&hybrid_half_ui=1,3,100p,70p,f4eefa,0,30,100,0,0;2,2,375,100p,f4eefa,0,30,100,0,0;3,3,100p,70p,f4eefa,0,30,100,0,0;4,2,375,100p,f4eefa,0,30,100,0,0;5,3,100p,70p,f4eefa,0,30,100,0,0;6,3,100p,70p,f4eefa,0,30,100,0,0;7,3,100p,70p,f4eefa,0,30,100,0,0;8,3,100p,70p,f4eefa,0,30,100,0,0",
    "pc_link_url": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=4&is_live_half_webview=1&area_id=9&parent_area_id=9&second_area_id=0&pc_ui=338,465,f4eefa,0",
    "icon": "https://i0.hdslb.com/bfs/live/63217712edb588864b2c714225992e7f46b0b917.png",
    "area_name": "虚拟",
    "rank_desc": ""
  }
}

当前直播间限时热门榜排名改变V2 (HOT_RANK_CHANGED_V2)

JSON消息:

根对象:

字段类型内容备注
cmdstrHOT_RANK_CHANGED_V2
dataobj信息本体

data 对象:

字段类型内容备注
ranknum排名
trendnum趋势?
countdownnum剩余时间?
timestampnum当前时间?UNIX 秒级时间戳
web_urlstr排行榜 URL
live_urlstr排行榜 URL
blink_urlstr排行榜 URL
live_link_urlstr排行榜 URL
pc_link_urlstr排行榜 URL
iconstr图标 URL
area_namestr分区名称
rank_descstr排行榜说明

示例:

查看消息示例:
{
  "cmd": "HOT_RANK_CHANGED_V2",
  "data": {
    "rank": 31,
    "trend": 0,
    "countdown": 1440,
    "timestamp": 1651037760,
    "web_url": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=2&area_id=9&parent_area_id=9&second_area_id=371",
    "live_url": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=1&area_id=9&parent_area_id=9&second_area_id=371&is_live_half_webview=1&hybrid_rotate_d=1&hybrid_half_ui=1,3,100p,70p,f4eefa,0,30,100,12,0;2,2,375,100p,f4eefa,0,30,100,0,0;3,3,100p,70p,f4eefa,0,30,100,12,0;4,2,375,100p,f4eefa,0,30,100,0,0;5,3,100p,70p,f4eefa,0,30,100,0,0;6,3,100p,70p,f4eefa,0,30,100,0,0;7,3,100p,70p,f4eefa,0,30,100,0,0;8,3,100p,70p,f4eefa,0,30,100,0,0",
    "blink_url": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=3&area_id=9&parent_area_id=9&second_area_id=371&is_live_half_webview=1&hybrid_rotate_d=1&is_cling_player=1&hybrid_half_ui=1,3,100p,70p,f4eefa,0,30,100,0,0;2,2,375,100p,f4eefa,0,30,100,0,0;3,3,100p,70p,f4eefa,0,30,100,0,0;4,2,375,100p,f4eefa,0,30,100,0,0;5,3,100p,70p,f4eefa,0,30,100,0,0;6,3,100p,70p,f4eefa,0,30,100,0,0;7,3,100p,70p,f4eefa,0,30,100,0,0;8,3,100p,70p,f4eefa,0,30,100,0,0",
    "live_link_url": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=5&area_id=9&parent_area_id=9&second_area_id=371&is_live_half_webview=1&hybrid_rotate_d=1&is_cling_player=1&hybrid_half_ui=1,3,100p,70p,f4eefa,0,30,100,0,0;2,2,375,100p,f4eefa,0,30,100,0,0;3,3,100p,70p,f4eefa,0,30,100,0,0;4,2,375,100p,f4eefa,0,30,100,0,0;5,3,100p,70p,f4eefa,0,30,100,0,0;6,3,100p,70p,f4eefa,0,30,100,0,0;7,3,100p,70p,f4eefa,0,30,100,0,0;8,3,100p,70p,f4eefa,0,30,100,0,0",
    "pc_link_url": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=4&is_live_half_webview=1&area_id=9&parent_area_id=9&second_area_id=371&pc_ui=338,465,f4eefa,0",
    "icon": "https://i0.hdslb.com/bfs/live/cb2e160ac4f562b347bb5ae6e635688ebc69580f.png",
    "area_name": "虚拟主播",
    "rank_desc": "虚拟主播top50"
  }
}

限时热门榜上榜信息 (HOT_RANK_SETTLEMENT)

JSON消息:

根对象:

字段类型内容备注
cmdstrHOT_RANK_SETTLEMENT
dataobj信息本体

data 对象:

字段类型内容备注
area_namestr分区名称
cache_keystr?
dm_msgstr弹幕提示信息
dmscorenum?
facestr主播头像 URL
iconstr图标 URL
ranknum排名
timestampnum时间UNIX 秒级时间戳
unamestr主播用户名
urlstr排行榜 URL

示例:

查看消息示例:
{
  "cmd": "HOT_RANK_SETTLEMENT",
  "data": {
    "area_name": "虚拟主播",
    "cache_key": "2f8baf923a6b7df5a045df6c7181984c",
    "dm_msg": "恭喜主播 <% 白黑卡扣 %> 荣登限时热门榜虚拟主播榜top9! 即将获得热门流量推荐哦!",
    "dmscore": 144,
    "face": "http://i0.hdslb.com/bfs/face/ddfcd696213e07884ce227c6ba6d23a007a08c02.jpg",
    "icon": "https://i0.hdslb.com/bfs/live/63217712edb588864b2c714225992e7f46b0b917.png",
    "rank": 9,
    "timestamp": 1651041000,
    "uname": "白黑卡扣",
    "url": "https://live.bilibili.com/p/html/live-app-hotrank/result.html?is_live_half_webview=1&hybrid_half_ui=1,5,250,200,f4eefa,0,30,0,0,0;2,5,250,200,f4eefa,0,30,0,0,0;3,5,250,200,f4eefa,0,30,0,0,0;4,5,250,200,f4eefa,0,30,0,0,0;5,5,250,200,f4eefa,0,30,0,0,0;6,5,250,200,f4eefa,0,30,0,0,0;7,5,250,200,f4eefa,0,30,0,0,0;8,5,250,200,f4eefa,0,30,0,0,0&areaId=9&cache_key=2f8baf923a6b7df5a045df6c7181984c"
  }
}

限时热门榜上榜信息V2 (HOT_RANK_SETTLEMENT_V2)

JSON消息:

基本同 限时热门榜上榜信息, 但没有 data.dmscore 字段

示例:

查看消息示例:
{
  "cmd": "HOT_RANK_SETTLEMENT_V2",
  "data": {
    "rank": 9,
    "uname": "白黑卡扣",
    "face": "http://i0.hdslb.com/bfs/face/ddfcd696213e07884ce227c6ba6d23a007a08c02.jpg",
    "timestamp": 1651040700,
    "icon": "https://i0.hdslb.com/bfs/live/cb2e160ac4f562b347bb5ae6e635688ebc69580f.png",
    "area_name": "虚拟主播",
    "url": "https://live.bilibili.com/p/html/live-app-hotrank/result.html?is_live_half_webview=1&hybrid_half_ui=1,5,250,200,f4eefa,0,30,0,0,0;2,5,250,200,f4eefa,0,30,0,0,0;3,5,250,200,f4eefa,0,30,0,0,0;4,5,250,200,f4eefa,0,30,0,0,0;5,5,250,200,f4eefa,0,30,0,0,0;6,5,250,200,f4eefa,0,30,0,0,0;7,5,250,200,f4eefa,0,30,0,0,0;8,5,250,200,f4eefa,0,30,0,0,0&areaId=371&cache_key=693b7b029b66976a399cf4e3485d265a",
    "cache_key": "693b7b029b66976a399cf4e3485d265a",
    "dm_msg": "恭喜主播 <% 白黑卡扣 %> 荣登限时热门榜虚拟主播榜top9! 即将获得热门流量推荐哦!"
  }
}

直播间用户点赞 (LIKE_INFO_V3_CLICK)

JSON消息:

根对象:

字段类型内容备注
cmdstrLIKE_INFO_V3_CLICK
dataobj信息本体

data 对象:

字段类型内容备注
show_areanum待调查
msg_typenum待调查
like_iconstr点赞图标的URL
uidnum点赞的用户的UID
like_textstr点赞文本
unamestr点赞的用户的名称
uname_colorstr点赞的用户的名称颜色
identitiesarray待调查
fans_medalobj点赞的用户的粉丝勋章信息
contribution_infoobj待调查
dmscorenum待调查

示例:

查看消息示例:
{
  "cmd": "LIKE_INFO_V3_CLICK",
  "data": {
    "show_area": 0,
    "msg_type": 6,
    "like_icon": "https://i0.hdslb.com/bfs/live/23678e3d90402bea6a65251b3e728044c21b1f0f.png",
    "uid": 32174213,
    "like_text": "为主播点赞了",
    "uname": "MeiDngS",
    "uname_color": "",
    "identities": [
      1
    ],
    "fans_medal": {
      "target_id": 0,
      "medal_level": 0,
      "medal_name": "",
      "medal_color": 0,
      "medal_color_start": 12632256,
      "medal_color_end": 12632256,
      "medal_color_border": 12632256,
      "is_lighted": 0,
      "guard_level": 0,
      "special": "",
      "icon_id": 0,
      "anchor_roomid": 0,
      "score": 0
    },
    "contribution_info": {
      "grade": 0
    },
    "dmscore": 20
  }
}

直播间点赞数更新 (LIKE_INFO_V3_UPDATE)

JSON消息:

根对象:

字段类型内容备注
cmdstrLIKE_INFO_V3_UPDATE
dataobj直播间点赞数

data 对象:

字段类型内容备注
click_countnum直播间点赞数

示例:

查看消息示例:
{
  "cmd": "LIKE_INFO_V3_UPDATE",
  "data": {
    "click_count": 3227
  }
}

直播间发红包弹幕 (POPULARITY_RED_POCKET_START)

注: 开始抽取红包

JSON消息:

根对象:

字段类型内容备注
cmdstrPOPULARITY_RED_POCKET_START
dataobj信息本体

data 对象:

字段类型内容备注
lot_idnum发送的红包的ID
sender_uidnum发送者的UID
sender_namestr发送者的名称
sender_facestr发送者的头像的URL
join_requirementnum待调查
danmustr用户参与红包时自动发送的弹幕内容
current_timenum服务器发送数据包的Unix时间戳
start_timenum可以开始抢红包的Unix时间戳
end_timenum抢红包的结束时间Unix时间戳
last_timenum红包的持续时间(秒)start_time - end_time
remove_timenum待调查
replace_timenum待调查
lot_statusnum待调查
h5_urlstr红包页面的URL
user_statusnum用户参与状态,但是不知道是哪个用户1已参与
2未参与
awardsarray红包内包含的礼物的信息
lot_config_idnum待调查
total_pricenum内含抽取奖品金瓜子总价值目前红包的 20% 会直接交给主播, 所以 20 电池 (2 CNY) 对应 2000 金瓜子的 80% 是 1600 金瓜子
wait_numnum待调查

data.awards[n] 对象:

字段类型内容备注
gift_idnum礼物ID
gift_namestr礼物名称
gift_picstr礼物图标URL
numnum该礼物的数量

示例:

查看消息示例:
{
  "cmd": "POPULARITY_RED_POCKET_START",
  "data": {
    "lot_id": 2062329,
    "sender_uid": 181851309,
    "sender_name": "毒瘤老肥仔",
    "sender_face": "http://i0.hdslb.com/bfs/face/fed3871b01976ddd35fd3f772ffc2d4949f1391d.jpg",
    "join_requirement": 1,
    "danmu": "老板大气!点点红包抽礼物!",
    "current_time": 1650425344,
    "start_time": 1650425343,
    "end_time": 1650425523,
    "last_time": 180,
    "remove_time": 1650425538,
    "replace_time": 1650425533,
    "lot_status": 1,
    "h5_url": "https://live.bilibili.com/p/html/live-app-red-envelope/popularity.html?is_live_half_webview=1&hybrid_half_ui=1,5,100p,100p,000000,0,50,0,0,1;2,5,100p,100p,000000,0,50,0,0,1;3,5,100p,100p,000000,0,50,0,0,1;4,5,100p,100p,000000,0,50,0,0,1;5,5,100p,100p,000000,0,50,0,0,1;6,5,100p,100p,000000,0,50,0,0,1;7,5,100p,100p,000000,0,50,0,0,1;8,5,100p,100p,000000,0,50,0,0,1&hybrid_rotate_d=1&hybrid_biz=popularityRedPacket&lotteryId=2062329",
    "user_status": 2,
    "awards": [
      {
        "gift_id": 31212,
        "gift_name": "打call",
        "gift_pic": "https://s1.hdslb.com/bfs/live/f75291a0e267425c41e1ce31b5ffd6bfedc6f0b6.png",
        "num": 2
      },
      {
        "gift_id": 31214,
        "gift_name": "牛哇",
        "gift_pic": "https://s1.hdslb.com/bfs/live/b8a38b4bd3be120becddfb92650786f00dffad48.png",
        "num": 3
      },
      {
        "gift_id": 31216,
        "gift_name": "i了i了",
        "gift_pic": "https://s1.hdslb.com/bfs/live/1157a445487b39c0b7368d91b22290c60fa665b2.png",
        "num": 3
      }
    ],
    "lot_config_id": 3,
    "total_price": 1600,
    "wait_num": 0
  }
}

直播间红包 (POPULARITY_RED_POCKET_NEW)

注: 与 直播间发红包弹幕 不同, 那个是发红包的弹幕信息, 这个则和 送礼 的信息相似, 但也有前者的一些字段

JSON消息:

根对象:

字段类型内容备注
cmdstrPOPULARITY_RED_POCKET_NEW
dataobj信息本体

data 对象:

字段类型内容备注
lot_idnum红包 ID
start_timenum开抢时间UNIX 秒级时间戳
current_timenum当前时间UNIX 秒级时间戳
wait_numnum0?
unamestr发送者用户名
uidnum发送者的 mid
actionstr礼物操作
numnum礼物数量
gift_namestr红包
gift_idnum礼物 ID?
pricenum电池标价
name_colorstr用户名颜色
medal_infoobj发送者粉丝牌
查看消息示例:
{
  "cmd": "POPULARITY_RED_POCKET_NEW",
  "data": {
    "lot_id": 2062329,
    "start_time": 1650425343,
    "current_time": 1650425343,
    "wait_num": 0,
    "uname": "毒瘤老肥仔",
    "uid": 181851309,
    "action": "送出",
    "num": 1,
    "gift_name": "红包",
    "gift_id": 13000,
    "price": 20,
    "name_color": "#00D1F1",
    "medal_info": {
      "target_id": 11909915,
      "special": "",
      "icon_id": 0,
      "anchor_uname": "",
      "anchor_roomid": 0,
      "medal_level": 22,
      "medal_name": "伊克拉",
      "medal_color": 1725515,
      "medal_color_start": 1725515,
      "medal_color_end": 5414290,
      "medal_color_border": 6809855,
      "is_lighted": 1,
      "guard_level": 3
    }
  }
}

直播间抢到红包的用户 (POPULARITY_RED_POCKET_WINNER_LIST)

注: 红包中奖列表

JSON消息:

根对象:

字段类型内容备注
cmdstrPOPULARITY_RED_POCKET_WINNER_LIST
dataobj信息本体

data 对象:

字段类型内容备注
lot_idnum红包 ID
total_numnum礼物总数
winner_infoarray中奖信息
awardsobj礼物信息
versionnum

data.winner_info 数组:

类型内容备注
0array中奖者 1
……array……
narray中奖者 (n+1)

data.winner_info[n] 数组:

类型内容备注
0num该抢到红包的用户的 mid
1str该抢到红包的用户的名称
2numbag_id?
3num该用户抢到的礼物的 ID

data.awards 对象:

以 礼物 ID 为键, JSON Object 为值的表

data.awards['?'] 对象:

字段类型内容备注
award_typenum奖品类型?
award_namestr礼物名称
award_picstr礼物图标 URL
award_big_picstr礼物大图 URL
award_pricenum礼物价值
查看消息示例:
{
  "cmd": "POPULARITY_RED_POCKET_WINNER_LIST",
  "data": {
    "lot_id": 8445764,
    "total_num": 8,
    "winner_info": [
      [
        38554435,
        "我的0019",
        4581509,
        31212
      ],
      [
        516174930,
        "云来海遛鸟大爷",
        4606389,
        31212
      ]
    ],
    "awards": {
      "31212": {
        "award_type": 1,
        "award_name": "打call",
        "award_pic": "https://s1.hdslb.com/bfs/live/461be640f60788c1d159ec8d6c5d5cf1ef3d1830.png",
        "award_big_pic": "https://i0.hdslb.com/bfs/live/9e6521c57f24c7149c054d265818d4b82059f2ef.png",
        "award_price": 500
      },
      "31214": {
        "award_type": 1,
        "award_name": "牛哇",
        "award_pic": "https://s1.hdslb.com/bfs/live/91ac8e35dd93a7196325f1e2052356e71d135afb.png",
        "award_big_pic": "https://i0.hdslb.com/bfs/live/3b74c117b4f265edcea261bc5608a58d3a7c300a.png",
        "award_price": 100
      },
      "31216": {
        "award_type": 1,
        "award_name": "i了i了",
        "award_pic": "https://s1.hdslb.com/bfs/live/1157a445487b39c0b7368d91b22290c60fa665b2.png",
        "award_big_pic": "https://i0.hdslb.com/bfs/live/cfb9c3d9bdd2c25c95b7d859ebaa590ca9362adb.png",
        "award_price": 100
      }
    },
    "version": 1
  }
}

直播间看过人数 (WATCHED_CHANGE)

注: 当前直播历史观众数量, 可替代人气

正文:

数据包的正文, 前19字节的信息未知:

00000001: 8b38 8000 0000 7200 1000 0000 0000 0500  .8....r.........
00000002: 0000 00                                  ...

JSON消息:

根对象:

字段类型内容备注
cmdstrWATCHED_CHANGE
dataobj信息本体

data 对象:

字段类型内容备注
numnum看过人数
text_smallstr显示文字 (小)
text_largestr显示文字 (大)

示例:

查看消息示例:
{
  "cmd": "WATCHED_CHANGE",
  "data": {
    "num": 17903,
    "text_small": "1.7万",
    "text_large": "1.7万人看过"
  }
}

用户进场特效 (ENTRY_EFFECT)

注: 有进场特效的用户进入直播间

JSON消息:

根对象:

字段类型内容备注
cmdstrENTRY_EFFECT
dataobj信息本体

data 对象:

字段类型内容备注
idnum?
uidnum进场用户 mid
target_idnum主播 mid?
mock_effectnum?
facestr进场用户头像 URL
privilege_typenum?
copy_writingstr进场欢迎文本
copy_colorstr进场欢迎文本颜色16 进制
highlight_colorstr高亮颜色?16 进制
prioritynum优先级?
basemap_urlstr进场特效背景 URLAPP 端
show_avatarnum是否显示用户头像1: 显示
0: 不显示
web_basemap_urlstr进场特效背景 URL网页端
web_effective_timenum进场特效生存时间网页端
web_effect_closenum?
web_close_timenum?
businessnum?
copy_writing_v2str进场欢迎文本APP 端?
icon_listarray空?
max_delay_timenum最大等待时间?
trigger_timenum触发时间戳UNIX 纳秒时间戳
identitiesnum标识符?
effect_silent_timenum?
effective_time_newnum?
web_dynamic_url_webpstr?
web_dynamic_url_apngstr?
mobile_dynamic_url_webpstr?

示例:

查看消息示例:
{
  "cmd": "ENTRY_EFFECT",
  "data": {
    "id": 4,
    "uid": 489893482,
    "target_id": 27717502,
    "mock_effect": 0,
    "face": "https://i0.hdslb.com/bfs/face/member/noface.jpg",
    "privilege_type": 3,
    "copy_writing": "欢迎舰长 <%天使雨晰%> 进入直播间",
    "copy_color": "#ffffff",
    "highlight_color": "#E6FF00",
    "priority": 1,
    "basemap_url": "https://i0.hdslb.com/bfs/live/mlive/11a6e8eb061c3e715d0a6a2ac0ddea2faa15c15e.png",
    "show_avatar": 1,
    "effective_time": 2,
    "web_basemap_url": "https://i0.hdslb.com/bfs/live/mlive/11a6e8eb061c3e715d0a6a2ac0ddea2faa15c15e.png",
    "web_effective_time": 2,
    "web_effect_close": 0,
    "web_close_time": 0,
    "business": 1,
    "copy_writing_v2": "欢迎舰长 <%天使雨晰%> 进入直播间",
    "icon_list": [],
    "max_delay_time": 7,
    "trigger_time": 1673625604373633300,
    "identities": 6,
    "effect_silent_time": 0,
    "effective_time_new": 0,
    "web_dynamic_url_webp": "",
    "web_dynamic_url_apng": "",
    "mobile_dynamic_url_webp": ""
  }
}

全屏特效 (FULL_SCREEN_SPECIAL_EFFECT)

示例:

查看响应示例:
{
  "cmd": "FULL_SCREEN_SPECIAL_EFFECT",
  "data": {
    "type": 2,
    "ids": [
      514
    ],
    "queue": 2,
    "platform_in": [
      1,
      2
    ]
  }
}

直播间在所属分区的排名改变 (AREA_RANK_CHANGED)

JSON消息:

根对象:

字段类型内容备注
cmdstrAREA_RANK_CHANGED
dataobj信息本体

data 对象:

字段类型内容备注
conf_idnum配置 ID?
rank_namestr排行榜名称
uidnum主播 mid
ranknum直播间在分区的排名没有上榜则为 0
icon_url_bluestr蓝色排名图标 URL
icon_url_pinkstr粉色排名图标 URL
icon_url_greystr灰色排名图标 URL
action_typenum?
timestampnum当前时间UNIX 秒级时间戳
msg_idstr?一串 UUID
jump_url_linkstr排行榜跳转链接
jump_url_pcstr排行榜跳转链接
jump_url_pinkstr排行榜跳转链接
jump_url_webstr排行榜跳转链接

示例:

查看消息示例:
{
  "cmd": "AREA_RANK_CHANGED",
  "data": {
    "conf_id": 23,
    "rank_name": "手游航海",
    "uid": 27717502,
    "rank": 4,
    "icon_url_blue": "https://i0.hdslb.com/bfs/live/18e2990a546d33368200f9058f3d9dbc4038eb5c.png",
    "icon_url_pink": "https://i0.hdslb.com/bfs/live/a6c490c36e88c7b191a04883a5ec15aed187a8f7.png",
    "icon_url_grey": "https://i0.hdslb.com/bfs/live/cb7444b1faf1d785df6265bfdc1fcfc993419b76.png",
    "action_type": 1,
    "timestamp": 1673625610,
    "msg_id": "e93c7860-b901-41ca-aad8-fe538a5fac9c",
    "jump_url_link": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=3&ruid=27717502&conf_id=23&is_live_half_webview=1&hybrid_rotate_d=1&is_cling_player=1&hybrid_half_ui=1,3,100p,70p,f4eefa,0,30,100,0,0;2,2,375,100p,f4eefa,0,30,100,0,0;3,3,100p,70p,f4eefa,0,30,100,0,0;4,2,375,100p,f4eefa,0,30,100,0,0;5,3,100p,70p,f4eefa,0,30,100,0,0;6,3,100p,70p,f4eefa,0,30,100,0,0;7,3,100p,70p,f4eefa,0,30,100,0,0;8,3,100p,70p,f4eefa,0,30,100,0,0#/area-rank",
    "jump_url_pc": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=4&ruid=27717502&conf_id=23&pc_ui=338,465,f4eefa,0#/area-rank",
    "jump_url_pink": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=1&ruid=27717502&conf_id=23&is_live_half_webview=1&hybrid_rotate_d=1&is_cling_player=1&hybrid_half_ui=1,3,100p,70p,f4eefa,0,30,100,0,0;2,2,375,100p,f4eefa,0,30,100,0,0;3,3,100p,70p,f4eefa,0,30,100,0,0;4,2,375,100p,f4eefa,0,30,100,0,0;5,3,100p,70p,f4eefa,0,30,100,0,0;6,3,100p,70p,f4eefa,0,30,100,0,0;7,3,100p,70p,f4eefa,0,30,100,0,0;8,3,100p,70p,f4eefa,0,30,100,0,0#/area-rank",
    "jump_url_web": "https://live.bilibili.com/p/html/live-app-hotrank/index.html?clientType=2&ruid=27717502&conf_id=23#/area-rank"
  }
}

广播通知弹幕信息 (COMMON_NOTICE_DANMAKU)

JSON消息:

根对象:

字段类型内容备注
cmdstrCOMMON_NOTICE_DANMAKU
dataobj信息本体

data 对象:

字段类型内容备注
biz_idnum待调查
content_segmentsarray文本分段
danmaku_styleobj文本样式信息
danmaku_urlstr待调查
dmscorenum待调查
terminalsarray待调查

data.content_segments[n] 数组中的对象

字段类型内容备注
font_colorstrtext 字段的十六进制颜色值
font_color_darkstrtext 字段的十六进制颜色值APP端设置为深色模式时使用
textstr文本
typenum待调查

data.danmaku_style 对象:

字段类型内容备注
background_colorstr文本背景颜色的十六进制颜色值
background_color_darkstr文本背景颜色的十六进制颜色值APP端设置为深色模式时使用

示例:

查看消息示例:
{
  "cmd": "COMMON_NOTICE_DANMAKU",
  "data": {
    "content_segments": [
      {
        "font_color": "#FB7299",
        "text": "春日限时任务:任务即将结束,抓紧完成获取3元红包奖励吧!未完成任务进度将重置",
        "type": 1
      }
    ],
    "dmscore": 144,
    "terminals": [
      1,
      2,
      3,
      4,
      5
    ]
  }
}
{
  "cmd": "COMMON_NOTICE_DANMAKU",
  "data": {
    "biz_id": 0,
    "content_segments": [
      {
        "font_color": "#CCCCCC",
        "font_color_dark": "#CCCCCC",
        "text": "恭喜主播 时雨ioo ",
        "type": 1
      },
      {
        "font_color": "#F494AF",
        "font_color_dark": "#F494AF",
        "text": "成为手游航海当前第5名",
        "type": 1
      }
    ],
    "danmaku_style": {
      "background_color": null,
      "background_color_dark": null
    },
    "danmaku_uri": "",
    "dmscore": 144,
    "terminals": [
      1,
      2,
      3
    ]
  }
}

直播间信息更改 (ROOM_CHANGE)

注: 例如直播间标题更改、直播间分区更改

JSON消息:

根对象:

字段类型内容备注
cmdstrROOM_CHANGE
dataobj

data 对象:

字段类型内容备注
titlestr直播间标题
area_idnum当前直播间所属二级分区的ID
parent_area_idnum当前直播间所属一级分区的ID
area_namestr当前直播间所属二级分区的名称
parent_area_namestr当前直播间所属一级分区名称
live_keystr标记直播场次的key未开播更新直播间信息时为"0"
sub_session_keystr待调查未开播更新直播间信息时为""(空字符串)

示例:

查看消息示例:

已开播:

{
    "cmd": "ROOM_CHANGE",
    "data": {
        "title": "开始白给CS",
        "area_id": 371,
        "parent_area_id": 9,
        "area_name": "虚拟主播",
        "parent_area_name": "虚拟主播",
        "live_key": "320830629635915849",
        "sub_session_key": "320830629635915849sub_time:1673690546"
    }
}

未开播:

{
  "cmd": "ROOM_CHANGE",
  "data": {
    "title": "随缘",
    "area_id": 216,
    "parent_area_id": 6,
    "area_name": "我的世界",
    "parent_area_name": "单机游戏",
    "live_key": "0",
    "sub_session_key": ""
  }
}

直播间内容审核报告 (ROOM_CONTENT_AUDIT_REPORT)

注:这个数据包需要更新直播间标题且使用主播的登录信息才会下发,更新直播间标题后一般不会立刻下发。

JSON消息:

根对象:

字段类型内容备注
cmdstrROOM_CONTENT_AUDIT_REPORT
dataobj信息本体

data 对象:

字段类型内容备注
audit_content_typenum审核内容类型?
room_idnum直播间ID未知是真实ID还是短号
anchor_uidnum主播的用户mid
audit_statusnum审核状态?
audit_titlestr被审核的直播间标题
audit_reasonstr审核结果

示例:

查看消息示例:
{
	"cmd": "ROOM_CONTENT_AUDIT_REPORT",
	"data": {
		"audit_content_type": 1,
		"room_id": 1899237171,
		"anchor_uid": 438160221,
		"audit_status": 2,
		"audit_title": "崩坏学园2",
		"audit_reason": "一审通过"
	}
}

醒目留言按钮 (SUPER_CHAT_ENTRANCE)

JSON消息:

根对象:

字段类型内容备注
cmdstrSUPER_CHAT_ENTRANCE
dataobj醒目留言按钮的信息
roomidnum直播间ID未知是短号还是真实ID

data 对象:

字段类型内容备注
statusnum待调查
jump_urlstr按下“醒目留言”按钮后弹出小窗的页面URL
iconstr“醒目留言”按钮图标的URL
broadcast_typenum待调查

示例:

查看消息示例:
{
    "cmd": "SUPER_CHAT_ENTRANCE",
    "data": {
        "status": 1,
        "jump_url": "https://live.bilibili.com/p/html/live-app-superchat2/index.html?is_live_half_webview=1&hybrid_half_ui=1,3,100p,70p,ffffff,0,30,100;2,2,375,100p,ffffff,0,30,100;3,3,100p,70p,ffffff,0,30,100;4,2,375,100p,ffffff,0,30,100;5,3,100p,60p,ffffff,0,30,100;6,3,100p,60p,ffffff,0,30,100;7,3,100p,60p,ffffff,0,30,100",
        "icon": "https://i0.hdslb.com/bfs/live/0a9ebd72c76e9cbede9547386dd453475d4af6fe.png",
        "broadcast_type": 1
    },
    "roomid": "8618057"
}

顶部横幅 (WIDGET_BANNER)

注: 网页端在直播间标题下面的横幅, 例如 限时任务 等

JSON消息:

字段类型内容备注
cmdstrWIDGET_BANNER
dataobj横幅信息

data 对象:

字段类型内容备注
timestampnum服务器发送数据包时的Unix时间戳
widget_listobj横幅信息待调查

data.widget_list 对象:

以 横幅 ID 为键, JSON Object 为值的表

data.widget_list['?'] 对象:

字段类型内容备注
idnum横幅ID
titlestr待调查
coverstr待调查
web_coverstr待调查
tip_textstr待调查
tip_text_colorstr待调查
tip_bottom_colorstr待调查
jump_urlstr点击横幅后出现小窗的页面的URL
urlstr待调查
stay_timenum待调查
sitenum待调查
platform_inarray待调查
typenum待调查
band_idnum待调查
sub_keystr待调查
sub_datastr横幅数据
is_addbool待调查

示例:

查看消息示例:
{
  "cmd": "WIDGET_BANNER",
  "data": {
    "timestamp": 1673684868,
    "widget_list": {
      "308": {
        "id": 308,
        "title": "一月限时任务",
        "cover": "",
        "web_cover": "",
        "tip_text": "限时任务",
        "tip_text_color": "",
        "tip_bottom_color": "",
        "jump_url": "https://live.bilibili.com/activity/live-activity-battle/index.html?app_name=time_limited_task_jan_2023&is_live_half_webview=1&hybrid_rotate_d=1&hybrid_half_ui=1,3,100p,70p,0,0,0,0,12,0;2,2,375,100p,0,0,0,0,12,0;3,3,100p,70p,0,0,0,0,12,0;4,2,375,100p,0,0,0,0,12,0;5,3,100p,70p,0,0,0,0,12,0;6,3,100p,70p,0,0,0,0,12,0;7,3,100p,70p,0,0,0,0,12,0;8,3,100p,70p,0,0,0,0,12,0&room_id=8618057&uid=29857468#/",
        "url": "",
        "stay_time": 5,
        "site": 1,
        "platform_in": [
          "live",
          "blink",
          "live_link",
          "web",
          "pc_link"
        ],
        "type": 1,
        "band_id": 101558,
        "sub_key": "",
        "sub_data": "%7B%22task_status%22%3A0%2C%22current_val%22%3A10%2C%22target_val%22%3A1200%2C%22timeout%22%3A1673687024%2C%22reward_price%22%3A8%2C%22reward_type%22%3A1%7D",
        "is_add": true
      }
    }
  }
}

礼物心愿单进度 (WIDGET_WISH_LIST)

JSON消息:

根对象:

字段类型内容备注
cmdstrWIDGET_WISH_LIST
dataobj信息本体

data 对象:

字段类型内容备注
wisharray礼物心愿单信息
wish_statusnum?
sidnum?
wish_status_infoarray?

示例:

查看消息示例:
{
  "cmd": "WIDGET_WISH_LIST",
  "data": {
    "wish": [
      {
        "type": 3,
        "gift_id": 10003,
        "gift_name": "舰长",
        "gift_img": "https://i0.hdslb.com/bfs/live/f1be2a2d5b227ce72641de1ad64bcc7f9e4111c3.png",
        "gift_price": 198000,
        "target_num": 5,
        "current_num": 0
      },
      {
        "type": 2,
        "gift_id": 3,
        "gift_name": "B坷垃",
        "gift_img": "https://s1.hdslb.com/bfs/live/cc8bfcbc24c8b65937f62ce0d16b31ab987dce47.png",
        "gift_price": 9900,
        "target_num": 5,
        "current_num": 0
      },
      {
        "type": 2,
        "gift_id": 31039,
        "gift_name": "牛哇牛哇",
        "gift_img": "https://s1.hdslb.com/bfs/live/b8a38b4bd3be120becddfb92650786f00dffad48.png",
        "gift_price": 100,
        "target_num": 10,
        "current_num": 0
      }
    ],
    "wish_status": 1,
    "sid": 477,
    "wish_status_info": [
      {
        "wish_status_msg": "设定心 愿",
        "wish_status_img": "https://i0.hdslb.com/bfs/live/38f82bac32794e79776f7371269453652bd58a87.png",
        "wish_status": 0
      },
      {
        "wish_status_msg": "达成",
        "wish_status_img": "https://i0.hdslb.com/bfs/live/1dae635924437239fc69e561a1a9467508521249.png",
        "wish_status": 2
      },
      {
        "wish_status_msg": "收集失败",
        "wish_status_img": "https://i0.hdslb.com/bfs/live/3bbd30fdd32d085cc90e9ccd98c65a886dca9a8f.png",
        "wish_status": 3
      }
    ],
    "wish_name": "心愿"
  }
}

下播的直播间 (STOP_LIVE_ROOM_LIST)

注: 估计是更新关注的主播直播状态的

JSON消息:

根对象:

字段类型内容备注
cmdstrSTOP_LIVE_ROOM_LIST
dataobj信息本体

data 对象:

字段类型内容备注
room_id_listarray下播的直播间ID

data.room_id_list 数组:

类型内容备注
0num第 1 个下播的直播间 ID
1num第 2 个下播的直播间 ID
……num……
nnum第 (n+1) 个下播的直播间 ID
查看消息示例:
{
  "cmd": "STOP_LIVE_ROOM_LIST",
  "data": {
    "room_id_list": [
      14507570, 23963084, 24370437, 24380902, 24889494,
      22735090, 24268758, 24668544,    38325, 24762357,
       3222966,  6684395, 24199566, 24864470, 10224194,
      14953052,  6198131,   898214, 10412034, 22506883,
      23932516,  6768714, 24392281,  1799500, 22392518,
      22976729, 21557043, 24896092, 11718936, 21612704,
      21778117, 24145539, 23178318, 23575414, 24842462,
      22245210, 24895499,  3133873,  1298898, 22175308,
       3600684,  2053035,   270652, 24877480,  3854611,
      21512488, 24393104, 24756457,  4630683,  6955412,
      23199465,  2880481, 23868339,   717791, 24068307,
      24875243, 22777819, 24896061, 24619665
    ]
  }
}

系统信息 (SYS_MSG)

JSON消息:

根对象:

字段类型内容备注
cmdstrSYS_MSG
msgstr提示信息
urlstr跳转 URL

示例:

查看消息示例:
{
  "cmd": "SYS_MSG",
  "msg": "争夺开启,时间周五20点至周日20点,逾期不候哟!",
  "url": ""
}

警告 (WARNING)

JSON消息:

根对象:

字段类型内容备注
cmdstrWARNING
msgstr警告信息
roomidnum直播间 ID

示例:

查看消息示例:
{
  "cmd": "WARNING",
  "msg": "图片内容不适宜,请立即调整",
  "roomid": 22195814
}

切断 (CUT_OFF)

JSON消息:

根对象:

字段类型内容备注
cmdstrCUT_OFF
msgstr切断原因
roomidnum直播间 ID

示例:

查看消息示例:
{
  "cmd": "CUT_OFF",
  "msg": "违反直播言论规范,请立即调整",
  "roomid": 23993070
}

切断V2 (CUT_OFF_V2)

JSON消息:

根对象:

字段类型内容备注
cmdstrCUT_OFF_V2
dataobj信息本体

data 对象:

字段类型内容备注
cut_off_scenenum
timestampnum操作时间戳UNIX 秒时间戳
cut_off_versionnum切断提示信息版本?
cut_off_dataobj切断提示信息

data.cut_off_data 对象:

字段类型内容备注
cut_off_titlestr对话框窗口标题
cut_off_message_listarray对话框正文列表
cut_off_tip_listarray对话框提示信息列表
cut_off_button_listarray对话框按钮列表

data.cut_off_data.cut_off_message_list 数组:

索引类型内容备注
0obj首个正文信息
obj单个正文信息
iobj最后正文信息

data.cut_off_data.cut_off_message_list[i] 对象:

字段类型内容备注
typenum显示类别1:一个“labelcontent”格式的信息
labelstr标签
contentstr内容

data.cut_off_data.cut_off_tip_list 数组:

索引类型内容备注
0obj首个提示行信息
obj单个提示行信息
iobj最后提示行信息

data.cut_off_data.cut_off_tip_list[i] 对象:

字段类型内容备注
show_platformarray要在哪个客户端显示的指代
message_listarray提示信息列表

data.cut_off_data.cut_off_tip_list[i].message_list 数组:

索引类型内容备注
0obj首个提示组件信息
obj单个提示组件信息
i1obj最后提示组件信息

data.cut_off_data.cut_off_tip_list[i].message_list[i1] 对象:

字段类型内容备注
typenum显示类型1:纯文本
2:链接
contentstr显示文本
link_urlstr链接type为2时有内容

data.cut_off_data.cut_off_button_list 数组:

索引类型内容备注
0obj首个按钮信息
obj单个按钮信息
iobj最后按钮信息

data.cut_off_data.cut_off_button_list[i] 对象:

字段类型内容备注
show_platformarray要在那个客户端显示的指代12可能是手机直播姬
34可能是pc直播姬或网页直播姬
button_textstr按钮文本
button_actionnum按钮操作1:关闭窗口?
2:跳转到链接?
button_link_urlstr跳转链接

示例:

查看消息示例:
{
	"cmd": "CUT_OFF_V2",
	"data": {
		"cut_off_scene": 1,
		"timestamp": 1731590280,
		"cut_off_version": 1,
		"cut_off_data": {
			"cut_off_title": "违规提示",
			"cut_off_message_list": [
				{
					"type": 1,
					"label": "处罚结果",
					"content": "切断本场直播"
				},
				{
					"type": 1,
					"label": "违规原因",
					"content": "您本场直播存在挂机、录播等消极直播行为,因此直播被切断,请您及时整改"
				},
				{
					"type": 1,
					"label": "处罚时间",
					"content": "2024年11月14日21时17分"
				}
			],
			"cut_off_tip_list": [
				{
					"show_platform": [
						3,
						4
					],
					"message_list": [
						{
							"type": 1,
							"content": "请在",
							"link_url": ""
						},
						{
							"type": 2,
							"content": "【处罚中心】",
							"link_url": "https://link.bilibili.com/p/center/index?my-room/violation-records#/my-room/violation-records"
						},
						{
							"type": 1,
							"content": "查看你的违规记录",
							"link_url": ""
						}
					]
				}
			],
			"cut_off_button_list": [
				{
					"show_platform": [
						1,
						2
					],
					"button_text": "了解详情",
					"button_action": 2,
					"button_link_url": "https://live.bilibili.com/p/html/live-anchor-galaxy/violation_records/mobile.html?-Abrowser=live&is_live_webview=1"
				},
				{
					"show_platform": [
						3,
						4
					],
					"button_text": "我知道了",
					"button_action": 1,
					"button_link_url": ""
				}
			]
		}
	}
}

直播对话框 (ANCHOR_ECOLOGY_LIVING_DIALOG)

注:推测在自动检测到画面不怎么变化且没人聊天时警告下发,见#1139(issue正文)open in new window

JSON消息:

根对象:

字段类型内容备注
cmdstrANCHOR_ECOLOGY_LIVING_DIALOG
dataobj信息本体

data 对象:

字段类型内容备注
dialog_scenenum
timestampnum触发时间戳UNIX 秒时间戳
valid_timestampnum
dialog_top_vertical_imgstr
dialog_top_landscape_imgstr
dialog_titlestr对话框标题
dialog_message_listarray对话框正文列表参见CUT_OFF_V2
dialog_tip_listarray对话框提示信息列表参见CUT_OFF_V2
dialog_button_listarray对话框按钮列表参见CUT_OFF_V2

data.dialog_message_list 数组:

CUT_OFF_V2data.cut_off_data.cut_off_message_list数组。

data.dialog_tip_list 数组:

CUT_OFF_V2data.cut_off_data.cut_off_tip_list数组。

data.dialog_button_list 数组:

CUT_OFF_V2data.cut_off_data.cut_off_button_list数组。

示例:

查看消息示例:
{
	"cmd": "ANCHOR_ECOLOGY_LIVING_DIALOG",
	"data": {
		"dialog_scene": 1,
		"timestamp": 1731504845,
		"valid_timestamp": 0,
		"dialog_top_vertical_img": "https://i0.hdslb.com/bfs/live/ee359d3e89bb044914f72a557a4ac2d3b5ba4004.png",
		"dialog_top_landscape_img": "https://i0.hdslb.com/bfs/live/ee359d3e89bb044914f72a557a4ac2d3b5ba4004.png",
		"dialog_title": "直播间违规",
		"dialog_message_list": [
			{
				"type": 1,
				"label": "处罚结果",
				"content": "警告"
			},
			{
				"type": 1,
				"label": "违规原因",
				"content": "您本场直播存在挂机、录播等消极直播行为,请及时整改"
			},
			{
				"type": 1,
				"label": "处罚时间",
				"content": "2024年11月13日21时34分"
			}
		],
		"dialog_tip_list": [
			{
				"show_platform": [
					1,
					2
				],
				"message_list": [
					{
						"type": 1,
						"content": "请在",
						"link_url": ""
					},
					{
						"type": 2,
						"content": "【处罚中心】",
						"link_url": "https://live.bilibili.com/p/html/live-anchor-galaxy/violation_records/mobile.html?is_live_half_webview=1u0026hybrid_rotate_d=1u0026is_cling_player=1u0026hybrid_half_ui=1,3,100p,70p,0,1,30,100;2,2,375,100p,0,1,30,100;3,3,100p,70p,0,1,30,100;4,2,375,100p,0,1,30,100;5,3,100p,70p,0,1,30,100;6,3,100p,70p,0,1,30,100;7,3,100p,70p,0,1,30,100;8,3,100p,70p,0,1,30,100#/"
					},
					{
						"type": 1,
						"content": "查看你的违规记录",
						"link_url": ""
					}
				]
			},
			{
				"show_platform": [
					3,
					4
				],
				"message_list": [
					{
						"type": 1,
						"content": "请在",
						"link_url": ""
					},
					{
						"type": 2,
						"content": "【处罚中心】",
						"link_url": "https://link.bilibili.com/#/my-room/violation-records?jump_type=browser&app_common=open"
					},
					{
						"type": 1,
						"content": "查看你的违规记录",
						"link_url": ""
					}
				]
			}
		],
		"dialog_button_list": [
			{
				"show_platform": [
					1,
					2,
					3,
					4
				],
				"button_text": "我知道了",
				"button_action": 1,
				"button_link_url": ""
			}
		]
	}
}

直播间背景图片修改 (CHANGE_ROOM_INFO)

JSON消息:

根对象:

字段类型内容备注
cmdstrCHANGE_ROOM_INFO
backgroundstr背景图 URL
roomidnum直播间 ID

示例:

查看消息示例:
{
  "cmd": "CHANGE_ROOM_INFO",
  "background": "https://i0.hdslb.com/bfs/live/2388faed3728f3396052273ad4c3c9af21c411fc.jpg",
  "roomid": 23993070
}

直播间皮肤变更 (ROOM_SKIN_MSG)

JSON消息:

根对象:

字段类型内容备注
cmdstrROOM_SKIN_MSG
skin_idnum皮肤 ID
statusnum状态?
end_timenum皮肤结束时间?UNIX 秒级时间戳
current_timenum当前时间UNIX 秒级时间戳
only_localbool仅在本地显示?
scatterobj?
skin_configobj皮肤配置

示例:

查看消息示例:
{
  "cmd": "ROOM_SKIN_MSG",
  "skin_id": 353,
  "status": 1,
  "end_time": 1652620669,
  "current_time": 1652015870,
  "only_local": false,
  "scatter": {
    "min": 1,
    "max": 200
  },
  "skin_config": {
    "android": {
      "1": {
        "zip": "https://i0.hdslb.com/bfs/live/fab943a5d7eeb871ecf06413283d17536e67ab91.zip",
        "md5": "011EBB3E14192212FD50852245DC74FA"
      }
    },
    "ios": {
      "1": {
        "zip": "https://i0.hdslb.com/bfs/live/e7d8768dcb3975d82d794fe6b39756317916a7fe.zip",
        "md5": "B1223577FE9C5C248EC1326CDACF8379"
      }
    },
    "ipad": {
      "1": {
        "zip": "https://i0.hdslb.com/bfs/live/0856e17be073d75b70098609ae26572ba1534605.zip",
        "md5": "481AE75FFD0E0DE91EAFB5B6E0F8936B"
      }
    },
    "web": {
      "1": {
        "zip": "https://i0.hdslb.com/bfs/live/0b3770980e600f23629c8445fd211d4a12ec4b6f.zip",
        "md5": "8F98F79F02DEFE8B69EE2F6DE7416DFF",
        "platform": "web",
        "version": "1",
        "headInfoBgPic": "https://i0.hdslb.com/bfs/live/d293e69b70af34df0fef086a86552b1761a33a75.jpg",
        "giftControlBgPic": "https://i0.hdslb.com/bfs/live/1a124c5547c784f41dc3d7f65f446c56c4cbb73e.jpg",
        "rankListBgPic": "https://i0.hdslb.com/bfs/live/af8580a956d0eac6ea1d2cc97ea743d435a86874.jpg",
        "mainText": "#FFffffff",
        "normalText": "#FFffffff",
        "highlightContent": "#FFffd119",
        "border": "#FFaec2ff",
        "buttonText": "#FF123ab2"
      }
    }
  }
}

开启等级禁言 (ROOM_SILENT_ON)

JSON消息:

根对象:

字段类型内容备注
dataobj信息本体
cmdstrROOM_SILENT_ON

data 对象:

字段类型内容备注
typestr类型?
levelnum等级?
secondnum时间?UNIX 秒级时间戳

示例:

查看消息示例:
{
  "data": {
    "type": "member",
    "level": 1,
    "second": 1651000426
  },
  "cmd": "ROOM_SILENT_ON"
}

关闭等级禁言 (ROOM_SILENT_OFF)

JSON消息:

根对象:

字段类型内容备注
dataobj信息本体
cmdstrROOM_SILENT_OFF

data 对象:

字段类型内容备注
typestr
levelnum0
secondnum0

示例:

查看消息示例:
{
  "data": {
    "type": "",
    "level": 0,
    "second": 0
  },
  "cmd": "ROOM_SILENT_OFF"
}

指定观众禁言 (ROOM_BLOCK_MSG)

JSON消息:

根对象:

字段类型内容备注
cmdstrROOM_BLOCK_MSG
dataobj详细信息
uidnum禁言用户 mid
unamestr禁言用户名

data 对象:

字段类型内容备注
dmscorenum弹幕分数?
operatornum操作者?
uidnum禁言用户 mid
unamestr禁言用户名

示例:

查看消息示例:
{
  "cmd": "ROOM_BLOCK_MSG",
  "data": {
    "dmscore": 30,
    "operator": 2,
    "uid": 37903025,
    "uname": "玉麟珑"
  },
  "uid": "37903025",
  "uname": "玉麟珑"
}

房管列表 (ROOM_ADMINS)

JSON消息:

根对象:

字段类型内容备注
cmdstrROOM_ADMINS
uidsarray房管 mid 列表

示例:

查看消息示例:
{
  cmd: "ROOM_ADMINS",
  uids: [ 898424, 384203692, 1309513, 30816752, 23931549, 223134 ]
}

设立房管 (room_admin_entrance)

注: 此处 cmd 内容为小写

JSON消息:

根对象:

字段类型内容备注
cmdstrroom_admin_entrance
dmscorenum弹幕分数?
levelnum等级?
msgstr提示信息
uidnum用户 mid

示例:

查看消息示例:
{
  "cmd": "room_admin_entrance",
  "dmscore": 45,
  "level": 1,
  "msg": "系统提示:你已被主播设为房管",
  "uid": 223134
}

撤销房管 (ROOM_ADMIN_REVOKE)

JSON消息:

根对象:

字段类型内容备注
cmdstrROOM_ADMIN_REVOKE
msgstr提示信息
uidnum用户 mid

示例:

查看消息示例:
{
  "cmd": "ROOM_ADMIN_REVOKE",
  "msg": "撤销房管",
  "uid": 6791627
}

天选时刻合法检查 (ANCHOR_LOT_CHECKSTATUS)

示例:

查看响应示例:
{
  "cmd": "ANCHOR_LOT_CHECKSTATUS",
  "data": {
    "id": 2553641,
    "reject_reason": "由于奖品格式不合格,请仔细检查后再提交哦",
    "status": 5,
    "uid": 1827176970
  }
}

天选时刻开始 (ANCHOR_LOT_START)

示例:

查看响应示例:
{
  "cmd": "ANCHOR_LOT_START",
  "data": {
    "asset_icon": "https://i0.hdslb.com/bfs/live/627ee2d9e71c682810e7dc4400d5ae2713442c02.png",
    "award_image": "",
    "award_name": "艺术头像绘制",
    "award_num": 1,
    "cur_gift_num": 0,
    "current_time": 1651037946,
    "danmu": "卡宝下午好",
    "gift_id": 3,
    "gift_name": "B坷垃",
    "gift_num": 1,
    "gift_price": 9900,
    "goaway_time": 180,
    "goods_id": 15,
    "id": 2553648,
    "is_broadcast": 1,
    "join_type": 1,
    "lot_status": 0,
    "max_time": 600,
    "require_text": "当前主播粉丝勋章至少1级",
    "require_type": 2,
    "require_value": 1,
    "room_id": 23614753,
    "send_gift_ensure": 0,
    "show_panel": 1,
    "start_dont_popup": 0,
    "status": 1,
    "time": 599,
    "url": "https://live.bilibili.com/p/html/live-lottery/anchor-join.html?is_live_half_webview=1&hybrid_biz=live-lottery-anchor&hybrid_half_ui=1,5,100p,100p,000000,0,30,0,0,1;2,5,100p,100p,000000,0,30,0,0,1;3,5,100p,100p,000000,0,30,0,0,1;4,5,100p,100p,000000,0,30,0,0,1;5,5,100p,100p,000000,0,30,0,0,1;6,5,100p,100p,000000,0,30,0,0,1;7,5,100p,100p,000000,0,30,0,0,1;8,5,100p,100p,000000,0,30,0,0,1",
    "web_url": "https://live.bilibili.com/p/html/live-lottery/anchor-join.html"
  }
}

天选时刻结束 (ANCHOR_LOT_END)

查看消息示例:
{
  "cmd": "ANCHOR_LOT_END",
  "data": {
    "id": 2553648
  }
}

天选时刻中奖者 (ANCHOR_LOT_AWARD)

查看消息示例:
{
  "cmd": "ANCHOR_LOT_AWARD",
  "data": {
    "award_dont_popup": 1,
    "award_image": "",
    "award_name": "艺术头像绘制",
    "award_num": 1,
    "award_users": [
      {
        "uid": 8318700,
        "uname": "桥下念喬",
        "face": "http://i0.hdslb.com/bfs/face/dfde2ffc6286c2c5189592cc84fd70bcf977b143.jpg",
        "level": 21,
        "color": 5805790
      }
    ],
    "id": 2553648,
    "lot_status": 2,
    "url": "https://live.bilibili.com/p/html/live-lottery/anchor-join.html?is_live_half_webview=1&hybrid_biz=live-lottery-anchor&hybrid_half_ui=1,5,100p,100p,000000,0,30,0,0,1;2,5,100p,100p,000000,0,30,0,0,1;3,5,100p,100p,000000,0,30,0,0,1;4,5,100p,100p,000000,0,30,0,0,1;5,5,100p,100p,000000,0,30,0,0,1;6,5,100p,100p,000000,0,30,0,0,1;7,5,100p,100p,000000,0,30,0,0,1;8,5,100p,100p,000000,0,30,0,0,1",
    "web_url": "https://live.bilibili.com/p/html/live-lottery/anchor-join.html"
  }
}

天选时刻通知 (ANCHOR_LOT_NOTICE)

JSON消息:

根对象:

字段类型内容备注
cmdstrANCHOR_LOT_NOTICE
dataobj信息本体

data 对象:

字段类型内容备注
notice_typenum通知卡片类型?
lottery_cardobj通知卡片内容

data.lottery_card 对象:

字段类型内容备注
show_timenum显示时间?
button_textstr按钮文本?
iconstr图标
titlestr标题?

示例:

查看消息示例:
{
	"data": {
		"notice_type": 1,
		"lottery_card": {
			"show_time": 30,
			"button_text": "去发奖",
			"icon": "https://i0.hdslb.com/bfs/live/95970204111233f181fc28622502aaf1a9359b9a.png",
			"title": "发天选有助于人气累积"
		}
	},
	"cmd": "ANCHOR_LOT_NOTICE"
}

邀请视频连线 (VIDEO_CONNECTION_JOIN_START)

示例:

查看消息示例:
{
  "cmd": "VIDEO_CONNECTION_JOIN_START",
  "data": {
    "status": 1,
    "invited_uid": 351686170,
    "channel_id": "72057594038132685",
    "invited_uname": "小妹睡不醒",
    "invited_face": "http://i1.hdslb.com/bfs/face/828562203e620f711fb4c786f05996357857ed4d.jpg",
    "start_at": 1651237440,
    "current_time": 1651237440
  },
  "roomid": 12401854
}

视频连线信息 (VIDEO_CONNECTION_MSG)

示例:

查看消息示例:
{
  "cmd": "VIDEO_CONNECTION_MSG",
  "data": {
    "channel_id": "72057594038132685",
    "current_time": 1651237440,
    "dmscore": 4,
    "toast": "主播发起了视频连线"
  }
}

结束视频连线 (VIDEO_CONNECTION_JOIN_END)

示例:

查看消息示例:
{
  "cmd": "VIDEO_CONNECTION_JOIN_END",
  "data": {
    "channel_id": "72057594038132685",
    "start_at": 1651238384,
    "toast": "主播 结束了与小妹睡不醒的连线.",
    "current_time": 1651238384
  },
  "roomid": 22195814
}

重连直播间? (REENTER_LIVE_ROOM)

查看消息示例:
{
  "cmd": "REENTER_LIVE_ROOM",
  "data": {
    "room_id": 22195814,
    "request_random_sec_range": 10,
    "reason": 1
  },
  "roomid": 22195814
}

??? (PLAY_TOGETHER)

示例:

查看消息示例:
{
  "cmd": "PLAY_TOGETHER",
  "data": {
    "ruid": 29857468,
    "roomid": 8618057,
    "action": "switch_off",
    "uid": 0,
    "timestamp": 1673690546,
    "message": "",
    "message_type": 0,
    "jump_url": "",
    "web_url": "",
    "apply_number": 0,
    "refresh_tool": false,
    "cur_fleet_num": 0,
    "max_fleet_num": 0
  }
}
{
  "cmd": "PLAY_TOGETHER",
  "data": {
    "ruid": 29857468,
    "roomid": 8618057,
    "action": "switch_off",
    "uid": 0,
    "timestamp": 1673690549,
    "message": "系统提示:主播已切换分区",
    "message_type": 3,
    "jump_url": "",
    "web_url": "",
    "apply_number": 0,
    "refresh_tool": true,
    "cur_fleet_num": 0,
    "max_fleet_num": 0
  }
}

直播小助手? (ANCHOR_BROADCAST)

第一次达到了某种条件下发。

已知当在一个分区(中途不能切换)开播时长达到150、180、200、300分钟可能下发,直播间初次被分享1~2次时下发。

JSON消息:

根对象:

字段类型内容备注
cmdstrANCHOR_BROADCAST
dataobj信息本体

data 对象:

字段类型内容备注
senderstr标题?直播小助手
msgstr提示消息
platformnum平台标识?0
button_infoobj按钮信息?
milestone_typestr里程碑类型?session_livetimefirst_sharesession_share
milestone_valuenum里程值?
milestone_indexnum里程碑类型的索引?1567

data.button_info 对象:

字段类型内容备注
button_namestr
blink_button_typestr
blink_button_targetstr
blink_button_extrastr
blink_button_labelnum
hime_button_typestr
hime_button_targetstr
hime_button_extrastr
hime_button_h5_typestr
hime_button_labelnum

示例:

查看消息示例:
{
	"cmd": "ANCHOR_BROADCAST",
	"data": {
		"sender": "直播小助手",
		"msg": "恭喜你,开播时长达到180分钟!",
		"platform": 0,
		"button_info": {
			"button_name": "",
			"blink_button_type": "",
			"blink_button_target": "",
			"blink_button_extra": "",
			"blink_button_label": 0,
			"hime_button_type": "",
			"hime_button_target": "",
			"hime_button_extra": "",
			"hime_button_h5_type": "",
			"hime_button_label": 0
		},
		"milestone_type": "session_livetime",
		"milestone_value": 10800,
		"milestone_index": 6
	}
}

直播小助手? (ANCHOR_HELPER_DANMU)

几乎与ANCHOR_BROADCAST一同下发。

JSON消息:

根对象:

字段类型内容备注
cmdstrANCHOR_HELPER_DANMU
dataobj信息本体

data 对象:

字段类型内容备注
senderstr标题?直播小助手
msgstr提示消息
platformnum平台标识?
button_platformnum
button_namestr
button_targetstr
button_labelnum
report_typestr上报类型?
reportstr

示例:

查看消息示例:
{
	"cmd": "ANCHOR_HELPER_DANMU",
	"data": {
		"sender": "直播小助手",
		"msg": "恭喜你,开播时长达到150分钟!",
		"platform": 3,
		"button_platform": 0,
		"button_name": "",
		"button_target": "",
		"button_label": 0,
		"report_type": "milestone",
		"report": "session_livetime:5:9000"
	}
}

直播进度条节点标签 (PLAY_TAG)

注: 在特定直播间的特定情况下发。

例如: 在直播间6open in new window内,有人打出了某种操作。

JSON消息:

根对象:

字段类型内容备注
cmdstrPLAY_TAG
dataobj信息本体

data 对象:

字段类型内容备注
tag_idnum标签 ID
picstr标签图标通常显示于进度条之上
timestampnumUNIX 秒时间戳
typestr操作类型ADD:添加

示例:

查看消息示例:
{
	"cmd": "PLAY_TAG",
	"data": {
		"tag_id": 367751,
		"pic": "https://i0.hdslb.com/bfs/live/0e04525fee9ea6ea6973e8bd1116d9f1f6501d37.png",
		"timestamp": 1740319807,
		"type": "ADD"
	}
}

??? (RECALL_DANMU_MSG)

JSON消息:

根对象:

字段类型内容备注
cmdstrRECALL_DANMU_MSG
dataobj信息本体

data 对象:

字段类型内容备注
recall_typenum类型?2
target_idnum

示例:

查看消息示例:
{
	"cmd": "RECALL_DANMU_MSG",
	"data": {
		"recall_type": 2,
		"target_id": 525503743
	}
}

直播剪辑 (OTHER_SLICE_LOADING_RESULT)

注: 点击剪辑按钮后的几秒内下发,目前只有网页端有这个按钮,且部分直播间可用(2025-02-20记录)。

JSON消息:

根对象:

字段类型内容备注
cmdstrOTHER_SLICE_LOADING_RESULT
dataobj信息本体

data 对象:

字段类型内容备注
dataarray剪辑片段数据
live_keystr标记直播场次的key未验证真实性

data.data 数组:

索引类型内容备注
0obj单个片段数据

data.data[i] 对象:

字段类型内容备注
start_timenum片段开始时间时间戳UNIX 秒时间戳
end_timenum片段结束时间时间戳UNIX 秒时间戳
streamstr从开始时间到结束时间内的直播视频片段需要使用浏览器用户代理字符串,特别是m3u文件内的视频链接
typenum类型?
ban_ecbool?

示例:

查看消息示例:
{
	"cmd": "OTHER_SLICE_LOADING_RESULT",
	"data": {
		"data": [
			{
				"start_time": 1740037738,
				"end_time": 1740038916,
				"stream": "https://jssz-boss.hdslb.com/live2arc_anchor_video/vod_579433011406177273.m3u?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=y4zI4XTQzlOkmSKg%2F20250220%2Fjssz%2Fs3%2Faws4_request&X-Amz-Date=20250220T080858Z&X-Amz-Expires=7200&X-Amz-SignedHeaders=host&X-Amz-Signature=52be315e8e7def8e11f86d3c6d4952362725c3c087a433780926bc0e8c88c2e1",
				"type": 0,
				"ban_ec": false
			}
		],
		"live_key": "579433011406177273"
	}
}