Merge pull request #33 from StalkR/who

352 who reply: do not warn if nick is me
This commit is contained in:
Alex Bee 2013-03-06 15:17:38 -08:00
commit 4d7d690159
1 changed files with 19 additions and 15 deletions

View File

@ -158,23 +158,27 @@ func (conn *Conn) h_332(line *Line) {
// Handle 352 who reply // Handle 352 who reply
func (conn *Conn) h_352(line *Line) { func (conn *Conn) h_352(line *Line) {
if nk := conn.st.GetNick(line.Args[5]); nk != nil && nk != conn.Me() { nk := conn.st.GetNick(line.Args[5])
nk.Ident = line.Args[2] if nk == nil {
nk.Host = line.Args[3]
// XXX: do we care about the actual server the nick is on?
// or the hop count to this server?
// last arg contains "<hop count> <real name>"
a := strings.SplitN(line.Args[len(line.Args)-1], " ", 2)
nk.Name = a[1]
if idx := strings.Index(line.Args[6], "*"); idx != -1 {
nk.Modes.Oper = true
}
if idx := strings.Index(line.Args[6], "H"); idx != -1 {
nk.Modes.Invisible = true
}
} else {
logging.Warn("irc.352(): received WHO reply for unknown nick %s", logging.Warn("irc.352(): received WHO reply for unknown nick %s",
line.Args[5]) line.Args[5])
return
}
if nk == conn.Me() {
return
}
nk.Ident = line.Args[2]
nk.Host = line.Args[3]
// XXX: do we care about the actual server the nick is on?
// or the hop count to this server?
// last arg contains "<hop count> <real name>"
a := strings.SplitN(line.Args[len(line.Args)-1], " ", 2)
nk.Name = a[1]
if idx := strings.Index(line.Args[6], "*"); idx != -1 {
nk.Modes.Oper = true
}
if idx := strings.Index(line.Args[6], "H"); idx != -1 {
nk.Modes.Invisible = true
} }
} }