Kick.java 732 B

1234567891011121314151617181920212223
  1. package eu.tankernn.chat.server.command;
  2. import java.util.Optional;
  3. import eu.tankernn.chat.common.MessagePacket;
  4. import eu.tankernn.chat.common.MessagePacket.MessageType;
  5. import eu.tankernn.chat.server.Client;
  6. import eu.tankernn.chat.server.Server;
  7. @CommandInfo(desc = "Kicks a user. (/kick <username>)", name = "kick", permission = "admin.kick")
  8. public class Kick implements Command {
  9. @Override
  10. public void execute(String[] args, Client caller) {
  11. Optional<Client> maybeVictim = Server.getUserByName(args[0]);
  12. try {
  13. maybeVictim.orElseThrow(NullPointerException::new).disconnect();
  14. } catch (NullPointerException ex) {
  15. caller.send(new MessagePacket("No user called " + args[0] + "!", MessageType.ERROR));
  16. }
  17. }
  18. }