--[[ cmd_userlist.lua v0.02 by blastbeat - this script shows all regged nicks/cids - usage: [+!#]userlist nick|cid - no arguments means you get all users - changelog 0.02: - regged hubcommand ]]-- --// settings begin //-- local scriptname = "cmd_userlist" local scriptlang = cfg.get "language" local minlevel = 40 local cmd = "userlist" --// settings end //-- local utf_match = utf.match local hub_getbot = hub.getbot local lang, err = cfg.loadlanguage( scriptlang, scriptname ); lang = lang or { }; err = err and hub.debug( err ) local msg_denied = lang.msg_denied or "You are not allowed to use this command." local msg_usage = lang.msg_usage or "Usage: [+!#]userlist nick|cid" local msg_userlist = lang.msg_userlist or "Userlist:" local help_title = lang.help_title or "userlist" local help_usage = lang.help_usage or "[+!#]userlist nick|cid" local help_desc = lang.help_desc or "get list of regged users by nick or cid; no arguments -> get all users" local ucmd_menu_ct1 = lang.ucmd_menu_ct1 or { "Userlist", "by nick" } local ucmd_menu_ct2 = lang.ucmd_menu_ct2 or { "Userlist", "by cid" } local ucmd_menu_ct3 = lang.ucmd_menu_ct3 or { "Userlist", "all" } local hubcmd local onbmsg = function( user, command, parameters ) local level = user:level( ) if level < minlevel then user:reply( msg_denied, hub_getbot( ) ) return PROCESSED end local what = utf_match( parameters, "^(%S+)$" ) local regusers, reggednicks, reggedcids = hub.getregusers( ) local tmp = mem.gettable( ) local c = 0 if what == "nick" then for nick, usertbl in pairs( reggednicks ) do c = c + 1 tmp[ c ] = c .. ". " .. nick end elseif what == "cid" then for cid, usertbl in pairs( reggedcids.TIGR ) do c = c + 1 tmp[ c ] = c .. ". " .. cid end else for i, usertbl in ipairs( regusers ) do c = c + 1 tmp[ c ] = c .. ". " .. ( usertbl.nick or "" ) .. " : " .. ( usertbl.cid or "" ) end end user:reply( "\n\n" .. msg_userlist .. "\n\n" .. table.concat( tmp, "\n" ), hub_getbot( ), hub_getbot( ) ) mem.addtable( tmp ) return PROCESSED end hub.setlistener( "onStart", { }, function( ) local help = hub.import "cmd_help" if help then help.reg( help_title, help_usage, help_desc, 1 ) -- reg help end local ucmd = hub.import "etc_usercommands" -- add usercommand if ucmd then ucmd.add( ucmd_menu_ct1, cmd, { "nick" }, { "CT1" }, minlevel ) ucmd.add( ucmd_menu_ct2, cmd, { "cid" }, { "CT1" }, minlevel ) ucmd.add( ucmd_menu_ct3, cmd, { }, { "CT1" }, minlevel ) end hubcmd = hub.import "etc_hubcommands" -- add hubcommand assert( hubcmd ) assert( hubcmd.add( cmd, onbmsg ) ) return nil end ) hub.debug( "** Loaded " .. scriptname .. ".lua **" )