summaryrefslogtreecommitdiff
path: root/irc/states.go
diff options
context:
space:
mode:
authorHubert Hirtz <hubert@hirtz.pm>2020-11-19 17:21:47 +0100
committerHubert Hirtz <hubert@hirtz.pm>2020-11-19 17:21:47 +0100
commit8e01ade1ef0e0636eb5093295e6035f70881fb23 (patch)
tree8ebcb38886a696d6b2d83a30cbcc2db83efeef6b /irc/states.go
parentAdd completion for /msg (diff)
Basic display of errors
Diffstat (limited to 'irc/states.go')
-rw-r--r--irc/states.go27
1 files changed, 24 insertions, 3 deletions
diff --git a/irc/states.go b/irc/states.go
index 98b05d4..44d88ac 100644
--- a/irc/states.go
+++ b/irc/states.go
@@ -909,9 +909,22 @@ func (s *Session) handle(msg Message) (err error) {
}
}
case "FAIL":
- s.evts <- RawMessageEvent{
- Message: msg.String(),
- IsValid: true,
+ s.evts <- ErrorEvent{
+ Severity: SeverityFail,
+ Code: msg.Params[1],
+ Message: msg.Params[len(msg.Params)-1],
+ }
+ case "WARN":
+ s.evts <- ErrorEvent{
+ Severity: SeverityWarn,
+ Code: msg.Params[1],
+ Message: msg.Params[len(msg.Params)-1],
+ }
+ case "NOTE":
+ s.evts <- ErrorEvent{
+ Severity: SeverityNote,
+ Code: msg.Params[1],
+ Message: msg.Params[len(msg.Params)-1],
}
case "PING":
err = s.send("PONG :%s\r\n", msg.Params[0])
@@ -925,6 +938,14 @@ func (s *Session) handle(msg Message) (err error) {
}
_ = s.conn.Close()
default:
+ // reply handling
+ if ReplySeverity(msg.Command) == SeverityFail {
+ s.evts <- ErrorEvent{
+ Severity: SeverityFail,
+ Code: msg.Command,
+ Message: msg.Params[len(msg.Params)-1],
+ }
+ }
}
return