UNPKG

rsshub

Version:
54 lines (53 loc) 1.45 kB
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 };