rsshub
Version:
Make RSS Great Again!
38 lines (37 loc) • 1.1 kB
JavaScript
import { t as rofetch } from "./ofetch-W1aeTHCo.mjs";
import { t as parseDate } from "./parse-date-CjhZE69i.mjs";
import { load } from "cheerio";
//#region lib/routes/huya/live.ts
const route = {
path: "/live/:id",
categories: ["live"],
example: "/huya/live/edmunddzhang",
parameters: { id: "直播间id或主播名(有一些id是名字,如上)" },
radar: [{ source: ["huya.com/:id"] }],
name: "直播间开播",
maintainers: ["SettingDust", "xyqfer"],
handler
};
async function handler(ctx) {
const { id } = ctx.req.param();
const url = `https://www.huya.com/${id}`;
const response = await rofetch(url);
const $ = load(response);
const roomData = JSON.parse(response.match(/TT_ROOM_DATA = (.*?);/)[1]);
let item;
if (roomData.isOn) item = [{
title: roomData.introduction,
description: `<img src="${roomData.screenshot}">`,
guid: `${roomData.liveId}:${roomData.startTime}`,
pubDate: parseDate(roomData.startTime, "X"),
link: url
}];
return {
title: `${$(".host-name").text()}的虎牙直播`,
link: url,
item,
allowEmpty: true
};
}
//#endregion
export { route };