diff --git a/jsbot b/jsbot index 35910d9..9477dc3 160000 --- a/jsbot +++ b/jsbot @@ -1 +1 @@ -Subproject commit 35910d9025fa3af15b24cecc3f6e7ee897aee4dc +Subproject commit 9477dc33ff1b940f8c07225f00d0648de2a41cb4 diff --git a/modules/link/link.js b/modules/link/link.js index 2cdce4c..f30c015 100644 --- a/modules/link/link.js +++ b/modules/link/link.js @@ -20,7 +20,7 @@ var link = function(dbot) { } }); }; - + var commands = { '~title': function(event) { var link = this.links[event.channel.name]; @@ -34,49 +34,53 @@ var link = function(dbot) { }, '~xkcd': function(event) { - var comicId; - if(!_.isUndefined(event.params[1])) { - comicId = event.params[1]; - } - if(comicId == "*"){ + var comicId = event.params[1] || ""; + + if(comicId == "*") { request("http://xkcd.com/info.0.json", function(error, response, body){ - if (response.statusCode == "200") { - data = JSON.parse(body); - event.params[1] = (Math.floor(Math.random() * data.num) + 1); - dbot.commands['~xkcd'](event); - } - }); - }else { - if(comicId){ + try { + if(response.statusCode == "200") { + data = JSON.parse(body); + event.params[1] = (Math.floor(Math.random() * data.num) + 1); + dbot.commands['~xkcd'](event); + } + } catch(err) { }; + }); + } else { + if(comicId) { comicId = comicId + "/"; } else { comicId = ""; } + var link = "http://xkcd.com/"+comicId+"info.0.json"; request(link, function(error, response, body) { - if (response.statusCode == "200") { - data = JSON.parse(body); - event.reply(dbot.t("xkcd",data)); - } else { - event.reply(dbot.t("no-hits")); - } + try { + if (response.statusCode == "200") { + data = JSON.parse(body); + event.reply(dbot.t("xkcd",data)); + } else { + event.reply(dbot.t("no-hits")); + } + } catch(err) { }; }); } }, - + '~ud': function(event) { var query = event.input[1]; var reqUrl = 'http://api.urbandictionary.com/v0/define?term=' + encodeURI(query); + request(reqUrl, function(error, response, body) { - try { + try { var result = JSON.parse(body); if(_.has(result, 'result_type') && result.result_type != 'no_results') { event.reply(query + ': ' + result.list[0].definition.split('\n')[0]); } else { event.reply(event.user + ': No definition found.'); } - } catch(err) { } + } catch(err) { } }); } }; diff --git a/modules/stats b/modules/stats index ea795e4..a803be3 160000 --- a/modules/stats +++ b/modules/stats @@ -1 +1 @@ -Subproject commit ea795e4d17aa500923468366e73a10f6fbc94ade +Subproject commit a803be39a19a09bed1fcb0586a882b046ae29c99