UNPKG

rsshub

Version:
76 lines (74 loc) 2.14 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import "./helpers-DxBp0Pty.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; //#region lib/routes/douyu/room.ts const route = { path: "/room/:id", categories: ["live"], example: "/douyu/room/24422", parameters: { id: "直播间 id, 可在主播直播间页 URL 中找到" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["www.douyu.com/:id", "www.douyu.com/"] }], name: "直播间开播", maintainers: ["DIYgod", "ChaosTong"], handler }; async function handler(ctx) { const id = ctx.req.param("id"); let data; let item; let room_thumb; try { const response = await got_default({ method: "get", url: `https://www.douyu.com/betard/${id}` }); if (!response.data.room) throw new Error("Invalid response"); data = response.data.room; room_thumb = data.room_pic; if (data.show_status === 1) item = data.videoLoop === 1 ? [{ title: `视频轮播: ${data.room_name}`, pubDate: (/* @__PURE__ */ new Date(data.show_time * 1e3)).toUTCString(), guid: data.show_time, link: `https://www.douyu.com/${id}` }] : [{ title: `开播: ${data.room_name}`, pubDate: (/* @__PURE__ */ new Date(data.show_time * 1e3)).toUTCString(), guid: data.show_time, link: `https://www.douyu.com/${id}` }]; } catch { data = (await got_default({ method: "get", url: `http://open.douyucdn.cn/api/RoomApi/room/${id}`, headers: { Referer: `https://www.douyu.com/${id}` } })).data.data; room_thumb = data.room_thumb; if (data.online !== 0) item = [{ title: `开播: ${data.room_name}`, pubDate: new Date(data.start_time).toUTCString(), guid: data.start_time, link: `https://www.douyu.com/${id}` }]; } return { title: `${data.owner_name}的斗鱼直播间`, image: room_thumb, link: `https://www.douyu.com/${id}`, item, allowEmpty: true }; } //#endregion export { route };