rsshub
Version:
Make RSS Great Again!
49 lines (47 loc) • 1.44 kB
JavaScript
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";
import { t as getItem } from "./utils-nshLbAbb.mjs";
//#region lib/routes/crossbell/notes/character.ts
const route = {
path: "/notes/character/:characterId",
categories: ["social-media"],
example: "/crossbell/notes/character/10",
parameters: { characterId: "N" },
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
radar: [{
source: ["crossbell.io/*"],
target: "/notes"
}],
name: "Notes of character",
maintainers: ["DIYgod"],
handler,
url: "crossbell.io/*"
};
async function handler(ctx) {
const characterId = ctx.req.param("characterId");
const response = await got_default("https://indexer.crossbell.io/v1/notes", { searchParams: {
characterId,
includeCharacter: true
} });
const name = response.data?.list?.[0]?.character?.metadata?.content?.name || response.data?.list?.[0]?.character?.handle || characterId;
const handle = response.data?.list?.[0]?.character?.handle;
return {
title: "Crossbell Notes from " + name,
link: "https://xchar.app/" + handle,
item: response.data?.list?.map((item) => getItem(item))
};
}
//#endregion
export { route };