Example #1
0
 /**
  * Load a module config which contains multiple
  * modules that need to be loaded
  *
  * @param string full namespace of the module config
  */
 public static function loadModuleConfig($moduleConfig)
 {
     foreach ($moduleConfig::$mappedCommands as $command => $module) {
         static::mapCommand($command, $module);
     }
     foreach ($moduleConfig::$mappedEvents as $event => $module) {
         static::mapEvent($event, $module);
     }
     foreach ($moduleConfig::$mappedTriggers as $regexString => $module) {
         static::mapTrigger($regexString, $module);
     }
     foreach ($moduleConfig::$help as $command => $commandData) {
         HelpManager::registerCommand($command, $commandData["BASE"]["description"], $commandData["BASE"]["parameters"]);
         foreach ($commandData as $subcommand => $subcommandData) {
             if ($subcommand != "BASE") {
                 HelpManager::registerSubcommand($command, $subcommand, $subcommandData["description"], $subcommandData["parameters"]);
             }
         }
     }
     $moduleConfig = explode("\\", $moduleConfig);
     static::$loadedModuleFolders[] = $moduleConfig[1];
 }