updates for random and catgories
This commit is contained in:
11
commands/category.js
Normal file
11
commands/category.js
Normal 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]`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -7,12 +7,14 @@ module.exports = {
|
|||||||
message.reply(
|
message.reply(
|
||||||
`!help - Lists the available commands
|
`!help - Lists the available commands
|
||||||
**!key** - Testing remote Airtable: *!key url*
|
**!key** - Testing remote Airtable: *!key url*
|
||||||
|
**!categories** - Displays Categories: *!categories*
|
||||||
**!search** - Searches the RSS Sources: *!search google*
|
**!search** - Searches the RSS Sources: *!search google*
|
||||||
**!get** - Retrieves Search By Index: *!get 25*
|
**!get** - Retrieves Search By Index: *!get 25*
|
||||||
**!add** - Add a new RSS Source Feed dynamically: *!add http://www.engadget.com/rss.xml*
|
**!add** - Add a new RSS Source Feed dynamically: *!add http://www.engadget.com/rss.xml*
|
||||||
**!update** - Updates all current RSS Feeds: *!update*
|
**!update** - Updates all current RSS Feeds: *!update*
|
||||||
**!quote** - Selects a random quote: *!quote*
|
**!quote** - Selects a random quote: *!quote*
|
||||||
**!random** - Selects a random article: *!random*
|
**!random** - Selects a random article: *!random*
|
||||||
|
**!random category** - Selects a random article by category: *!random sports*
|
||||||
`
|
`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,20 @@ var libFlayer = require("../libFlayer.js");
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'random',
|
name: 'random',
|
||||||
description: 'Random',
|
description: 'Random',
|
||||||
execute(message) {
|
execute(message, args) {
|
||||||
|
let category = "";
|
||||||
|
let catName = "All";
|
||||||
|
if (args.length == 1) {
|
||||||
|
category = args[0];
|
||||||
|
catName = category;
|
||||||
|
}
|
||||||
|
|
||||||
message.reply(
|
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 );
|
var i = Math.floor(Math.random() * (feedArray.length - 0) + 0 );
|
||||||
|
|
||||||
message.reply(`Retrieving: [Link](${feedArray[i].link})`);
|
message.reply(`Retrieving: [Link](${feedArray[i].link})`);
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
[{
|
[{
|
||||||
"title": "CNN Top Stories",
|
"title": "CNN Top Stories",
|
||||||
"link": "http://rss.cnn.com/rss/cnn_topstories.rss",
|
"link": "http://rss.cnn.com/rss/cnn_topstories.rss",
|
||||||
"category": "news"
|
"category": "general"
|
||||||
}, {
|
}, {
|
||||||
"title": "Reddit Front Page",
|
"title": "Reddit Front Page",
|
||||||
"link": "http://www.reddit.com/.rss",
|
"link": "http://www.reddit.com/.rss",
|
||||||
"category": "news"
|
"category": "general"
|
||||||
}, {
|
}, {
|
||||||
"title": "Arstechnica",
|
"title": "Arstechnica",
|
||||||
"link": "http://feeds.arstechnica.com/arstechnica/index",
|
"link": "http://feeds.arstechnica.com/arstechnica/index",
|
||||||
|
|||||||
17
libFlayer.js
17
libFlayer.js
@@ -36,7 +36,8 @@ exports.loadFeeds = function() {
|
|||||||
|
|
||||||
var linkData = {
|
var linkData = {
|
||||||
title: `${unescape(item.title)}`,
|
title: `${unescape(item.title)}`,
|
||||||
link: `${unescape(item.link)}`
|
link: `${unescape(item.link)}`,
|
||||||
|
category: `${unescape(item.category)}`
|
||||||
}
|
}
|
||||||
linkFlayerMap.push(linkData);
|
linkFlayerMap.push(linkData);
|
||||||
});
|
});
|
||||||
@@ -58,8 +59,18 @@ exports.writeFeed = function (feeds) {
|
|||||||
console.log("saving feeds.json");
|
console.log("saving feeds.json");
|
||||||
|
|
||||||
};
|
};
|
||||||
exports.getFeeds = function () {
|
exports.getFeeds = function (feedType) {
|
||||||
return linkFlayerMap;
|
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 () {
|
exports.getSources = function () {
|
||||||
|
|||||||
Reference in New Issue
Block a user