simon300000 / bilibili-live-ws

Bilibili live WebSocket/tcp API
MIT License
316 stars 31 forks source link

[bug] 有些直播间心跳包只会返回1,并且接收不到数据 #378

Closed s3xysteak closed 1 year ago

s3xysteak commented 1 year ago

如题,目前是猜测和直播间有关。大多数直播间可以正常工作,少数直播间(已知直播间号404, 510)会出现如题的情况

live.on('live', () => {
  live.on('heartbeat', console.log)
})

也就是只有这一段在打印1 获取不到弹幕,live.on('DANMU_MSG',xxx)不工作

simon300000 commented 1 year ago

据我所知,短号是不行的,要获取原本的直播间号,可以看看getRoomid

s3xysteak commented 1 year ago

YES!已解决。可以把这个写在md前面一些,我之前甚至不知道有短号这么一回事...... 示例代码,方便同样有问题的人来看。代码会输出房间号。经测试如果输入原房间号,也输出原房间号

const { getRoomid } = require('bilibili-live-ws')

const roomid = 114514 //在这里输入短号

const getid = async()=>{
    console.log(await getRoomid(roomid));
}
getid()