--[[ cmd_delreg.lua v0.05 by blastbeat - this script adds a command "delreg" to delreg users by nick or cid - usage: [+!#]delreg nick|cid | - changelog 0.05: - updated script api - regged hubcommand - changelog 0.04: - fixed report bug - changelog 0.03: - added language files, ucmds - changelog 0.02: - added report function ]]-- --// settings begin //-- local scriptname = "cmd_delreg" local cmd = "delreg" local llevel = 60 local report = true local permission = { [ 100 ] = true, -- hubowner } local minlevel = 100 -- minimum level to get the help/ucmd local cmd_options = { nick = "nick", cid = "cid", } --// settings end //-- local report_send local utf_match = utf.match local utf_format = utf.format local hub_escapeto = hub.escapeto local hub_escapefrom = hub.escapefrom local scriptlang = cfg.get "language" 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_import = lang.msg_import or "Error while importing additional module." local msg_reason = lang.msg_reason or "No reason." local msg_usage = lang.msg_usage or "Usage: [+!#]delreg nick|cid |" local msg_error = lang.msg_error or "An error occured: " local msg_del = lang.msg_del or "You were delregged." local msg_ok = lang.msg_ok or "%s was delregged by %s" local help_title = lang.help_title or "delreg" local help_usage = lang.help_usage or "[+!#]delreg nick|cid |" local help_desc = lang.help_desc or "delregs a new user by nick or cid" local ucmd_menu_ct1 = lang.ucmd_menu_ct1 or { "Delreg user", "by nick" } local ucmd_menu_ct2 = lang.ucmd_menu_ct2 or { "Delreg", "by nick" } local ucmd_nick = lang.ucmd_nick or "Nick:" local hubcmd local onbmsg = function( user, command, parameters ) local user_level = user:level( ) if not permission[ user_level ] then user:reply( msg_denied, hub.getbot( ) ) return PROCESSED end local option, arg = utf.match( parameters, "^(%S+) (.*)" ) if not ( option and arg ) or not cmd_options[ option ] then user:reply( msg_usage, hub.getbot( ) ) return PROCESSED end local target, bol, err = nil, nil, "unknown" if option == "nick" then target = hub.isnickonline( arg ) if target then arg = target:firstnick( ) end bol, err = hub.delreguser( arg ) else target = hub.iscidonline( arg ) bol, err = hub.delreguser( nil, arg ) end if not bol then user:reply( msg_error .. err, hub.getbot( ) ) else local message = utf_format( msg_ok, arg, hub_escapefrom( user:nick( ) ) ) local _ = report and report_send( message, llevel, nil, hub.getbot( ), hub.getbot( ) ) if target then target:kill( "ISTA 230 " .. hub_escapeto( msg_del ) .. "\n" ) end user:reply( message, hub.getbot( ) ) end return PROCESSED end hub.setlistener( "onStart", { }, function( ) local etc_report = hub.import "etc_report" -- import the report tool if not etc_report and report then error( msg_import ) else report_send = etc_report.send end local help = hub.import "cmd_help" if help then help.reg( help_title, help_usage, help_desc, minlevel ) end local ucmd = hub.import "etc_usercommands" -- add usercommand if ucmd then ucmd.add( ucmd_menu_ct1, cmd, { "nick", "%[line:" .. ucmd_nick .. "]" }, { "CT1" }, minlevel ) ucmd.add( ucmd_menu_ct2, cmd, { "nick", "%[userNI]" }, { "CT2" }, minlevel ) end hubcmd = hub.import "etc_hubcommands" -- add hubcommand assert( hubcmd ) assert( hubcmd.add( cmd, onbmsg ) ) return nil end ) hub.debug( "** Loaded " .. scriptname .. ".lua **" )