mirror of
https://github.com/ergochat/ergo.git
synced 2024-12-22 18:52:41 +01:00
temp *badbadbad*
This commit is contained in:
parent
16a55cbba8
commit
8bc2c0ee67
@ -9,7 +9,7 @@ import "github.com/goshuirc/irc-go/ircmsg"
|
||||
|
||||
// Command represents a command accepted from a client.
|
||||
type Command struct {
|
||||
handler func(server *Server, client *Client, msg ircmsg.IrcMessage) bool
|
||||
handler func(server *Server, client *Client, msg ircmsg.IrcMessage, rb *ResponseBuffer) bool
|
||||
oper bool
|
||||
usablePreReg bool
|
||||
leaveClientActive bool // if true, leaves the client active time alone. reversed because we can't default a struct element to True
|
||||
@ -42,7 +42,12 @@ func (cmd *Command) Run(server *Server, client *Client, msg ircmsg.IrcMessage) b
|
||||
if !cmd.leaveClientIdle {
|
||||
client.Touch()
|
||||
}
|
||||
exiting := cmd.handler(server, client, msg)
|
||||
rb := NewResponseBuffer(client)
|
||||
rb.Label = GetLabel(msg)
|
||||
|
||||
exiting := cmd.handler(server, client, msg, rb)
|
||||
|
||||
rb.Send()
|
||||
|
||||
// after each command, see if we can send registration to the client
|
||||
if !client.registered {
|
||||
|
12
irc/modes.go
12
irc/modes.go
@ -210,13 +210,13 @@ func GetLowestChannelModePrefix(prefixes string) *Mode {
|
||||
//
|
||||
|
||||
// MODE <target> [<modestring> [<mode arguments>...]]
|
||||
func modeHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
|
||||
func modeHandler(server *Server, client *Client, msg ircmsg.IrcMessage, rb *ResponseBuffer) bool {
|
||||
_, errChan := CasefoldChannel(msg.Params[0])
|
||||
|
||||
if errChan == nil {
|
||||
return cmodeHandler(server, client, msg)
|
||||
return cmodeHandler(server, client, msg, rb)
|
||||
}
|
||||
return umodeHandler(server, client, msg)
|
||||
return umodeHandler(server, client, msg, rb)
|
||||
}
|
||||
|
||||
// ParseUserModeChanges returns the valid changes, and the list of unknown chars.
|
||||
@ -325,11 +325,7 @@ func (client *Client) applyUserModeChanges(force bool, changes ModeChanges) Mode
|
||||
}
|
||||
|
||||
// MODE <target> [<modestring> [<mode arguments>...]]
|
||||
func umodeHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
|
||||
rb := NewResponseBuffer(client)
|
||||
rb.Label = GetLabel(msg)
|
||||
defer rb.Send()
|
||||
|
||||
func umodeHandler(server *Server, client *Client, msg ircmsg.IrcMessage, rb *ResponseBuffer) bool {
|
||||
nickname, err := CasefoldName(msg.Params[0])
|
||||
target := server.clients.Get(nickname)
|
||||
if err != nil || target == nil {
|
||||
|
Loading…
Reference in New Issue
Block a user