/** * Spits out the help * * @param UserType $user * @param string $target * @param string $message * @return void */ public function generateHelp(UserType $user, $target, $message) { $inputEx = explode(' ', $message); if (!isset($inputEx[1])) { $this->sendMessage($user->getUuid(), COLOR_BOLD . COLOR_UNDERLINE . Services::getLanguage()->get($user->languageID, 'bot.global.help', $this->getNick()) . COLOR_UNDERLINE . COLOR_BOLD); $longestCommandName = 0; foreach ($this->commands as $key => $command) { if ($command->appearInHelp and strlen($command->commandName) > $longestCommandName) { $longestCommandName = strlen($command->commandName); } } foreach ($this->commands as $key => $command) { if ($command->appearInHelp and $this->getPermissions($user, $command->neededPermissions)) { $this->sendMessage($user->getUuid(), str_pad($command->commandName, $longestCommandName + 3) . Services::getLanguage()->get($user->languageID, 'command.' . $command->originalName)); } } } else { foreach ($this->commands as $key => $command) { if ($command->commandName == strtoupper($inputEx[1])) { $this->sendMessage($user->getUuid(), $command->commandName); $this->sendMessage($user->getUuid(), COLOR_BOLD . COLOR_UNDERLINE . "Syntax:" . COLOR_UNDERLINE . COLOR_BOLD . " " . Services::getLanguage()->get($user->languageID, 'command.' . $command->originalName . '.syntaxHint')); if ($command->neededPermissions > 0) { $this->sendMessage($user->getUuid(), COLOR_BOLD . Services::getLanguage()->get($user->languageID, 'bot.global.neededPermissions') . COLOR_BOLD . " " . $command->neededPermissions); } if (Services::getLanguage()->get($user->languageID, 'command.' . $command->originalName . '.description') != 'command.' . $command->originalName . '.description') { $this->sendMessage($user->getUuid(), 'command.' . $command->originalName . '.description'); } return; } } $this->sendMessage($user->getUuid(), Services::getLanguage()->get($user->languageID, 'bot.global.noSuchCommand')); } }