Skip to content

Latest commit

 

History

History
178 lines (118 loc) · 6.86 KB

README.zh-cn.md

File metadata and controls

178 lines (118 loc) · 6.86 KB

Header image

npm npm david-dm Maintainability

哔哩哔哩弹幕自动手记人偶

彼女はまだ知らない、「愛してる」の意味を。

哔哩哔哩 (゜-゜)つロ 干杯!🍻

B站直播弹幕接口的javascript客户端实现,在Node.js和浏览器段均可使用。

本文档在不同语言下有多种版本:English简体中文

目录

简介

嫌弹幕姬难用?想赚(zi)点(dong)辣(chou)条(jiang)?想弄个看知乎b站?(这个我已经在弄了还请勿念~)我是渣渣辉,船新的b站直播弹幕客户端,走过路过不要错过哦!

(嗯所以如果你是某奇艺某酷用户出门左转不谢)

(清嗓子)bilibili-danmaku-client是一个兼容Node.js和浏览器端的npm包,其API简单,易用,流畅。使用它,会让你拥有回家般的体验。

就酱。

安装

才,才不是因为你帅才教你怎么安装的呢!这么简单的事,不应该生下来就会做吗!(摔)

那,那你听好了哦!先安装nodenpm,然后:

    $ 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在浏览器上使用bufferevents这两个npm包来代替其Node.js上的同名模块,并将他们设定为peer dependencies。(这个概念比较难以翻译)而当运行npm install时,你就有可能会看到类似 peer dependencies 未安装之类的错误信息。

这实际上除了有点惹人厌烦以外并不是什么大问题。实际上,如果你只在Node.js端(或者electron等类似环境下)使用bilibili-danmaku-client的话,那么不安装这些库也能运行良好。

如果你还打算在浏览器端使用bilibili-danmaku-client的话,那我建议最好使用browserifywebpack之类的打包工具对你的项目进行打包。在此过程中,他们会自动检测到x-platform-ws使用了bufferevents模块,并且将他们对应的npm包打包到最终生成的文件中。如果你不愿意打包的话,那你就得自己找到解决方法了。残念です。( ̄y▽, ̄)╭

开发

哟~西!用的还满意吗!让我看到你们的双手!

众人:不——满——意——

不满意?自己动手,丰衣足食,知不知道?

众人: 那——我——们—— 怎——么——自——己—— 动——手——呢——

很简单!你只要:

  1. 将git项目克隆到本地
    $ git clone -b master https://github.com/std4453/bilibili-danmaku-client.git
  1. 安装依赖项+构建
    $ npm install && npm run build
  1. 运行测试
    $ npm test

それで十分わよ!お楽しみに!

(嗯你没走错这真的是中文版)

外部链接

作者

许可证

本项目使用 MIT 许可证,详情请见LICENSE文件。