updates for random and catgories

This commit is contained in:
John Facey
2021-12-23 15:20:03 -06:00
parent e0d8f981c3
commit 3d4d14a7d7
5 changed files with 41 additions and 8 deletions

11
commands/category.js Normal file
View File

@@ -0,0 +1,11 @@
var libFlayer = require("../libFlayer.js");
module.exports = {
name: 'categories',
description: 'Categories',
async execute(message) {
message.reply(
`Categories: [General, Entertainment, Sports, Tech]`
);
}
};

View File

@@ -7,12 +7,14 @@ module.exports = {
message.reply(
`!help - Lists the available commands
**!key** - Testing remote Airtable: *!key url*
**!categories** - Displays Categories: *!categories*
**!search** - Searches the RSS Sources: *!search google*
**!get** - Retrieves Search By Index: *!get 25*
**!add** - Add a new RSS Source Feed dynamically: *!add http://www.engadget.com/rss.xml*
**!update** - Updates all current RSS Feeds: *!update*
**!quote** - Selects a random quote: *!quote*
**!random** - Selects a random article: *!random*
**!random category** - Selects a random article by category: *!random sports*
`
);
}

View File

@@ -4,11 +4,20 @@ var libFlayer = require("../libFlayer.js");
module.exports = {
name: 'random',
description: 'Random',
execute(message) {
execute(message, args) {
let category = "";
let catName = "All";
if (args.length == 1) {
category = args[0];
catName = category;
}
message.reply(
`Selecting a random article...`
`Random article - loading...
Category: ${catName}
`
);
var feedArray = libFlayer.getFeeds();
var feedArray = libFlayer.getFeeds(category);
var i = Math.floor(Math.random() * (feedArray.length - 0) + 0 );
message.reply(`Retrieving: [Link](${feedArray[i].link})`);

View File

@@ -1,11 +1,11 @@
[{
"title": "CNN Top Stories",
"link": "http://rss.cnn.com/rss/cnn_topstories.rss",
"category": "news"
"category": "general"
}, {
"title": "Reddit Front Page",
"link": "http://www.reddit.com/.rss",
"category": "news"
"category": "general"
}, {
"title": "Arstechnica",
"link": "http://feeds.arstechnica.com/arstechnica/index",

View File

@@ -36,7 +36,8 @@ exports.loadFeeds = function() {
var linkData = {
title: `${unescape(item.title)}`,
link: `${unescape(item.link)}`
link: `${unescape(item.link)}`,
category: `${unescape(item.category)}`
}
linkFlayerMap.push(linkData);
});
@@ -58,8 +59,18 @@ exports.writeFeed = function (feeds) {
console.log("saving feeds.json");
};
exports.getFeeds = function () {
return linkFlayerMap;
exports.getFeeds = function (feedType) {
if (feedType == null || feedType == undefined || feedType == "") {
return linkFlayerMap;
} else {
var linkFlayerFilteredMap = [];
linkFlayerMap.forEach(linkFlay => {
if (linkFlay.category.toLowerCase().indexOf(feedType.toLowerCase()) > -1) {
linkFlayerFilteredMap.push(linkFlay);
}
});
return linkFlayerFilteredMap;
}
}
exports.getSources = function () {