local help = { ["desc"] = "Display the available commands" }
function help.cmd (args)
local r = ""
local function pairsByKeys (t, f)
local a = {}
for n in pairs(t) do table.insert(a, n) end
table.sort(a, f)
local i = 0 -- iterator variable
local iter = function () -- iterator function
i = i + 1
if a[i] == nil then return nil
else return a[i], t[a[i]]
end
end
return iter
end
for name, obj in pairsByKeys(mcbot_get_command_list()) do
if not obj.hidden then
r = r .. string.format("%s\t%s\n", name, obj.desc or "")
end
end
r = r:gsub("\n+$", "")
return r
end
mcbot_register_command("help", help)