forked from External/ergo
save reply source id at init time for nick changes
This commit is contained in:
parent
261aaa128f
commit
c805006ab8
3 changed files with 36 additions and 12 deletions
11
irc/types.go
11
irc/types.go
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue