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 {
|
||||
return func(nick string) string {
|
||||
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
|
||||
}
|
||||
|
@ -11,6 +11,10 @@ import (
|
||||
"github.com/khlieng/dispatch/storage"
|
||||
)
|
||||
|
||||
var excludedErrors = []string{
|
||||
irc.ErrNicknameInUse,
|
||||
}
|
||||
|
||||
type ircHandler struct {
|
||||
client *irc.Client
|
||||
session *Session
|
||||
@ -53,7 +57,7 @@ func (i *ircHandler) run() {
|
||||
}
|
||||
|
||||
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))
|
||||
}
|
||||
|
||||
@ -322,6 +326,15 @@ func isChannel(s string) bool {
|
||||
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 {
|
||||
errMsg := strings.TrimSuffix(msg.LastParam(), ".")
|
||||
if len(msg.Params) > 2 {
|
||||
|
Loading…
Reference in New Issue
Block a user