rsshub
Version:
Make RSS Great Again!
62 lines (60 loc) • 2.2 kB
JavaScript
import "./esm-shims-CzJ_djXG.mjs";
import "./config-C37vj7VH.mjs";
import "./dist-BInvbO1W.mjs";
import "./logger-Czu8UMNd.mjs";
import { t as ofetch_default } from "./ofetch-BIyrKU3Y.mjs";
import { t as parseDate } from "./parse-date-BrP7mxXf.mjs";
import "./md5-C8GRvctM.mjs";
import "./cache-Bo__VnGm.mjs";
import "./helpers-DxBp0Pty.mjs";
import "./render-BQo6B4tL.mjs";
import "./proxy-Db7uGcYb.mjs";
import "./got-KxxWdaxq.mjs";
import { t as timezone } from "./timezone-D8cuwzTY.mjs";
import "./puppeteer-DGmvuGvT.mjs";
import "./utils-XRYoJEu4.mjs";
import { t as cache_default } from "./cache-COvn8_4R.mjs";
import { decodeHTML } from "entities";
//#region lib/routes/bilibili/live-room.ts
const route = {
path: "/live/room/:roomID",
categories: ["live"],
example: "/bilibili/live/room/3",
parameters: { roomID: "房间号, 可在直播间 URL 中找到, 长短号均可" },
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
radar: [{ source: ["live.bilibili.com/:roomID"] }],
name: "直播开播",
maintainers: ["Qixingchen"],
handler
};
async function handler(ctx) {
let roomID = ctx.req.param("roomID");
if (Number.parseInt(roomID, 10) < 1e4) roomID = await cache_default.getLiveIDFromShortID(roomID);
const info = await cache_default.getUserInfoFromLiveID(roomID);
const data = (await ofetch_default(`https://api.live.bilibili.com/room/v1/Room/get_info?room_id=${roomID}&from=room`, { headers: { Referer: `https://live.bilibili.com/${roomID}` } })).data;
const liveItem = [];
if (data.live_status === 1) liveItem.push({
title: `${data.title} ${data.live_time}`,
description: `<img src="${data.keyframe}"><br>${decodeHTML(data.description)}`,
pubDate: timezone(parseDate(data.live_time), 8),
guid: `https://live.bilibili.com/${roomID} ${data.live_time}`,
link: `https://live.bilibili.com/${roomID}`
});
return {
title: `${info.uname} 直播间开播状态`,
link: `https://live.bilibili.com/${roomID}`,
description: `${info.uname} 直播间开播状态`,
image: info.face,
item: liveItem,
allowEmpty: true
};
}
//#endregion
export { route };