commit b7f3fa1
delthas
·
2021-11-24 17:03:54 +0000 UTC
parent b813210
Merge MODE messages Also, fix an issue where mode strings only displayed the first parameter.
2 files changed,
+6,
-4
M
app.go
M
app.go
+2,
-1
1@@ -1009,12 +1009,13 @@ func (app *App) formatEvent(ev irc.Event) ui.Line {
2 Body: ui.Styled(body, tcell.StyleDefault.Foreground(tcell.ColorGray)),
3 }
4 case irc.ModeChangeEvent:
5- body := fmt.Sprintf("Mode change: %s", ev.Mode)
6+ body := fmt.Sprintf("[%s]", ev.Mode)
7 return ui.Line{
8 At: ev.Time,
9 Head: "--",
10 HeadColor: tcell.ColorGray,
11 Body: ui.Styled(body, tcell.StyleDefault.Foreground(tcell.ColorGray)),
12+ Mergeable: true,
13 }
14 default:
15 return ui.Line{}
+4,
-3
1@@ -927,10 +927,11 @@ func (s *Session) handleMessageRegistered(msg Message, playback bool) (Event, er
2 }, nil
3 }
4 case "MODE":
5- var channel, mode string
6- if err := msg.ParseParams(&channel, &mode); err != nil {
7+ var channel string
8+ if err := msg.ParseParams(&channel, nil); err != nil {
9 return nil, err
10 }
11+ mode := strings.Join(msg.Params[1:], " ")
12
13 if playback {
14 return ModeChangeEvent{
15@@ -943,7 +944,7 @@ func (s *Session) handleMessageRegistered(msg Message, playback bool) (Event, er
16 channelCf := s.Casemap(channel)
17
18 if c, ok := s.channels[channelCf]; ok {
19- modeChanges, err := ParseChannelMode(mode, msg.Params[2:], s.chanmodes, s.prefixModes)
20+ modeChanges, err := ParseChannelMode(msg.Params[1], msg.Params[2:], s.chanmodes, s.prefixModes)
21 if err != nil {
22 return nil, err
23 }