@bililive-tools/manager
Version:
Batch scheduling recorders
25 lines (24 loc) • 996 B
JavaScript
import axios from "axios";
import { assert } from "./utils.js";
const requester = axios.create({
timeout: 10e3,
// axios 会自动读取环境变量中的 http_proxy 和 https_proxy 并应用,
// 但会导致请求报错 "Client network socket disconnected before secure TLS connection was established"。
proxy: false,
});
export async function getBiliStatusInfoByRoomIds(RoomIds) {
const roomParams = `${RoomIds.map((id) => `room_ids=${id}`).join("&")}`;
const res = await requester.get(`https://api.live.bilibili.com/xlive/web-room/v1/index/getRoomBaseInfo?${roomParams}&req_biz=web_room_componet`);
assert(res.data.code === 0, `Unexpected resp, code ${res.data.code}, msg ${res.data.message}`);
const obj = {};
for (const roomId of RoomIds) {
try {
const data = res.data.data.by_room_ids[roomId];
obj[roomId] = data?.live_status === 1;
}
catch (e) {
continue;
}
}
return obj;
}