diff -r a0b9529f17db -r 7cf014d0d206 mcbot/cmds/mcabber_bts.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mcbot/cmds/mcabber_bts.lua Tue Apr 13 22:43:43 2010 +0200 @@ -0,0 +1,37 @@ + +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)