UNPKG

rsshub

Version:
88 lines (83 loc) 3.03 kB
import { n as init_esm_shims, t as __dirname } from "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import { t as ofetch_default } from "./ofetch-BIyrKU3Y.mjs"; import { t as art } from "./render-BQo6B4tL.mjs"; import path from "node:path"; //#region lib/routes/steam/appcommunityfeed.ts init_esm_shims(); const workshopFileTypes = { 0: "Community", 1: "Microtransaction", 2: "Collection", 3: "Art", 4: "Video", 5: "Screenshot", 6: "Game", 7: "Software", 8: "Concept", 9: "WebGuide", 10: "IntegratedGuide", 11: "Merch", 12: "ControllerBinding", 13: "SteamworksAccessInvite", 14: "SteamVideo", 15: "GameManagedItem" }; const route = { path: "/appcommunityfeed/:appid/:routeParams?", categories: ["game"], example: "/steam/appcommunityfeed/730", parameters: { appid: "Steam appid, can be found on the community hub page or store page URL.", routeParams: "Query parameters." }, radar: [{ title: "Community Hub", source: ["steamcommunity.com/app/:appid"], target: "/appcommunityfeed/:appid" }, { title: "Community Hub", source: ["store.steampowered.com/app/:appid/*/"], target: "/appcommunityfeed/:appid" }], description: `Query Parameters: | Name | Type | Description | | ---------------------- | ------ | ----------------------- | | p | string | p | | rgSections[] | string | rgSections | | filterLanguage | string | Filter Language | | languageTag | string | Language Tag | | nMaxInappropriateScore | string | Max Inappropriate Score | Example: - \`/appcommunityfeed/730/p=1&rgSections[]=2&rgSections[]=4&filterLanguage=english&languageTag=english&nMaxInappropriateScore=1\` for CS2 Screenshot and Artwork contents. - \`/appcommunityfeed/730/rgSections[]=6\` for CS2 Workshop contents only. - \`/appcommunityfeed/570/rgSections[]=3&rgSections[]=9\` for Dota2 Video and Guides contents. ::: tip It can also access community hub contents that require a logged-in account. ::: `, name: "Steam Community Hub Feeds", maintainers: ["NyaaaDoge"], handler: async (ctx) => { const { appid = 730, routeParams } = ctx.req.param(); const response = await ofetch_default(`https://steamcommunity.com/library/appcommunityfeed/${appid}${routeParams ? `?${routeParams}` : ""}`); return { title: `${appid} Steam Community Hub`, link: `https://steamcommunity.com/app/${appid}`, item: response.hub.map((item) => ({ title: item.title === "" ? workshopFileTypes[item.type] : item.title, link: `https://steamcommunity.com/sharedfiles/filedetails/?id=${item.published_file_id}`, description: art(path.join(__dirname, "templates/appcommunityfeed-description-b79402f1.art"), { image: item.full_image_url, description: item.description }), author: item.creator.name, category: workshopFileTypes[item.type] })) }; } }; //#endregion export { route };