直播间弹幕
获取当前用户对应直播间可发弹幕配置
https://api.live.bilibili.com/xlive/web-room/v1/dM/GetDMConfigByGroup
请求方式: GET
认证方式: Cookie (SESSDATA)
未登录也可以获取,但颜色只有白色可用,模式只有滚动。
url参数:
| 参数名 |
类型 |
内容 |
必要性 |
备注 |
| room_id |
num |
直播间id |
必要 |
|
| web_location |
str |
(?) |
非必要 |
作用尚不明确 |
| w_rid |
str |
wbi签名 |
非必要 |
不强制需要 |
| wts |
num |
秒时间戳 |
非必要 |
不强制需要 |
json回复:
根对象:
| 字段 |
类型 |
内容 |
备注 |
| code |
num |
返回值 |
0: 成功 -400: 参数错误 |
| data |
obj |
信息本体 |
|
| message |
str |
错误信息 |
|
| msg |
str |
信息 |
成功时存在,为""(空字符串) |
| ttl |
num |
1 |
成功时不存在 |
data 对象:
| 字段 |
类型 |
内容 |
备注 |
| group |
arr |
弹幕颜色组 |
|
| mode |
arr |
弹幕显示模式 |
|
data.group 数组中对象:
| 字段 |
类型 |
内容 |
备注 |
| name |
str |
显示名称 |
|
| sort |
num |
用于排序 |
|
| color |
arr |
该组颜色列表 |
|
data.group[i].color 数组中对象:
| 字段 |
类型 |
内容 |
备注 |
| name |
str |
颜色名 |
|
| color |
str |
十进制颜色值 |
发送弹幕用 |
| color_hex |
str |
十六进制颜色值 |
发送弹幕用 |
| status |
num |
可用状态 |
0: 不可用 1: 可用 |
| weight |
num |
(?) |
作用尚不明确 |
| color_id |
num |
颜色id? |
|
| origin |
num |
(?) |
|
data.mode 数组中对象:
| 字段 |
类型 |
内容 |
备注 |
| name |
str |
模式名称 |
|
| mode |
num |
模式值 |
发送弹幕用 |
| type |
str |
模式类型 |
|
| status |
num |
可用状态 |
0: 不可用 1: 可用 |
示例:
获取未登录用户在直播间 1 的弹幕配置可用情况
curl 'https://api.live.bilibili.com/xlive/web-room/v1/dM/GetDMConfigByGroup?room_id=1'
查看响应示例:
```json
{
"code": 0,
"data": {
"group": [
{
"name": "普",
"sort": 0,
"color": [
{
"name": "白色",
"color": "16777215",
"color_hex": "ffffff",
"status": 1,
"weight": -9999,
"color_id": -9999,
"origin": 0
}
]
},
{
"name": "航",
"sort": 100,
"color": [
{
"name": "紫色",
"color": "14893055",
"color_hex": "e33fff",
"status": 0,
"weight": 0,
"color_id": 6,
"origin": 1
}
]
},
{
"name": "粉",
"sort": 200,
"color": [
{
"name": "松石绿",
"color": "5566168",
"color_hex": "54eed8",
"status": 0,
"weight": 99,
"color_id": 66,
"origin": 2
},
{
"name": "雨后蓝",
"color": "5816798",
"color_hex": "58c1de",
"status": 0,
"weight": 98,
"color_id": 67,
"origin": 2
},
{
"name": "星空蓝",
"color": "4546550",
"color_hex": "455ff6",
"status": 0,
"weight": 97,
"color_id": 68,
"origin": 2
},
{
"name": "紫罗兰",
"color": "9920249",
"color_hex": "975ef9",
"status": 0,
"weight": 96,
"color_id": 69,
"origin": 2
},
{
"name": "梦境红",
"color": "12802438",
"color_hex": "c35986",
"status": 0,
"weight": 95,
"color_id": 70,
"origin": 2
},
{
"name": "热力橙",
"color": "16747553",
"color_hex": "ff8c21",
"status": 0,
"weight": 94,
"color_id": 71,
"origin": 2
},
{
"name": "香槟金",
"color": "16774434",
"color_hex": "fff522",
"status": 0,
"weight": 93,
"color_id": 72,
"origin": 2
}
]
},
{
"name": "爷",
"sort": 300,
"color": [
{
"name": "红色",
"color": "16738408",
"color_hex": "ff6868",
"status": 0,
"weight": 0,
"color_id": 8,
"origin": 3
},
{
"name": "蓝色",
"color": "6737151",
"color_hex": "66ccff",
"status": 0,
"weight": 0,
"color_id": 7,
"origin": 3
}
]
},
{
"name": "活",
"sort": 400,
"color": [
{
"name": "盛典金",
"color": "16766720",
"color_hex": "ffd700",
"status": 0,
"weight": 100,
"color_id": 44,
"origin": 4
},
{
"name": "升腾蓝",
"color": "4286945",
"color_hex": "4169e1",
"status": 0,
"weight": 100,
"color_id": 43,
"origin": 4
},
{
"name": "青色",
"color": "65532",
"color_hex": "fffc",
"status": 0,
"weight": 0,
"color_id": 5,
"origin": 4
},
{
"name": "绿色",
"color": "8322816",
"color_hex": "7eff00",
"status": 0,
"weight": 0,
"color_id": 4,
"origin": 4
},
{
"name": "黄色弹幕",
"color": "16772431",
"color_hex": "ffed4f",
"status": 0,
"weight": 0,
"color_id": 3,
"origin": 4
},
{
"name": "橙色",
"color": "16750592",
"color_hex": "ff9800",
"status": 0,
"weight": 0,
"color_id": 2,
"origin": 4
},
{
"name": "粉色",
"color": "16741274",
"color_hex": "ff739a",
"status": 0,
"weight": 0,
"color_id": 1,
"origin": 4
}
]
}
],
"mode": [
{
"name": "滚动",
"mode": 1,
"type": "scroll",
"status": 1
},
{
"name": "底部",
"mode": 4,
"type": "bottom",
"status": 0
},
{
"name": "顶部",
"mode": 5,
"type": "top",
"status": 0
}
]
},
"message": "",
"msg": ""
}
```
获取直播间最近历史弹幕
https://api.live.bilibili.com/xlive/web-room/v1/dM/gethistory
请求方式: GET
注: 该接口部分返回信息不明, 仅供参考, 来源 cv8186413
URL参数:
| 参数名 |
类型 |
内容 |
必要性 |
备注 |
| roomid |
num |
直播间短ID |
必要 |
|
JSON回复:
根对象:
| 字段 |
类型 |
内容 |
备注 |
| code |
num |
返回值 |
0: 成功 -400: 请求错误 |
| message |
str |
错误信息 |
默认为空 |
| msg |
str |
空 |
仅请求成功时存在 |
| ttl |
num |
1 |
仅请求失败时存在 |
| data |
obj |
信息本体 |
|
data对象:
| 字段 |
类型 |
内容 |
备注 |
| admin |
array |
管理员最新的10条弹幕消息 |
格式与room相同 |
| room |
array |
普通用户的10条弹幕信息 |
格式与admin相同 |
data中的任意数组中的对象:
| 字段 |
类型 |
内容 |
备注 |
| text |
str |
弹幕内容 |
|
| dm_type |
num |
弹幕类型 |
|
| uid |
num |
弹幕发送者的UID |
|
| nickname |
str |
弹幕发送者的昵称 |
|
| uname_color |
str |
弹幕发送者的昵称颜色? |
|
| timeline |
str |
弹幕发送时间 |
格式为yyyy-MM-dd HH:mm:ss |
| isadmin |
num |
是否为管理员 |
|
| vip |
num |
是否为VIP? |
|
| svip |
num |
是否为SVIP? |
|
| medal |
array |
粉丝勋章信息? |
格式不明 |
| title |
array |
标题? |
格式不明 |
| user_level |
array |
用户等级信息? |
格式不明 |
| rank |
num |
排名? |
用户空间详细信息 |
| teamid |
num |
|
|
| rnd |
str |
随机数种子? |
|
| user_title |
str |
用户头衔? |
格式不明 |
| guard_level |
|
大航海等级? |
|
| bubble |
|
|
|
| bubble_color |
|
|
|
| lpl |
|
|
|
| yeah_space_url |
|
|
|
| jump_to_url |
|
|
|
| check_info |
obj |
弹幕审核信息? |
|
| voice_dm_info |
obj |
语音弹幕信息? |
|
| emoticon |
obj |
房间独有表情信息 |
|
| emots |
obj |
默认表情信息 |
结构为表情名-信息组成的键值对 如果信息不含默认表情,则返回 null |
| id_str |
str |
弹幕ID? |
|
| wealth_level |
num |
财富等级? |
|
| bubble_id_v2 |
num |
|
|
| reply |
obj |
回复的弹幕 |
|
| group_medal |
null |
|
|
| user |
obj |
该用户信息 |
|
data对象中的emoticon对象:
| 字段 |
类型 |
内容 |
备注 |
| id |
num |
0 |
|
| emoticon_unique |
str |
表情的独特标识 |
格式为room_房间号_表情id |
| text |
text |
表情的触发词 |
|
| perm |
num |
发送权限? |
1:所有人都可发送 |
| url |
str |
表情的图像链接 |
|
| in_player_area |
num |
是否显示在直播画面区域? |
|
| bulge_display |
num |
是否高亮显示? |
|
| is_dynamic |
num |
是否为动态表情 |
0:静态图像 1:动态图像 |
| height |
num |
表情的高度 |
|
| width |
num |
表情的宽度 |
|
data对象中的emots对象中的任意一个值对象:
| 字段 |
类型 |
内容 |
备注 |
| count |
num |
重复发送数量 |
|
| descript |
str |
表情描述 |
|
| emoji |
str |
表情描述 |
|
| emotion_id |
num |
表情 id |
|
| emotion_unique |
str |
表情的独特标识符 |
格式可能为emoji_表情 id |
| height |
num |
表情的宽度 |
|
| url |
str |
表情的图像链接 |
|
| width |
num |
表情的高度 |
|
data对象中的user对象:
| 字段 |
类型 |
内容 |
备注 |
| uid |
num |
用户 mid |
|
| base |
obj |
用户基本信息 |
|
| medal |
null |
|
|
| wealth |
null |
|
|
| title |
obj |
用户标题? |
|
| guard |
null |
|
|
| uhead_frame |
null |
|
|
| guard_leader |
obj |
|
|
data对象中的user对象中的base对象:
| 字段 |
类型 |
内容 |
备注 |
| name |
str |
用户名 |
|
| face |
str |
用户头像 url |
|
| name_color |
num |
用户名颜色? |
|
| is_mystery |
bool |
是否为神秘用户? |
|
| risk_ctrl_info |
null |
|
|
| origin_info |
obj |
原始信息? |
|
| official_info |
obj |
认证信息 |
|
| name_color_str |
str |
|
|
示例:
curl -G 'https://api.live.bilibili.com/xlive/web-room/v1/dM/gethistory' \
--url-query 'roomid=1'
查看响应示例:
```json
{
"code": 0,
"data": {
"admin": [],
"room": [
{
"text": "",
"dm_type": 0,
"uid": 20276964,
"nickname": "咸菜拉面",
"uname_color": "",
"timeline": "2024-08-15 05:05:06",
"isadmin": 0,
"vip": 0,
"svip": 0,
"medal": [
27,
"小孩梓",
"阿梓从小就很可爱",
80397,
398668,
"",
0,
6809855,
398668,
6850801,
3,
1,
7706705
],
"title": [
"title-86-1",
"title-86-1"
],
"user_level": [
59,
0,
16752445,
931
],
"rank": 10000,
"teamid": 0,
"rnd": "1723669505",
"user_title": "title-86-1",
"guard_level": 0,
"bubble": 0,
"bubble_color": "",
"lpl": 0,
"yeah_space_url": "",
"jump_to_url": "",
"check_info": {
"ts": 1723669506,
"ct": "18434F3D"
},
"voice_dm_info": {
"voice_url": "",
"file_format": "",
"text": "",
"file_duration": 0,
"file_id": ""
},
"emoticon": {
"id": 0,
"emoticon_unique": "",
"text": "",
"perm": 0,
"url": "",
"in_player_area": 0,
"bulge_display": 0,
"is_dynamic": 0,
"height": 0,
"width": 0
},
"emots": null,
"id_str": "74368f428dfaec806cd205e62866bd1c45",
"wealth_level": 37,
"bubble_id_v2": 0,
"reply": {
"show_reply": true,
"reply_mid": 0,
"reply_uname": "",
"reply_uname_color": "",
"reply_is_mystery": false
},
"group_medal": null,
"user": {
"uid": 20276964,
"base": {
"name": "咸菜拉面",
"face": "https://i0.hdslb.com/bfs/face/182b73f6b6274fcee7491219f511b1748c4bc712.jpg",
"name_color": 0,
"is_mystery": false,
"risk_ctrl_info": null,
"origin_info": {
"name": "咸菜拉面",
"face": "https://i0.hdslb.com/bfs/face/182b73f6b6274fcee7491219f511b1748c4bc712.jpg"
},
"official_info": {
"role": 0,
"title": "",
"desc": "",
"type": -1
},
"name_color_str": ""
},
"medal": {
"name": "小孩梓",
"level": 27,
"color_start": 398668,
"color_end": 6850801,
"color_border": 6809855,
"color": 398668,
"id": 13139,
"typ": 0,
"is_light": 1,
"ruid": 7706705,
"guard_level": 3,
"score": 50112778,
"guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png",
"honor_icon": "",
"v2_medal_color_start": "#4775EFCC",
"v2_medal_color_end": "#4775EFCC",
"v2_medal_color_border": "#58A1F8FF",
"v2_medal_color_text": "#FFFFFFFF",
"v2_medal_color_level": "#000B7099",
"user_receive_count": 0
},
"wealth": null,
"title": {
"old_title_css_id": "title-86-1",
"title_css_id": "title-86-1"
},
"guard": null,
"uhead_frame": null,
"guard_leader": {
"is_guard_leader": false
}
}
},
{
"text": "",
"dm_type": 0,
"uid": 20276964,
"nickname": "咸菜拉面",
"uname_color": "",
"timeline": "2024-08-16 05:05:06",
"isadmin": 0,
"vip": 0,
"svip": 0,
"medal": [
27,
"小孩梓",
"阿梓从小就很可爱",
80397,
398668,
"",
0,
6809855,
398668,
6850801,
3,
1,
7706705
],
"title": [
"title-86-1",
"title-86-1"
],
"user_level": [
59,
0,
16752445,
931
],
"rank": 10000,
"teamid": 0,
"rnd": "1723755905",
"user_title": "title-86-1",
"guard_level": 0,
"bubble": 0,
"bubble_color": "",
"lpl": 0,
"yeah_space_url": "",
"jump_to_url": "",
"check_info": {
"ts": 1723755906,
"ct": "F65D229F"
},
"voice_dm_info": {
"voice_url": "",
"file_format": "",
"text": "",
"file_duration": 0,
"file_id": ""
},
"emoticon": {
"id": 0,
"emoticon_unique": "",
"text": "",
"perm": 0,
"url": "",
"in_player_area": 0,
"bulge_display": 0,
"is_dynamic": 0,
"height": 0,
"width": 0
},
"emots": null,
"id_str": "7f3bb90826ad642012a31368f266be6d2",
"wealth_level": 37,
"bubble_id_v2": 0,
"reply": {
"show_reply": true,
"reply_mid": 0,
"reply_uname": "",
"reply_uname_color": "",
"reply_is_mystery": false
},
"group_medal": null,
"user": {
"uid": 20276964,
"base": {
"name": "咸菜拉面",
"face": "https://i0.hdslb.com/bfs/face/182b73f6b6274fcee7491219f511b1748c4bc712.jpg",
"name_color": 0,
"is_mystery": false,
"risk_ctrl_info": null,
"origin_info": {
"name": "咸菜拉面",
"face": "https://i0.hdslb.com/bfs/face/182b73f6b6274fcee7491219f511b1748c4bc712.jpg"
},
"official_info": {
"role": 0,
"title": "",
"desc": "",
"type": -1
},
"name_color_str": ""
},
"medal": {
"name": "小孩梓",
"level": 27,
"color_start": 398668,
"color_end": 6850801,
"color_border": 6809855,
"color": 398668,
"id": 13139,
"typ": 0,
"is_light": 1,
"ruid": 7706705,
"guard_level": 3,
"score": 50112778,
"guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png",
"honor_icon": "",
"v2_medal_color_start": "#4775EFCC",
"v2_medal_color_end": "#4775EFCC",
"v2_medal_color_border": "#58A1F8FF",
"v2_medal_color_text": "#FFFFFFFF",
"v2_medal_color_level": "#000B7099",
"user_receive_count": 0
},
"wealth": null,
"title": {
"old_title_css_id": "title-86-1",
"title_css_id": "title-86-1"
},
"guard": null,
"uhead_frame": null,
"guard_leader": {
"is_guard_leader": false
}
}
},
{
"text": "好帅",
"dm_type": 0,
"uid": 3546708493469870,
"nickname": "aodun1",
"uname_color": "",
"timeline": "2024-08-16 22:33:28",
"isadmin": 0,
"vip": 0,
"svip": 0,
"medal": [],
"title": [
"",
""
],
"user_level": [
0,
0,
9868950,
">50000"
],
"rank": 10000,
"teamid": 0,
"rnd": "1723811729",
"user_title": "",
"guard_level": 0,
"bubble": 0,
"bubble_color": "",
"lpl": 0,
"yeah_space_url": "",
"jump_to_url": "",
"check_info": {
"ts": 1723818808,
"ct": "1B75FB"
},
"voice_dm_info": {
"voice_url": "",
"file_format": "",
"text": "",
"file_duration": 0,
"file_id": ""
},
"emoticon": {
"id": 0,
"emoticon_unique": "",
"text": "",
"perm": 0,
"url": "",
"in_player_area": 0,
"bulge_display": 0,
"is_dynamic": 0,
"height": 0,
"width": 0
},
"emots": null,
"id_str": "088336a59eb277942ee353dd6666bf6347",
"wealth_level": 0,
"bubble_id_v2": 0,
"reply": {
"show_reply": true,
"reply_mid": 0,
"reply_uname": "",
"reply_uname_color": "",
"reply_is_mystery": false
},
"group_medal": null,
"user": {
"uid": 3546708493469870,
"base": {
"name": "aodun1",
"face": "https://i2.hdslb.com/bfs/face/6fb05f895d854e68419d45eef2c2e272b04ad25f.jpg",
"name_color": 0,
"is_mystery": false,
"risk_ctrl_info": null,
"origin_info": {
"name": "aodun1",
"face": "https://i2.hdslb.com/bfs/face/6fb05f895d854e68419d45eef2c2e272b04ad25f.jpg"
},
"official_info": {
"role": 0,
"title": "",
"desc": "",
"type": -1
},
"name_color_str": ""
},
"medal": null,
"wealth": null,
"title": {
"old_title_css_id": "",
"title_css_id": ""
},
"guard": null,
"uhead_frame": null,
"guard_leader": {
"is_guard_leader": false
}
}
},
{
"text": "好帅",
"dm_type": 0,
"uid": 3546708493469870,
"nickname": "aodun1",
"uname_color": "",
"timeline": "2024-08-16 22:35:16",
"isadmin": 0,
"vip": 0,
"svip": 0,
"medal": [],
"title": [
"",
""
],
"user_level": [
0,
0,
9868950,
">50000"
],
"rank": 10000,
"teamid": 0,
"rnd": "1723811729",
"user_title": "",
"guard_level": 0,
"bubble": 0,
"bubble_color": "",
"lpl": 0,
"yeah_space_url": "",
"jump_to_url": "",
"check_info": {
"ts": 1723818916,
"ct": "D6ABF2E7"
},
"voice_dm_info": {
"voice_url": "",
"file_format": "",
"text": "",
"file_duration": 0,
"file_id": ""
},
"emoticon": {
"id": 0,
"emoticon_unique": "",
"text": "",
"perm": 0,
"url": "",
"in_player_area": 0,
"bulge_display": 0,
"is_dynamic": 0,
"height": 0,
"width": 0
},
"emots": null,
"id_str": "6f421255746f5d8e4731fdadac66bf6356",
"wealth_level": 0,
"bubble_id_v2": 0,
"reply": {
"show_reply": true,
"reply_mid": 0,
"reply_uname": "",
"reply_uname_color": "",
"reply_is_mystery": false
},
"group_medal": null,
"user": {
"uid": 3546708493469870,
"base": {
"name": "aodun1",
"face": "https://i2.hdslb.com/bfs/face/6fb05f895d854e68419d45eef2c2e272b04ad25f.jpg",
"name_color": 0,
"is_mystery": false,
"risk_ctrl_info": null,
"origin_info": {
"name": "aodun1",
"face": "https://i2.hdslb.com/bfs/face/6fb05f895d854e68419d45eef2c2e272b04ad25f.jpg"
},
"official_info": {
"role": 0,
"title": "",
"desc": "",
"type": -1
},
"name_color_str": ""
},
"medal": null,
"wealth": null,
"title": {
"old_title_css_id": "",
"title_css_id": ""
},
"guard": null,
"uhead_frame": null,
"guard_leader": {
"is_guard_leader": false
}
}
},
{
"text": "好帅",
"dm_type": 0,
"uid": 3546708493469870,
"nickname": "aodun1",
"uname_color": "",
"timeline": "2024-08-16 22:36:51",
"isadmin": 0,
"vip": 0,
"svip": 0,
"medal": [],
"title": [
"",
""
],
"user_level": [
0,
0,
9868950,
">50000"
],
"rank": 10000,
"teamid": 0,
"rnd": "1723811729",
"user_title": "",
"guard_level": 0,
"bubble": 0,
"bubble_color": "",
"lpl": 0,
"yeah_space_url": "",
"jump_to_url": "",
"check_info": {
"ts": 1723819011,
"ct": "1B6978C1"
},
"voice_dm_info": {
"voice_url": "",
"file_format": "",
"text": "",
"file_duration": 0,
"file_id": ""
},
"emoticon": {
"id": 0,
"emoticon_unique": "",
"text": "",
"perm": 0,
"url": "",
"in_player_area": 0,
"bulge_display": 0,
"is_dynamic": 0,
"height": 0,
"width": 0
},
"emots": null,
"id_str": "270f5a2ac69c5904617873cc4666bf640",
"wealth_level": 0,
"bubble_id_v2": 0,
"reply": {
"show_reply": true,
"reply_mid": 0,
"reply_uname": "",
"reply_uname_color": "",
"reply_is_mystery": false
},
"group_medal": null,
"user": {
"uid": 3546708493469870,
"base": {
"name": "aodun1",
"face": "https://i2.hdslb.com/bfs/face/6fb05f895d854e68419d45eef2c2e272b04ad25f.jpg",
"name_color": 0,
"is_mystery": false,
"risk_ctrl_info": null,
"origin_info": {
"name": "aodun1",
"face": "https://i2.hdslb.com/bfs/face/6fb05f895d854e68419d45eef2c2e272b04ad25f.jpg"
},
"official_info": {
"role": 0,
"title": "",
"desc": "",
"type": -1
},
"name_color_str": ""
},
"medal": null,
"wealth": null,
"title": {
"old_title_css_id": "",
"title_css_id": ""
},
"guard": null,
"uhead_frame": null,
"guard_leader": {
"is_guard_leader": false
}
}
},
{
"text": "好帅",
"dm_type": 0,
"uid": 3546708493469870,
"nickname": "aodun1",
"uname_color": "",
"timeline": "2024-08-16 22:39:01",
"isadmin": 0,
"vip": 0,
"svip": 0,
"medal": [],
"title": [
"",
""
],
"user_level": [
0,
0,
9868950,
">50000"
],
"rank": 10000,
"teamid": 0,
"rnd": "1723811729",
"user_title": "",
"guard_level": 0,
"bubble": 0,
"bubble_color": "",
"lpl": 0,
"yeah_space_url": "",
"jump_to_url": "",
"check_info": {
"ts": 1723819141,
"ct": "143613AF"
},
"voice_dm_info": {
"voice_url": "",
"file_format": "",
"text": "",
"file_duration": 0,
"file_id": ""
},
"emoticon": {
"id": 0,
"emoticon_unique": "",
"text": "",
"perm": 0,
"url": "",
"in_player_area": 0,
"bulge_display": 0,
"is_dynamic": 0,
"height": 0,
"width": 0
},
"emots": null,
"id_str": "002ebbdc402b3d625052865f7b66bf6469",
"wealth_level": 0,
"bubble_id_v2": 0,
"reply": {
"show_reply": true,
"reply_mid": 0,
"reply_uname": "",
"reply_uname_color": "",
"reply_is_mystery": false
},
"group_medal": null,
"user": {
"uid": 3546708493469870,
"base": {
"name": "aodun1",
"face": "https://i2.hdslb.com/bfs/face/6fb05f895d854e68419d45eef2c2e272b04ad25f.jpg",
"name_color": 0,
"is_mystery": false,
"risk_ctrl_info": null,
"origin_info": {
"name": "aodun1",
"face": "https://i2.hdslb.com/bfs/face/6fb05f895d854e68419d45eef2c2e272b04ad25f.jpg"
},
"official_info": {
"role": 0,
"title": "",
"desc": "",
"type": -1
},
"name_color_str": ""
},
"medal": null,
"wealth": null,
"title": {
"old_title_css_id": "",
"title_css_id": ""
},
"guard": null,
"uhead_frame": null,
"guard_leader": {
"is_guard_leader": false
}
}
},
{
"text": "赚麻了 哈哈",
"dm_type": 0,
"uid": 243082910,
"nickname": "可人的樱花",
"uname_color": "",
"timeline": "2024-08-17 01:00:49",
"isadmin": 0,
"vip": 0,
"svip": 0,
"medal": [],
"title": [
"",
""
],
"user_level": [
0,
0,
9868950,
">50000"
],
"rank": 10000,
"teamid": 0,
"rnd": "1723379161",
"user_title": "",
"guard_level": 0,
"bubble": 0,
"bubble_color": "",
"lpl": 0,
"yeah_space_url": "",
"jump_to_url": "",
"check_info": {
"ts": 1723827649,
"ct": "3917D4D7"
},
"voice_dm_info": {
"voice_url": "",
"file_format": "",
"text": "",
"file_duration": 0,
"file_id": ""
},
"emoticon": {
"id": 0,
"emoticon_unique": "",
"text": "",
"perm": 0,
"url": "",
"in_player_area": 0,
"bulge_display": 0,
"is_dynamic": 0,
"height": 0,
"width": 0
},
"emots": null,
"id_str": "03f3261e144366383c49c6b5d166bf8563",
"wealth_level": 7,
"bubble_id_v2": 0,
"reply": {
"show_reply": true,
"reply_mid": 0,
"reply_uname": "",
"reply_uname_color": "",
"reply_is_mystery": false
},
"group_medal": null,
"user": {
"uid": 243082910,
"base": {
"name": "可人的樱花",
"face": "http://i2.hdslb.com/bfs/face/5faa9bef952f831236b740932c559476658f88e5.jpg",
"name_color": 0,
"is_mystery": false,
"risk_ctrl_info": null,
"origin_info": {
"name": "可人的樱花",
"face": "http://i2.hdslb.com/bfs/face/5faa9bef952f831236b740932c559476658f88e5.jpg"
},
"official_info": {
"role": 0,
"title": "",
"desc": "",
"type": -1
},
"name_color_str": ""
},
"medal": null,
"wealth": null,
"title": {
"old_title_css_id": "",
"title_css_id": ""
},
"guard": null,
"uhead_frame": null,
"guard_leader": {
"is_guard_leader": false
}
}
},
{
"text": "",
"dm_type": 0,
"uid": 20276964,
"nickname": "咸菜拉面",
"uname_color": "",
"timeline": "2024-08-17 05:05:07",
"isadmin": 0,
"vip": 0,
"svip": 0,
"medal": [
27,
"小孩梓",
"阿梓从小就很可爱",
80397,
398668,
"",
0,
6809855,
398668,
6850801,
3,
1,
7706705
],
"title": [
"title-86-1",
"title-86-1"
],
"user_level": [
59,
0,
16752445,
931
],
"rank": 10000,
"teamid": 0,
"rnd": "1723842307",
"user_title": "title-86-1",
"guard_level": 0,
"bubble": 0,
"bubble_color": "",
"lpl": 0,
"yeah_space_url": "",
"jump_to_url": "",
"check_info": {
"ts": 1723842307,
"ct": "8B947ABC"
},
"voice_dm_info": {
"voice_url": "",
"file_format": "",
"text": "",
"file_duration": 0,
"file_id": ""
},
"emoticon": {
"id": 0,
"emoticon_unique": "",
"text": "",
"perm": 0,
"url": "",
"in_player_area": 0,
"bulge_display": 0,
"is_dynamic": 0,
"height": 0,
"width": 0
},
"emots": null,
"id_str": "1a928b968afaa7825ea506ffe566bfbf16",
"wealth_level": 37,
"bubble_id_v2": 0,
"reply": {
"show_reply": true,
"reply_mid": 0,
"reply_uname": "",
"reply_uname_color": "",
"reply_is_mystery": false
},
"group_medal": null,
"user": {
"uid": 20276964,
"base": {
"name": "咸菜拉面",
"face": "https://i0.hdslb.com/bfs/face/182b73f6b6274fcee7491219f511b1748c4bc712.jpg",
"name_color": 0,
"is_mystery": false,
"risk_ctrl_info": null,
"origin_info": {
"name": "咸菜拉面",
"face": "https://i0.hdslb.com/bfs/face/182b73f6b6274fcee7491219f511b1748c4bc712.jpg"
},
"official_info": {
"role": 0,
"title": "",
"desc": "",
"type": -1
},
"name_color_str": ""
},
"medal": {
"name": "小孩梓",
"level": 27,
"color_start": 398668,
"color_end": 6850801,
"color_border": 6809855,
"color": 398668,
"id": 13139,
"typ": 0,
"is_light": 1,
"ruid": 7706705,
"guard_level": 3,
"score": 50112778,
"guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png",
"honor_icon": "",
"v2_medal_color_start": "#4775EFCC",
"v2_medal_color_end": "#4775EFCC",
"v2_medal_color_border": "#58A1F8FF",
"v2_medal_color_text": "#FFFFFFFF",
"v2_medal_color_level": "#000B7099",
"user_receive_count": 0
},
"wealth": null,
"title": {
"old_title_css_id": "title-86-1",
"title_css_id": "title-86-1"
},
"guard": null,
"uhead_frame": null,
"guard_leader": {
"is_guard_leader": false
}
}
},
{
"text": "下播啦~ 感谢大家的陪伴~ 下次见哦~",
"dm_type": 0,
"uid": 3546614675278489,
"nickname": "机器人管家_鱼",
"uname_color": "",
"timeline": "2024-08-18 00:07:36",
"isadmin": 0,
"vip": 0,
"svip": 0,
"medal": [
21,
"赴神明",
"Mr_钟明",
27751673,
1725515,
"",
0,
12632256,
12632256,
12632256,
0,
0,
3493291261692485
],
"title": [
"",
""
],
"user_level": [
11,
0,
6406234,
">50000"
],
"rank": 10000,
"teamid": 0,
"rnd": "1723910862",
"user_title": "",
"guard_level": 0,
"bubble": 0,
"bubble_color": "",
"lpl": 0,
"yeah_space_url": "",
"jump_to_url": "",
"check_info": {
"ts": 1723910856,
"ct": "9BD05026"
},
"voice_dm_info": {
"voice_url": "",
"file_format": "",
"text": "",
"file_duration": 0,
"file_id": ""
},
"emoticon": {
"id": 0,
"emoticon_unique": "",
"text": "",
"perm": 0,
"url": "",
"in_player_area": 0,
"bulge_display": 0,
"is_dynamic": 0,
"height": 0,
"width": 0
},
"emots": null,
"id_str": "2ee6101973eeb69931eb86ac7e66c0ca17",
"wealth_level": 23,
"bubble_id_v2": 0,
"reply": {
"show_reply": true,
"reply_mid": 0,
"reply_uname": "",
"reply_uname_color": "",
"reply_is_mystery": false
},
"group_medal": null,
"user": {
"uid": 3546614675278489,
"base": {
"name": "机器人管家_鱼",
"face": "https://i1.hdslb.com/bfs/face/de737cd746a96742c07ced6c213aa25cf0429d90.jpg",
"name_color": 0,
"is_mystery": false,
"risk_ctrl_info": null,
"origin_info": {
"name": "机器人管家_鱼",
"face": "https://i1.hdslb.com/bfs/face/de737cd746a96742c07ced6c213aa25cf0429d90.jpg"
},
"official_info": {
"role": 0,
"title": "",
"desc": "",
"type": -1
},
"name_color_str": ""
},
"medal": {
"name": "赴神明",
"level": 21,
"color_start": 12632256,
"color_end": 12632256,
"color_border": 12632256,
"color": 1725515,
"id": 1231122,
"typ": 0,
"is_light": 0,
"ruid": 3493291261692485,
"guard_level": 0,
"score": 50001573,
"guard_icon": "",
"honor_icon": "",
"v2_medal_color_start": "#919298CC",
"v2_medal_color_end": "#919298CC",
"v2_medal_color_border": "#919298CC",
"v2_medal_color_text": "#FFFFFFFF",
"v2_medal_color_level": "#6C6C7299",
"user_receive_count": 0
},
"wealth": null,
"title": {
"old_title_css_id": "",
"title_css_id": ""
},
"guard": null,
"uhead_frame": null,
"guard_leader": {
"is_guard_leader": false
}
}
},
{
"text": "",
"dm_type": 0,
"uid": 20276964,
"nickname": "咸菜拉面",
"uname_color": "",
"timeline": "2024-08-18 05:05:05",
"isadmin": 0,
"vip": 0,
"svip": 0,
"medal": [
27,
"小孩梓",
"阿梓从小就很可爱",
80397,
398668,
"",
0,
6809855,
398668,
6850801,
3,
1,
7706705
],
"title": [
"title-86-1",
"title-86-1"
],
"user_level": [
59,
0,
16752445,
931
],
"rank": 10000,
"teamid": 0,
"rnd": "1723928706",
"user_title": "title-86-1",
"guard_level": 0,
"bubble": 0,
"bubble_color": "",
"lpl": 0,
"yeah_space_url": "",
"jump_to_url": "",
"check_info": {
"ts": 1723928705,
"ct": "8A379FF4"
},
"voice_dm_info": {
"voice_url": "",
"file_format": "",
"text": "",
"file_duration": 0,
"file_id": ""
},
"emoticon": {
"id": 0,
"emoticon_unique": "",
"text": "",
"perm": 0,
"url": "",
"in_player_area": 0,
"bulge_display": 0,
"is_dynamic": 0,
"height": 0,
"width": 0
},
"emots": null,
"id_str": "41e8b55dea381d494cfe60ba3466c11064",
"wealth_level": 37,
"bubble_id_v2": 0,
"reply": {
"show_reply": true,
"reply_mid": 0,
"reply_uname": "",
"reply_uname_color": "",
"reply_is_mystery": false
},
"group_medal": null,
"user": {
"uid": 20276964,
"base": {
"name": "咸菜拉面",
"face": "https://i0.hdslb.com/bfs/face/182b73f6b6274fcee7491219f511b1748c4bc712.jpg",
"name_color": 0,
"is_mystery": false,
"risk_ctrl_info": null,
"origin_info": {
"name": "咸菜拉面",
"face": "https://i0.hdslb.com/bfs/face/182b73f6b6274fcee7491219f511b1748c4bc712.jpg"
},
"official_info": {
"role": 0,
"title": "",
"desc": "",
"type": -1
},
"name_color_str": ""
},
"medal": {
"name": "小孩梓",
"level": 27,
"color_start": 398668,
"color_end": 6850801,
"color_border": 6809855,
"color": 398668,
"id": 13139,
"typ": 0,
"is_light": 1,
"ruid": 7706705,
"guard_level": 3,
"score": 50112778,
"guard_icon": "https://i0.hdslb.com/bfs/live/143f5ec3003b4080d1b5f817a9efdca46d631945.png",
"honor_icon": "",
"v2_medal_color_start": "#4775EFCC",
"v2_medal_color_end": "#4775EFCC",
"v2_medal_color_border": "#58A1F8FF",
"v2_medal_color_text": "#FFFFFFFF",
"v2_medal_color_level": "#000B7099",
"user_receive_count": 0
},
"wealth": null,
"title": {
"old_title_css_id": "title-86-1",
"title_css_id": "title-86-1"
},
"guard": null,
"uhead_frame": null,
"guard_leader": {
"is_guard_leader": false
}
}
}
]
},
"message": "",
"msg": ""
}
```
设置弹幕样式
https://api.live.bilibili.com/xlive/web-room/v1/dM/AjaxSetConfig
请求方式: POST
认证方式: Cookie (SESSDATA)
鉴权方式: Cookie中bili_jct的值正确并与csrf相同
正文参数 (application/x-www-form-urlencoded):
| 参数名 |
类型 |
内容 |
必要性 |
备注 |
| csrf |
str |
CSRF Token(位于cookie) |
必要 |
|
| csrf_token |
str |
同csrf |
非必要 |
|
| room_id |
num |
直播间id |
必要 |
|
| color |
str |
颜色值 |
必要(可选) |
color和mode任选一个 |
| mode |
num |
弹幕模式 |
必要(可选) |
color和mode任选一个 |
注1: 抓取到的color格式是"0x"+六位十六进制小写颜色值,实际不需要0x,且不区分大小写。
注2: 若color和mode同时存在将只处理color,mode将被忽略。(见#1236(comment))
json回复:
根对象:
| 字段 |
类型 |
内容 |
备注 |
| code |
num |
返回值 |
0: 成功 -101: 账号未登录 -500: 未达到使用条件 10064002: 参数错误 10065107: 颜色不存在 |
| message |
str |
错误信息 |
|
| ttl |
num |
1 |
|
| data |
obj |
信息本体 |
部分情况不存在,10064002时为null |
data 对象:
| 字段 |
类型 |
内容 |
备注 |
| status |
num |
同code |
|
| msg |
str |
提示信息 |
成功时有内容 |
| roomid |
num |
直播间id |
|
示例:
更改直播间 1017 的弹幕颜色为白色
curl 'https://api.live.bilibili.com/xlive/web-room/v1/dM/AjaxSetConfig' \
--data-urlencode 'room_id=1017' \
--data-urlencode 'color=0xffffff' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;bili_jct=xxx'
查看响应示例:
```json
{
"code":0,
"message":"0",
"ttl":1,
"data":{
"status":0,
"msg":"设置成功~",
"roomid":1017
}
}
```
发送直播弹幕
https://api.live.bilibili.com/msg/send
请求方式: POST
认证方式: Cookie (SESSDATA)
鉴权方式: Cookie中bili_jct的值正确并与csrf相同
url参数:
| 参数名 |
类型 |
内容 |
必要性 |
备注 |
| w_rid |
str |
wbi签名 |
非必要 |
不强制需要 |
| wts |
num |
Unix 秒时间戳 |
非必要 |
不强制需要 |
正文参数 (application/x-www-form-urlencoded或multipart/form-data):
| 参数名 |
类型 |
内容 |
必要性 |
备注 |
| csrf |
str |
CSRF Token(位于cookie) |
必要 |
|
| roomid |
num |
直播间id |
必要 |
|
| msg |
str |
弹幕内容 |
必要 |
|
| rnd |
num |
当前 Unix 秒时间戳 |
必要 |
|
| fontsize |
num |
字体大小 |
必要 |
默认为25 |
| color |
num |
十进制颜色值 |
必要 |
实际无效果 |
| mode |
num |
展示模式 |
非必要 |
默认为1 |
| bubble |
num |
(?) |
非必要 |
值为0 |
| room_type |
num |
(?) |
非必要 |
0 |
| jumpfrom |
num |
(?) |
非必要 |
0 |
| reply_mid |
num |
要“@”的用户mid |
非必要 |
默认为0 |
| reply_attr |
num |
(?) |
非必要 |
0 |
| reply_uname |
str |
要“@”的用户名称 |
非必要 |
默认为"",提供reply_mid时不需要提供 |
| replay_dmid |
str |
要回复的弹幕id |
非必要 |
默认为"" |
| statistics |
str |
(?) |
非必要 |
{"appId":100,"platform":5} |
| csrf_token |
str |
同csrf |
非必要 |
|
json回复:
根对象:
| 字段 |
类型 |
内容 |
备注 |
| code |
num |
返回值 |
-101:账号未登录
-111:csrf 校验失败
-400:请求错误,带有必须参数的信息
1003212:超出限制长度
10031:发送频率过快 |
| message |
str |
错误信息 |
|
| msg |
str |
同message |
|
| data |
obj |
信息本体 |
|
| ttl |
num |
1 |
在小于0的code中存在 |
data 对象:
| 字段 |
类型 |
内容 |
备注 |
| mode_info |
obj |
弹幕信息 |
|
| dm_v2 |
null |
v2弹幕 |
|
data.mode_info 对象:
基本上与直播间信息流#弹幕 (DANMU_MSG)的info[0][15]对象相同。
示例:
给直播间 1899237171 发送内容为 QwQ 的弹幕
curl 'https://api.live.bilibili.com/msg/send' \
--data-urlencode 'roomid=1899237171' \
--data-urlencode 'msg=QwQ' \
--data-urlencode 'rnd=1744956003' \
--data-urlencode 'fontsize=25'
--data-urlencode 'color=16777215'
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx;bili_jct=xxx'
查看响应示例:
```json
{
"code":0,
"data":{
"mode_info":{
"mode":0,
"show_player_type":0,
"extra":"{\"send_from_me\":true,\"master_player_hidden\":false,\"mode\":0,\"color\":16777215,\"dm_type\":0,\"font_size\":25,\"player_mode\":1,\"show_player_type\":0,\"content\":\"QwQ\",\"user_hash\":\"2402762465\",\"emoticon_unique\":\"\",\"bulge_display\":0,\"recommend_score\":7,\"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\":null,\"is_audited\":false,\"id_str\":\"4e3ed8ede9409b234b5e1d64c06801ea3119\",\"icon\":null,\"show_reply\":true,\"reply_mid\":0,\"reply_uname\":\"\",\"reply_uname_color\":\"\",\"reply_is_mystery\":false,\"reply_type_enum\":0,\"hit_combo\":0,\"esports_jump_url\":\"\"}",
"user":{
"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":{
"name":"weatfe",
"face":"https://i0.hdslb.com/bfs/face/member/noface.jpg"
},
"official_info":{
"role":0,
"title":"",
"desc":"",
"type":-1
},
"name_color_str":""
},
"medal":null,
"wealth":null,
"title":{
"old_title_css_id":"",
"title_css_id":""
},
"guard":null,
"uhead_frame":null,
"guard_leader":{
"is_guard_leader":false
}
}
},
"dm_v2":null
},
"message":"",
"msg":""
}
```