import {rss2json} from "../utils/index.js";
import dayjs from "dayjs";
import utc from "dayjs/plugin/utc.js";
import timezone from "dayjs/plugin/timezone.js";
import {NewsItem} from "../types/index.js";
const PCBETA_WIN_11_RSS = process.env.PCBETA_WIN_11_RSS || "https://bbs.pcbeta.com/forum.php?mod=rss&fid=521&auth=0";
const PCBETA_WIN_RSS = process.env.PCBETA_WIN_RSS || "https://bbs.pcbeta.com/forum.php?mod=rss&fid=563&auth=0";
dayjs.extend(utc);
dayjs.extend(timezone);
export const pcbetaWin = async () => {
if (!PCBETA_WIN_RSS) throw new Error("PCBETA_WIN_RSS is not defined")
const rssJson = await rss2json(PCBETA_WIN_RSS)
if (!rssJson?.items.length) throw new Error("Cannot fetch rss data")
return rssJson.items.map(item => ({
title: item.title,
url: item.link,
id: item.link,
pubDate: dayjs(item.created).tz("Asia/Shanghai").format("YYYY-MM-DD HH:mm:ss"),
extra: {
date: dayjs.tz(item.created, "Asia/Shanghai").valueOf()
},
} as NewsItem))
}
export const pcbetaWin11 = async () => {
if (!PCBETA_WIN_11_RSS) throw new Error("PCBETA_WIN_11_RSS is not defined")
const rssJson = await rss2json(PCBETA_WIN_11_RSS)
if (!rssJson?.items.length) throw new Error("Cannot fetch rss data")
return rssJson.items.map(item => ({
title: item.title,
url: item.link,
id: item.link,
pubDate: dayjs(item.created).tz("Asia/Shanghai").format("YYYY-MM-DD HH:mm:ss"),
extra: {
date: dayjs.tz(item.created, "Asia/Shanghai").valueOf()
},
} as NewsItem))
}