32 end); |
32 end); |
33 end |
33 end |
34 |
34 |
35 function handle_xkcd_command(command) |
35 function handle_xkcd_command(command) |
36 local xkcdnum = command.param; |
36 local xkcdnum = command.param; |
37 if not xkcdnum then return "Please supply an XKCD number or a search string :)"; end |
37 if not xkcdnum then |
|
38 xkcdnum = #xkcd_list; |
|
39 end |
38 if not tonumber(xkcdnum) then -- Search for an xkcd |
40 if not tonumber(xkcdnum) then -- Search for an xkcd |
39 xkcdnum = xkcdnum:lower() |
41 xkcdnum = xkcdnum:lower() |
40 local xkcdpat = xkcdnum:gsub("[()]", function(s) return "%" .. s end) |
42 local xkcdpat = xkcdnum:gsub("[()]", function(s) return "%" .. s end) |
41 :gsub("[%[]",function(s) return "%" .. s end) |
43 :gsub("[%[]",function(s) return "%" .. s end) |
42 :gsub("%%(%b[])",function(s) return (#s > 2 and "" or "%") .. s end); |
44 :gsub("%%(%b[])",function(s) return (#s > 2 and "" or "%") .. s end); |