@Override public void onSubcommand( @NotNull final ChannelMessageEvent event, @NotNull final CallInfo ci, @NotNull final List<String> args) { final User u = event.getActor(); final Optional<String> account = u.getAccount(); if (!account.isPresent()) { u.sendNotice("You must be registered with services to use this command."); return; } final PingRegistry pr = this.humanity.getPingRegistry(); if (!pr.hasRegistration(account.get())) { u.sendNotice("You don't have a registration."); return; } final boolean success = pr.removeRegistration(account.get()); u.sendNotice( "Registration " + (success ? "" : "could not be ") + "removed for services account " + account.get() + "."); }
@Override public void run( @NotNull ActorEvent<User> event, @NotNull CallInfo callInfo, @NotNull List<? extends String> arguments) { if (!this.beforeCommand(event, callInfo, arguments)) { return; } final User u = event.getActor(); if (arguments.size() < 1) { u.sendNotice("Provide a subcommand."); u.sendNotice(this.getHelpString()); return; } final BaseCommand subcommand = this.getSubcommand(arguments.get(0)); if (subcommand == null) { u.sendNotice("No such subcommand."); return; } if (!this.beforeSubcommand(subcommand, event, callInfo, arguments)) { return; } subcommand.run(event, callInfo, arguments.subList(1, arguments.size())); }