UNPKG

rsshub

Version:
66 lines (64 loc) 2.12 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import { t as parseDate } from "./parse-date-BrP7mxXf.mjs"; import "./helpers-DxBp0Pty.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import { load } from "cheerio"; //#region lib/routes/liquipedia/dota2-matches.ts const route = { path: "/dota2/matches/:id", categories: ["game"], example: "/liquipedia/dota2/matches/Team_Aster", parameters: { id: "战队名称,可在url中找到。例如:https://liquipedia.net/dota2/Team_Aster" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["liquipedia.net/dota2/:id"] }], name: "Dota2 战队最近比赛结果", maintainers: ["wzekin"], handler }; async function handler(ctx) { const team = ctx.req.param("id"); const url = `https://liquipedia.net/dota2/${team}`; const data = (await got_default({ method: "get", url })).data; const $ = load(data); const list = $("div.recent-matches > table > tbody > tr[style]"); return { title: `Liquipedia Dota2 ${team} Matches`, link: url, item: list?.toArray().map((item) => { item = $(item); let message = ""; if (item.attr("style") === "background:rgb(240, 255, 240)") message = "胜"; else if (item.attr("style") === "background:rgb(249, 240, 242)") message = "败"; else message = "平"; const date = item.find("td:nth-child(1)").text(); const time = item.find("td:nth-child(2)").text(); const tournament = item.find("td:nth-child(6) > a").text(); const dateTime = parseDate(date + " " + time); const score = item.find("td:nth-child(7)").text(); const vs_team = item.find("td:nth-child(8) > span > span.team-template-text > a").text(); return { title: `[${message}] ${score} ${vs_team}`, description: `At ${tournament}, ${team} ${score} ${vs_team}`, pubDate: dateTime, link: url, guid: url + dateTime }; }) }; } //#endregion export { route };