Procházet zdrojové kódy

Post news in order from oldest to newest

denikson před 6 roky
rodič
revize
693ea4a472
1 změnil soubory, kde provedl 10 přidání a 5 odebrání
  1. 10 5
      main.js

+ 10 - 5
main.js

@@ -26,12 +26,17 @@ async function checkFeeds() {
         let feed = await parser.parseURL(feedEntry.url);
         if(feed.items.length == 0)
             continue;
-        feed.items.filter(i => i.isoDate > feedEntry.lastUpdate).forEach(item => {
-            outlets.forEach(ch => {
-                client.channels.get(ch).send(`**${item.title}**\nPosted by ${item.creator}\n${item.link}\n\n${turndown.turndown(item[feedEntry.contentElement]).replace(/( {2}\n|\n\n){2,}/gm, "\n").replace(item.link, "")}`);
+        let printableItems = feed.items.filter(i => i.isoDate > feedEntry.lastUpdate).sort((a, b) => a.isoDate.localeCompare(b.isoDate));
+        if(printableItems.length > 0) {
+            printableItems.forEach(item => {
+                outlets.forEach(ch => {
+                    client.channels.get(ch).send(`**${item.title}**\nPosted by ${item.creator}\n${item.link}\n\n${turndown.turndown(item[feedEntry.contentElement]).replace(/( {2}\n|\n\n){2,}/gm, "\n").replace(item.link, "")}`);
+                });
             });
-        });
-        db.get("rssFeeds").find({ url: feedEntry.url}).assign({lastUpdate: feed.items[0].isoDate}).write();
+            let lastUpdateDate = printableItems[printableItems.length - 1].isoDate;
+            console.log(`Setting last update marker on ${feedEntry.url} to ${lastUpdateDate}`);
+            db.get("rssFeeds").find({ url: feedEntry.url}).assign({lastUpdate: lastUpdateDate}).write();
+        }
     }
 }