diff --git a/config/config.yaml b/config/config.yaml index d8ff4060d..ff98b2692 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -202,7 +202,6 @@ callback: callbackAfterSendSingleMsg: enable: true callbackTimeOut: 5 - CallbackFailedContinue: true callbackBeforeSendGroupMsg: enable: true callbackTimeOut: 5 @@ -210,7 +209,6 @@ callback: callbackAfterSendGroupMsg: enable: true callbackTimeOut: 5 - CallbackFailedContinue: true callbackWordFilter: enable: true callbackTimeOut: 5 diff --git a/internal/rpc/msg/callback.go b/internal/rpc/msg/callback.go index 19d8ca4f4..310a80f67 100644 --- a/internal/rpc/msg/callback.go +++ b/internal/rpc/msg/callback.go @@ -62,9 +62,10 @@ func callbackBeforeSendGroupMsg(msg *pbChat.SendMsgReq) (canSend bool, err error if !config.Config.Callback.CallbackBeforeSendGroupMsg.CallbackFailedContinue { return false, nil } - } - if resp.ActionCode == constant.ActionForbidden { - return false, nil + } else { + if resp.ActionCode == constant.ActionForbidden { + return false, nil + } } return true, nil } @@ -94,15 +95,17 @@ func callBackWordFilter(msg *pbChat.SendMsgReq) (canSend bool, err error) { resp := &cbApi.CallbackWordFilterResp{CommonCallbackResp: cbApi.CommonCallbackResp{}} defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, resp) utils.CopyStructFields(&req, msg.MsgData) + req.Content = string(msg.MsgData.Content) if err := http.PostReturn(msg.OperationID, req, resp, config.Config.Callback.CallbackWordFilter.CallbackTimeOut); err != nil { if !config.Config.Callback.CallbackWordFilter.CallbackFailedContinue { return false, err } + } else { + msg.MsgData.Content = []byte(resp.Content) + if resp.ActionCode == constant.ActionForbidden { + return false, nil + } } - if resp.ActionCode == constant.ActionForbidden { - return false, nil - } - msg.MsgData.Content = resp.Content return true, nil } diff --git a/pkg/call_back_struct/message.go b/pkg/call_back_struct/message.go index 253c2561e..97d31a09f 100644 --- a/pkg/call_back_struct/message.go +++ b/pkg/call_back_struct/message.go @@ -5,7 +5,7 @@ type msg struct { ClientMsgID string `json:"clientMsgID"` ServerMsgID string `json:"serverMsgId"` CreateTime int64 `json:"createTime"` - Content []byte `json:"content"` + Content string `json:"content"` } type singleMsg struct { @@ -58,10 +58,10 @@ type CallbackAfterSendGroupMsgResp struct { type CallbackWordFilterReq struct { CommonCallbackReq - Content []byte `json:"content"` + Content string `json:"content"` } type CallbackWordFilterResp struct { CommonCallbackResp - Content []byte `json:"content"` + Content string `json:"content"` }