|
@@ -6,7 +6,6 @@ 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", {
|
|
@@ -26,6 +25,13 @@ const RSS_UPDATE_INTERVAL_MIN = 5;
|
|
|
|
|
|
const REACT_PROBABILITY = 0.6;
|
|
|
|
|
|
+function getThreadId(url) {
|
|
|
+ let result = url.substring(url.lastIndexOf(".") + 1);
|
|
|
+ if(result.endsWith("/"))
|
|
|
+ result = result.substring(0, result.length - 1);
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
async function checkFeeds() {
|
|
|
let feeds = db.get("rssFeeds").value();
|
|
|
let outlets = db.get("feedOutputs").value();
|
|
@@ -37,7 +43,7 @@ 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 => {
|
|
|
- let itemID = Base64.encode(item.guid);
|
|
|
+ let itemID = getThreadId(item.guid);
|
|
|
if(oldNews.has(itemID).value())
|
|
|
return;
|
|
|
outlets.forEach(ch => {
|