彼女はまだ知らない、「愛してる」の意味を。
哔哩哔哩 (゜-゜)つロ 干杯!🍻
B站直播弹幕接口的javascript客户端实现,在Node.js和浏览器段均可使用。
嫌弹幕姬难用?想赚(zi)点(dong)辣(chou)条(jiang)?想弄个看知乎b站?(这个我已经在弄了还请勿念~)我是渣渣辉,船新的b站直播弹幕客户端,走过路过不要错过哦!
(嗯所以如果你是某奇艺某酷用户出门左转不谢)
(清嗓子)bilibili-danmaku-client
是一个兼容Node.js和浏览器端的npm
包,其API简单,易用,流畅。使用它,会让你拥有回家般的体验。
就酱。
才,才不是因为你帅才教你怎么安装的呢!这么简单的事,不应该生下来就会做吗!(摔)
那,那你听好了哦!先安装node
和npm
,然后:
$ npm install --save bilibili-danmaku-client
(脸红)别问那么多为什么了!跟着做就是了!行不行本小姐把你电成烤猪肉!如果蹦出来什么peer dependencies not installed
之类的,不要管他就是了!知道了吗!
其实下面写了怎么解决这个问题的,可不是我想要告诉你的哦!还不是看你只身一人怪可怜的……
俗话说的好,是骡子是马,拉出来溜溜。瞧一瞧, 看一看嘞!
赵忠祥老师说过,如果你想使用bilibili-danmaku-client
的话,你就得:
const DanmakuClient = require('bilibili-danmaku-client');
// https://live.bilibili.com/5440
const client = new DanmakuClient(5440);
client.start();
const client = ...;
const onDanmaku = ({ content, sender }) =>
console.log(`${sender.name}: ${content}`);
const onGift = ({ gift, num, sender }) =>
console.log(`${sender.name} => ${gift.name} * ${num}`);
client.on('event', ({ name, content }) => {
switch (name) {
case 'danmaku':
onDanmaku(content);
break;
case 'gift':
onGift(content);
break;
}
})
事件部分的具体细节请看这里。(英语)
const client = ...;
client.on('open', () => console.log('Client opened.'));
client.on('close', () => console.log('Client closed.'));
(这就不用翻译了吧)
const client = ...;
client.terminate();
client.on('close' () => console.log('Client closed.'));
注意terminate()
只向客户端提出关闭请求,客户端正式关闭后会产生'close'
事件。如果有必要的话,请根据'close'
事件来进行处理。
关于DanmakuClient
类的更多信息请看这里。(英语)
本来无一物,何处惹尘埃 ——慧能法师
事实上bilibili-danmaku-client
本身在浏览器中的使用并不构成问题,但它所依赖的x-platform-ws
(这也是我写的一个小工具)就需要进行这方面的考虑。
为了能够在浏览器和Node.js端的行为保持一致,x-platform-ws
在浏览器上使用buffer
和events
这两个npm包来代替其Node.js上的同名模块,并将他们设定为peer dependencies。(这个概念比较难以翻译)而当运行npm install
时,你就有可能会看到类似 peer dependencies 未安装之类的错误信息。
这实际上除了有点惹人厌烦以外并不是什么大问题。实际上,如果你只在Node.js端(或者electron等类似环境下)使用bilibili-danmaku-client
的话,那么不安装这些库也能运行良好。
如果你还打算在浏览器端使用bilibili-danmaku-client
的话,那我建议最好使用browserify或webpack之类的打包工具对你的项目进行打包。在此过程中,他们会自动检测到x-platform-ws
使用了buffer
和events
模块,并且将他们对应的npm包打包到最终生成的文件中。如果你不愿意打包的话,那你就得自己找到解决方法了。残念です。( ̄y▽, ̄)╭
哟~西!用的还满意吗!让我看到你们的双手!
众人:不——满——意——
不满意?自己动手,丰衣足食,知不知道?
众人: 那——我——们—— 怎——么——自——己—— 动——手——呢——
很简单!你只要:
- 将git项目克隆到本地
$ git clone -b master https://github.com/std4453/bilibili-danmaku-client.git
- 安装依赖项+构建
$ npm install && npm run build
- 运行测试
$ npm test
それで十分わよ!お楽しみに!
(嗯你没走错这真的是中文版)
- std4453 - [email protected] - 知乎
本项目使用 MIT 许可证,详情请见LICENSE文件。