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
+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)