Centralise all command handlers in handlers.go

This commit is contained in:
Daniel Oaks
2018-02-03 19:28:02 +10:00
parent 29266ce80f
commit 47d2ce351c
16 changed files with 2629 additions and 2661 deletions
-22
View File
@@ -9,7 +9,6 @@ import (
"strings"
"github.com/goshuirc/irc-go/ircfmt"
"github.com/goshuirc/irc-go/ircmsg"
"github.com/oragono/oragono/irc/sno"
)
@@ -21,16 +20,6 @@ var (
}
)
// NICK <nickname>
func nickHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
if !client.authorized {
client.Quit("Bad password")
return true
}
return performNickChange(server, client, client, msg.Params[0])
}
func performNickChange(server *Server, client *Client, target *Client, newnick string) bool {
nickname := strings.TrimSpace(newnick)
cfnick, err := CasefoldName(nickname)
@@ -77,14 +66,3 @@ func performNickChange(server *Server, client *Client, target *Client, newnick s
}
return false
}
// SANICK <oldnick> <nickname>
func sanickHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
targetNick := strings.TrimSpace(msg.Params[0])
target := server.clients.Get(targetNick)
if target == nil {
client.Send(nil, server.name, ERR_NOSUCHNICK, client.nick, msg.Params[0], client.t("No such nick"))
return false
}
return performNickChange(server, client, target, msg.Params[1])
}