diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2021-09-09 20:03:15 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2021-09-09 20:03:15 +0200 |
commit | 097c93e1dbd0084f11b2c2d4acc8f4a16b103b60 (patch) | |
tree | e22bf2bd2cb3e45a9d72ab73661369046dac6cfb /plugin_chatcmd.go | |
parent | b4f4f013a0edc7582bd3197a4738ba35622762fa (diff) |
Expose chat message API
Diffstat (limited to 'plugin_chatcmd.go')
-rw-r--r-- | plugin_chatcmd.go | 51 |
1 files changed, 1 insertions, 50 deletions
diff --git a/plugin_chatcmd.go b/plugin_chatcmd.go index 8afbe22..04e2396 100644 --- a/plugin_chatcmd.go +++ b/plugin_chatcmd.go @@ -1,12 +1,6 @@ package proxy -import ( - "fmt" - "strings" - "sync" - - "github.com/anon55555/mt" -) +import "sync" type ChatCmd struct { Name string @@ -42,49 +36,6 @@ func RegisterChatCmd(cmd ChatCmd) bool { return true } -func onChatMsg(cc *ClientConn, cmd *mt.ToSrvChatMsg) (string, bool) { - initChatCmds() - - if strings.HasPrefix(cmd.Msg, Conf().CmdPrefix) { - substrs := strings.Split(cmd.Msg, " ") - cmdName := strings.Replace(substrs[0], Conf().CmdPrefix, "", 1) - - var args []string - if len(substrs) > 1 { - args = substrs[1:] - } - - v := make([]interface{}, 2+len(args)) - v[0] = "command" - v[1] = cmdName - - for i, arg := range args { - v[i+2] = arg - } - - cc.Log("-->", v...) - - if !ChatCmdExists(cmdName) { - cc.Log("<--", "unknown command", cmdName) - return "Command not found.", true - } - - chatCmdsMu.RLock() - defer chatCmdsMu.RUnlock() - - cmd := chatCmds[cmdName] - - if !cc.HasPerms(cmd.Perm) { - cc.Log("<--", "deny command", cmdName) - return fmt.Sprintf("Missing permission %s.", cmd.Perm), true - } - - return cmd.Handler(cc, args...), true - } - - return "", false -} - func initChatCmds() { chatCmdsOnce.Do(func() { chatCmdsMu.Lock() |