diff --git a/irc/server.go b/irc/server.go index 3d347d4d..aeca8847 100644 --- a/irc/server.go +++ b/irc/server.go @@ -238,20 +238,18 @@ func (m *NickCommand) HandleServer(s *Server) { return } - if !c.HasNick() { - c.nick = m.nickname - } reply := RplNick(c, m.nickname) + + s.clients.Remove(c) + c.nick = m.nickname + s.clients.Add(c) + iclients := c.InterestedClients() iclients.Add(c) for iclient := range iclients { iclient.Reply(reply) } - s.clients.Remove(c) - c.nick = m.nickname - s.clients.Add(c) - s.tryRegister(c) }