添加时间过滤

This commit is contained in:
Jerry 2025-05-17 14:03:16 +08:00
parent 8fe5b218bc
commit 3504b158ac

View File

@ -128,18 +128,23 @@ export default class RssPlugin extends plugin {
async pushFeeds(e) { async pushFeeds(e) {
const feeds = configControl.get('feeds') || []; const feeds = configControl.get('feeds') || [];
logger.mark(`正在检查rss流更新..`); logger.mark(`正在检查rss流更新..`);
for (const feed of feeds) { for (const feed of feeds) {
const latest = await rssTools.fetchFeed(feed.url); const latest = await rssTools.fetchFeed(feed.url);
if (!latest || !latest.length) continue; if (!latest || !latest.length) continue;
const todayStr = new Date().toISOString().split('T')[0];
const newItems = []; const newItems = [];
for (const item of latest) { for (const item of latest) {
const pubDate = item.pubDate || item.published || item.date || item.updated;
if (!pubDate) continue;
const itemDate = new Date(pubDate).toISOString().split('T')[0];
if (itemDate !== todayStr) continue;
if (!(await rssCache.has(feed.url, item.link))) { if (!(await rssCache.has(feed.url, item.link))) {
newItems.push(item); newItems.push(item);
} }
} }
if (newItems.length) { if (newItems.length) {
await rssCache.set(feed.url, newItems[0].link); await rssCache.set(feed.url, newItems[0].link);
for (const groupId of feed.targetGroups) { for (const groupId of feed.targetGroups) {
const post = newItems[0]; const post = newItems[0];
const tempPath = path.join(process.cwd(), 'data', `rss-${Date.now()}.png`); const tempPath = path.join(process.cwd(), 'data', `rss-${Date.now()}.png`);