summaryrefslogtreecommitdiff
path: root/irc/states.go
diff options
context:
space:
mode:
authorHubert Hirtz <hubert.hirtz@laposte.net>2020-06-03 23:05:44 +0200
committerHubert Hirtz <hubert.hirtz@laposte.net>2020-06-03 23:05:44 +0200
commit31b8f90aa0c75f52d03db7ca9fba41bddb8429fa (patch)
tree1db2ad54aedfafe8a50fd0fff56fdfa5cab3933a /irc/states.go
parentNick colors (diff)
Show JOIN and PARTs
Diffstat (limited to '')
-rw-r--r--irc/states.go24
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])