commit 689e841

Hubert Hirtz  ·  2020-06-03 21:09:53 +0000 UTC
parent 31b8f90
Also show QUITs
2 files changed,  +24, -0
+20, -0
 1@@ -562,6 +562,26 @@ func (s *Session) handle(msg Message) (ev Event, err error) {
 2 				Time:         t,
 3 			}
 4 		}
 5+	case "QUIT":
 6+		nick, _, _ := FullMask(msg.Prefix)
 7+		lNick := strings.ToLower(nick)
 8+
 9+		t, ok := msg.Time()
10+		if !ok {
11+			t = time.Now()
12+		}
13+
14+		for _, c := range s.channels {
15+			if _, ok := c.Members[lNick]; !ok {
16+				continue
17+			}
18+
19+			ev = UserPartEvent{
20+				ChannelEvent: ChannelEvent{Channel: c.Name},
21+				UserEvent:    UserEvent{Nick: nick},
22+				Time:         t,
23+			}
24+		}
25 	case "353": // RPL_NAMREPLY
26 		channel := strings.ToLower(msg.Params[2])
27 
+4, -0
 1@@ -207,6 +207,10 @@ func (msg *Message) Validate() (err error) {
 2 		} else if msg.Prefix == "" {
 3 			err = errNoPrefix
 4 		}
 5+	case "QUIT":
 6+		if msg.Prefix == "" {
 7+			err = errNoPrefix
 8+		}
 9 	case "353":
10 		if len(msg.Params) < 4 {
11 			err = errNotEnoughParams