diff --git a/server/imserver/app.go b/server/imserver/app.go index b176b722..e3a2c4df 100644 --- a/server/imserver/app.go +++ b/server/imserver/app.go @@ -54,6 +54,9 @@ func (this *App) Update() { } else { handler := cs.GetNetMsgHandler(hdr.MsgId) if handler != nil { + if !f5.IsOnlineEnv() { + f5.GetSysLog().Info("%s %s", q5.GetTypeName(hdr.Msg), q5.EncodeJson(hdr.Msg)) + } switch handler.HandlerId { case PLAYER_MGR_HANDLER_ID: cs.DispatchMsg(handler, hdr, playerMgr) diff --git a/server/imserver/cs/cs.auto_gen.go b/server/imserver/cs/cs.auto_gen.go index 5e5ec75e..0fc8649b 100644 --- a/server/imserver/cs/cs.auto_gen.go +++ b/server/imserver/cs/cs.auto_gen.go @@ -389,6 +389,10 @@ func (this *SMApprove) GetNetMsgId() uint16 { return uint16(SMMessageIdE__SMApprove) } +func (this *SMApproveJoinGuildNotify) GetNetMsgId() uint16 { + return uint16(SMMessageIdE__SMApproveJoinGuildNotify) +} + func (this *CMReject) GetNetMsgId() uint16 { return uint16(CMMessageIdE__CMReject) } diff --git a/server/imserver/cs/cs_msgid.pb.go b/server/imserver/cs/cs_msgid.pb.go index 28b60fc3..fcf3b0ae 100644 --- a/server/imserver/cs/cs_msgid.pb.go +++ b/server/imserver/cs/cs_msgid.pb.go @@ -227,57 +227,60 @@ const ( SMMessageIdE__SMSetAvatar SMMessageIdE = 137 SMMessageIdE__SMSetJoinCond SMMessageIdE = 138 SMMessageIdE__SMRecommendGuildList SMMessageIdE = 139 - // 聊天相关 - SMMessageIdE__SMUpdateChatRedPointNotify SMMessageIdE = 200 - SMMessageIdE__SMChatMsgNotify SMMessageIdE = 201 - SMMessageIdE__SMUpdateRedPointNotify SMMessageIdE = 202 - SMMessageIdE__SMUpdatePrivateChatRedPointNotify SMMessageIdE = 203 - SMMessageIdE__SMUpdateChatChannelLastId SMMessageIdE = 204 + // 聊天相关通知 + SMMessageIdE__SMUpdateChatRedPointNotify SMMessageIdE = 1000 + SMMessageIdE__SMChatMsgNotify SMMessageIdE = 1001 + SMMessageIdE__SMUpdateRedPointNotify SMMessageIdE = 1002 + SMMessageIdE__SMUpdatePrivateChatRedPointNotify SMMessageIdE = 1003 + SMMessageIdE__SMUpdateChatChannelLastId SMMessageIdE = 1004 + // 公会相关通知 + SMMessageIdE__SMApproveJoinGuildNotify SMMessageIdE = 1010 ) // Enum value maps for SMMessageIdE. var ( SMMessageIdE_name = map[int32]string{ - 101: "_SMPing", - 102: "_SMRpcError", - 103: "_SMLogin", - 104: "_SMReconnect", - 105: "_SMSearchUserByAccountId", - 106: "_SMSearchUser", - 107: "_SMAddFriendRequest", - 108: "_SMAcceptFriendRequest", - 109: "_SMRejectFriendRequest", - 110: "_SMListPendingFriendRequest", - 111: "_SMListFriend", - 112: "_SMDeleteFriendShip", - 113: "_SMAddBlacklist", - 114: "_SMRemoveBlacklist", - 116: "_SMBlacklist", - 120: "_SMGuildInfo", - 121: "_SMCreateGuild", - 122: "_SMApplyToGuild", - 123: "_SMApprove", - 124: "_SMReject", - 125: "_SMLeaveGuild", - 126: "_SMDismissMember", - 127: "_SMPromoteMember", - 128: "_SMDemoteMember", - 129: "_SMDisband", - 130: "_SMSearchGuilds", - 131: "_SMApplyList", - 132: "_SMGuildLogs", - 133: "_SMSetNotice", - 134: "_SMSetMemberLevel", - 135: "_SMGuildMembersList", - 136: "_SMSetName", - 137: "_SMSetAvatar", - 138: "_SMSetJoinCond", - 139: "_SMRecommendGuildList", - 200: "_SMUpdateChatRedPointNotify", - 201: "_SMChatMsgNotify", - 202: "_SMUpdateRedPointNotify", - 203: "_SMUpdatePrivateChatRedPointNotify", - 204: "_SMUpdateChatChannelLastId", + 101: "_SMPing", + 102: "_SMRpcError", + 103: "_SMLogin", + 104: "_SMReconnect", + 105: "_SMSearchUserByAccountId", + 106: "_SMSearchUser", + 107: "_SMAddFriendRequest", + 108: "_SMAcceptFriendRequest", + 109: "_SMRejectFriendRequest", + 110: "_SMListPendingFriendRequest", + 111: "_SMListFriend", + 112: "_SMDeleteFriendShip", + 113: "_SMAddBlacklist", + 114: "_SMRemoveBlacklist", + 116: "_SMBlacklist", + 120: "_SMGuildInfo", + 121: "_SMCreateGuild", + 122: "_SMApplyToGuild", + 123: "_SMApprove", + 124: "_SMReject", + 125: "_SMLeaveGuild", + 126: "_SMDismissMember", + 127: "_SMPromoteMember", + 128: "_SMDemoteMember", + 129: "_SMDisband", + 130: "_SMSearchGuilds", + 131: "_SMApplyList", + 132: "_SMGuildLogs", + 133: "_SMSetNotice", + 134: "_SMSetMemberLevel", + 135: "_SMGuildMembersList", + 136: "_SMSetName", + 137: "_SMSetAvatar", + 138: "_SMSetJoinCond", + 139: "_SMRecommendGuildList", + 1000: "_SMUpdateChatRedPointNotify", + 1001: "_SMChatMsgNotify", + 1002: "_SMUpdateRedPointNotify", + 1003: "_SMUpdatePrivateChatRedPointNotify", + 1004: "_SMUpdateChatChannelLastId", + 1010: "_SMApproveJoinGuildNotify", } SMMessageIdE_value = map[string]int32{ "_SMPing": 101, @@ -315,11 +318,12 @@ var ( "_SMSetAvatar": 137, "_SMSetJoinCond": 138, "_SMRecommendGuildList": 139, - "_SMUpdateChatRedPointNotify": 200, - "_SMChatMsgNotify": 201, - "_SMUpdateRedPointNotify": 202, - "_SMUpdatePrivateChatRedPointNotify": 203, - "_SMUpdateChatChannelLastId": 204, + "_SMUpdateChatRedPointNotify": 1000, + "_SMChatMsgNotify": 1001, + "_SMUpdateRedPointNotify": 1002, + "_SMUpdatePrivateChatRedPointNotify": 1003, + "_SMUpdateChatChannelLastId": 1004, + "_SMApproveJoinGuildNotify": 1010, } ) @@ -417,7 +421,7 @@ var file_cs_msgid_proto_rawDesc = []byte{ 0x76, 0x61, 0x74, 0x61, 0x72, 0x10, 0x89, 0x01, 0x12, 0x13, 0x0a, 0x0e, 0x5f, 0x43, 0x4d, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x10, 0x8a, 0x01, 0x12, 0x1a, 0x0a, 0x15, 0x5f, 0x43, 0x4d, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x10, 0x8b, 0x01, 0x2a, 0x92, 0x07, 0x0a, 0x0d, 0x53, 0x4d, + 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x10, 0x8b, 0x01, 0x2a, 0xb2, 0x07, 0x0a, 0x0d, 0x53, 0x4d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x5f, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x5f, 0x53, 0x4d, 0x50, 0x69, 0x6e, 0x67, 0x10, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x5f, 0x53, 0x4d, 0x52, 0x70, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x66, 0x12, 0x0c, 0x0a, 0x08, 0x5f, 0x53, 0x4d, @@ -466,15 +470,17 @@ var file_cs_msgid_proto_rawDesc = []byte{ 0x01, 0x12, 0x1a, 0x0a, 0x15, 0x5f, 0x53, 0x4d, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x10, 0x8b, 0x01, 0x12, 0x20, 0x0a, 0x1b, 0x5f, 0x53, 0x4d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, - 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x10, 0xc8, 0x01, 0x12, + 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x10, 0xe8, 0x07, 0x12, 0x15, 0x0a, 0x10, 0x5f, 0x53, 0x4d, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x79, 0x10, 0xc9, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x5f, 0x53, 0x4d, 0x55, 0x70, 0x64, + 0x69, 0x66, 0x79, 0x10, 0xe9, 0x07, 0x12, 0x1c, 0x0a, 0x17, 0x5f, 0x53, 0x4d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x79, 0x10, 0xca, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x5f, 0x53, 0x4d, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x79, 0x10, 0xea, 0x07, 0x12, 0x27, 0x0a, 0x22, 0x5f, 0x53, 0x4d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x64, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x10, 0xcb, 0x01, 0x12, 0x1f, 0x0a, + 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x10, 0xeb, 0x07, 0x12, 0x1f, 0x0a, 0x1a, 0x5f, 0x53, 0x4d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x10, 0xcc, 0x01, 0x42, 0x06, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x61, 0x73, 0x74, 0x49, 0x64, 0x10, 0xec, 0x07, 0x12, 0x1e, + 0x0a, 0x19, 0x5f, 0x53, 0x4d, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x4a, 0x6f, 0x69, 0x6e, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x10, 0xf2, 0x07, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x63, 0x73, } diff --git a/server/imserver/cs/cs_proto.pb.go b/server/imserver/cs/cs_proto.pb.go index 74a0c840..d65c258c 100644 --- a/server/imserver/cs/cs_proto.pb.go +++ b/server/imserver/cs/cs_proto.pb.go @@ -3288,6 +3288,62 @@ func (x *SMApprove) GetErrmsg() string { return "" } +// 收到批准加入公会 +type SMApproveJoinGuildNotify struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GuildId *int64 `protobuf:"varint,1,opt,name=guild_id,json=guildId" json:"guild_id,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` +} + +func (x *SMApproveJoinGuildNotify) Reset() { + *x = SMApproveJoinGuildNotify{} + if protoimpl.UnsafeEnabled { + mi := &file_cs_proto_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SMApproveJoinGuildNotify) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SMApproveJoinGuildNotify) ProtoMessage() {} + +func (x *SMApproveJoinGuildNotify) ProtoReflect() protoreflect.Message { + mi := &file_cs_proto_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SMApproveJoinGuildNotify.ProtoReflect.Descriptor instead. +func (*SMApproveJoinGuildNotify) Descriptor() ([]byte, []int) { + return file_cs_proto_proto_rawDescGZIP(), []int{56} +} + +func (x *SMApproveJoinGuildNotify) GetGuildId() int64 { + if x != nil && x.GuildId != nil { + return *x.GuildId + } + return 0 +} + +func (x *SMApproveJoinGuildNotify) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + // 请求拒绝加入公会 type CMReject struct { state protoimpl.MessageState @@ -3300,7 +3356,7 @@ type CMReject struct { func (x *CMReject) Reset() { *x = CMReject{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[56] + mi := &file_cs_proto_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3313,7 +3369,7 @@ func (x *CMReject) String() string { func (*CMReject) ProtoMessage() {} func (x *CMReject) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[56] + mi := &file_cs_proto_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3326,7 +3382,7 @@ func (x *CMReject) ProtoReflect() protoreflect.Message { // Deprecated: Use CMReject.ProtoReflect.Descriptor instead. func (*CMReject) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{56} + return file_cs_proto_proto_rawDescGZIP(), []int{57} } func (x *CMReject) GetApplicantAccountId() string { @@ -3349,7 +3405,7 @@ type SMReject struct { func (x *SMReject) Reset() { *x = SMReject{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[57] + mi := &file_cs_proto_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3362,7 +3418,7 @@ func (x *SMReject) String() string { func (*SMReject) ProtoMessage() {} func (x *SMReject) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[57] + mi := &file_cs_proto_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3375,7 +3431,7 @@ func (x *SMReject) ProtoReflect() protoreflect.Message { // Deprecated: Use SMReject.ProtoReflect.Descriptor instead. func (*SMReject) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{57} + return file_cs_proto_proto_rawDescGZIP(), []int{58} } func (x *SMReject) GetErrcode() int32 { @@ -3402,7 +3458,7 @@ type CMLeaveGuild struct { func (x *CMLeaveGuild) Reset() { *x = CMLeaveGuild{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[58] + mi := &file_cs_proto_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3415,7 +3471,7 @@ func (x *CMLeaveGuild) String() string { func (*CMLeaveGuild) ProtoMessage() {} func (x *CMLeaveGuild) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[58] + mi := &file_cs_proto_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3428,7 +3484,7 @@ func (x *CMLeaveGuild) ProtoReflect() protoreflect.Message { // Deprecated: Use CMLeaveGuild.ProtoReflect.Descriptor instead. func (*CMLeaveGuild) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{58} + return file_cs_proto_proto_rawDescGZIP(), []int{59} } // 回复离开公会 @@ -3444,7 +3500,7 @@ type SMLeaveGuild struct { func (x *SMLeaveGuild) Reset() { *x = SMLeaveGuild{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[59] + mi := &file_cs_proto_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3457,7 +3513,7 @@ func (x *SMLeaveGuild) String() string { func (*SMLeaveGuild) ProtoMessage() {} func (x *SMLeaveGuild) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[59] + mi := &file_cs_proto_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3470,7 +3526,7 @@ func (x *SMLeaveGuild) ProtoReflect() protoreflect.Message { // Deprecated: Use SMLeaveGuild.ProtoReflect.Descriptor instead. func (*SMLeaveGuild) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{59} + return file_cs_proto_proto_rawDescGZIP(), []int{60} } func (x *SMLeaveGuild) GetErrcode() int32 { @@ -3499,7 +3555,7 @@ type CMDismissMember struct { func (x *CMDismissMember) Reset() { *x = CMDismissMember{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[60] + mi := &file_cs_proto_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3512,7 +3568,7 @@ func (x *CMDismissMember) String() string { func (*CMDismissMember) ProtoMessage() {} func (x *CMDismissMember) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[60] + mi := &file_cs_proto_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3525,7 +3581,7 @@ func (x *CMDismissMember) ProtoReflect() protoreflect.Message { // Deprecated: Use CMDismissMember.ProtoReflect.Descriptor instead. func (*CMDismissMember) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{60} + return file_cs_proto_proto_rawDescGZIP(), []int{61} } func (x *CMDismissMember) GetDismissAccountId() string { @@ -3548,7 +3604,7 @@ type SMDismissMember struct { func (x *SMDismissMember) Reset() { *x = SMDismissMember{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[61] + mi := &file_cs_proto_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3561,7 +3617,7 @@ func (x *SMDismissMember) String() string { func (*SMDismissMember) ProtoMessage() {} func (x *SMDismissMember) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[61] + mi := &file_cs_proto_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3574,7 +3630,7 @@ func (x *SMDismissMember) ProtoReflect() protoreflect.Message { // Deprecated: Use SMDismissMember.ProtoReflect.Descriptor instead. func (*SMDismissMember) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{61} + return file_cs_proto_proto_rawDescGZIP(), []int{62} } func (x *SMDismissMember) GetErrcode() int32 { @@ -3604,7 +3660,7 @@ type CMSetMemberLevel struct { func (x *CMSetMemberLevel) Reset() { *x = CMSetMemberLevel{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[62] + mi := &file_cs_proto_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3617,7 +3673,7 @@ func (x *CMSetMemberLevel) String() string { func (*CMSetMemberLevel) ProtoMessage() {} func (x *CMSetMemberLevel) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[62] + mi := &file_cs_proto_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3630,7 +3686,7 @@ func (x *CMSetMemberLevel) ProtoReflect() protoreflect.Message { // Deprecated: Use CMSetMemberLevel.ProtoReflect.Descriptor instead. func (*CMSetMemberLevel) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{62} + return file_cs_proto_proto_rawDescGZIP(), []int{63} } func (x *CMSetMemberLevel) GetMemberAccountId() string { @@ -3660,7 +3716,7 @@ type SMSetMemberLevel struct { func (x *SMSetMemberLevel) Reset() { *x = SMSetMemberLevel{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[63] + mi := &file_cs_proto_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3673,7 +3729,7 @@ func (x *SMSetMemberLevel) String() string { func (*SMSetMemberLevel) ProtoMessage() {} func (x *SMSetMemberLevel) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[63] + mi := &file_cs_proto_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3686,7 +3742,7 @@ func (x *SMSetMemberLevel) ProtoReflect() protoreflect.Message { // Deprecated: Use SMSetMemberLevel.ProtoReflect.Descriptor instead. func (*SMSetMemberLevel) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{63} + return file_cs_proto_proto_rawDescGZIP(), []int{64} } func (x *SMSetMemberLevel) GetErrcode() int32 { @@ -3715,7 +3771,7 @@ type CMPromoteMember struct { func (x *CMPromoteMember) Reset() { *x = CMPromoteMember{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[64] + mi := &file_cs_proto_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3728,7 +3784,7 @@ func (x *CMPromoteMember) String() string { func (*CMPromoteMember) ProtoMessage() {} func (x *CMPromoteMember) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[64] + mi := &file_cs_proto_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3741,7 +3797,7 @@ func (x *CMPromoteMember) ProtoReflect() protoreflect.Message { // Deprecated: Use CMPromoteMember.ProtoReflect.Descriptor instead. func (*CMPromoteMember) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{64} + return file_cs_proto_proto_rawDescGZIP(), []int{65} } func (x *CMPromoteMember) GetPromoteAccountId() string { @@ -3764,7 +3820,7 @@ type SMPromoteMember struct { func (x *SMPromoteMember) Reset() { *x = SMPromoteMember{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[65] + mi := &file_cs_proto_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3777,7 +3833,7 @@ func (x *SMPromoteMember) String() string { func (*SMPromoteMember) ProtoMessage() {} func (x *SMPromoteMember) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[65] + mi := &file_cs_proto_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3790,7 +3846,7 @@ func (x *SMPromoteMember) ProtoReflect() protoreflect.Message { // Deprecated: Use SMPromoteMember.ProtoReflect.Descriptor instead. func (*SMPromoteMember) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{65} + return file_cs_proto_proto_rawDescGZIP(), []int{66} } func (x *SMPromoteMember) GetErrcode() int32 { @@ -3819,7 +3875,7 @@ type CMDemoteMember struct { func (x *CMDemoteMember) Reset() { *x = CMDemoteMember{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[66] + mi := &file_cs_proto_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3832,7 +3888,7 @@ func (x *CMDemoteMember) String() string { func (*CMDemoteMember) ProtoMessage() {} func (x *CMDemoteMember) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[66] + mi := &file_cs_proto_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3845,7 +3901,7 @@ func (x *CMDemoteMember) ProtoReflect() protoreflect.Message { // Deprecated: Use CMDemoteMember.ProtoReflect.Descriptor instead. func (*CMDemoteMember) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{66} + return file_cs_proto_proto_rawDescGZIP(), []int{67} } func (x *CMDemoteMember) GetDemoteAccountId() string { @@ -3868,7 +3924,7 @@ type SMDemoteMember struct { func (x *SMDemoteMember) Reset() { *x = SMDemoteMember{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[67] + mi := &file_cs_proto_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3881,7 +3937,7 @@ func (x *SMDemoteMember) String() string { func (*SMDemoteMember) ProtoMessage() {} func (x *SMDemoteMember) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[67] + mi := &file_cs_proto_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3894,7 +3950,7 @@ func (x *SMDemoteMember) ProtoReflect() protoreflect.Message { // Deprecated: Use SMDemoteMember.ProtoReflect.Descriptor instead. func (*SMDemoteMember) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{67} + return file_cs_proto_proto_rawDescGZIP(), []int{68} } func (x *SMDemoteMember) GetErrcode() int32 { @@ -3921,7 +3977,7 @@ type CMGuildMembersList struct { func (x *CMGuildMembersList) Reset() { *x = CMGuildMembersList{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[68] + mi := &file_cs_proto_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3934,7 +3990,7 @@ func (x *CMGuildMembersList) String() string { func (*CMGuildMembersList) ProtoMessage() {} func (x *CMGuildMembersList) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[68] + mi := &file_cs_proto_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3947,7 +4003,7 @@ func (x *CMGuildMembersList) ProtoReflect() protoreflect.Message { // Deprecated: Use CMGuildMembersList.ProtoReflect.Descriptor instead. func (*CMGuildMembersList) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{68} + return file_cs_proto_proto_rawDescGZIP(), []int{69} } // 回复公会成员列表 @@ -3964,7 +4020,7 @@ type SMGuildMembersList struct { func (x *SMGuildMembersList) Reset() { *x = SMGuildMembersList{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[69] + mi := &file_cs_proto_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3977,7 +4033,7 @@ func (x *SMGuildMembersList) String() string { func (*SMGuildMembersList) ProtoMessage() {} func (x *SMGuildMembersList) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[69] + mi := &file_cs_proto_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3990,7 +4046,7 @@ func (x *SMGuildMembersList) ProtoReflect() protoreflect.Message { // Deprecated: Use SMGuildMembersList.ProtoReflect.Descriptor instead. func (*SMGuildMembersList) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{69} + return file_cs_proto_proto_rawDescGZIP(), []int{70} } func (x *SMGuildMembersList) GetErrcode() int32 { @@ -4024,7 +4080,7 @@ type CMDisband struct { func (x *CMDisband) Reset() { *x = CMDisband{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[70] + mi := &file_cs_proto_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4037,7 +4093,7 @@ func (x *CMDisband) String() string { func (*CMDisband) ProtoMessage() {} func (x *CMDisband) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[70] + mi := &file_cs_proto_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4050,7 +4106,7 @@ func (x *CMDisband) ProtoReflect() protoreflect.Message { // Deprecated: Use CMDisband.ProtoReflect.Descriptor instead. func (*CMDisband) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{70} + return file_cs_proto_proto_rawDescGZIP(), []int{71} } // 回复解散公会 @@ -4066,7 +4122,7 @@ type SMDisband struct { func (x *SMDisband) Reset() { *x = SMDisband{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[71] + mi := &file_cs_proto_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4079,7 +4135,7 @@ func (x *SMDisband) String() string { func (*SMDisband) ProtoMessage() {} func (x *SMDisband) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[71] + mi := &file_cs_proto_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4092,7 +4148,7 @@ func (x *SMDisband) ProtoReflect() protoreflect.Message { // Deprecated: Use SMDisband.ProtoReflect.Descriptor instead. func (*SMDisband) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{71} + return file_cs_proto_proto_rawDescGZIP(), []int{72} } func (x *SMDisband) GetErrcode() int32 { @@ -4122,7 +4178,7 @@ type CMSearchGuilds struct { func (x *CMSearchGuilds) Reset() { *x = CMSearchGuilds{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[72] + mi := &file_cs_proto_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4135,7 +4191,7 @@ func (x *CMSearchGuilds) String() string { func (*CMSearchGuilds) ProtoMessage() {} func (x *CMSearchGuilds) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[72] + mi := &file_cs_proto_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4148,7 +4204,7 @@ func (x *CMSearchGuilds) ProtoReflect() protoreflect.Message { // Deprecated: Use CMSearchGuilds.ProtoReflect.Descriptor instead. func (*CMSearchGuilds) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{72} + return file_cs_proto_proto_rawDescGZIP(), []int{73} } func (x *CMSearchGuilds) GetSinceId() int64 { @@ -4180,7 +4236,7 @@ type SMSearchGuilds struct { func (x *SMSearchGuilds) Reset() { *x = SMSearchGuilds{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[73] + mi := &file_cs_proto_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4193,7 +4249,7 @@ func (x *SMSearchGuilds) String() string { func (*SMSearchGuilds) ProtoMessage() {} func (x *SMSearchGuilds) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[73] + mi := &file_cs_proto_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4206,7 +4262,7 @@ func (x *SMSearchGuilds) ProtoReflect() protoreflect.Message { // Deprecated: Use SMSearchGuilds.ProtoReflect.Descriptor instead. func (*SMSearchGuilds) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{73} + return file_cs_proto_proto_rawDescGZIP(), []int{74} } func (x *SMSearchGuilds) GetErrcode() int32 { @@ -4247,7 +4303,7 @@ type CMGuildLogs struct { func (x *CMGuildLogs) Reset() { *x = CMGuildLogs{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[74] + mi := &file_cs_proto_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4260,7 +4316,7 @@ func (x *CMGuildLogs) String() string { func (*CMGuildLogs) ProtoMessage() {} func (x *CMGuildLogs) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[74] + mi := &file_cs_proto_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4273,7 +4329,7 @@ func (x *CMGuildLogs) ProtoReflect() protoreflect.Message { // Deprecated: Use CMGuildLogs.ProtoReflect.Descriptor instead. func (*CMGuildLogs) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{74} + return file_cs_proto_proto_rawDescGZIP(), []int{75} } // 回复公会日志 @@ -4290,7 +4346,7 @@ type SMGuildLogs struct { func (x *SMGuildLogs) Reset() { *x = SMGuildLogs{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[75] + mi := &file_cs_proto_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4303,7 +4359,7 @@ func (x *SMGuildLogs) String() string { func (*SMGuildLogs) ProtoMessage() {} func (x *SMGuildLogs) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[75] + mi := &file_cs_proto_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4316,7 +4372,7 @@ func (x *SMGuildLogs) ProtoReflect() protoreflect.Message { // Deprecated: Use SMGuildLogs.ProtoReflect.Descriptor instead. func (*SMGuildLogs) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{75} + return file_cs_proto_proto_rawDescGZIP(), []int{76} } func (x *SMGuildLogs) GetErrcode() int32 { @@ -4354,7 +4410,7 @@ type MFGuildLog struct { func (x *MFGuildLog) Reset() { *x = MFGuildLog{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[76] + mi := &file_cs_proto_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4367,7 +4423,7 @@ func (x *MFGuildLog) String() string { func (*MFGuildLog) ProtoMessage() {} func (x *MFGuildLog) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[76] + mi := &file_cs_proto_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4380,7 +4436,7 @@ func (x *MFGuildLog) ProtoReflect() protoreflect.Message { // Deprecated: Use MFGuildLog.ProtoReflect.Descriptor instead. func (*MFGuildLog) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{76} + return file_cs_proto_proto_rawDescGZIP(), []int{77} } func (x *MFGuildLog) GetGuildId() int64 { @@ -4423,7 +4479,7 @@ type CMSetName struct { func (x *CMSetName) Reset() { *x = CMSetName{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[77] + mi := &file_cs_proto_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4436,7 +4492,7 @@ func (x *CMSetName) String() string { func (*CMSetName) ProtoMessage() {} func (x *CMSetName) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[77] + mi := &file_cs_proto_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4449,7 +4505,7 @@ func (x *CMSetName) ProtoReflect() protoreflect.Message { // Deprecated: Use CMSetName.ProtoReflect.Descriptor instead. func (*CMSetName) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{77} + return file_cs_proto_proto_rawDescGZIP(), []int{78} } func (x *CMSetName) GetName() string { @@ -4472,7 +4528,7 @@ type SMSetName struct { func (x *SMSetName) Reset() { *x = SMSetName{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[78] + mi := &file_cs_proto_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4485,7 +4541,7 @@ func (x *SMSetName) String() string { func (*SMSetName) ProtoMessage() {} func (x *SMSetName) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[78] + mi := &file_cs_proto_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4498,7 +4554,7 @@ func (x *SMSetName) ProtoReflect() protoreflect.Message { // Deprecated: Use SMSetName.ProtoReflect.Descriptor instead. func (*SMSetName) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{78} + return file_cs_proto_proto_rawDescGZIP(), []int{79} } func (x *SMSetName) GetErrcode() int32 { @@ -4527,7 +4583,7 @@ type CMSetAvatar struct { func (x *CMSetAvatar) Reset() { *x = CMSetAvatar{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[79] + mi := &file_cs_proto_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4540,7 +4596,7 @@ func (x *CMSetAvatar) String() string { func (*CMSetAvatar) ProtoMessage() {} func (x *CMSetAvatar) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[79] + mi := &file_cs_proto_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4553,7 +4609,7 @@ func (x *CMSetAvatar) ProtoReflect() protoreflect.Message { // Deprecated: Use CMSetAvatar.ProtoReflect.Descriptor instead. func (*CMSetAvatar) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{79} + return file_cs_proto_proto_rawDescGZIP(), []int{80} } func (x *CMSetAvatar) GetAvatar() int32 { @@ -4576,7 +4632,7 @@ type SMSetAvatar struct { func (x *SMSetAvatar) Reset() { *x = SMSetAvatar{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[80] + mi := &file_cs_proto_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4589,7 +4645,7 @@ func (x *SMSetAvatar) String() string { func (*SMSetAvatar) ProtoMessage() {} func (x *SMSetAvatar) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[80] + mi := &file_cs_proto_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4602,7 +4658,7 @@ func (x *SMSetAvatar) ProtoReflect() protoreflect.Message { // Deprecated: Use SMSetAvatar.ProtoReflect.Descriptor instead. func (*SMSetAvatar) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{80} + return file_cs_proto_proto_rawDescGZIP(), []int{81} } func (x *SMSetAvatar) GetErrcode() int32 { @@ -4631,7 +4687,7 @@ type CMSetNotice struct { func (x *CMSetNotice) Reset() { *x = CMSetNotice{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[81] + mi := &file_cs_proto_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4644,7 +4700,7 @@ func (x *CMSetNotice) String() string { func (*CMSetNotice) ProtoMessage() {} func (x *CMSetNotice) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[81] + mi := &file_cs_proto_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4657,7 +4713,7 @@ func (x *CMSetNotice) ProtoReflect() protoreflect.Message { // Deprecated: Use CMSetNotice.ProtoReflect.Descriptor instead. func (*CMSetNotice) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{81} + return file_cs_proto_proto_rawDescGZIP(), []int{82} } func (x *CMSetNotice) GetContent() string { @@ -4680,7 +4736,7 @@ type SMSetNotice struct { func (x *SMSetNotice) Reset() { *x = SMSetNotice{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[82] + mi := &file_cs_proto_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4693,7 +4749,7 @@ func (x *SMSetNotice) String() string { func (*SMSetNotice) ProtoMessage() {} func (x *SMSetNotice) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[82] + mi := &file_cs_proto_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4706,7 +4762,7 @@ func (x *SMSetNotice) ProtoReflect() protoreflect.Message { // Deprecated: Use SMSetNotice.ProtoReflect.Descriptor instead. func (*SMSetNotice) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{82} + return file_cs_proto_proto_rawDescGZIP(), []int{83} } func (x *SMSetNotice) GetErrcode() int32 { @@ -4736,7 +4792,7 @@ type CMSetJoinCond struct { func (x *CMSetJoinCond) Reset() { *x = CMSetJoinCond{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[83] + mi := &file_cs_proto_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4749,7 +4805,7 @@ func (x *CMSetJoinCond) String() string { func (*CMSetJoinCond) ProtoMessage() {} func (x *CMSetJoinCond) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[83] + mi := &file_cs_proto_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4762,7 +4818,7 @@ func (x *CMSetJoinCond) ProtoReflect() protoreflect.Message { // Deprecated: Use CMSetJoinCond.ProtoReflect.Descriptor instead. func (*CMSetJoinCond) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{83} + return file_cs_proto_proto_rawDescGZIP(), []int{84} } func (x *CMSetJoinCond) GetJoinCond() int32 { @@ -4792,7 +4848,7 @@ type SMSetJoinCond struct { func (x *SMSetJoinCond) Reset() { *x = SMSetJoinCond{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[84] + mi := &file_cs_proto_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4805,7 +4861,7 @@ func (x *SMSetJoinCond) String() string { func (*SMSetJoinCond) ProtoMessage() {} func (x *SMSetJoinCond) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[84] + mi := &file_cs_proto_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4818,7 +4874,7 @@ func (x *SMSetJoinCond) ProtoReflect() protoreflect.Message { // Deprecated: Use SMSetJoinCond.ProtoReflect.Descriptor instead. func (*SMSetJoinCond) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{84} + return file_cs_proto_proto_rawDescGZIP(), []int{85} } func (x *SMSetJoinCond) GetErrcode() int32 { @@ -4858,7 +4914,7 @@ type MFGuild struct { func (x *MFGuild) Reset() { *x = MFGuild{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[85] + mi := &file_cs_proto_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4871,7 +4927,7 @@ func (x *MFGuild) String() string { func (*MFGuild) ProtoMessage() {} func (x *MFGuild) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[85] + mi := &file_cs_proto_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4884,7 +4940,7 @@ func (x *MFGuild) ProtoReflect() protoreflect.Message { // Deprecated: Use MFGuild.ProtoReflect.Descriptor instead. func (*MFGuild) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{85} + return file_cs_proto_proto_rawDescGZIP(), []int{86} } func (x *MFGuild) GetAutoId() int64 { @@ -4997,7 +5053,7 @@ type MFGuildMember struct { func (x *MFGuildMember) Reset() { *x = MFGuildMember{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[86] + mi := &file_cs_proto_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5010,7 +5066,7 @@ func (x *MFGuildMember) String() string { func (*MFGuildMember) ProtoMessage() {} func (x *MFGuildMember) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[86] + mi := &file_cs_proto_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5023,7 +5079,7 @@ func (x *MFGuildMember) ProtoReflect() protoreflect.Message { // Deprecated: Use MFGuildMember.ProtoReflect.Descriptor instead. func (*MFGuildMember) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{86} + return file_cs_proto_proto_rawDescGZIP(), []int{87} } func (x *MFGuildMember) GetAccountId() string { @@ -5394,170 +5450,175 @@ var file_cs_proto_proto_rawDesc = []byte{ 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, - 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x3c, 0x0a, 0x08, 0x43, 0x4d, 0x52, 0x65, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x5f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x12, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x08, 0x53, 0x4d, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, - 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, - 0x67, 0x22, 0x0e, 0x0a, 0x0c, 0x43, 0x4d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x22, 0x40, 0x0a, 0x0c, 0x53, 0x4d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x75, 0x69, 0x6c, + 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x49, 0x0a, 0x18, 0x53, 0x4d, 0x41, 0x70, 0x70, 0x72, 0x6f, + 0x76, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x3c, 0x0a, 0x08, 0x43, 0x4d, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x0a, 0x14, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x3c, + 0x0a, 0x08, 0x53, 0x4d, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, + 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x0e, 0x0a, 0x0c, + 0x43, 0x4d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x22, 0x40, 0x0a, 0x0c, + 0x53, 0x4d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, + 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x3d, + 0x0a, 0x0f, 0x43, 0x4d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x69, 0x73, + 0x6d, 0x69, 0x73, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x43, 0x0a, + 0x0f, 0x53, 0x4d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, + 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, + 0x73, 0x67, 0x22, 0x5e, 0x0a, 0x10, 0x43, 0x4d, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x22, 0x44, 0x0a, 0x10, 0x53, 0x4d, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x3d, 0x0a, 0x0f, 0x43, 0x4d, 0x50, 0x72, + 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x70, + 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0f, 0x53, 0x4d, 0x50, 0x72, 0x6f, + 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, + 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x3a, 0x0a, 0x0e, + 0x43, 0x4d, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x28, + 0x0a, 0x0f, 0x64, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x42, 0x0a, 0x0e, 0x53, 0x4d, 0x44, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, + 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x14, 0x0a, 0x12, + 0x43, 0x4d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x22, 0x73, 0x0a, 0x12, 0x53, 0x4d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, + 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x2b, 0x0a, 0x07, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x73, + 0x2e, 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x0b, 0x0a, 0x09, 0x43, 0x4d, 0x44, 0x69, 0x73, + 0x62, 0x61, 0x6e, 0x64, 0x22, 0x3d, 0x0a, 0x09, 0x53, 0x4d, 0x44, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, - 0x6d, 0x73, 0x67, 0x22, 0x3d, 0x0a, 0x0f, 0x43, 0x4d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, - 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0f, 0x53, 0x4d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x5e, 0x0a, 0x10, 0x43, 0x4d, 0x53, 0x65, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x44, 0x0a, 0x10, 0x53, 0x4d, 0x53, 0x65, 0x74, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x65, - 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, - 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x3d, 0x0a, - 0x0f, 0x43, 0x4d, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6d, - 0x6f, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0f, - 0x53, 0x4d, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, - 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, - 0x67, 0x22, 0x3a, 0x0a, 0x0e, 0x43, 0x4d, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x42, 0x0a, - 0x0e, 0x53, 0x4d, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, - 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, - 0x67, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x4d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x73, 0x0a, 0x12, 0x53, 0x4d, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, - 0x2b, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x63, 0x73, 0x2e, 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x0b, 0x0a, 0x09, - 0x43, 0x4d, 0x44, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x22, 0x3d, 0x0a, 0x09, 0x53, 0x4d, 0x44, - 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x3f, 0x0a, 0x0e, 0x43, 0x4d, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x69, - 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x69, - 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x0e, 0x53, 0x4d, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, - 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x19, - 0x0a, 0x08, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x07, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x06, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x73, 0x2e, 0x4d, - 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x22, 0x0d, - 0x0a, 0x0b, 0x43, 0x4d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x22, 0x6d, 0x0a, - 0x0b, 0x53, 0x4d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, - 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x2c, - 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x73, 0x2e, 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4c, 0x6f, - 0x67, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x22, 0x7b, 0x0a, 0x0a, - 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, - 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x75, - 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x1f, 0x0a, 0x09, 0x43, 0x4d, 0x53, - 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3d, 0x0a, 0x09, 0x53, 0x4d, - 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, + 0x6d, 0x73, 0x67, 0x22, 0x3f, 0x0a, 0x0e, 0x43, 0x4d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x0e, 0x53, 0x4d, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x25, 0x0a, 0x0b, 0x43, 0x4d, 0x53, - 0x65, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, - 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, - 0x22, 0x3f, 0x0a, 0x0b, 0x53, 0x4d, 0x53, 0x65, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, - 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, - 0x67, 0x22, 0x27, 0x0a, 0x0b, 0x43, 0x4d, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x3f, 0x0a, 0x0b, 0x53, 0x4d, - 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, - 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x54, 0x0a, 0x0d, 0x43, - 0x4d, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6a, 0x6f, 0x69, - 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x41, 0x0a, 0x0d, 0x53, 0x4d, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x43, 0x6f, - 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x69, 0x6e, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x69, 0x6e, + 0x63, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x73, 0x2e, 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, + 0x64, 0x52, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x43, 0x4d, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x22, 0x6d, 0x0a, 0x0b, 0x53, 0x4d, 0x47, 0x75, + 0x69, 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x2c, 0x0a, 0x09, 0x67, 0x75, 0x69, + 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, + 0x73, 0x2e, 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x73, 0x22, 0x7b, 0x0a, 0x0a, 0x4d, 0x46, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x22, 0x1f, 0x0a, 0x09, 0x43, 0x4d, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3d, 0x0a, 0x09, 0x53, 0x4d, 0x53, 0x65, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, - 0x72, 0x6d, 0x73, 0x67, 0x22, 0x9c, 0x03, 0x0a, 0x07, 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, - 0x12, 0x17, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x06, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x16, 0x0a, - 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, - 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, - 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x43, 0x6f, - 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6a, 0x6f, 0x69, - 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x27, 0x0a, 0x0f, - 0x63, 0x68, 0x69, 0x63, 0x6b, 0x65, 0x6e, 0x5f, 0x64, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x68, 0x69, 0x63, 0x6b, 0x65, 0x6e, 0x44, 0x69, - 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x73, 0x2e, 0x4d, 0x46, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x22, 0x8e, 0x02, 0x0a, 0x0d, 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, - 0x61, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, - 0x76, 0x61, 0x74, 0x61, 0x72, 0x48, 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, - 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x23, 0x0a, - 0x0d, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6c, 0x61, 0x73, - 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x73, 0x74, 0x61, 0x72, 0x2a, 0x22, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, - 0x5f, 0x65, 0x12, 0x14, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x10, 0xd1, 0xa2, 0xd5, 0xc4, 0x07, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x63, 0x73, + 0x72, 0x6d, 0x73, 0x67, 0x22, 0x25, 0x0a, 0x0b, 0x43, 0x4d, 0x53, 0x65, 0x74, 0x41, 0x76, 0x61, + 0x74, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x22, 0x3f, 0x0a, 0x0b, 0x53, + 0x4d, 0x53, 0x65, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, + 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x27, 0x0a, 0x0b, + 0x43, 0x4d, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x3f, 0x0a, 0x0b, 0x53, 0x4d, 0x53, 0x65, 0x74, 0x4e, 0x6f, + 0x74, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, 0x54, 0x0a, 0x0d, 0x43, 0x4d, 0x53, 0x65, 0x74, 0x4a, + 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, + 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, + 0x43, 0x6f, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, + 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6a, + 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x41, 0x0a, 0x0d, + 0x53, 0x4d, 0x53, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x22, + 0x9c, 0x03, 0x0a, 0x07, 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x61, + 0x75, 0x74, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x75, + 0x74, 0x6f, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x69, + 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x12, 0x26, 0x0a, + 0x0f, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x64, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, + 0x74, 0x61, 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x53, 0x74, 0x61, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x69, 0x63, 0x6b, + 0x65, 0x6e, 0x5f, 0x64, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0e, 0x63, 0x68, 0x69, 0x63, 0x6b, 0x65, 0x6e, 0x44, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x73, 0x2e, 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x8e, + 0x02, 0x0a, 0x0d, 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x76, 0x61, + 0x74, 0x61, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, + 0x48, 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, + 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x74, 0x61, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x2a, + 0x22, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x65, 0x12, 0x14, 0x0a, + 0x0c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0xd1, 0xa2, + 0xd5, 0xc4, 0x07, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x63, 0x73, } var ( @@ -5573,7 +5634,7 @@ func file_cs_proto_proto_rawDescGZIP() []byte { } var file_cs_proto_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_cs_proto_proto_msgTypes = make([]protoimpl.MessageInfo, 87) +var file_cs_proto_proto_msgTypes = make([]protoimpl.MessageInfo, 88) var file_cs_proto_proto_goTypes = []interface{}{ (ConstantE)(0), // 0: cs.Constant_e (*CMPing)(nil), // 1: cs.CMPing @@ -5632,37 +5693,38 @@ var file_cs_proto_proto_goTypes = []interface{}{ (*SMApplyList)(nil), // 54: cs.SMApplyList (*CMApprove)(nil), // 55: cs.CMApprove (*SMApprove)(nil), // 56: cs.SMApprove - (*CMReject)(nil), // 57: cs.CMReject - (*SMReject)(nil), // 58: cs.SMReject - (*CMLeaveGuild)(nil), // 59: cs.CMLeaveGuild - (*SMLeaveGuild)(nil), // 60: cs.SMLeaveGuild - (*CMDismissMember)(nil), // 61: cs.CMDismissMember - (*SMDismissMember)(nil), // 62: cs.SMDismissMember - (*CMSetMemberLevel)(nil), // 63: cs.CMSetMemberLevel - (*SMSetMemberLevel)(nil), // 64: cs.SMSetMemberLevel - (*CMPromoteMember)(nil), // 65: cs.CMPromoteMember - (*SMPromoteMember)(nil), // 66: cs.SMPromoteMember - (*CMDemoteMember)(nil), // 67: cs.CMDemoteMember - (*SMDemoteMember)(nil), // 68: cs.SMDemoteMember - (*CMGuildMembersList)(nil), // 69: cs.CMGuildMembersList - (*SMGuildMembersList)(nil), // 70: cs.SMGuildMembersList - (*CMDisband)(nil), // 71: cs.CMDisband - (*SMDisband)(nil), // 72: cs.SMDisband - (*CMSearchGuilds)(nil), // 73: cs.CMSearchGuilds - (*SMSearchGuilds)(nil), // 74: cs.SMSearchGuilds - (*CMGuildLogs)(nil), // 75: cs.CMGuildLogs - (*SMGuildLogs)(nil), // 76: cs.SMGuildLogs - (*MFGuildLog)(nil), // 77: cs.MFGuildLog - (*CMSetName)(nil), // 78: cs.CMSetName - (*SMSetName)(nil), // 79: cs.SMSetName - (*CMSetAvatar)(nil), // 80: cs.CMSetAvatar - (*SMSetAvatar)(nil), // 81: cs.SMSetAvatar - (*CMSetNotice)(nil), // 82: cs.CMSetNotice - (*SMSetNotice)(nil), // 83: cs.SMSetNotice - (*CMSetJoinCond)(nil), // 84: cs.CMSetJoinCond - (*SMSetJoinCond)(nil), // 85: cs.SMSetJoinCond - (*MFGuild)(nil), // 86: cs.MFGuild - (*MFGuildMember)(nil), // 87: cs.MFGuildMember + (*SMApproveJoinGuildNotify)(nil), // 57: cs.SMApproveJoinGuildNotify + (*CMReject)(nil), // 58: cs.CMReject + (*SMReject)(nil), // 59: cs.SMReject + (*CMLeaveGuild)(nil), // 60: cs.CMLeaveGuild + (*SMLeaveGuild)(nil), // 61: cs.SMLeaveGuild + (*CMDismissMember)(nil), // 62: cs.CMDismissMember + (*SMDismissMember)(nil), // 63: cs.SMDismissMember + (*CMSetMemberLevel)(nil), // 64: cs.CMSetMemberLevel + (*SMSetMemberLevel)(nil), // 65: cs.SMSetMemberLevel + (*CMPromoteMember)(nil), // 66: cs.CMPromoteMember + (*SMPromoteMember)(nil), // 67: cs.SMPromoteMember + (*CMDemoteMember)(nil), // 68: cs.CMDemoteMember + (*SMDemoteMember)(nil), // 69: cs.SMDemoteMember + (*CMGuildMembersList)(nil), // 70: cs.CMGuildMembersList + (*SMGuildMembersList)(nil), // 71: cs.SMGuildMembersList + (*CMDisband)(nil), // 72: cs.CMDisband + (*SMDisband)(nil), // 73: cs.SMDisband + (*CMSearchGuilds)(nil), // 74: cs.CMSearchGuilds + (*SMSearchGuilds)(nil), // 75: cs.SMSearchGuilds + (*CMGuildLogs)(nil), // 76: cs.CMGuildLogs + (*SMGuildLogs)(nil), // 77: cs.SMGuildLogs + (*MFGuildLog)(nil), // 78: cs.MFGuildLog + (*CMSetName)(nil), // 79: cs.CMSetName + (*SMSetName)(nil), // 80: cs.SMSetName + (*CMSetAvatar)(nil), // 81: cs.CMSetAvatar + (*SMSetAvatar)(nil), // 82: cs.SMSetAvatar + (*CMSetNotice)(nil), // 83: cs.CMSetNotice + (*SMSetNotice)(nil), // 84: cs.SMSetNotice + (*CMSetJoinCond)(nil), // 85: cs.CMSetJoinCond + (*SMSetJoinCond)(nil), // 86: cs.SMSetJoinCond + (*MFGuild)(nil), // 87: cs.MFGuild + (*MFGuildMember)(nil), // 88: cs.MFGuildMember } var file_cs_proto_proto_depIdxs = []int32{ 34, // 0: cs.SMSearchUser.users:type_name -> cs.MFUser @@ -5673,14 +5735,14 @@ var file_cs_proto_proto_depIdxs = []int32{ 5, // 5: cs.CMReadMsgAndOpenChatNotify.last_ids:type_name -> cs.MFPair64 44, // 6: cs.SMChatMsgNotify.msg_list:type_name -> cs.MFChatMsg 5, // 7: cs.SMUpdateChatChannelLastId.last_ids:type_name -> cs.MFPair64 - 86, // 8: cs.SMGuildInfo.guild:type_name -> cs.MFGuild - 86, // 9: cs.SMRecommendGuildList.recommend_guilds:type_name -> cs.MFGuild - 86, // 10: cs.SMCreateGuild.guild:type_name -> cs.MFGuild - 87, // 11: cs.SMApplyList.members:type_name -> cs.MFGuildMember - 87, // 12: cs.SMGuildMembersList.members:type_name -> cs.MFGuildMember - 86, // 13: cs.SMSearchGuilds.guilds:type_name -> cs.MFGuild - 77, // 14: cs.SMGuildLogs.guildLogs:type_name -> cs.MFGuildLog - 87, // 15: cs.MFGuild.members:type_name -> cs.MFGuildMember + 87, // 8: cs.SMGuildInfo.guild:type_name -> cs.MFGuild + 87, // 9: cs.SMRecommendGuildList.recommend_guilds:type_name -> cs.MFGuild + 87, // 10: cs.SMCreateGuild.guild:type_name -> cs.MFGuild + 88, // 11: cs.SMApplyList.members:type_name -> cs.MFGuildMember + 88, // 12: cs.SMGuildMembersList.members:type_name -> cs.MFGuildMember + 87, // 13: cs.SMSearchGuilds.guilds:type_name -> cs.MFGuild + 78, // 14: cs.SMGuildLogs.guildLogs:type_name -> cs.MFGuildLog + 88, // 15: cs.MFGuild.members:type_name -> cs.MFGuildMember 16, // [16:16] is the sub-list for method output_type 16, // [16:16] is the sub-list for method input_type 16, // [16:16] is the sub-list for extension type_name @@ -6367,7 +6429,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMReject); i { + switch v := v.(*SMApproveJoinGuildNotify); i { case 0: return &v.state case 1: @@ -6379,7 +6441,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMReject); i { + switch v := v.(*CMReject); i { case 0: return &v.state case 1: @@ -6391,7 +6453,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMLeaveGuild); i { + switch v := v.(*SMReject); i { case 0: return &v.state case 1: @@ -6403,7 +6465,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMLeaveGuild); i { + switch v := v.(*CMLeaveGuild); i { case 0: return &v.state case 1: @@ -6415,7 +6477,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMDismissMember); i { + switch v := v.(*SMLeaveGuild); i { case 0: return &v.state case 1: @@ -6427,7 +6489,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMDismissMember); i { + switch v := v.(*CMDismissMember); i { case 0: return &v.state case 1: @@ -6439,7 +6501,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMSetMemberLevel); i { + switch v := v.(*SMDismissMember); i { case 0: return &v.state case 1: @@ -6451,7 +6513,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMSetMemberLevel); i { + switch v := v.(*CMSetMemberLevel); i { case 0: return &v.state case 1: @@ -6463,7 +6525,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMPromoteMember); i { + switch v := v.(*SMSetMemberLevel); i { case 0: return &v.state case 1: @@ -6475,7 +6537,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMPromoteMember); i { + switch v := v.(*CMPromoteMember); i { case 0: return &v.state case 1: @@ -6487,7 +6549,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMDemoteMember); i { + switch v := v.(*SMPromoteMember); i { case 0: return &v.state case 1: @@ -6499,7 +6561,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMDemoteMember); i { + switch v := v.(*CMDemoteMember); i { case 0: return &v.state case 1: @@ -6511,7 +6573,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMGuildMembersList); i { + switch v := v.(*SMDemoteMember); i { case 0: return &v.state case 1: @@ -6523,7 +6585,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMGuildMembersList); i { + switch v := v.(*CMGuildMembersList); i { case 0: return &v.state case 1: @@ -6535,7 +6597,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMDisband); i { + switch v := v.(*SMGuildMembersList); i { case 0: return &v.state case 1: @@ -6547,7 +6609,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMDisband); i { + switch v := v.(*CMDisband); i { case 0: return &v.state case 1: @@ -6559,7 +6621,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMSearchGuilds); i { + switch v := v.(*SMDisband); i { case 0: return &v.state case 1: @@ -6571,7 +6633,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMSearchGuilds); i { + switch v := v.(*CMSearchGuilds); i { case 0: return &v.state case 1: @@ -6583,7 +6645,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMGuildLogs); i { + switch v := v.(*SMSearchGuilds); i { case 0: return &v.state case 1: @@ -6595,7 +6657,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMGuildLogs); i { + switch v := v.(*CMGuildLogs); i { case 0: return &v.state case 1: @@ -6607,7 +6669,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MFGuildLog); i { + switch v := v.(*SMGuildLogs); i { case 0: return &v.state case 1: @@ -6619,7 +6681,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMSetName); i { + switch v := v.(*MFGuildLog); i { case 0: return &v.state case 1: @@ -6631,7 +6693,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMSetName); i { + switch v := v.(*CMSetName); i { case 0: return &v.state case 1: @@ -6643,7 +6705,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMSetAvatar); i { + switch v := v.(*SMSetName); i { case 0: return &v.state case 1: @@ -6655,7 +6717,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMSetAvatar); i { + switch v := v.(*CMSetAvatar); i { case 0: return &v.state case 1: @@ -6667,7 +6729,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMSetNotice); i { + switch v := v.(*SMSetAvatar); i { case 0: return &v.state case 1: @@ -6679,7 +6741,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMSetNotice); i { + switch v := v.(*CMSetNotice); i { case 0: return &v.state case 1: @@ -6691,7 +6753,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMSetJoinCond); i { + switch v := v.(*SMSetNotice); i { case 0: return &v.state case 1: @@ -6703,7 +6765,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMSetJoinCond); i { + switch v := v.(*CMSetJoinCond); i { case 0: return &v.state case 1: @@ -6715,7 +6777,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MFGuild); i { + switch v := v.(*SMSetJoinCond); i { case 0: return &v.state case 1: @@ -6727,6 +6789,18 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MFGuild); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs_proto_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MFGuildMember); i { case 0: return &v.state @@ -6745,7 +6819,7 @@ func file_cs_proto_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cs_proto_proto_rawDesc, NumEnums: 1, - NumMessages: 87, + NumMessages: 88, NumExtensions: 0, NumServices: 0, }, diff --git a/server/imserver/guildmgr.go b/server/imserver/guildmgr.go index f9cb2af2..ff5fb407 100644 --- a/server/imserver/guildmgr.go +++ b/server/imserver/guildmgr.go @@ -223,16 +223,16 @@ func (gm *GuildMgr) ApplyToGuild(guildId int64, applicantAccountId string, cb fu } // Approve 同意申请者加入公会 -func (gm *GuildMgr) Approve(operatorAccountId, accountId string, cb func(errCode int32, errMsg string)) { +func (gm *GuildMgr) Approve(operatorAccountId, accountId string, cb func(errCode int32, errMsg string, guild *Guild)) { guild := gm.GetGuildByAccountId(operatorAccountId) if guild == nil { - cb(ERR_CODE_GUILD_NO_EXISTS, "Approve guild no exists") + cb(ERR_CODE_GUILD_NO_EXISTS, "Approve guild no exists", nil) return } // 默认为审核加入 if guild.JoinCond != JoinCondDefault { - cb(ERR_CODE_JOINED_GUILD, "Approve joined guild") + cb(ERR_CODE_JOINED_GUILD, "Approve joined guild", nil) return } @@ -240,13 +240,13 @@ func (gm *GuildMgr) Approve(operatorAccountId, accountId string, cb func(errCode operatorMember := guild.GetMember(operatorAccountId) err := gm.CheckOperatorPerm(operatorMember, GuildMemberLevelViceLeader) if err != nil { - cb(ERR_CODE_GUILD_OPERATOR_MEMBER_NO_PERM, "Approve operator member no perm") + cb(ERR_CODE_GUILD_OPERATOR_MEMBER_NO_PERM, "Approve operator member no perm", nil) return } // 是否加入其他公会 if gm.CheckJoinGuild(accountId) { - cb(ERR_CODE_JOINED_GUILD, "Approve joined guild") + cb(ERR_CODE_JOINED_GUILD, "Approve joined guild", nil) return } @@ -254,25 +254,25 @@ func (gm *GuildMgr) Approve(operatorAccountId, accountId string, cb func(errCode // 是否在申请队列中 pendingReqStatus := guild.GetPendingReqStatus(accountId) if pendingReqStatus < 0 { - cb(ERR_CODE_GUILD_PENDING_REQUEST_NO_EXISTS, "Approve pending request no exists") + cb(ERR_CODE_GUILD_PENDING_REQUEST_NO_EXISTS, "Approve pending request no exists", nil) return } if guild.IsFull() { - cb(ERR_CODE_GUILD_MEMBER_FULL, "Approve guild member full") + cb(ERR_CODE_GUILD_MEMBER_FULL, "Approve guild member full", nil) return } newMember := &GuildMember{AccountId: accountId, Level: GuildMemberLevelDefault} gm.upsertGuildMember(guildId, newMember, func(err error) { if err != nil { - cb(ERR_CODE_UPDATE_GUILD_MEMBER_DB_FAIL, "Approve update guild member db error") + cb(ERR_CODE_UPDATE_GUILD_MEMBER_DB_FAIL, "Approve update guild member db error", nil) return } guild.AddMember(newMember) gm.AddUserGuild(accountId, guildId) gm.updatePendingReqs(guildId, accountId, PendingReqIsJoinGuildStatusJoined, func(err error) { if err != nil { - cb(ERR_CODE_UPDATE_GUILD_PENDING_REQUEST_DB_FAIL, "Approve db error") + cb(ERR_CODE_UPDATE_GUILD_PENDING_REQUEST_DB_FAIL, "Approve db error", nil) return } @@ -292,7 +292,7 @@ func (gm *GuildMgr) Approve(operatorAccountId, accountId string, cb func(errCode prop, ) - cb(ERR_CODE_OK, "Approve ok") + cb(ERR_CODE_OK, "Approve ok", guild) }) }) } diff --git a/server/imserver/player.go b/server/imserver/player.go index 43732382..34528271 100644 --- a/server/imserver/player.go +++ b/server/imserver/player.go @@ -56,7 +56,7 @@ func (p *Player) CMSearchUser(hdr *f5.MsgHdr, msg *cs.CMSearchUser) { rspMsg.Users = append(rspMsg.Users, friend) } } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -80,7 +80,7 @@ func (p *Player) CMSearchUserByAccountId(hdr *f5.MsgHdr, msg *cs.CMSearchUserByA } } } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -116,7 +116,7 @@ func (p *Player) CMListPendingFriendRequest(hdr *f5.MsgHdr, msg *cs.CMListPendin } f5.GetSysLog().Info("CMListPendingFriendRequest count:%d\n", len(rspMsg.Users)) - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) } // CMListFriend 我的好友列表 @@ -152,7 +152,7 @@ func (p *Player) CMListFriend(hdr *f5.MsgHdr, msg *cs.CMListFriend) { } f5.GetSysLog().Info("CMListFriend finished accountId:%s, friends count:%d\n", accountId, len(rspMsg.Users)) - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) } // CMBlacklist 黑名单列表 @@ -186,7 +186,7 @@ func (p *Player) CMBlacklist(hdr *f5.MsgHdr, msg *cs.CMBlacklist) { } // TODO debug print users f5.GetSysLog().Info("CMBlacklist users count:%d\n", len(rspMsg.Users)) - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) } // CMAddFriendRequest 添加好友请求 @@ -201,7 +201,7 @@ func (p *Player) CMAddFriendRequest(hdr *f5.MsgHdr, msg *cs.CMAddFriendRequest) rspMsg.Errmsg = &errMsg } else { } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -217,7 +217,7 @@ func (p *Player) CMAcceptFriendRequest(hdr *f5.MsgHdr, msg *cs.CMAcceptFriendReq rspMsg.Errmsg = &errMsg } else { } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -233,7 +233,7 @@ func (p *Player) CMRejectFriendRequest(hdr *f5.MsgHdr, msg *cs.CMRejectFriendReq rspMsg.Errmsg = &errMsg } else { } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -246,7 +246,7 @@ func (p *Player) CMDeleteFriendShip(hdr *f5.MsgHdr, msg *cs.CMDeleteFriendShip) rspMsg := new(cs.SMDeleteFriendShip) rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -262,7 +262,7 @@ func (p *Player) CMAddBlacklist(hdr *f5.MsgHdr, msg *cs.CMAddBlacklist) { rspMsg.Errmsg = &errMsg } else { } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -278,7 +278,7 @@ func (p *Player) CMRemoveBlacklist(hdr *f5.MsgHdr, msg *cs.CMRemoveBlacklist) { rspMsg.Errmsg = &errMsg } else { } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -344,14 +344,14 @@ func (p *Player) CMGuildInfo(hdr *f5.MsgHdr, msg *cs.CMGuildInfo) { if guild != nil { rspMsg.Guild = p.FillMFGuild(guild) } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) } // CMRecommendGuildList 推荐公会列表 func (p *Player) CMRecommendGuildList(hdr *f5.MsgHdr, msg *cs.CMRecommendGuildList) { rspMsg := new(cs.SMRecommendGuildList) rspMsg.RecommendGuilds = p.FillMFGuilds(guildMgr.RandomGuilds()) - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) } // CMCreateGuild 创建公会 @@ -366,7 +366,7 @@ func (p *Player) CMCreateGuild(hdr *f5.MsgHdr, msg *cs.CMCreateGuild) { } else { rspMsg.Guild = p.FillMFGuild(guild) } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -380,7 +380,7 @@ func (p *Player) CMApplyToGuild(hdr *f5.MsgHdr, msg *cs.CMApplyToGuild) { rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }, ) } @@ -413,20 +413,29 @@ func (p *Player) CMApplyList(hdr *f5.MsgHdr, msg *cs.CMApplyList) { rspMsg.Members = append(rspMsg.Members, member) } } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) } // CMApprove 同意申请者加入公会 func (p *Player) CMApprove(hdr *f5.MsgHdr, msg *cs.CMApprove) { guildMgr.Approve( p.accountId, msg.GetApplicantAccountId(), - func(errCode int32, errMsg string) { + func(errCode int32, errMsg string, guild *Guild) { rspMsg := new(cs.SMApprove) if errCode != 0 { rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) + if guild != nil { + target := playerMgr.GetPlayerByAccountId(msg.GetApplicantAccountId()) + if target != nil { + rspNotify := new(cs.SMApproveJoinGuildNotify) + rspNotify.GuildId = &guild.GuildId + rspNotify.Name = &guild.Name + target.SendMsg(rspNotify) + } + } }, ) } @@ -441,7 +450,7 @@ func (p *Player) CMReject(hdr *f5.MsgHdr, msg *cs.CMReject) { rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }, ) } @@ -456,7 +465,7 @@ func (p *Player) CMLeaveGuild(hdr *f5.MsgHdr, msg *cs.CMLeaveGuild) { rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }, ) } @@ -472,7 +481,7 @@ func (p *Player) CMDismissMember(hdr *f5.MsgHdr, msg *cs.CMDismissMember) { rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }, ) } @@ -489,7 +498,7 @@ func (p *Player) CMSetMemberLevel(hdr *f5.MsgHdr, msg *cs.CMSetMemberLevel) { rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -504,7 +513,7 @@ func (p *Player) CMPromoteMember(hdr *f5.MsgHdr, msg *cs.CMPromoteMember) { rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -519,7 +528,7 @@ func (p *Player) CMDemoteMember(hdr *f5.MsgHdr, msg *cs.CMDemoteMember) { rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -533,7 +542,7 @@ func (p *Player) CMDisband(hdr *f5.MsgHdr, msg *cs.CMDisband) { rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -548,7 +557,7 @@ func (p *Player) CMSetNotice(hdr *f5.MsgHdr, msg *cs.CMSetNotice) { rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -563,7 +572,7 @@ func (p *Player) CMSetAvatar(hdr *f5.MsgHdr, msg *cs.CMSetAvatar) { rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -578,7 +587,7 @@ func (p *Player) CMSetName(hdr *f5.MsgHdr, msg *cs.CMSetName) { rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -594,7 +603,7 @@ func (p *Player) CMSetJoinCond(hdr *f5.MsgHdr, msg *cs.CMSetJoinCond) { rspMsg.Errcode = &errCode rspMsg.Errmsg = &errMsg } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) }) } @@ -616,29 +625,37 @@ func (p *Player) CMGuildMembersList(hdr *f5.MsgHdr, msg *cs.CMGuildMembersList) } } } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) } // CMSearchGuilds 搜索公会 func (p *Player) CMSearchGuilds(hdr *f5.MsgHdr, msg *cs.CMSearchGuilds) { - sinceId := msg.GetSinceId() - name := msg.GetName() - guildMgr.SearchGuild(sinceId, name, func(errCode int32, errMsg string, lastId int64, guildIds []int64) { - rspMsg := new(cs.SMSearchGuilds) - if errCode != 0 { - rspMsg.Errcode = &errCode - rspMsg.Errmsg = &errMsg - } else { - for _, guildId := range guildIds { - guild := guildMgr.GetGuild(guildId) - if guild != nil { - rspMsg.Guilds = append(rspMsg.Guilds, p.FillMFGuild(guild)) - } - } + rspMsg := new(cs.SMSearchGuilds) + for _, guild := range guildMgr.guilds { + if guild.Name == msg.GetName() { + rspMsg.Guilds = append(rspMsg.Guilds, p.FillMFGuild(guild)) + break } - f5.GetSysLog().Info("CMSearchGuilds since:%, name[%s], result:%d \n", sinceId, msg.GetName(), len(rspMsg.Guilds)) - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) - }) + } + f5.GetSysLog().Info("CMSearchGuilds name[%s], result:%d \n", msg.GetName(), len(rspMsg.Guilds)) + p.SendMsg(rspMsg) + // Like search + //guildMgr.SearchGuild(sinceId, name, func(errCode int32, errMsg string, lastId int64, guildIds []int64) { + // rspMsg := new(cs.SMSearchGuilds) + // if errCode != 0 { + // rspMsg.Errcode = &errCode + // rspMsg.Errmsg = &errMsg + // } else { + // for _, guildId := range guildIds { + // guild := guildMgr.GetGuild(guildId) + // if guild != nil { + // rspMsg.Guilds = append(rspMsg.Guilds, p.FillMFGuild(guild)) + // } + // } + // } + // f5.GetSysLog().Info("CMSearchGuilds since:%, name[%s], result:%d \n", sinceId, msg.GetName(), len(rspMsg.Guilds)) + // p.SendMsg(rspMsg) + //}) } // CMGuildLogs 请求公会日志 @@ -646,7 +663,7 @@ func (p *Player) CMGuildLogs(hdr *f5.MsgHdr, msg *cs.CMGuildLogs) { rspMsg := new(cs.SMGuildLogs) guild := guildMgr.GetGuildByAccountId(p.accountId) if guild == nil { - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) return } for _, g := range guildMgr.GetGuildLogs(guild.GetGuildId()) { @@ -658,7 +675,7 @@ func (p *Player) CMGuildLogs(hdr *f5.MsgHdr, msg *cs.CMGuildLogs) { } rspMsg.GuildLogs = append(rspMsg.GuildLogs, guildLog) } - wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + p.SendMsg(rspMsg) } func (p *Player) FillMFGuildMember(member *GuildMember) *cs.MFGuildMember { diff --git a/server/imserver/proto/cs_msgid.proto b/server/imserver/proto/cs_msgid.proto index 40825b73..5df079e1 100644 --- a/server/imserver/proto/cs_msgid.proto +++ b/server/imserver/proto/cs_msgid.proto @@ -93,10 +93,13 @@ enum SMMessageId_e _SMSetJoinCond = 138; _SMRecommendGuildList = 139; - // 聊天相关 - _SMUpdateChatRedPointNotify = 200; - _SMChatMsgNotify = 201; - _SMUpdateRedPointNotify = 202; - _SMUpdatePrivateChatRedPointNotify = 203; - _SMUpdateChatChannelLastId = 204; + // 聊天相关通知 + _SMUpdateChatRedPointNotify = 1000; + _SMChatMsgNotify = 1001; + _SMUpdateRedPointNotify = 1002; + _SMUpdatePrivateChatRedPointNotify = 1003; + _SMUpdateChatChannelLastId = 1004; + + // 公会相关通知 + _SMApproveJoinGuildNotify = 1010; } diff --git a/server/imserver/proto/cs_proto.proto b/server/imserver/proto/cs_proto.proto index cd6e6085..d89b3ea1 100644 --- a/server/imserver/proto/cs_proto.proto +++ b/server/imserver/proto/cs_proto.proto @@ -438,6 +438,13 @@ message SMApprove optional string errmsg = 2; } +// 收到批准加入公会 +message SMApproveJoinGuildNotify +{ + optional int64 guild_id = 1; + optional string name = 2; +} + // 请求拒绝加入公会 message CMReject { diff --git a/server/imserver/wsplistener.go b/server/imserver/wsplistener.go index 848a84ef..9bf6b0e2 100644 --- a/server/imserver/wsplistener.go +++ b/server/imserver/wsplistener.go @@ -157,6 +157,9 @@ func (this *WSPListener) parseNetPkt() { func (this *WSPListener) sendProxyMsg(conn net.Conn, socketHandle uint16, msg proto.Message) { netMsg := msg.(f5.NetMsg) + if !f5.IsOnlineEnv() { + f5.GetSysLog().Info("%s %s", q5.GetTypeName(msg), q5.EncodeJson(msg)) + } msgData, err := proto.Marshal(msg) if err != nil { return