save reply source id at init time for nick changes

This commit is contained in:
Jeremy Latt 2014-02-13 10:57:00 -08:00
parent 261aaa128f
commit c805006ab8
3 changed files with 36 additions and 12 deletions

View file

@ -1,6 +1,7 @@
package irc
import (
"errors"
"fmt"
)
@ -51,9 +52,17 @@ func (channels ChannelNameMap) Remove(channel *Channel) error {
type ClientNameMap map[string]*Client
var (
ErrNickMissing = errors.New("nick missing")
ErrNicknameInUse = errors.New("nickname in use")
)
func (clients ClientNameMap) Add(client *Client) error {
if !client.HasNick() {
return ErrNickMissing
}
if clients[client.nick] != nil {
return fmt.Errorf("%s: already set", client.nick)
return ErrNicknameInUse
}
clients[client.nick] = client
return nil