commit d0dbcfe
Hubert Hirtz
·
2020-08-05 20:41:32 +0000 UTC
parent 370a47d
Show NICK changes
3 files changed,
+38,
-4
M
app.go
+6,
-0
1@@ -91,6 +91,12 @@ func (app *App) handleIRCEvent(ev irc.Event) {
2 if app.cfg.Highlights == nil {
3 app.highlights[0] = app.s.LNick()
4 }
5+ case irc.SelfNickEvent:
6+ line := fmt.Sprintf("\x0314%s\x03\u2192\x0314%s\x03", ev.FormerNick, ev.NewNick)
7+ app.win.AddLine(ui.Home, ui.NewLine(ev.Time, "--", line, true), true)
8+ case irc.UserNickEvent:
9+ line := fmt.Sprintf("\x0314%s\x03\u2192\x0314%s\x03", ev.FormerNick, ev.NewNick)
10+ app.win.AddLine(ui.Home, ui.NewLine(ev.Time, "--", line, true), false)
11 case irc.SelfJoinEvent:
12 app.win.AddBuffer(ev.Channel)
13 case irc.UserJoinEvent:
+16,
-4
1@@ -34,6 +34,22 @@ func (c ChannelEvent) ChannelMapped() (channel string) {
2 return
3 }
4
5+type SelfNickEvent struct {
6+ FormerNick string
7+ NewNick string
8+ Time time.Time
9+}
10+
11+type UserNickEvent struct {
12+ FormerNick string
13+ NewNick string
14+ Time time.Time
15+}
16+
17+type SelfJoinEvent struct {
18+ ChannelEvent
19+}
20+
21 type UserJoinEvent struct {
22 UserEvent
23 ChannelEvent
24@@ -50,10 +66,6 @@ type UserPartEvent struct {
25 Time time.Time
26 }
27
28-type SelfJoinEvent struct {
29- ChannelEvent
30-}
31-
32 type QueryMessageEvent struct {
33 UserEvent
34 Command string
+16,
-0
1@@ -736,10 +736,26 @@ func (s *Session) handleInner(msg Message) (err error) {
2 newNick := msg.Params[0]
3 lNewNick := strings.ToLower(newNick)
4
5+ t, ok := msg.Time()
6+ if !ok {
7+ t = time.Now()
8+ }
9+
10 if lNick == s.lNick {
11+ s.evts <- SelfNickEvent{
12+ FormerNick: s.nick,
13+ NewNick: newNick,
14+ Time: t,
15+ }
16 s.nick = newNick
17 s.lNick = lNewNick
18 } else {
19+ s.evts <- UserNickEvent{
20+ FormerNick: nick,
21+ NewNick: newNick,
22+ Time: t,
23+ }
24+ // TODO update state
25 }
26 case "FAIL":
27 fmt.Println("FAIL", msg.Params)