外观
B站直播间
B 站直播间。弹幕 WebSocket(WSS)接收 + 弹幕 HTTP 发送,只收发弹幕文本(无富媒体),直播间按群聊处理。
适配器类型:"bilibili_live"(兼容旧值 "bilibili") 源码:src/adapter/bilibili_live/ 协议:B 站直播弹幕 WebSocket(接收)+ 弹幕发送 HTTP(发送)。
说明
特点
- 弹幕 WebSocket 实时接收,延迟低
- 支持发送弹幕(需机器人账号 Cookie)
- 只收发弹幕文本,无富媒体
- 直播间按"群聊"处理,每个直播间独立
原理
- 接收:连接 B 站直播弹幕 WebSocket,解析 DANMU_MSG / SUPER_CHAT_MESSAGE 等事件
- 发送:
POST https://api.live.bilibili.com/msg/send发送弹幕
前提
- 目标直播间号(短号/长号均可)
- 发送弹幕需要机器人账号 Cookie(SESSDATA、bili_jct 等)
- 机器人账号需有该直播间发送权限
安装
适配器安装
bash
van adapter install bilibili_live依赖库
bash
npm install ws配置
jsonc
{
"botId": "Bili-Live",
"type": "bilibili_live",
"roomId": 0,
"cookie": "SESSDATA=...; bili_jct=...; buvid3=...; DedeUserID=...;",
"csrf": "",
"uid": 0,
"color": 16777215,
"mode": 1,
"fontsize": 25,
"ignoreSelf": true
}| 配置项 | 必填 | 说明 |
|---|---|---|
roomId | ✅ | 直播间号(短号/长号均可) |
cookie | 发送必需 | 机器人账号 Cookie(SESSDATA、bili_jct 等) |
csrf | 可选 | 默认从 cookie 的 bili_jct 取 |
uid | 可选 | 机器人账号 uid |
color | 可选 | 弹幕颜色,默认 16777215(白色) |
mode | 可选 | 弹幕模式,默认 1 |
fontsize | 可选 | 弹幕字号,默认 25 |
ignoreSelf | 可选 | 忽略自己发的弹幕,默认 true |
接收事件
| B 站事件 | 框架事件 | 说明 |
|---|---|---|
| 弹幕(DANMU_MSG) | group_message | groupId=房间号、userId=用户 uid |
| 醒目留言(SUPER_CHAT_MESSAGE) | group_message | 同上 |
直播间按"群聊"处理,每个直播间独立使用一套数据。
API 调用
发送弹幕需要机器人账号 Cookie(机器人本人需有该直播间发送权限):
ts
// 发弹幕(直播间 = 群聊)
await bot.callApi("send_group_msg", {
group_id: 0,
message: "你好"
})
// send_msg / send_private_msg 同 send_group_msg
await bot.callApi("send_msg", { message: "弹幕内容" })message 支持字符串或消息段数组(文本)。图片/富媒体不支持(弹幕只有文本)。
常见问题
- 发不出去:未配置 cookie、或账号无该房间发送权限、或发送频率过高被风控。
- 用户名打码:未填 cookie 时接收的弹幕用户名会被打码。
- ignoreSelf:默认 true,忽略机器人自己发的弹幕,防止"弹幕→回复→弹幕"死循环。
相关项目
- B 站直播开放平台:https://open-live.bilibili.com/
