commit a033d00

Hubert Hirtz  ·  2020-08-24 06:48:58 +0000 UTC
parent 196baeb
Fix multiple SelfJoinEvent being sent

... every time NAMES were requested. SelfJoinEvent should be ok being in
the "JOIN" handler, since names are only useful for the user.
1 files changed,  +1, -5
+1, -5
 1@@ -631,6 +631,7 @@ func (s *Session) handle(msg Message) (err error) {
 2 				Name:    msg.Params[0],
 3 				Members: map[*User]string{},
 4 			}
 5+			s.evts <- SelfJoinEvent{Channel: msg.Params[0]}
 6 		} else if c, ok := s.channels[channelCf]; ok {
 7 			if _, ok := s.users[nickCf]; !ok {
 8 				s.users[nickCf] = &User{Nick: nick}
 9@@ -709,11 +710,6 @@ func (s *Session) handle(msg Message) (err error) {
10 
11 			s.channels[channelCf] = c
12 		}
13-	case rplEndofnames:
14-		channelCf := strings.ToLower(msg.Params[1])
15-		if c, ok := s.channels[channelCf]; ok {
16-			s.evts <- SelfJoinEvent{Channel: c.Name}
17-		}
18 	case rplTopic:
19 		channelCf := strings.ToLower(msg.Params[1])
20 		if c, ok := s.channels[channelCf]; ok {