require "libs.shcmd"
local function get_issue_details (num)
num = tonumber(num);
if not num then return nil end
local issue = {}
local btsurl = "http://bitbucket.org/McKael/mcabber-crew/issue/"
issue.id = tostring(num)
issue.url = btsurl..issue.id.."/"
local data = shcmd("curl "..issue.url)
local title = data:match("#"..issue.id.."%s*-%s*(.*)%s*—")
if not title then return nil end
issue.title = title
return issue
end
local function mcabber_bts (num)
-- Check that xepnum is a valid number
if num then
num = num:gsub("[%s%?%.%!]+$", "")
num = tonumber(num)
end
if not num or num < 1 then
return nil, "Please provide an issue number"
end
local issue = get_issue_details(num)
if not issue then
return nil,"Sorry, couldn't find issue "..tostring(num)
end
return "Issue #"..issue.id.." -- "..issue.title.."\n"..
"URL: <"..tostring(issue.url)..">"
end
mcbot_register_command("bts", mcabber_bts)
mcbot_register_command("bug", mcabber_bts)