we use it during the day, but when we are not at the computer, the rss feed window closes. I don't know why, very sad.
We use Rss Parser system, launcher bat file content:
cd "C:\radiobarfeed\feed" node index.js
windows command prompt running under nodejs starting under.
it works this way index.js file content:
let Parser = require("rss-parser");
let parser = new Parser();
let feedList = [];
let selectedIndex = 0;
let maxLength = 0;
let updateFeedSecond = 30000; //
const fs = require("fs");
const slugify = function (text) {
var trMap = {
ç: "c",
ğ: "g",
ş: "s",
ü: "u",
ı: "i",
ö: "o",
Ğ: "G",
Ç: "C",
Ş: "S",
Ü: "U",
İ: "I",
Ö: "O",
};
for (var key in trMap) {
text = text.replace(new RegExp("[" + key + "]", "g"), trMap[key]);
}
return text.replace(/[^-a-zA-Z0-9\s]+/gi, "");
};
const shuffleArray = (array) => {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
const temp = array[i];
array[i] = array[j];
array[j] = temp;
}
};
const updateFeedList = async () => {
let feed = await parser.parseURL("https://sourcesite.com/feed/");
await new Promise((resolve, reject) => {
feedList = [];
feed.items.forEach((item) => {
feedList.push(slugify(item.title));
});
fs.readFile("titles.txt", (err, data) => {
if (data.toString().length > 0) {
data
.toString()
.split("\n")
.map((sent) => {
feedList.push(slugify(sent));
});
//feedList = shuffleArray(feedList);
resolve(true);
} else {
resolve(false);
}
});
}).then((res) => {
maxLength = feed.items.length - 1;
feedList = feedList.sort((a, b) => 0.5 - Math.random());
console.log(feedList);
});
};
const updateTxt = (title) => {
fs.writeFile("feed.txt", title, "utf8", (error) => {
if (error) throw err;
});
};
(async () => {
await updateFeedList();
setInterval(() => {
updateTxt(feedList[selectedIndex]);
if (selectedIndex === maxLength) {
selectedIndex = 0;
} else {
selectedIndex++;
}
}, updateFeedSecond);
setInterval(() => {
updateFeedList();
}, 30000);
})();
command line closes after a while Thank you very much for your support.
Kind Regarts.