Move kick handling into the simple command handler.
[xudocci.git] / src / main / java / net / pterodactylus / irc / Connection.java
index 82e2ea1..0e74955 100644 (file)
@@ -369,15 +369,29 @@ public class Connection extends AbstractExecutionThreadService implements Servic
                                        new MessageHandler(eventBus, this, prefixHandler),
                                        new CtcpHandler(eventBus, this),
                                        new ChannelNickHandler(eventBus, this, prefixHandler),
-                                       new SimpleCommandHandler()
-                                                       .addCommand("431", (s, p) -> eventBus.post(
-                                                                       new NoNicknameGivenReceived(this)))
-                                                       .addCommand("NICK", (s, p) -> eventBus.post(
-                                                                       new NicknameChanged(this, s.get(),
-                                                                                       p.get(0))))
-                                                       .addCommand("JOIN", (s, p) -> eventBus.post(
-                                                                       new ChannelJoined(this, p.get(0),
-                                                                                       s.get()))),
+                                       new SimpleCommandHandler(eventBus)
+                                                       .addCommand("431",
+                                                                       (s, p) -> new NoNicknameGivenReceived(
+                                                                                       this))
+                                                       .addCommand("NICK",
+                                                                       (s, p) -> new NicknameChanged(this,
+                                                                                       s.get(), p.get(0)))
+                                                       .addCommand("JOIN",
+                                                                       (s, p) -> new ChannelJoined(this,
+                                                                                       p.get(0), s.get()))
+                                                       .addCommand("332",
+                                                                       (s, p) -> new ChannelTopic(this, p.get(1),
+                                                                                       p.get(2)))
+                                                       .addCommand("PART",
+                                                                       (s, p) -> new ChannelLeft(this, p.get(0),
+                                                                                       s.get(), getOptional(p, 1)))
+                                                       .addCommand("QUIT",
+                                                                       (s, p) -> new ClientQuit(this, s.get(),
+                                                                                       p.get(0)))
+                                                       .addCommand("KICK",
+                                                                       (s, p) -> new KickedFromChannel(this,
+                                                                                       p.get(0), s.get(), p.get(1),
+                                                                                       getOptional(p, 2))),
                                        new MotdHandler(eventBus, this),
                                        new ChannelNotJoinedHandler(eventBus, this),
                                        new ConnectionEstablishHandler(eventBus, this),
@@ -410,20 +424,11 @@ public class Connection extends AbstractExecutionThreadService implements Servic
                                /* channel stuff. */
                                } else if (command.equals("331")) {
                                        /* no topic is set. */
-                               } else if (command.equals("332")) {
-                                       eventBus.post(new ChannelTopic(this, parameters.get(1), parameters.get(2)));
-                               } else if (command.equalsIgnoreCase("PART")) {
-                                       eventBus.post(new ChannelLeft(this, parameters.get(0), reply.source().get(), getOptional(parameters, 1)));
-                               } else if (command.equalsIgnoreCase("QUIT")) {
-                                       eventBus.post(new ClientQuit(this, reply.source().get(), parameters.get(0)));
 
                                /* basic connection housekeeping. */
                                } else if (command.equalsIgnoreCase("PING")) {
                                        connectionHandler.sendCommand("PONG", getOptional(parameters, 0), getOptional(parameters, 1));
 
-                               } else if (command.equalsIgnoreCase("KICK")) {
-                                       eventBus.post(new KickedFromChannel(this, parameters.get(0), reply.source().get(), parameters.get(1), getOptional(parameters, 2)));
-
                                /* okay, everything else. */
                                } else {
                                        eventBus.post(new UnknownReplyReceived(this, reply));