@Override protected String getReply(Bot bot, JBotSender sender, String[] args) { if (args.length < 1) { throw new IllegalArgumentException(); } else if (args.length == 1) { Map<String, AliasCommand> aliases = bot.getAliases(); if (aliases.isEmpty()) { return "Defined aliases: none"; } else { StringBuilder msg = new StringBuilder("Defined aliases:"); for (Map.Entry<String, AliasCommand> entry : aliases.entrySet()) { msg.append("\n\t").append(entry.getKey()).append(entry.getValue().getHelp()); } return msg.toString(); } } else if (args.length < 3) { String alias = args[1]; AliasCommand aliasCmd = bot.removeAlias(alias); if (aliasCmd != null) { return "deleted alias: " + alias + aliasCmd.getHelp(); } else { return sender.getNickname() + ": don't know an alias called '" + alias + "'"; } } else { String alias = args[1]; String cmdName = args[2]; JBotCommand cmd = bot.getCommand(cmdName); if (cmd == null) { return sender.getNickname() + ": sorry don't know a command or alias called '" + cmdName + "'"; } String[] cmdArguments = ArrayUtils.EMPTY_STRING_ARRAY; if (args.length > 3) { cmdArguments = MessageHelper.copyOfRange(args, 3, args.length); } AliasCommand aliasCmd = new AliasCommand(cmd, cmdName, cmdArguments); try { bot.addAlias(alias, aliasCmd); } catch (IllegalArgumentException e) { return sender.getNickname() + ": " + e.getMessage(); } return "created alias: " + alias + aliasCmd.getHelp(); } }