plugins/xkcd.lua

changeset 63
8f9675d0101d
parent 62
0785a911fce9
child 64
a317a5d4340c
equal deleted inserted replaced
62:0785a911fce9 63:8f9675d0101d
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 return "Please supply an XKCD number or a search string :)"; end
38 if not tonumber(xkcdnum) then -- Search for an xkcd 38 if not tonumber(xkcdnum) then -- Search for an xkcd
39 xkcdnum = xkcdnum:gsub("[()]", function(s) return "%" .. s end) 39 xkcdnum = xkcdnum:gsub("[()]", function(s) return "%" .. s end)
40 :gsub("[%[]",function(s) return "%" .. s end)
41 :gsub("%%(%b[])",function(s) return (#s > 2 and "" or "%") .. s end);
40 local results = {}; 42 local results = {};
41 for x, xkcd in pairs(xkcd_list) do 43 for x, xkcd in pairs(xkcd_list) do
42 name = " "..xkcd:lower().." "; 44 name = " "..xkcd:lower().." ";
43 if name:match(xkcdnum:lower():gsub("%-", "%%-")) then 45 if name:match(xkcdnum:lower():gsub("%-", "%%-")) then
44 table.insert(results, x); 46 table.insert(results, x);

mercurial