Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/beilunyang/bilibili-live-danmu
bilibili直播弹幕解析获取
https://github.com/beilunyang/bilibili-live-danmu
bilibili danmu
Last synced: 1 day ago
JSON representation
bilibili直播弹幕解析获取
- Host: GitHub
- URL: https://github.com/beilunyang/bilibili-live-danmu
- Owner: beilunyang
- License: mit
- Created: 2017-08-11T09:28:09.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-12T10:36:28.000Z (almost 2 years ago)
- Last Synced: 2024-10-04T09:21:39.054Z (about 1 month ago)
- Topics: bilibili, danmu
- Language: TypeScript
- Size: 32.2 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bilibili-live-danmu
获取bilibili直播弹幕[![npm](https://img.shields.io/npm/l/express.svg)]()
[![NPM](https://nodei.co/npm/bilibili-live-danmu.png)](https://nodei.co/npm/bilibili-live-danmu/)
## 安装
```bash
npm install --save bilibili-live-danmu
```## 使用方法
```javascript
import Danmu from "bilibili-live-danmu";const danmu = new Danmu("roomID");
danmu.connectServer();
danmu.setEncoding("utf8");
danmu.on("data", (json) => {
const msg = JSON.parse(json);
// ...
});
// 或者 danmu.pipe("writable stream");
// Danmu类继承自stream.PassThrough,实现了流接口,既可读又可写
// 具体使用方法可参考 src/example.ts
```## 数据结构
```javascript
// JSON.parse后的数据如下:
{
// 消息类型
type: "在线人数" || "弹幕消息" || "未知消息",
// 过滤后的数据
data: [在线人数] || null || {
cmd: "DANMU_MSG",
content: [弹幕主体],
isAdmin: true || false,
isVip: true || false,
uname: [用户名]
} || {
cmd: "SEND_GIFT",
giftName: [礼物名],
giftNum: [礼物数量],
uname: [用户名],
} || {
cmd: "WELCOME",
uid: [用户ID],
uname: [用户名],
} || {
cmd: [其它弹幕类型],
},
// 原始数据
rawData: [不展开了,有需要可以自己打印查看],
}
```## 参考&感谢
http://www.lyyyuna.com/2016/03/14/bilibili-danmu01/https://github.com/lyyyuna/bilibili_danmu
## 开源许可
MIT