forked from External/ergo
Implement nick changing.
This commit is contained in:
parent
99364e8b5f
commit
e7734f572b
4 changed files with 34 additions and 6 deletions
|
|
@ -9,12 +9,17 @@ func (m *NickMessage) Handle(s *Server, c *Client) {
|
|||
c.send <- ErrNickNameInUse(m.nickname)
|
||||
return
|
||||
}
|
||||
oldNick := c.nick
|
||||
if c.nick != "" {
|
||||
delete(s.nicks, c.nick)
|
||||
}
|
||||
c.nick = m.nickname
|
||||
s.nicks[c.nick] = c
|
||||
tryRegister(s, c)
|
||||
if c.registered {
|
||||
c.send <- ReplyNick(oldNick, c)
|
||||
} else {
|
||||
tryRegister(s, c)
|
||||
}
|
||||
}
|
||||
|
||||
func (m *UserMessage) Handle(s *Server, c *Client) {
|
||||
|
|
@ -56,9 +61,9 @@ func (m *ModeMessage) Handle(s *Server, c *Client) {
|
|||
}
|
||||
|
||||
func tryRegister(s *Server, c *Client) {
|
||||
if (!c.registered && c.nick != "" && c.username != "") {
|
||||
if (!c.registered && c.HasNick() && c.HasUser()) {
|
||||
c.registered = true
|
||||
c.send <- ReplyWelcome(c.Nick(), c.username, "localhost")
|
||||
c.send <- ReplyWelcome(c)
|
||||
c.send <- ReplyYourHost(c.Nick(), "irc.jlatt.com")
|
||||
c.send <- ReplyCreated(c.Nick(), "2012/04/07")
|
||||
c.send <- ReplyMyInfo(c.Nick(), "irc.jlatt.com")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue