diff options
author | Hubert Hirtz <hubert@hirtz.pm> | 2020-11-19 17:21:47 +0100 |
---|---|---|
committer | Hubert Hirtz <hubert@hirtz.pm> | 2020-11-19 17:21:47 +0100 |
commit | 8e01ade1ef0e0636eb5093295e6035f70881fb23 (patch) | |
tree | 8ebcb38886a696d6b2d83a30cbcc2db83efeef6b /irc/states.go | |
parent | Add completion for /msg (diff) |
Basic display of errors
Diffstat (limited to 'irc/states.go')
-rw-r--r-- | irc/states.go | 27 |
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 |