diff options
author | Hubert Hirtz <hubert@hirtzfr.eu> | 2020-08-18 11:13:35 +0200 |
---|---|---|
committer | Hubert Hirtz <hubert@hirtzfr.eu> | 2020-08-18 11:13:35 +0200 |
commit | 21aa7a07733321e28621ddf4ff2d263c9c765e33 (patch) | |
tree | ce79ec999599f9fc42c60a8d5fa4942d966a789b /irc/states.go | |
parent | ui: Fix scroll when lines are added (diff) |
irc: Update TopicWho and TopicTime on TOPIC
Diffstat (limited to 'irc/states.go')
-rw-r--r-- | irc/states.go | 38 |
1 files changed, 9 insertions, 29 deletions
diff --git a/irc/states.go b/irc/states.go index edc9e56..d826d7d 100644 --- a/irc/states.go +++ b/irc/states.go @@ -631,11 +631,7 @@ func (s *Session) handle(msg Message) (err error) { s.users[nickCf] = &User{Nick: nick} } c.Members[s.users[nickCf]] = "" - - t, ok := msg.Time() - if !ok { - t = time.Now() - } + t := msg.TimeOrNow() s.evts <- UserJoinEvent{ Channel: c.Name, @@ -660,11 +656,7 @@ func (s *Session) handle(msg Message) (err error) { if u, ok := s.users[nickCf]; ok { delete(c.Members, u) s.cleanUser(u) - - t, ok := msg.Time() - if !ok { - t = time.Now() - } + t := msg.TimeOrNow() s.evts <- UserPartEvent{ Channels: []string{c.Name}, @@ -678,11 +670,7 @@ func (s *Session) handle(msg Message) (err error) { nickCf := strings.ToLower(nick) if u, ok := s.users[nickCf]; ok { - t, ok := msg.Time() - if !ok { - t = time.Now() - } - + t := msg.TimeOrNow() var channels []string for _, c := range s.channels { if _, ok := c.Members[u]; ok { @@ -742,9 +730,12 @@ func (s *Session) handle(msg Message) (err error) { s.channels[channelCf] = c } case "TOPIC": + nick, _, _ := FullMask(msg.Prefix) channelCf := strings.ToLower(msg.Params[0]) if c, ok := s.channels[channelCf]; ok { c.Topic = msg.Params[1] + c.TopicWho = nick + c.TopicTime = msg.TimeOrNow() s.channels[channelCf] = c } case "PRIVMSG", "NOTICE": @@ -772,10 +763,7 @@ func (s *Session) handle(msg Message) (err error) { break } - t, ok := msg.Time() - if !ok { - t = time.Now() - } + t := msg.TimeOrNow() if targetCf == s.nickCf { // TAGMSG to self s.evts <- QueryTagEvent{ @@ -807,11 +795,7 @@ func (s *Session) handle(msg Message) (err error) { nickCf := strings.ToLower(nick) newNick := msg.Params[0] newNickCf := strings.ToLower(newNick) - - t, ok := msg.Time() - if !ok { - t = time.Now() - } + t := msg.TimeOrNow() formerUser := s.users[nickCf] formerUser.Nick = newNick @@ -855,11 +839,7 @@ func (s *Session) handle(msg Message) (err error) { func (s *Session) privmsgToEvent(msg Message) (ev Event) { nick, _, _ := FullMask(msg.Prefix) targetCf := strings.ToLower(msg.Params[0]) - - t, ok := msg.Time() - if !ok { - t = time.Now() - } + t := msg.TimeOrNow() if !s.IsChannel(targetCf) { // PRIVMSG to self |