3
0
mirror of https://github.com/reality/dbot.git synced 2024-11-27 14:29:29 +01:00

fixed xkcd random and updated readme for link

This commit is contained in:
Daniel Dowling 2013-01-30 16:50:54 +00:00
parent 73e9b21824
commit 67d7abbf84
3 changed files with 37 additions and 26 deletions

View File

@ -1,13 +1,13 @@
{
"name": "testressionbot",
"name": "welshtestbot",
"servers": {
"freenode": {
"server": "irc.freenode.net",
"server": "irc.aberwiki.org",
"port": 6667,
"nickserv": "nickserv",
"password": "lolturtles",
"password": "",
"channels": [
"#realitest"
"#lolhax"
]
}
},

View File

@ -22,4 +22,4 @@ which was posted in the current channel.
#### ~ud [headword]
Returns the first [Urban Dictionary](http://www.urbandictionary.com) definition for the headword provided.
#### ~xkcd <comic ID>
Returns a link to the [xkcd](http://xkcd.com) comic specified, or the latest one if a comic is not given.
Returns a link to the [xkcd](http://xkcd.com) comic specified, or the latest one if a comic is not given. Use '*' to return a link to a random comic.

View File

@ -21,6 +21,19 @@ var link = function(dbot) {
});
};
function outputComic(comicId,event){
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"));
}
});
}
var commands = {
'~title': function(event) {
var link = this.links[event.channel.name];
@ -35,27 +48,25 @@ var link = function(dbot) {
'~xkcd': function(event) {
var comicId = event.params[1];
if(comicId){
comicId = comicId + "/";
} else {
comicId = "";
}
var link = "http://xkcd.com/"+comicId+"info.0.json";
if(comicId == "*"){
link = "http://dynamic.xkcd.com/random/comic";
request(link, function(error, response, body)
link = response.location + "info.0.json";
}
request(link, function(error, response, body) {
request("http://xkcd.com/info.0.json", 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"));
comicId = data.num;
comicId = Math.floor(Math.random() * comicId);
comicId++;
comicId = comicId + "/";
outputComic(comicId,event);
}
});
}else if(comicId){
comicId = comicId + "/";
outputComic(comicId,event);
} else {
comicId = "";
outputComic(comicId,event);
}
},
'~ud': function(event) {