module Vrobot4::Server class Mod_Base < Vrobot4::Module::Module def initialize super register :c_help, "help", "Prints documentation for commands." register :c_die, "die", "Kills all bot instances.", roles: "o" register :c_modr, "modr", "Reloads a module.", roles: "o" register :c_modl, "modl", "Loads a module.", roles: "o" register :c_modu, "modu", "Unloads a module.", roles: "o" register :c_dbg, "dbg", "Sets the debug level.", roles: "o" end def c_help m, argv check_args argv, "", "S" if argv.length == 0 cmds = [] m.serv.each_mod {|mod| cmds << mod.all_cmds(m).keys.join(", ")} cmds.delete "" m.reply "Commands:", cmds.join(", ") else name = argv[0] m.serv.each_mod do |mod| if (cmd = mod.get_cmd m, name) return m.reply name + ":", cmd.help_str end end m.reply "Command not found:", name end end def c_die m, argv m.reply \ ["STATUS: DYING", "ded", "proceeding to die", "bye", "dedededed", "Thanks, bye!", "GOTTAGOBYE"].sample exit end def c_modr m, argv check_args argv, "S" m.serv.drop_mod argv[0] m.serv.load_mod argv[0] end def c_modl m, argv check_args argv, "S" m.serv.load_mod argv[0] end def c_modu m, argv check_args argv, "S" m.serv.drop_mod argv[0] end def c_dbg m, argv check_args argv, "N" Vrobot4.debug = argv[0].to_i end def onCommand m, cnam, argv Vrobot4.log :DEBUG, "command", cnam.to_s, argv.to_s super end end end