2.1.0 • Published 4 years ago

bilibili-live v2.1.0

Weekly downloads
10
License
MIT
Repository
github
Last release
4 years ago

Bilibili live

npm version npm js-standard-style

A Node.js Toolkit for Bilibili Live

Install

npm install bilibili-live --save

Docs

DanmakuService

监听直播间消息的服务

import { DanmakuService } from 'bilibili-live'
new DanmakuService({ options })

Options

属性类型默认值说明
roomIdNumber-必需 直播间真实ID (非短位ID)
userIdNumber随机值用户ID

Usage

  import { DanmakuService } from 'bilibili-live'

  new DanmakuService({
    roomId: 92052
  }).connect()
    .on('open', () => {
      console.log('正在连接至弹幕服务器')
    })
    .on('data', (msg) => {
      // msg结构参见下方文档说明
      if (msg.op === 'AUTH_REPLY') {
        console.log('成功连接至弹幕服务器')
      } else {
        console.log(msg)
      }
    })
    .on('close', () => {
      console.log('已断开与弹幕服务器的连接')
    })
    .on('error', () => {
      console.log('与弹幕服务器的连接出现错误')
    })
}

消息结构

{
  op: '...' // 可能的取值: AUTH_REPLY, HEARTBEAT_REPLY, SEND_SMS_REPLY
  ...
}

鉴权包回复消息

{ op: 'AUTH_REPLY' }

心跳包回复消息

{ 
  op: 'HEARTBEAT_REPLY',
  online: 21066 // 房间人气值
}

弹幕消息

{
  op: 'SEND_SMS_REPLY',
  ...
}

// 示例消息
{
  cmd: 'INTERACT_WORD',
  data: {
    uid: 1326986,
    uname: '清古',
    uname_color: '',
    identities: [ 1 ],
    msg_type: 1,
    roomid: 92052,
    timestamp: 1596879220,
    score: 1596868220864411100
  },
  op: 'SEND_SMS_REPLY'
}

Client

HTTP请求客户端

import { Client } from 'bilibili-live'

let client = new Client({ options })

Options

属性类型默认值说明
cookieString-必需 用户Cookie
userAgentStringMozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36请求UA
refererStringhttps://live.bilibili.com请求referer

Client uses got as HTTP client internally. See got's document for request options

getCSRFToken()

Return csrf token in cookie

get(url, options)

Returns a Promise with text response

client.get('https://live.bilibili.com').then(res => {
  console.log(res) // html string
})

getJSON(url, options)

Returns a Promise with json response

client.get('https://api.bilibili.com/nav').then(res => {
  console.log(res) // json response
})

post(url, options)

Returns a Promise with json response

client.get('https://api.live.bilibili.com/ajax/msg', {
  form: {
    roomid: 92052
  }
}).then(res => {
  console.log(res) // json response
})

License

MIT

2.0.3

4 years ago

2.0.2

4 years ago

2.0.0

4 years ago

2.1.0

4 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago

0.9.6

7 years ago

0.9.5

7 years ago

0.9.4

7 years ago

0.9.3

7 years ago

0.9.2

7 years ago

0.9.1

7 years ago

0.9.0

7 years ago

0.8.3

7 years ago

0.8.2

7 years ago

0.8.1

7 years ago

0.8.0

7 years ago

0.7.2

7 years ago

0.7.1

7 years ago

0.7.0

7 years ago

0.6.1

7 years ago

0.6.0

7 years ago

0.5.2

7 years ago

0.5.1

7 years ago

0.5.0

7 years ago

0.4.5

7 years ago

0.4.4

7 years ago

0.4.3

7 years ago

0.4.2

7 years ago

0.4.1

7 years ago

0.4.0

7 years ago

0.3.0

7 years ago

0.2.0

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago