From 462dca403f4d5689d882bf12c11abde414f3b954 Mon Sep 17 00:00:00 2001 From: John Facey Date: Tue, 21 Jun 2022 22:02:36 -0500 Subject: [PATCH] pushing exception handling --- commands/add.js | 44 +++++++++++---------- commands/answer.js | 27 +++++++------ commands/get.js | 20 ++++++---- commands/quotes.js | 12 +++--- commands/random.js | 36 +++++++++-------- commands/search.js | 98 ++++++++++++++++++++++++---------------------- commands/slang.js | 28 +++++++------ 7 files changed, 143 insertions(+), 122 deletions(-) diff --git a/commands/add.js b/commands/add.js index 3f8b08a..14a00a8 100644 --- a/commands/add.js +++ b/commands/add.js @@ -1,27 +1,29 @@ var libFlayer = require("../libFlayer.js"); module.exports = { - name: 'add', - description: 'Add RSS Source', - execute(message,args) { - - if (args.length < 3) { - message.reply(`Please use in !add [title] [https://domain.com/feed.xml] [category] format`); - return; - } - var title = args[0]; - var link = args[1]; - var category = args[2]; + name: 'add', + description: 'Add RSS Source', + execute(message, args) { + try { + if (args.length < 3) { + message.reply(`Please use in !add [title] [https://domain.com/feed.xml] [category] format`); + return; + } + var title = args[0]; + var link = args[1]; + var category = args[2]; - var result = libFlayer.addSource(title,link,category); - if (result) { - message.reply(`Adding ${title} to the list of RSS sources`); - } else { - message.reply(`${title} already exists in the list of RSS sources`); - } - - var sources = libFlayer.getSources(); - libFlayer.loadFeeds(); + var result = libFlayer.addSource(title, link, category); + if (result) { + message.reply(`Adding ${title} to the list of RSS sources`); + } else { + message.reply(`${title} already exists in the list of RSS sources`); + } - } + var sources = libFlayer.getSources(); + libFlayer.loadFeeds(); + } catch (err) { + message.reply(err.toString()); + } + } }; \ No newline at end of file diff --git a/commands/answer.js b/commands/answer.js index 1edd218..b27de9c 100644 --- a/commands/answer.js +++ b/commands/answer.js @@ -1,17 +1,20 @@ var libFlayer = require("../libFlayer.js"); module.exports = { - name: 'answer', - description: 'Answer', - async execute(message,args) { - - if (args.length < 1) { - message.reply(`Please use in !answer [question] format`); - return; - } - var question = encodeURIComponent(args.join(" ")); + name: 'answer', + description: 'Answer', + async execute(message, args) { + try { + if (args.length < 1) { + message.reply(`Please use in !answer [question] format`); + return; + } + var question = encodeURIComponent(args.join(" ")); - var answerData = await libFlayer.getAnswer(question); - message.reply(`**Question**: ${question} \n\n**Answer**: ${answerData.text}\n\n **Source**: ${answerData.source}`); - } + var answerData = await libFlayer.getAnswer(question); + message.reply(`**Question**: ${question} \n\n**Answer**: ${answerData.text}\n\n **Source**: ${answerData.source}`); + } catch (err) { + message.reply(err.toString()); + } + } }; \ No newline at end of file diff --git a/commands/get.js b/commands/get.js index 8f2e5d4..837f59b 100644 --- a/commands/get.js +++ b/commands/get.js @@ -4,15 +4,19 @@ module.exports = { name: 'get', description: 'Get RSS Source Link', execute(message, args) { + try { - if (args.length < 1) { - message.reply(`Use !get [number] Ex: !get 25`); - return; + if (args.length < 1) { + message.reply(`Use !get [number] Ex: !get 25`); + return; + } + var search = args[0]; + var catName = "All"; + var feedArray = libFlayer.getFeeds(); + message.reply(`**Retrieving**: [${catName}] (${feedArray[search].link})`); + } catch (err) { + message.reply(err.toString()); } - var search = args[0]; - var catName = "All"; - var feedArray = libFlayer.getFeeds(); - message.reply(`**Retrieving**: [${catName}] (${feedArray[search].link})`); - } + }; \ No newline at end of file diff --git a/commands/quotes.js b/commands/quotes.js index 177e28b..e4bba4b 100644 --- a/commands/quotes.js +++ b/commands/quotes.js @@ -1,13 +1,15 @@ - var libFlayer = require("../libFlayer.js"); const quote_url = "https://zenquotes.io/api/quotes/"; module.exports = { name: 'quote', description: 'Quote!', async execute(message) { - - var quotes = await libFlayer.getQuotes(quote_url); - var selectedQuote = Math.floor(Math.random() * quotes.length); - message.reply(quotes[selectedQuote].q + " - " + quotes[selectedQuote].a); + try { + var quotes = await libFlayer.getQuotes(quote_url); + var selectedQuote = Math.floor(Math.random() * quotes.length); + message.reply(quotes[selectedQuote].q + " - " + quotes[selectedQuote].a); + } catch (e) { + message.reply(e.toString()); + } } }; \ No newline at end of file diff --git a/commands/random.js b/commands/random.js index 4fddd60..34a8e60 100644 --- a/commands/random.js +++ b/commands/random.js @@ -1,21 +1,23 @@ - var libFlayer = require("../libFlayer.js"); module.exports = { - name: 'random', - description: 'Random', - execute(message, args) { - var category = ""; - var catName = "All"; - if (args.length == 1) { - category = args[0]; - catName = category; - } - - var feedArray = libFlayer.getFeeds(category); - var i = Math.floor(Math.random() * (feedArray.length - 0) + 0 ); - - message.reply(`**Retrieving**: [${catName}](${feedArray[i].link})`); - } -}; + name: 'random', + description: 'Random', + execute(message, args) { + try { + var category = ""; + var catName = "All"; + if (args.length == 1) { + category = args[0]; + catName = category; + } + var feedArray = libFlayer.getFeeds(category); + var i = Math.floor(Math.random() * (feedArray.length - 0) + 0); + + message.reply(`**Retrieving**: [${catName}](${feedArray[i].link})`); + } catch (err) { + message.reply(err.toString()); + } + } +}; \ No newline at end of file diff --git a/commands/search.js b/commands/search.js index f3a3acc..8148702 100644 --- a/commands/search.js +++ b/commands/search.js @@ -4,56 +4,60 @@ module.exports = { name: 'search', description: 'Search RSS Sources', execute(message, args) { - - if (args.length < 1) { - message.reply(`Missing arguments`); - return; - } - - var search = args.join(" "); - var found = false; - - let i = 0; - let iSave = 0 - let count = 0; - var feedArray = libFlayer.getFeeds(); - var searchString = ""; - var foundError = false; - feedArray.forEach(linkFlay => { - try { - if (linkFlay.title.toLowerCase().indexOf(search.toLowerCase()) > -1) { - iSave = i; - found = true; - console.log(linkFlay.title); - searchString += `Use !get ${i} to view: ${linkFlay.title} \n`; - count++; - if (count > 5) { - message.reply(searchString); - searchString = ""; - } - } - i++; - } catch (error) { - foundError = true; - console.log(error); + try { + if (args.length < 1) { + message.reply(`Missing arguments`); + return; } - - }); - if (foundError) { - message.reply("Error in search"); - return; - } else { - message.reply(searchString); - } - - if (count == 1) { - //message.channel.send('Displaying 1 result'); - //message.channel.send('!get '+iSave); - } + var search = args.join(" "); + var found = false; - if (!found) { - message.reply(`No results found for: ${search}`); + let i = 0; + let iSave = 0 + let count = 0; + var feedArray = libFlayer.getFeeds(); + var searchString = ""; + var foundError = false; + feedArray.forEach(linkFlay => { + try { + if (linkFlay.title.toLowerCase().indexOf(search.toLowerCase()) > -1) { + iSave = i; + found = true; + console.log(linkFlay.title); + searchString += `Use !get ${i} to view: ${linkFlay.title} \n`; + count++; + if (count > 5) { + message.reply(searchString); + searchString = ""; + } + } + i++; + } catch (error) { + foundError = true; + console.log(error); + } + + }); + + if (foundError) { + message.reply("Error in search"); + return; + } else { + message.reply(searchString); + } + + if (count == 1) { + //message.channel.send('Displaying 1 result'); + //message.channel.send('!get '+iSave); + } + + if (!found) { + message.reply(`No results found for: ${search}`); + } + + } catch (error) { + message.reply(error.toString()); } } diff --git a/commands/slang.js b/commands/slang.js index 88fdbb0..59664ef 100644 --- a/commands/slang.js +++ b/commands/slang.js @@ -1,17 +1,21 @@ var libFlayer = require("../libFlayer.js"); module.exports = { - name: 'slang', - description: 'Slang', - async execute(message,args) { - - if (args.length < 1) { - message.reply(`Please use in !slang [question] format`); - return; - } - var question = encodeURIComponent(args.join(" ")); + name: 'slang', + description: 'Slang', + async execute(message, args) { + try { + if (args.length < 1) { + message.reply(`Please use in !slang [question] format`); + return; + } + var question = encodeURIComponent(args.join(" ")); - var slangData = await libFlayer.getSlang(question); - message.reply(`**Term**: ${question}\n\n **Answer**: ${slangData.definition}\n\n**Example**: ${slangData.example}`); - } + var slangData = await libFlayer.getSlang(question); + message.reply(`**Term**: ${question}\n\n **Answer**: ${slangData.definition}\n\n**Example**: ${slangData.example}`); + } catch (e) { + message.reply(e.toString()); + } + + } }; \ No newline at end of file