From 910c06415bcf1a94b1db345fa6c2749b5b3eafb6 Mon Sep 17 00:00:00 2001 From: benji7425 Date: Sun, 30 Oct 2016 19:39:46 +0000 Subject: [PATCH] Added error handling for invalid RSS feed --- feed-bot.js | 47 ++++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/feed-bot.js b/feed-bot.js index 2dee1d9..e2e1d13 100644 --- a/feed-bot.js +++ b/feed-bot.js @@ -26,27 +26,36 @@ bot.on("message", function (user, userID, channelID, message) { function checkFeedAndPost() { //check the feed, with a callback - FeedRead(Config.feedUrl, function (err, articles) { + FeedRead(Config.feedUrl, function (err, articles){ + try{ + checkLinkAndPost(err, articles); + } + catch(ex){ + console.log("ERROR: " + (ex.message || ex)); + } + }); +} + +function checkLinkAndPost(err, articles) { + if (err) throw "Error reading RSS feed: " + (err.message || err); + + var latestLink = articles[0].link; + + //get the latest 100 messages (100 is the limit) + bot.getMessages({ + channelID: Config.channelID, + limit: 100 + }, function (err, messages) { if (err) throw err; - var latestLink = articles[0].link; + //get an array of strings from the array of message objects + var messageContents = messages.map((message) => { return message.content; }); - //get the latest 100 messages (100 is the limit) - bot.getMessages({ - channelID: Config.channelID, - limit: 100 - }, function (err, messages) { - if (err) throw err; - - //get an array of strings from the array of message objects - var messageContents = messages.map((message) => { return message.content; }); - - //if the messageContents array doesn't include the latest link, post it - if (!messageContents.includes(latestLink)) - bot.sendMessage({ - to: Config.channelID, - message: latestLink - }); - }); + //if the messageContents array doesn't include the latest link, post it + if (!messageContents.includes(latestLink)) + bot.sendMessage({ + to: Config.channelID, + message: latestLink + }); }); } \ No newline at end of file