Dont forward irc errors that are handled elsewhere
This commit is contained in:
parent
aa59e71745
commit
0689c74101
@ -13,7 +13,7 @@ import (
|
|||||||
func createNickInUseHandler(i *irc.Client, session *Session) func(string) string {
|
func createNickInUseHandler(i *irc.Client, session *Session) func(string) string {
|
||||||
return func(nick string) string {
|
return func(nick string) string {
|
||||||
newNick := nick + "_"
|
newNick := nick + "_"
|
||||||
session.print(i.Host, "Nickname", nick, "is already in use, using", newNick, "instead")
|
session.printError("Nickname", nick, "is already in use, using", newNick, "instead")
|
||||||
|
|
||||||
return newNick
|
return newNick
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,10 @@ import (
|
|||||||
"github.com/khlieng/dispatch/storage"
|
"github.com/khlieng/dispatch/storage"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var excludedErrors = []string{
|
||||||
|
irc.ErrNicknameInUse,
|
||||||
|
}
|
||||||
|
|
||||||
type ircHandler struct {
|
type ircHandler struct {
|
||||||
client *irc.Client
|
client *irc.Client
|
||||||
session *Session
|
session *Session
|
||||||
@ -53,7 +57,7 @@ func (i *ircHandler) run() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (i *ircHandler) dispatchMessage(msg *irc.Message) {
|
func (i *ircHandler) dispatchMessage(msg *irc.Message) {
|
||||||
if msg.Command[0] == '4' {
|
if msg.Command[0] == '4' && !isExcludedError(msg.Command) {
|
||||||
i.session.printError(formatIRCError(msg))
|
i.session.printError(formatIRCError(msg))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -322,6 +326,15 @@ func isChannel(s string) bool {
|
|||||||
return strings.IndexAny(s, "&#+!") == 0
|
return strings.IndexAny(s, "&#+!") == 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func isExcludedError(cmd string) bool {
|
||||||
|
for _, err := range excludedErrors {
|
||||||
|
if cmd == err {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func formatIRCError(msg *irc.Message) string {
|
func formatIRCError(msg *irc.Message) string {
|
||||||
errMsg := strings.TrimSuffix(msg.LastParam(), ".")
|
errMsg := strings.TrimSuffix(msg.LastParam(), ".")
|
||||||
if len(msg.Params) > 2 {
|
if len(msg.Params) > 2 {
|
||||||
|
Loading…
Reference in New Issue
Block a user