From 25d0fa8e699be8dc17f87260aad55745532281de Mon Sep 17 00:00:00 2001 From: Andrew Date: Wed, 8 May 2019 11:24:17 +1000 Subject: [PATCH] Change dispatchBasicCmd to reflect the new new command handler --- client/client.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/client/client.go b/client/client.go index cb53496..dbddc74 100644 --- a/client/client.go +++ b/client/client.go @@ -179,7 +179,7 @@ func (sc *ServerConnection) ProcessIncomingLine(line string) { // IRC commands are case-insensitive sc.dispatchIn(strings.ToUpper(cmd), info) if strings.ToUpper(cmd) == "PRIVMSG" { - sc.dispatchBasicCmd(info) + sc.dispatchCommand(info) } } @@ -285,14 +285,15 @@ func (sc *ServerConnection) Send(tags map[string]string, prefix string, command } // dispatchCommand dispatches an event based on simple commands (e.g !help) -func (sc *ServerConnection) dispatchBasicCmd(info eventmgr.InfoMap) { - cmd := strings.Split(info["params"].([]string)[1], " ")[0] - pfx := cmd[0] +func (sc *ServerConnection) dispatchCommand(info eventmgr.InfoMap) { + params := strings.Split(info["params"].([]string)[1], " ") for _, p := range basicCmdPrefixes { - if pfx == p { - sc.eventsIn.Dispatch("cmd"+cmd, info) - } + if strings.HasPrefix(params[0], string(p)) { + sc.eventsIn.Dispatch("cmd_"+params[0][1:], info) + } else if (params[0] == sc.Nick || params[0] == sc.Nick + ":") && len(params) > 1 { + sc.eventsIn.Dispatch("cmd_"+params[1], info) + } } }