Fix chat command handling

master
HimbeerserverDE 2021-09-06 21:55:55 +02:00
parent 0dacec8094
commit 148aeea701
No known key found for this signature in database
GPG Key ID: 1A651504791E6A8B
2 changed files with 14 additions and 8 deletions

View File

@ -554,8 +554,14 @@ func handleClt(cc *ClientConn) {
break
}
onChatMsg(cc, cmd)
if cmd.Msg != "" {
result := onChatMsg(cc, cmd)
if result != "" {
cc.SendCmd(&mt.ToCltChatMsg{
Type: mt.SysMsg,
Text: result,
Timestamp: time.Now().Unix(),
})
} else {
cc.server().SendCmd(cmd)
}
case *mt.ToSrvDeletedBlks:

View File

@ -37,7 +37,7 @@ func RegisterChatCmd(name string, cmd ChatCmd) bool {
return true
}
func onChatMsg(cc *ClientConn, cmd *mt.ToSrvChatMsg) {
func onChatMsg(cc *ClientConn, cmd *mt.ToSrvChatMsg) string {
initChatCmds()
if strings.HasPrefix(cmd.Msg, Conf().CmdPrefix) {
@ -49,19 +49,19 @@ func onChatMsg(cc *ClientConn, cmd *mt.ToSrvChatMsg) {
args = substrs[1:]
}
// cc.Log("-->", append([]string{"cmd", cmdName}, args...))
cc.Log("-->", []interface{}{}...)
cc.Log("-->", append([]string{"cmd", cmdName}, args...))
if !ChatCmdExists(cmdName) {
cmd.Msg = "Command not found."
return
return "Command not found."
}
chatCmdsMu.RLock()
defer chatCmdsMu.RUnlock()
cmd.Msg = chatCmds[cmdName](cc, args...)
return chatCmds[cmdName](cc, args...)
}
return ""
}
func initChatCmds() {