|
@@ -6,6 +6,7 @@ const interval = require("interval-promise");
|
|
|
const TurndownService = require("turndown");
|
|
|
const fs = require("fs");
|
|
|
const isImage = require("is-image");
|
|
|
+const Base64 = require("js-base64").Base64;
|
|
|
|
|
|
const turndown = new TurndownService();
|
|
|
turndown.addRule("image", {
|
|
@@ -36,12 +37,13 @@ async function checkFeeds() {
|
|
|
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 => {
|
|
|
- if(oldNews.has(item.guid).value())
|
|
|
+ let itemID = Base64.encode(item.guid);
|
|
|
+ if(oldNews.has(itemID).value())
|
|
|
return;
|
|
|
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, "")}`);
|
|
|
});
|
|
|
- oldNews.set(item.guid, true).write();
|
|
|
+ oldNews.set(itemID, true).write();
|
|
|
});
|
|
|
let lastUpdateDate = printableItems[printableItems.length - 1].isoDate;
|
|
|
console.log(`Setting last update marker on ${feedEntry.url} to ${lastUpdateDate}`);
|