29 lines
874 B
Lua
29 lines
874 B
Lua
-- Based on a plugin by matthewhesketh.
|
|
|
|
local JSON = require('dkjson')
|
|
local HTTP = require('socket.http')
|
|
local utilities = require('otouto.utilities')
|
|
|
|
local chuck = {}
|
|
|
|
function chuck:init(config)
|
|
chuck.triggers = utilities.triggers(self.info.username, config.cmd_pat)
|
|
:t('chuck', true):t('cn', true):t('chucknorris', true).table
|
|
chuck.command = 'chuck'
|
|
chuck.doc = 'Returns a fact about Chuck Norris.'
|
|
chuck.url = 'http://api.icndb.com/jokes/random'
|
|
end
|
|
|
|
function chuck:action(msg, config)
|
|
local jstr, code = HTTP.request(chuck.url)
|
|
if code ~= 200 then
|
|
utilities.send_reply(self, msg, config.errors.connection)
|
|
return
|
|
end
|
|
local data = JSON.decode(jstr)
|
|
local output = '*Chuck Norris Fact*\n_' .. data.value.joke .. '_'
|
|
utilities.send_message(self, msg.chat.id, output, true, nil, true)
|
|
end
|
|
|
|
return chuck
|