# 弹幕源 API
danmaqua-telegrambot 2.x 已经开始将弹幕 API 的连接部分分离。
要为 Bot 提供直播弹幕数据,你需要建立一个 WebSocket 服务器,在你的服务器中实现对直播平台的弹幕连接,将直播平台返回的弹幕数据以统一的数据格式向客户端(Bot)提供。
要让 Bot 支持新的弹幕源,你需要修改项目目录的 bot.config.js
中的 danmakuSources
字段,提供新的弹幕源描述和连接地址。
目前我们已经实现了哔哩哔哩和斗鱼直播平台的弹幕源,并提供了默认配置,你可以开箱即用。
客户端参考实现:bot/api.js
服务端参考实现:dmsrc/common/index.js
# WebSocket 消息类型
# join_room
客户端需要加入房间时可以发送 join_room
消息,加入房间后,就可以开始接收这个房间内的弹幕消息。
参数:string
/number
类型 - 房间号
# leave_room
客户端需要离开房间时可以发送 leave_room
消息。
参数:string
/number
类型 - 房间号
# reconnect_room
客户端需要手动请求重新连接房间时可以发送 reconnect_room
消息。
参数:string
/number
类型 - 房间号
# danmaku
服务端获取到的弹幕会以 danmaku
消息通知客户端。
参数:Danmaku
类型 - 标准弹幕数据
# 标准弹幕数据格式
弹幕源 WebSocket 服务端返回的弹幕数据使用 JSON 序列化为文本。
数据格式样例:
{
"sender": {
"uid": 4432261,
"username": "Siubeng",
"url": "https://space.bilibili.com/4432261"
},
"text": "233",
"time": 1594349332324,
"roomId": 14917277
}