From c902475dc03bc8d1b1fc930c3f7cc0f44feac404 Mon Sep 17 00:00:00 2001 From: psycholyzern Date: Mon, 22 Jun 2015 13:30:27 +0800 Subject: [PATCH] Update chuck_norris.lua I missed an open bracket in my PR and resulting this plugin not working as expectedly. I added back unescape function which already fixed. you can test the plugin on my bot ```@botix``` --- plugins/chuck_norris.lua | 48 ++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/plugins/chuck_norris.lua b/plugins/chuck_norris.lua index 8cf714e8..60e37885 100644 --- a/plugins/chuck_norris.lua +++ b/plugins/chuck_norris.lua @@ -1,20 +1,36 @@ -local function chuck() - local random = http.request("http://api.icndb.com/jokes/random") - local decode = json:decode(random) - local joke = decode.value.joke - return joke -end +do -local function run(msg) - local joke = chuck() - return unescape_html(joke) -end + local function unescape(str) + str = string.gsub( str, '<', '<' ) + str = string.gsub( str, '>', '>' ) + str = string.gsub( str, '"', '"' ) + str = string.gsub( str, ''', "'" ) + str = string.gsub( str, '&#(%d+);', function(n) return string.char(n) end ) + str = string.gsub( str, '&#x(%d+);', function(n) return string.char(tonumber(n,16)) end ) + str = string.gsub( str, '&', '&' ) -- Be sure to do this after all others + return str + end + + local function chuck() + local random = http.request("http://api.icndb.com/jokes/random") + local decode = json:decode(random) + local joke = decode.value.joke + local unescape = unescape(joke) + return unescape + end -return { - description = "Get random Chuck Norris jokes.", - usage = "!chuck", - patterns = { - "^!chuck$" + function run(msg) + local joke = chuck() + return joke + end + + return { + description = "Get random Chuck Norris jokes.", + usage = "!chuck", + patterns = { + "^!chuck$" }, run = run -} \ No newline at end of file +} + +end