rsshub
Version:
Make RSS Great Again!
74 lines (73 loc) • 2.11 kB
JavaScript
import { t as parseDate } from "./parse-date-Cr0wQjV_.mjs";
import { t as got_default } from "./got-BTowW50G.mjs";
import { t as timezone } from "./timezone-BBvDwS_3.mjs";
import { t as renderDescription } from "./description-D7tXjJBA.mjs";
//#region lib/routes/douyu/group.ts
const route = {
path: "/group/:id/:sort?",
categories: ["bbs"],
example: "/douyu/group/1011",
parameters: {
id: "鱼吧 id,可在鱼吧页 URL 中找到",
sort: "排序方式,见下表,默认为发布时间排序"
},
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
radar: [{
source: [
"yuba.douyu.com/group/:id",
"yuba.douyu.com/group/newself/:id",
"yuba.douyu.com/group/newall/:id",
"yuba.douyu.com/"
],
target: "/group/:id"
}],
name: "鱼吧帖子",
maintainers: ["nczitzk"],
handler,
description: `| 回复时间排序 | 发布时间排序 |
| ------------ | ------------ |
| 1 | 2 |`
};
async function handler(ctx) {
const id = ctx.req.param("id");
const sort = ctx.req.param("sort") ?? "2";
const rootUrl = "https://yuba.douyu.com";
const detailUrl = `${rootUrl}/wbapi/web/group/head?group_id=${id}`;
const apiUrl = `${rootUrl}/wbapi/web/group/postlist?group_id=${id}&page=1&sort=${sort}`;
const currentUrl = `${rootUrl}/group/${sort === "1" ? "newall" : "newself"}/${id}`;
const response = await got_default({
method: "get",
url: apiUrl
});
const detailResponse = await got_default({
method: "get",
url: detailUrl
});
const items = response.data.data.map((item) => ({
title: item.title,
link: `${rootUrl}/p/${item.post_id}`,
pubDate: timezone(parseDate(item.created_at_std), 8),
description: renderDescription({
content: item.describe,
images: item.imglist.map((i) => ({
size: i.size,
url: i.url
}))
})
}));
return {
title: `斗鱼鱼吧 - ${detailResponse.data.data.group_name}`,
link: currentUrl,
item: items,
description: detailResponse.data.data.describe
};
}
//#endregion
export { route };