commit 8fb22a1

Hubert Hirtz  ·  2020-10-19 12:19:23 +0000 UTC
parent ebcdf07
Show topic changes

Closes #34
3 files changed,  +19, -0
M app.go
M app.go
+6, -0
 1@@ -196,6 +196,12 @@ func (app *App) handleIRCEvent(ev irc.Event) {
 2 				Mergeable: true,
 3 			})
 4 		}
 5+	case irc.TopicChangeEvent:
 6+		app.win.AddLine(ev.Channel, false, ui.Line{
 7+			At:   ev.Time,
 8+			Head: "--",
 9+			Body: fmt.Sprintf("\x0314Topic changed to: %s\x03", ev.Topic),
10+		})
11 	case irc.MessageEvent:
12 		buffer, line, hlNotification := app.formatMessage(ev)
13 		app.win.AddLine(buffer, hlNotification, line)
+7, -0
 1@@ -51,6 +51,13 @@ type UserQuitEvent struct {
 2 	Time     time.Time
 3 }
 4 
 5+type TopicChangeEvent struct {
 6+	User    *Prefix
 7+	Channel string
 8+	Topic   string
 9+	Time    time.Time
10+}
11+
12 type MessageEvent struct {
13 	User            *Prefix
14 	Target          string
+6, -0
 1@@ -780,6 +780,12 @@ func (s *Session) handle(msg Message) (err error) {
 2 			c.TopicWho = msg.Prefix.Copy()
 3 			c.TopicTime = msg.TimeOrNow()
 4 			s.channels[channelCf] = c
 5+			s.evts <- TopicChangeEvent{
 6+				User:    msg.Prefix.Copy(),
 7+				Channel: c.Name,
 8+				Topic:   c.Topic,
 9+				Time:    c.TopicTime,
10+			}
11 		}
12 	case "PRIVMSG", "NOTICE":
13 		s.evts <- s.privmsgToEvent(msg)