rsshub
Version:
Make RSS Great Again!
54 lines (53 loc) • 1.45 kB
JavaScript
import { i as utils_default } from "./api-DAI6sKK3.mjs";
import { t as api_default } from "./api-DNe8U2ZQ.mjs";
//#region lib/routes/twitter/list.ts
const route = {
path: "/list/:id/:routeParams?",
categories: ["social-media"],
example: "/twitter/list/1502570462752219136",
parameters: {
id: "list id, get from url",
routeParams: "extra parameters, see the table above"
},
features: {
requireConfig: [{
name: "TWITTER_AUTH_TOKEN",
description: "Please see above for details."
}, {
name: "TWITTER_THIRD_PARTY_API",
description: "Please see above for details."
}],
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
name: "List timeline",
maintainers: [
"DIYgod",
"xyqfer",
"pseudoyu"
],
handler,
radar: [{
source: ["x.com/i/lists/:id"],
target: "/list/:id"
}]
};
async function handler(ctx) {
const id = ctx.req.param("id");
const { count, include_rts, only_media } = utils_default.parseRouteParams(ctx.req.param("routeParams"));
const params = count ? { count } : {};
await api_default.init();
let data = await api_default.getList(id, params);
if (!include_rts) data = utils_default.excludeRetweet(data);
if (only_media) data = utils_default.keepOnlyMedia(data);
return {
title: `Twitter List - ${id}`,
link: `https://x.com/i/lists/${id}`,
item: utils_default.ProcessFeed(ctx, { data })
};
}
//#endregion
export { route };