diff options
| author | Hubert Hirtz <hubert.hirtz@laposte.net> | 2020-06-03 23:05:44 +0200 |
|---|---|---|
| committer | Hubert Hirtz <hubert.hirtz@laposte.net> | 2020-06-03 23:05:44 +0200 |
| commit | 31b8f90aa0c75f52d03db7ca9fba41bddb8429fa (patch) | |
| tree | 1db2ad54aedfafe8a50fd0fff56fdfa5cab3933a /irc/states.go | |
| parent | Nick colors (diff) | |
Show JOIN and PARTs
Diffstat (limited to '')
| -rw-r--r-- | irc/states.go | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/irc/states.go b/irc/states.go index 40ac308..c19f1db 100644 --- a/irc/states.go +++ b/irc/states.go @@ -527,7 +527,17 @@ func (s *Session) handle(msg Message) (ev Event, err error) { s.users[lNick] = User{Nick: nick} } c.Members[lNick] = "" - ev = UserJoinEvent{ChannelEvent: channelEv, UserEvent: UserEvent{Nick: nick}} + + t, ok := msg.Time() + if !ok { + t = time.Now() + } + + ev = UserJoinEvent{ + ChannelEvent: channelEv, + UserEvent: UserEvent{Nick: nick}, + Time: t, + } } case "PART": nick, _, _ := FullMask(msg.Prefix) @@ -540,7 +550,17 @@ func (s *Session) handle(msg Message) (ev Event, err error) { ev = SelfPartEvent{ChannelEvent: channelEv} } else if c, ok := s.channels[channel]; ok { delete(c.Members, lNick) - ev = UserPartEvent{ChannelEvent: channelEv, UserEvent: UserEvent{Nick: nick}} + + t, ok := msg.Time() + if !ok { + t = time.Now() + } + + ev = UserPartEvent{ + ChannelEvent: channelEv, + UserEvent: UserEvent{Nick: nick}, + Time: t, + } } case "353": // RPL_NAMREPLY channel := strings.ToLower(msg.Params[2]) |
