diff --git a/upstream.go b/upstream.go index 0090249..f30f706 100644 --- a/upstream.go +++ b/upstream.go @@ -206,6 +206,16 @@ func (uc *upstreamConn) handleMessage(msg *irc.Message) error { ch.Members[newNick] = membership } } + + if msg.Prefix.Name != uc.nick { + uc.forEachDownstream(func(dc *downstreamConn) { + dc.SendMessage(&irc.Message{ + Prefix: dc.marshalUserPrefix(uc, msg.Prefix), + Command: "NICK", + Params: []string{newNick}, + }) + }) + } case "JOIN": if msg.Prefix == nil { return fmt.Errorf("expected a prefix")