diff --git a/irc.go b/irc.go index ef31a72..2da4e7c 100644 --- a/irc.go +++ b/irc.go @@ -21,6 +21,7 @@ type Connection struct { NumericCallback func(string, int, string) joined bool channels []string + curNick string } //SendPong replies to the received PING @@ -88,6 +89,7 @@ func NewConnection(server, nick, user, pass string, chans []string) *Connection irc.Sock = sock irc.Sock.Write([]byte(fmt.Sprintf("USER %s * * :%s\n", user, user))) irc.SendNick(nick) + irc.curNick = nick irc.Sock.Write([]byte(fmt.Sprintf("PASS %s\n", pass))) return irc } @@ -147,6 +149,10 @@ func (c *Connection) parseMessage(line string) { c.PartCallback(from, target, msg) } case "nick": + if from == c.curNick { + c.curNick = msg + log.Printf("BOT NICK CHANGED TO: %s\n", c.curNick) + } if c.NickCallback != nil { c.NickCallback(from, msg) }