diff --git a/config/config.yaml b/config/config.yaml index 498c338e2..5f2cafa95 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -311,7 +311,7 @@ callback: callbackAfterSendGroupMsg: enable: false callbackTimeOut: 2 - callbackWordFilter: + callbackMsgModify: enable: false callbackTimeOut: 2 callbackFailedContinue: true @@ -340,6 +340,10 @@ callback: enable: false callbackTimeOut: 2 callbackFailedContinue: true # 回调超时是否继续 + callbackBeforeCreateGroup: + enable: false + callbackTimeOut: 2 + callbackFailedContinue: true # 回调超时是否继续 notification: groupCreated: diff --git a/internal/push/logic/callback.go b/internal/push/logic/callback.go index a7cff2c20..c266ab95a 100644 --- a/internal/push/logic/callback.go +++ b/internal/push/logic/callback.go @@ -36,7 +36,7 @@ func callbackOfflinePush(operationID string, userIDList []string, msg *commonPb. AtUserIDList: msg.AtUserIDList, Content: callback.GetContent(msg), } - resp := &cbApi.CallbackBeforePushResp{CommonCallbackResp: &callbackResp} + resp := &cbApi.CallbackBeforePushResp{CommonCallbackResp: callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackOfflinePushCommand, req, resp, config.Config.Callback.CallbackOfflinePush.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError callbackResp.ErrMsg = err.Error() @@ -84,7 +84,7 @@ func callbackOnlinePush(operationID string, userIDList []string, msg *commonPb.M AtUserIDList: msg.AtUserIDList, Content: callback.GetContent(msg), } - resp := &cbApi.CallbackBeforePushResp{CommonCallbackResp: &callbackResp} + resp := &cbApi.CallbackBeforePushResp{CommonCallbackResp: callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackOnlinePushCommand, req, resp, config.Config.Callback.CallbackOnlinePush.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError callbackResp.ErrMsg = err.Error() @@ -126,7 +126,7 @@ func callbackBeforeSuperGroupOnlinePush(operationID string, groupID string, msg AtUserIDList: msg.AtUserIDList, Content: callback.GetContent(msg), } - resp := &cbApi.CallbackBeforeSuperGroupOnlinePushResp{CommonCallbackResp: &callbackResp} + resp := &cbApi.CallbackBeforeSuperGroupOnlinePushResp{CommonCallbackResp: callbackResp} if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackSuperGroupOnlinePushCommand, req, resp, config.Config.Callback.CallbackBeforeSuperGroupOnlinePush.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError callbackResp.ErrMsg = err.Error() diff --git a/internal/rpc/friend/callback.go b/internal/rpc/friend/callback.go index 8e75a44b4..1f9be0624 100644 --- a/internal/rpc/friend/callback.go +++ b/internal/rpc/friend/callback.go @@ -26,7 +26,7 @@ func callbackBeforeAddFriend(req *pbFriend.AddFriendReq) cbApi.CommonCallbackRes OperationID: req.CommID.OperationID, } resp := &cbApi.CallbackBeforeAddFriendResp{ - CommonCallbackResp: &callbackResp, + CommonCallbackResp: callbackResp, } //utils.CopyStructFields(req, msg.MsgData) defer log.NewDebug(req.CommID.OperationID, utils.GetSelfFuncName(), commonCallbackReq, *resp) diff --git a/internal/rpc/group/callback.go b/internal/rpc/group/callback.go index 1e9e612a6..73d6f806f 100644 --- a/internal/rpc/group/callback.go +++ b/internal/rpc/group/callback.go @@ -1,13 +1,78 @@ package group import ( + cbApi "Open_IM/pkg/call_back_struct" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/http" + "Open_IM/pkg/common/log" pbGroup "Open_IM/pkg/proto/group" + "Open_IM/pkg/utils" + http2 "net/http" ) -func callbackBeforeCreateGroup(req *pbGroup.CreateGroupReq) (bool, error) { - return true, nil -} - -func callbackAfterCreateGroup(req *pbGroup.CreateGroupReq) { - +func callbackBeforeCreateGroup(req *pbGroup.CreateGroupReq) cbApi.CommonCallbackResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: req.OperationID} + if !config.Config.Callback.CallbackBeforeCreateGroup.Enable { + return callbackResp + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), req.String()) + commonCallbackReq := &cbApi.CallbackBeforeCreateGroupReq{ + CallbackCommand: constant.CallbackBeforeCreateGroupCommand, + } + resp := &cbApi.CallbackBeforeCreateGroupResp{ + CommonCallbackResp: callbackResp, + } + //utils.CopyStructFields(req, msg.MsgData) + defer log.NewDebug(req.OperationID, utils.GetSelfFuncName(), commonCallbackReq, *resp) + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeCreateGroupCommand, commonCallbackReq, resp, config.Config.Callback.CallbackBeforeCreateGroup.CallbackTimeOut); err != nil { + callbackResp.ErrCode = http2.StatusInternalServerError + callbackResp.ErrMsg = err.Error() + if !config.Config.Callback.CallbackBeforeCreateGroup.CallbackFailedContinue { + callbackResp.ActionCode = constant.ActionForbidden + return callbackResp + } else { + callbackResp.ActionCode = constant.ActionAllow + return callbackResp + } + } + if resp.ErrCode == constant.CallbackHandleSuccess && resp.ActionCode == constant.ActionAllow { + if resp.GroupID != nil { + req.GroupInfo.GroupID = *resp.GroupID + } + if resp.GroupName != nil { + req.GroupInfo.GroupName = *resp.GroupID + } + if resp.Notification != nil { + req.GroupInfo.Notification = *resp.Notification + } + if resp.Introduction != nil { + req.GroupInfo.Introduction = *resp.Introduction + } + if resp.FaceURL != nil { + req.GroupInfo.FaceURL = *resp.FaceURL + } + if resp.OwnerUserID != nil { + req.GroupInfo.OwnerUserID = *resp.OwnerUserID + } + if resp.Ex != nil { + req.GroupInfo.Ex = *resp.Ex + } + if resp.Status != nil { + req.GroupInfo.Status = *resp.Status + } + if resp.CreatorUserID != nil { + req.GroupInfo.CreatorUserID = *resp.CreatorUserID + } + if resp.GroupType != nil { + req.GroupInfo.GroupType = *resp.GroupType + } + if resp.NeedVerification != nil { + req.GroupInfo.NeedVerification = *resp.GroupType + } + if resp.LookMemberInfo != nil { + req.GroupInfo.LookMemberInfo = *resp.LookMemberInfo + } + } + return callbackResp } diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 27838b4e2..c5597ab1f 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -116,6 +116,20 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR log.NewError(req.OperationID, "CheckAccess false ", req.OpUserID, req.OwnerUserID) return &pbGroup.CreateGroupResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil } + callbackResp := callbackBeforeCreateGroup(req) + if callbackResp.ErrCode != 0 { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg resp: ", callbackResp) + } + if callbackResp.ActionCode != constant.ActionAllow { + if callbackResp.ErrCode == 0 { + callbackResp.ErrCode = 201 + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "callbackBeforeSendSingleMsg result", "end rpc and return", callbackResp) + return &pbGroup.CreateGroupResp{ + ErrCode: int32(callbackResp.ErrCode), + ErrMsg: callbackResp.ErrMsg, + }, nil + } groupId := req.GroupInfo.GroupID if groupId == "" { diff --git a/internal/rpc/msg/callback.go b/internal/rpc/msg/callback.go index 003e6903c..ff5529da3 100644 --- a/internal/rpc/msg/callback.go +++ b/internal/rpc/msg/callback.go @@ -47,7 +47,7 @@ func callbackBeforeSendSingleMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackRes RecvID: msg.MsgData.RecvID, } resp := &cbApi.CallbackBeforeSendSingleMsgResp{ - CommonCallbackResp: &callbackResp, + CommonCallbackResp: callbackResp, } //utils.CopyStructFields(req, msg.MsgData) defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) @@ -77,7 +77,7 @@ func callbackAfterSendSingleMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp CommonCallbackReq: commonCallbackReq, RecvID: msg.MsgData.RecvID, } - resp := &cbApi.CallbackAfterSendSingleMsgResp{CommonCallbackResp: &callbackResp} + resp := &cbApi.CallbackAfterSendSingleMsgResp{CommonCallbackResp: callbackResp} defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAfterSendSingleMsgCommand, req, resp, config.Config.Callback.CallbackAfterSendSingleMsg.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError @@ -99,7 +99,7 @@ func callbackBeforeSendGroupMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp CommonCallbackReq: commonCallbackReq, GroupID: msg.MsgData.GroupID, } - resp := &cbApi.CallbackBeforeSendGroupMsgResp{CommonCallbackResp: &callbackResp} + resp := &cbApi.CallbackBeforeSendGroupMsgResp{CommonCallbackResp: callbackResp} defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeSendGroupMsgCommand, req, resp, config.Config.Callback.CallbackBeforeSendGroupMsg.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError @@ -127,7 +127,7 @@ func callbackAfterSendGroupMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp CommonCallbackReq: commonCallbackReq, GroupID: msg.MsgData.GroupID, } - resp := &cbApi.CallbackAfterSendGroupMsgResp{CommonCallbackResp: &callbackResp} + resp := &cbApi.CallbackAfterSendGroupMsgResp{CommonCallbackResp: callbackResp} defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAfterSendGroupMsgCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError @@ -137,23 +137,23 @@ func callbackAfterSendGroupMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp return callbackResp } -func callbackWordFilter(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { +func callbackMsgModify(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), msg) callbackResp := cbApi.CommonCallbackResp{OperationID: msg.OperationID} - if !config.Config.Callback.CallbackWordFilter.Enable || msg.MsgData.ContentType != constant.Text { + if !config.Config.Callback.CallbackMsgModify.Enable || msg.MsgData.ContentType != constant.Text { return callbackResp } commonCallbackReq := copyCallbackCommonReqStruct(msg) - commonCallbackReq.CallbackCommand = constant.CallbackWordFilterCommand - req := cbApi.CallbackWordFilterReq{ + commonCallbackReq.CallbackCommand = constant.CallbackMsgModifyCommand + req := cbApi.CallbackMsgModifyCommandReq{ CommonCallbackReq: commonCallbackReq, } - resp := &cbApi.CallbackWordFilterResp{CommonCallbackResp: &callbackResp} + resp := &cbApi.CallbackMsgModifyCommandResp{CommonCallbackResp: callbackResp} defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) - if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackWordFilterCommand, req, resp, config.Config.Callback.CallbackWordFilter.CallbackTimeOut); err != nil { + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackMsgModifyCommand, req, resp, config.Config.Callback.CallbackMsgModify.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError callbackResp.ErrMsg = err.Error() - if !config.Config.Callback.CallbackWordFilter.CallbackFailedContinue { + if !config.Config.Callback.CallbackMsgModify.CallbackFailedContinue { callbackResp.ActionCode = constant.ActionForbidden return callbackResp } else { @@ -161,8 +161,62 @@ func callbackWordFilter(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { return callbackResp } } - if resp.ErrCode == constant.CallbackHandleSuccess && resp.ActionCode == constant.ActionAllow && resp.Content != "" { - msg.MsgData.Content = []byte(resp.Content) + if resp.ErrCode == constant.CallbackHandleSuccess && resp.ActionCode == constant.ActionAllow { + if resp.Content != nil { + msg.MsgData.Content = []byte(*resp.Content) + } + if resp.RecvID != nil { + msg.MsgData.RecvID = *resp.RecvID + } + if resp.GroupID != nil { + msg.MsgData.GroupID = *resp.GroupID + } + if resp.ClientMsgID != nil { + msg.MsgData.ClientMsgID = *resp.ClientMsgID + } + if resp.ServerMsgID != nil { + msg.MsgData.ServerMsgID = *resp.ServerMsgID + } + if resp.SenderPlatformID != nil { + msg.MsgData.SenderPlatformID = *resp.SenderPlatformID + } + if resp.SenderNickname != nil { + msg.MsgData.SenderNickname = *resp.SenderNickname + } + if resp.SenderFaceURL != nil { + msg.MsgData.SenderFaceURL = *resp.SenderFaceURL + } + if resp.SessionType != nil { + msg.MsgData.SessionType = *resp.SessionType + } + if resp.MsgFrom != nil { + msg.MsgData.MsgFrom = *resp.MsgFrom + } + if resp.ContentType != nil { + msg.MsgData.ContentType = *resp.ContentType + } + if resp.Status != nil { + msg.MsgData.Status = *resp.Status + } + if resp.Options != nil { + msg.MsgData.Options = *resp.Options + } + if resp.OfflinePushInfo != nil { + msg.MsgData.OfflinePushInfo = resp.OfflinePushInfo + } + if resp.AtUserIDList != nil { + msg.MsgData.AtUserIDList = *resp.AtUserIDList + } + if resp.MsgDataList != nil { + msg.MsgData.MsgDataList = *resp.MsgDataList + } + if resp.AttachedInfo != nil { + msg.MsgData.AttachedInfo = *resp.AttachedInfo + } + if resp.Ex != nil { + msg.MsgData.Ex = *resp.Ex + } + } log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), string(msg.MsgData.Content)) return callbackResp diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index f5a735f65..852ffc97f 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -290,17 +290,17 @@ func (rpc *rpcChat) SendMsg(_ context.Context, pb *pbChat.SendMsgReq) (*pbChat.S msgToMQSingle := pbChat.MsgDataToMQ{Token: pb.Token, OperationID: pb.OperationID, MsgData: pb.MsgData} // callback t1 = time.Now() - callbackResp := callbackWordFilter(pb) - log.Debug(pb.OperationID, "callbackWordFilter ", callbackResp, "cost time: ", time.Since(t1)) + callbackResp := callbackMsgModify(pb) + log.Debug(pb.OperationID, "callbackMsgModify ", callbackResp, "cost time: ", time.Since(t1)) if callbackResp.ErrCode != 0 { - log.Error(pb.OperationID, utils.GetSelfFuncName(), "callbackWordFilter resp: ", callbackResp) + log.Error(pb.OperationID, utils.GetSelfFuncName(), "callbackMsgModify resp: ", callbackResp) } log.NewDebug(pb.OperationID, utils.GetSelfFuncName(), "callbackResp: ", callbackResp) if callbackResp.ActionCode != constant.ActionAllow { if callbackResp.ErrCode == 0 { callbackResp.ErrCode = 201 } - log.NewDebug(pb.OperationID, utils.GetSelfFuncName(), "callbackWordFilter result", "end rpc and return", pb.MsgData) + log.NewDebug(pb.OperationID, utils.GetSelfFuncName(), "callbackMsgModify result", "end rpc and return", pb.MsgData) return returnMsg(&replay, pb, int32(callbackResp.ErrCode), callbackResp.ErrMsg, "", 0) } switch pb.MsgData.SessionType { diff --git a/pkg/call_back_struct/friend.go b/pkg/call_back_struct/friend.go index 4340fdbb2..be2fe322a 100644 --- a/pkg/call_back_struct/friend.go +++ b/pkg/call_back_struct/friend.go @@ -9,5 +9,5 @@ type CallbackBeforeAddFriendReq struct { } type CallbackBeforeAddFriendResp struct { - *CommonCallbackResp + CommonCallbackResp } diff --git a/pkg/call_back_struct/group.go b/pkg/call_back_struct/group.go index 3681dddcc..850867a62 100644 --- a/pkg/call_back_struct/group.go +++ b/pkg/call_back_struct/group.go @@ -1,9 +1,27 @@ package call_back_struct +import ( + commonPb "Open_IM/pkg/proto/sdk_ws" +) + type CallbackBeforeCreateGroupReq struct { - CommonCallbackReq + CallbackCommand string `json:"callbackCommand"` + commonPb.GroupInfo } -type CallbackAfterCreateGroupResp struct { +type CallbackBeforeCreateGroupResp struct { CommonCallbackResp -} \ No newline at end of file + GroupID *string `json:"groupID"` + GroupName *string `json:"groupName"` + Notification *string `json:"notification"` + Introduction *string `json:"introduction"` + FaceURL *string `json:"faceURL"` + OwnerUserID *string `json:"ownerUserID"` + Ex *string `json:"ex"` + Status *int32 `json:"status"` + CreatorUserID *string `json:"creatorUserID"` + GroupType *int32 `json:"groupType"` + NeedVerification *int32 `json:"needVerification"` + LookMemberInfo *int32 `json:"lookMemberInfo"` + ApplyMemberFriend *int32 `json:"applyMemberFriend"` +} diff --git a/pkg/call_back_struct/message.go b/pkg/call_back_struct/message.go index 65f281bb8..b1a2eb806 100644 --- a/pkg/call_back_struct/message.go +++ b/pkg/call_back_struct/message.go @@ -1,12 +1,14 @@ package call_back_struct +import sdk_ws "Open_IM/pkg/proto/sdk_ws" + type CallbackBeforeSendSingleMsgReq struct { CommonCallbackReq RecvID string `json:"recvID"` } type CallbackBeforeSendSingleMsgResp struct { - *CommonCallbackResp + CommonCallbackResp } type CallbackAfterSendSingleMsgReq struct { @@ -15,7 +17,7 @@ type CallbackAfterSendSingleMsgReq struct { } type CallbackAfterSendSingleMsgResp struct { - *CommonCallbackResp + CommonCallbackResp } type CallbackBeforeSendGroupMsgReq struct { @@ -24,7 +26,7 @@ type CallbackBeforeSendGroupMsgReq struct { } type CallbackBeforeSendGroupMsgResp struct { - *CommonCallbackResp + CommonCallbackResp } type CallbackAfterSendGroupMsgReq struct { @@ -33,14 +35,31 @@ type CallbackAfterSendGroupMsgReq struct { } type CallbackAfterSendGroupMsgResp struct { - *CommonCallbackResp + CommonCallbackResp } -type CallbackWordFilterReq struct { +type CallbackMsgModifyCommandReq struct { CommonCallbackReq } -type CallbackWordFilterResp struct { - *CommonCallbackResp - Content string `json:"content"` +type CallbackMsgModifyCommandResp struct { + CommonCallbackResp + Content *string `json:"content"` + RecvID *string `json:"recvID"` + GroupID *string `json:"groupID"` + ClientMsgID *string `json:"clientMsgID"` + ServerMsgID *string `json:"serverMsgID"` + SenderPlatformID *int32 `json:"senderPlatformID"` + SenderNickname *string `json:"senderNickname"` + SenderFaceURL *string `json:"senderFaceURL"` + SessionType *int32 `json:"sessionType"` + MsgFrom *int32 `json:"msgFrom"` + ContentType *int32 `json:"contentType"` + Status *int32 `json:"status"` + Options *map[string]bool `json:"options"` + OfflinePushInfo *sdk_ws.OfflinePushInfo `json:"offlinePushInfo"` + AtUserIDList *[]string `json:"atUserIDList"` + MsgDataList *[]byte `json:"msgDataList"` + AttachedInfo *string `json:"attachedInfo"` + Ex *string `json:"ex"` } diff --git a/pkg/call_back_struct/push.go b/pkg/call_back_struct/push.go index 1fa0fbff6..b9f89d671 100644 --- a/pkg/call_back_struct/push.go +++ b/pkg/call_back_struct/push.go @@ -15,7 +15,7 @@ type CallbackBeforePushReq struct { } type CallbackBeforePushResp struct { - *CommonCallbackResp + CommonCallbackResp UserIDList []string `json:"userIDList"` OfflinePushInfo *commonPb.OfflinePushInfo `json:"offlinePushInfo"` } @@ -33,7 +33,7 @@ type CallbackBeforeSuperGroupOnlinePushReq struct { } type CallbackBeforeSuperGroupOnlinePushResp struct { - *CommonCallbackResp + CommonCallbackResp UserIDList []string `json:"userIDList"` OfflinePushInfo *commonPb.OfflinePushInfo `json:"offlinePushInfo"` } diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 9671a9537..a12497601 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -282,7 +282,7 @@ type config struct { CallbackAfterSendSingleMsg callBackConfig `yaml:"callbackAfterSendSingleMsg"` CallbackBeforeSendGroupMsg callBackConfig `yaml:"callbackBeforeSendGroupMsg"` CallbackAfterSendGroupMsg callBackConfig `yaml:"callbackAfterSendGroupMsg"` - CallbackWordFilter callBackConfig `yaml:"callbackWordFilter"` + CallbackMsgModify callBackConfig `yaml:"callbackMsgModify"` CallbackUserOnline callBackConfig `yaml:"callbackUserOnline"` CallbackUserOffline callBackConfig `yaml:"callbackUserOffline"` CallbackUserKickOff callBackConfig `yaml:"callbackUserKickOff"` @@ -290,6 +290,7 @@ type config struct { CallbackOnlinePush callBackConfig `yaml:"callbackOnlinePush"` CallbackBeforeSuperGroupOnlinePush callBackConfig `yaml:"callbackSuperGroupOnlinePush"` CallbackBeforeAddFriend callBackConfig `yaml:"callbackBeforeAddFriend"` + CallbackBeforeCreateGroup callBackConfig `yaml:"callbackBeforeCreateGroup"` } `yaml:"callback"` Notification struct { ///////////////////////group///////////////////////////// diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 8b3818b98..48b0cfca6 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -200,7 +200,7 @@ const ( CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand" CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand" CallbackAfterSendGroupMsgCommand = "callbackAfterSendGroupMsgCommand" - CallbackWordFilterCommand = "callbackWordFilterCommand" + CallbackMsgModifyCommand = "callbackMsgModifyCommand" CallbackUserOnlineCommand = "callbackUserOnlineCommand" CallbackUserOfflineCommand = "callbackUserOfflineCommand" CallbackUserKickOffCommand = "callbackUserKickOffCommand" @@ -208,6 +208,7 @@ const ( CallbackOnlinePushCommand = "callbackOnlinePushCommand" CallbackSuperGroupOnlinePushCommand = "callbackSuperGroupOnlinePushCommand" CallbackBeforeAddFriendCommand = "callbackBeforeAddFriendCommand" + CallbackBeforeCreateGroupCommand = "callbackBeforeCreateGroup" //callback actionCode ActionAllow = 0