diff --git a/database/frienddb.sql b/database/frienddb.sql index 15a46284..fc61083d 100644 --- a/database/frienddb.sql +++ b/database/frienddb.sql @@ -35,10 +35,12 @@ PRIMARY KEY (`idx`), UNIQUE KEY `friend_req` (`sender_account_id`,`receiver_account_id`) ) COMMENT "等待验证的好友请求"; -CREATE TABLE `t_friend_blocked` ( +drop table if exists t_friend_blacklist; +CREATE TABLE `t_friend_blacklist` ( `idx` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增id', `account_id` varchar(60) COLLATE utf8_bin NOT NULL, `blocked_account_id` varchar(60) COLLATE utf8_bin NOT NULL, +`is_removed` tinyint(4) DEFAULT '0' COMMENT '是否移除黑名单 default:0, removed:1', `createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间', PRIMARY KEY (`idx`), diff --git a/server/imserver/cs/cs.auto_gen.go b/server/imserver/cs/cs.auto_gen.go index 30c0b6f8..b634284b 100644 --- a/server/imserver/cs/cs.auto_gen.go +++ b/server/imserver/cs/cs.auto_gen.go @@ -46,6 +46,8 @@ type MsgHandler interface { CMListPendingFriendRequest(*f5.MsgHdr, *CMListPendingFriendRequest) CMListFriend(*f5.MsgHdr, *CMListFriend) CMDeleteFriendShip(*f5.MsgHdr, *CMDeleteFriendShip) + CMAddBlacklist(*f5.MsgHdr, *CMAddBlacklist) + CMRemoveBlacklist(*f5.MsgHdr, *CMRemoveBlacklist) CMGuildInfo(*f5.MsgHdr, *CMGuildInfo) CMCreateGuild(*f5.MsgHdr, *CMCreateGuild) CMApplyToGuild(*f5.MsgHdr, *CMApplyToGuild) @@ -92,6 +94,12 @@ func (this *MsgHandlerImpl) CMListFriend(hdr *f5.MsgHdr, msg *CMListFriend) { func (this *MsgHandlerImpl) CMDeleteFriendShip(hdr *f5.MsgHdr, msg *CMDeleteFriendShip) { } +func (this *MsgHandlerImpl) CMAddBlacklist(hdr *f5.MsgHdr, msg *CMAddBlacklist) { +} + +func (this *MsgHandlerImpl) CMRemoveBlacklist(hdr *f5.MsgHdr, msg *CMRemoveBlacklist) { +} + func (this *MsgHandlerImpl) CMGuildInfo(hdr *f5.MsgHdr, msg *CMGuildInfo) { } @@ -217,6 +225,22 @@ func (this *SMDeleteFriendShip) GetNetMsgId() uint16 { return uint16(SMMessageIdE__SMDeleteFriendShip) } +func (this *CMAddBlacklist) GetNetMsgId() uint16 { + return uint16(CMMessageIdE__CMAddBlacklist) +} + +func (this *SMAddBlacklist) GetNetMsgId() uint16 { + return uint16(SMMessageIdE__SMAddBlacklist) +} + +func (this *CMRemoveBlacklist) GetNetMsgId() uint16 { + return uint16(CMMessageIdE__CMRemoveBlacklist) +} + +func (this *SMRemoveBlacklist) GetNetMsgId() uint16 { + return uint16(SMMessageIdE__SMRemoveBlacklist) +} + func (this *CMGuildInfo) GetNetMsgId() uint16 { return uint16(CMMessageIdE__CMGuildInfo) } @@ -439,6 +463,30 @@ func init() { }, } + handlers[int(CMMessageIdE__CMAddBlacklist)] = &CsNetMsgHandler{ + MsgId: int(CMMessageIdE__CMAddBlacklist), + ParseCb: func (data []byte) interface{} { + msg := &CMAddBlacklist{} + proto.Unmarshal(data, msg) + return msg + }, + Cb: func (hdr *f5.MsgHdr, handler MsgHandler) { + handler.CMAddBlacklist(hdr, hdr.Msg.(*CMAddBlacklist)) + }, + } + + handlers[int(CMMessageIdE__CMRemoveBlacklist)] = &CsNetMsgHandler{ + MsgId: int(CMMessageIdE__CMRemoveBlacklist), + ParseCb: func (data []byte) interface{} { + msg := &CMRemoveBlacklist{} + proto.Unmarshal(data, msg) + return msg + }, + Cb: func (hdr *f5.MsgHdr, handler MsgHandler) { + handler.CMRemoveBlacklist(hdr, hdr.Msg.(*CMRemoveBlacklist)) + }, + } + handlers[int(CMMessageIdE__CMGuildInfo)] = &CsNetMsgHandler{ MsgId: int(CMMessageIdE__CMGuildInfo), ParseCb: func (data []byte) interface{} { diff --git a/server/imserver/cs/cs_msgid.pb.go b/server/imserver/cs/cs_msgid.pb.go index 33708bf1..4bcb4d9f 100644 --- a/server/imserver/cs/cs_msgid.pb.go +++ b/server/imserver/cs/cs_msgid.pb.go @@ -36,6 +36,8 @@ const ( CMMessageIdE__CMListPendingFriendRequest CMMessageIdE = 110 CMMessageIdE__CMListFriend CMMessageIdE = 111 CMMessageIdE__CMDeleteFriendShip CMMessageIdE = 112 + CMMessageIdE__CMAddBlacklist CMMessageIdE = 113 + CMMessageIdE__CMRemoveBlacklist CMMessageIdE = 114 // 公会相关 CMMessageIdE__CMGuildInfo CMMessageIdE = 120 CMMessageIdE__CMCreateGuild CMMessageIdE = 121 @@ -64,6 +66,8 @@ var ( 110: "_CMListPendingFriendRequest", 111: "_CMListFriend", 112: "_CMDeleteFriendShip", + 113: "_CMAddBlacklist", + 114: "_CMRemoveBlacklist", 120: "_CMGuildInfo", 121: "_CMCreateGuild", 122: "_CMApplyToGuild", @@ -88,6 +92,8 @@ var ( "_CMListPendingFriendRequest": 110, "_CMListFriend": 111, "_CMDeleteFriendShip": 112, + "_CMAddBlacklist": 113, + "_CMRemoveBlacklist": 114, "_CMGuildInfo": 120, "_CMCreateGuild": 121, "_CMApplyToGuild": 122, @@ -154,6 +160,8 @@ const ( SMMessageIdE__SMListPendingFriendRequest SMMessageIdE = 110 SMMessageIdE__SMListFriend SMMessageIdE = 111 SMMessageIdE__SMDeleteFriendShip SMMessageIdE = 112 + SMMessageIdE__SMAddBlacklist SMMessageIdE = 113 + SMMessageIdE__SMRemoveBlacklist SMMessageIdE = 114 // 公会相关 SMMessageIdE__SMGuildInfo SMMessageIdE = 120 SMMessageIdE__SMCreateGuild SMMessageIdE = 121 @@ -183,6 +191,8 @@ var ( 110: "_SMListPendingFriendRequest", 111: "_SMListFriend", 112: "_SMDeleteFriendShip", + 113: "_SMAddBlacklist", + 114: "_SMRemoveBlacklist", 120: "_SMGuildInfo", 121: "_SMCreateGuild", 122: "_SMApplyToGuild", @@ -208,6 +218,8 @@ var ( "_SMListPendingFriendRequest": 110, "_SMListFriend": 111, "_SMDeleteFriendShip": 112, + "_SMAddBlacklist": 113, + "_SMRemoveBlacklist": 114, "_SMGuildInfo": 120, "_SMCreateGuild": 121, "_SMApplyToGuild": 122, @@ -263,7 +275,7 @@ var File_cs_msgid_proto protoreflect.FileDescriptor var file_cs_msgid_proto_rawDesc = []byte{ 0x0a, 0x0e, 0x63, 0x73, 0x5f, 0x6d, 0x73, 0x67, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x02, 0x63, 0x73, 0x2a, 0xe1, 0x03, 0x0a, 0x0d, 0x43, 0x4d, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x12, 0x02, 0x63, 0x73, 0x2a, 0x8e, 0x04, 0x0a, 0x0d, 0x43, 0x4d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x5f, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x5f, 0x43, 0x4d, 0x50, 0x69, 0x6e, 0x67, 0x10, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x5f, 0x43, 0x4d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x10, 0x67, 0x12, 0x10, 0x0a, 0x0c, 0x5f, 0x43, 0x4d, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, @@ -280,52 +292,57 @@ var file_cs_msgid_proto_rawDesc = []byte{ 0x75, 0x65, 0x73, 0x74, 0x10, 0x6e, 0x12, 0x11, 0x0a, 0x0d, 0x5f, 0x43, 0x4d, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x10, 0x6f, 0x12, 0x17, 0x0a, 0x13, 0x5f, 0x43, 0x4d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x68, 0x69, 0x70, - 0x10, 0x70, 0x12, 0x10, 0x0a, 0x0c, 0x5f, 0x43, 0x4d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, - 0x66, 0x6f, 0x10, 0x78, 0x12, 0x12, 0x0a, 0x0e, 0x5f, 0x43, 0x4d, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x79, 0x12, 0x13, 0x0a, 0x0f, 0x5f, 0x43, 0x4d, 0x41, - 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x7a, 0x12, 0x0e, 0x0a, - 0x0a, 0x5f, 0x43, 0x4d, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x10, 0x7b, 0x12, 0x0d, 0x0a, - 0x09, 0x5f, 0x43, 0x4d, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x7c, 0x12, 0x11, 0x0a, 0x0d, - 0x5f, 0x43, 0x4d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x7d, 0x12, - 0x14, 0x0a, 0x10, 0x5f, 0x43, 0x4d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x10, 0x7e, 0x12, 0x14, 0x0a, 0x10, 0x5f, 0x43, 0x4d, 0x50, 0x72, 0x6f, 0x6d, - 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x7f, 0x12, 0x14, 0x0a, 0x0f, 0x5f, - 0x43, 0x4d, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x80, - 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x5f, 0x43, 0x4d, 0x44, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x10, - 0x81, 0x01, 0x12, 0x14, 0x0a, 0x0f, 0x5f, 0x43, 0x4d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x73, 0x10, 0x82, 0x01, 0x2a, 0xf2, 0x03, 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, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x10, 0x67, 0x12, 0x10, 0x0a, 0x0c, 0x5f, 0x53, 0x4d, 0x52, 0x65, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, 0x68, 0x12, 0x1c, 0x0a, 0x18, 0x5f, 0x53, 0x4d, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x10, 0x69, 0x12, 0x11, 0x0a, 0x0d, 0x5f, 0x53, 0x4d, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x10, 0x6a, 0x12, 0x17, 0x0a, 0x13, 0x5f, 0x53, 0x4d, - 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x10, 0x6b, 0x12, 0x1a, 0x0a, 0x16, 0x5f, 0x53, 0x4d, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x6c, 0x12, 0x1a, - 0x0a, 0x16, 0x5f, 0x53, 0x4d, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x6d, 0x12, 0x1f, 0x0a, 0x1b, 0x5f, 0x53, - 0x4d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x6e, 0x12, 0x11, 0x0a, 0x0d, 0x5f, - 0x53, 0x4d, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x10, 0x6f, 0x12, 0x17, - 0x0a, 0x13, 0x5f, 0x53, 0x4d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x53, 0x68, 0x69, 0x70, 0x10, 0x70, 0x12, 0x10, 0x0a, 0x0c, 0x5f, 0x53, 0x4d, 0x47, 0x75, - 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x78, 0x12, 0x12, 0x0a, 0x0e, 0x5f, 0x53, 0x4d, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x79, 0x12, 0x13, 0x0a, - 0x0f, 0x5f, 0x53, 0x4d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x47, 0x75, 0x69, 0x6c, 0x64, - 0x10, 0x7a, 0x12, 0x0e, 0x0a, 0x0a, 0x5f, 0x53, 0x4d, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, - 0x10, 0x7b, 0x12, 0x0d, 0x0a, 0x09, 0x5f, 0x53, 0x4d, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x10, - 0x7c, 0x12, 0x11, 0x0a, 0x0d, 0x5f, 0x53, 0x4d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x10, 0x7d, 0x12, 0x14, 0x0a, 0x10, 0x5f, 0x53, 0x4d, 0x44, 0x69, 0x73, 0x6d, 0x69, - 0x73, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x7e, 0x12, 0x14, 0x0a, 0x10, 0x5f, 0x53, - 0x4d, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x7f, - 0x12, 0x14, 0x0a, 0x0f, 0x5f, 0x53, 0x4d, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x10, 0x80, 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x5f, 0x53, 0x4d, 0x44, 0x69, 0x73, - 0x62, 0x61, 0x6e, 0x64, 0x10, 0x81, 0x01, 0x12, 0x14, 0x0a, 0x0f, 0x5f, 0x53, 0x4d, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x10, 0x82, 0x01, 0x42, 0x06, 0x5a, - 0x04, 0x2e, 0x3b, 0x63, 0x73, + 0x10, 0x70, 0x12, 0x13, 0x0a, 0x0f, 0x5f, 0x43, 0x4d, 0x41, 0x64, 0x64, 0x42, 0x6c, 0x61, 0x63, + 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x10, 0x71, 0x12, 0x16, 0x0a, 0x12, 0x5f, 0x43, 0x4d, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x10, 0x72, 0x12, + 0x10, 0x0a, 0x0c, 0x5f, 0x43, 0x4d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x10, + 0x78, 0x12, 0x12, 0x0a, 0x0e, 0x5f, 0x43, 0x4d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x75, + 0x69, 0x6c, 0x64, 0x10, 0x79, 0x12, 0x13, 0x0a, 0x0f, 0x5f, 0x43, 0x4d, 0x41, 0x70, 0x70, 0x6c, + 0x79, 0x54, 0x6f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x7a, 0x12, 0x0e, 0x0a, 0x0a, 0x5f, 0x43, + 0x4d, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x10, 0x7b, 0x12, 0x0d, 0x0a, 0x09, 0x5f, 0x43, + 0x4d, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x7c, 0x12, 0x11, 0x0a, 0x0d, 0x5f, 0x43, 0x4d, + 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x7d, 0x12, 0x14, 0x0a, 0x10, + 0x5f, 0x43, 0x4d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x10, 0x7e, 0x12, 0x14, 0x0a, 0x10, 0x5f, 0x43, 0x4d, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x7f, 0x12, 0x14, 0x0a, 0x0f, 0x5f, 0x43, 0x4d, 0x44, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x80, 0x01, 0x12, 0x0f, + 0x0a, 0x0a, 0x5f, 0x43, 0x4d, 0x44, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x10, 0x81, 0x01, 0x12, + 0x14, 0x0a, 0x0f, 0x5f, 0x43, 0x4d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, 0x75, 0x69, 0x6c, + 0x64, 0x73, 0x10, 0x82, 0x01, 0x2a, 0x9f, 0x04, 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, 0x4c, 0x6f, 0x67, 0x69, + 0x6e, 0x10, 0x67, 0x12, 0x10, 0x0a, 0x0c, 0x5f, 0x53, 0x4d, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x10, 0x68, 0x12, 0x1c, 0x0a, 0x18, 0x5f, 0x53, 0x4d, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x10, 0x69, 0x12, 0x11, 0x0a, 0x0d, 0x5f, 0x53, 0x4d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x55, 0x73, 0x65, 0x72, 0x10, 0x6a, 0x12, 0x17, 0x0a, 0x13, 0x5f, 0x53, 0x4d, 0x41, 0x64, 0x64, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x6b, 0x12, + 0x1a, 0x0a, 0x16, 0x5f, 0x53, 0x4d, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x6c, 0x12, 0x1a, 0x0a, 0x16, 0x5f, + 0x53, 0x4d, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x6d, 0x12, 0x1f, 0x0a, 0x1b, 0x5f, 0x53, 0x4d, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x6e, 0x12, 0x11, 0x0a, 0x0d, 0x5f, 0x53, 0x4d, 0x4c, + 0x69, 0x73, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x10, 0x6f, 0x12, 0x17, 0x0a, 0x13, 0x5f, + 0x53, 0x4d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x68, + 0x69, 0x70, 0x10, 0x70, 0x12, 0x13, 0x0a, 0x0f, 0x5f, 0x53, 0x4d, 0x41, 0x64, 0x64, 0x42, 0x6c, + 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x10, 0x71, 0x12, 0x16, 0x0a, 0x12, 0x5f, 0x53, 0x4d, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x10, + 0x72, 0x12, 0x10, 0x0a, 0x0c, 0x5f, 0x53, 0x4d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, + 0x6f, 0x10, 0x78, 0x12, 0x12, 0x0a, 0x0e, 0x5f, 0x53, 0x4d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x79, 0x12, 0x13, 0x0a, 0x0f, 0x5f, 0x53, 0x4d, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x7a, 0x12, 0x0e, 0x0a, 0x0a, + 0x5f, 0x53, 0x4d, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x10, 0x7b, 0x12, 0x0d, 0x0a, 0x09, + 0x5f, 0x53, 0x4d, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x7c, 0x12, 0x11, 0x0a, 0x0d, 0x5f, + 0x53, 0x4d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x7d, 0x12, 0x14, + 0x0a, 0x10, 0x5f, 0x53, 0x4d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x10, 0x7e, 0x12, 0x14, 0x0a, 0x10, 0x5f, 0x53, 0x4d, 0x50, 0x72, 0x6f, 0x6d, 0x6f, + 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x7f, 0x12, 0x14, 0x0a, 0x0f, 0x5f, 0x53, + 0x4d, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x80, 0x01, + 0x12, 0x0f, 0x0a, 0x0a, 0x5f, 0x53, 0x4d, 0x44, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x10, 0x81, + 0x01, 0x12, 0x14, 0x0a, 0x0f, 0x5f, 0x53, 0x4d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, 0x75, + 0x69, 0x6c, 0x64, 0x73, 0x10, 0x82, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x63, 0x73, } var ( diff --git a/server/imserver/cs/cs_proto.pb.go b/server/imserver/cs/cs_proto.pb.go index de6eec33..02d254ce 100644 --- a/server/imserver/cs/cs_proto.pb.go +++ b/server/imserver/cs/cs_proto.pb.go @@ -1539,6 +1539,214 @@ func (x *SMDeleteFriendShip) GetStatus() string { return "" } +// 请求加入黑名单 +type CMAddBlacklist struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TargetAccountId *string `protobuf:"bytes,1,opt,name=target_account_id,json=targetAccountId" json:"target_account_id,omitempty"` // 账号id +} + +func (x *CMAddBlacklist) Reset() { + *x = CMAddBlacklist{} + if protoimpl.UnsafeEnabled { + mi := &file_cs_proto_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMAddBlacklist) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMAddBlacklist) ProtoMessage() {} + +func (x *CMAddBlacklist) ProtoReflect() protoreflect.Message { + mi := &file_cs_proto_proto_msgTypes[27] + 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 CMAddBlacklist.ProtoReflect.Descriptor instead. +func (*CMAddBlacklist) Descriptor() ([]byte, []int) { + return file_cs_proto_proto_rawDescGZIP(), []int{27} +} + +func (x *CMAddBlacklist) GetTargetAccountId() string { + if x != nil && x.TargetAccountId != nil { + return *x.TargetAccountId + } + return "" +} + +// 回复加入黑名单 +type SMAddBlacklist struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reason *string `protobuf:"bytes,1,opt,name=reason" json:"reason,omitempty"` + Status *string `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"` +} + +func (x *SMAddBlacklist) Reset() { + *x = SMAddBlacklist{} + if protoimpl.UnsafeEnabled { + mi := &file_cs_proto_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SMAddBlacklist) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SMAddBlacklist) ProtoMessage() {} + +func (x *SMAddBlacklist) ProtoReflect() protoreflect.Message { + mi := &file_cs_proto_proto_msgTypes[28] + 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 SMAddBlacklist.ProtoReflect.Descriptor instead. +func (*SMAddBlacklist) Descriptor() ([]byte, []int) { + return file_cs_proto_proto_rawDescGZIP(), []int{28} +} + +func (x *SMAddBlacklist) GetReason() string { + if x != nil && x.Reason != nil { + return *x.Reason + } + return "" +} + +func (x *SMAddBlacklist) GetStatus() string { + if x != nil && x.Status != nil { + return *x.Status + } + return "" +} + +// 请求移除黑名单 +type CMRemoveBlacklist struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TargetAccountId *string `protobuf:"bytes,1,opt,name=target_account_id,json=targetAccountId" json:"target_account_id,omitempty"` // 账号id +} + +func (x *CMRemoveBlacklist) Reset() { + *x = CMRemoveBlacklist{} + if protoimpl.UnsafeEnabled { + mi := &file_cs_proto_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMRemoveBlacklist) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMRemoveBlacklist) ProtoMessage() {} + +func (x *CMRemoveBlacklist) ProtoReflect() protoreflect.Message { + mi := &file_cs_proto_proto_msgTypes[29] + 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 CMRemoveBlacklist.ProtoReflect.Descriptor instead. +func (*CMRemoveBlacklist) Descriptor() ([]byte, []int) { + return file_cs_proto_proto_rawDescGZIP(), []int{29} +} + +func (x *CMRemoveBlacklist) GetTargetAccountId() string { + if x != nil && x.TargetAccountId != nil { + return *x.TargetAccountId + } + return "" +} + +// 回复移除黑名单 +type SMRemoveBlacklist struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reason *string `protobuf:"bytes,1,opt,name=reason" json:"reason,omitempty"` + Status *string `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"` +} + +func (x *SMRemoveBlacklist) Reset() { + *x = SMRemoveBlacklist{} + if protoimpl.UnsafeEnabled { + mi := &file_cs_proto_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SMRemoveBlacklist) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SMRemoveBlacklist) ProtoMessage() {} + +func (x *SMRemoveBlacklist) ProtoReflect() protoreflect.Message { + mi := &file_cs_proto_proto_msgTypes[30] + 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 SMRemoveBlacklist.ProtoReflect.Descriptor instead. +func (*SMRemoveBlacklist) Descriptor() ([]byte, []int) { + return file_cs_proto_proto_rawDescGZIP(), []int{30} +} + +func (x *SMRemoveBlacklist) GetReason() string { + if x != nil && x.Reason != nil { + return *x.Reason + } + return "" +} + +func (x *SMRemoveBlacklist) GetStatus() string { + if x != nil && x.Status != nil { + return *x.Status + } + return "" +} + type MFUser struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1551,7 +1759,7 @@ type MFUser struct { func (x *MFUser) Reset() { *x = MFUser{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[27] + mi := &file_cs_proto_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1564,7 +1772,7 @@ func (x *MFUser) String() string { func (*MFUser) ProtoMessage() {} func (x *MFUser) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[27] + mi := &file_cs_proto_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1577,7 +1785,7 @@ func (x *MFUser) ProtoReflect() protoreflect.Message { // Deprecated: Use MFUser.ProtoReflect.Descriptor instead. func (*MFUser) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{27} + return file_cs_proto_proto_rawDescGZIP(), []int{31} } func (x *MFUser) GetAccountId() string { @@ -1604,7 +1812,7 @@ type CMGuildInfo struct { func (x *CMGuildInfo) Reset() { *x = CMGuildInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[28] + mi := &file_cs_proto_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1617,7 +1825,7 @@ func (x *CMGuildInfo) String() string { func (*CMGuildInfo) ProtoMessage() {} func (x *CMGuildInfo) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[28] + mi := &file_cs_proto_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1630,7 +1838,7 @@ func (x *CMGuildInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CMGuildInfo.ProtoReflect.Descriptor instead. func (*CMGuildInfo) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{28} + return file_cs_proto_proto_rawDescGZIP(), []int{32} } // 回复公会信息 @@ -1646,7 +1854,7 @@ type SMGuildInfo struct { func (x *SMGuildInfo) Reset() { *x = SMGuildInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[29] + mi := &file_cs_proto_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1659,7 +1867,7 @@ func (x *SMGuildInfo) String() string { func (*SMGuildInfo) ProtoMessage() {} func (x *SMGuildInfo) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[29] + mi := &file_cs_proto_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1672,7 +1880,7 @@ func (x *SMGuildInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SMGuildInfo.ProtoReflect.Descriptor instead. func (*SMGuildInfo) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{29} + return file_cs_proto_proto_rawDescGZIP(), []int{33} } func (x *SMGuildInfo) GetCurrGuild() *MFGuild { @@ -1701,7 +1909,7 @@ type CMCreateGuild struct { func (x *CMCreateGuild) Reset() { *x = CMCreateGuild{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[30] + mi := &file_cs_proto_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1714,7 +1922,7 @@ func (x *CMCreateGuild) String() string { func (*CMCreateGuild) ProtoMessage() {} func (x *CMCreateGuild) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[30] + mi := &file_cs_proto_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1727,7 +1935,7 @@ func (x *CMCreateGuild) ProtoReflect() protoreflect.Message { // Deprecated: Use CMCreateGuild.ProtoReflect.Descriptor instead. func (*CMCreateGuild) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{30} + return file_cs_proto_proto_rawDescGZIP(), []int{34} } func (x *CMCreateGuild) GetName() string { @@ -1750,7 +1958,7 @@ type SMCreateGuild struct { func (x *SMCreateGuild) Reset() { *x = SMCreateGuild{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[31] + mi := &file_cs_proto_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1763,7 +1971,7 @@ func (x *SMCreateGuild) String() string { func (*SMCreateGuild) ProtoMessage() {} func (x *SMCreateGuild) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[31] + mi := &file_cs_proto_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1776,7 +1984,7 @@ func (x *SMCreateGuild) ProtoReflect() protoreflect.Message { // Deprecated: Use SMCreateGuild.ProtoReflect.Descriptor instead. func (*SMCreateGuild) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{31} + return file_cs_proto_proto_rawDescGZIP(), []int{35} } func (x *SMCreateGuild) GetGuildId() int64 { @@ -1805,7 +2013,7 @@ type CMApplyToGuild struct { func (x *CMApplyToGuild) Reset() { *x = CMApplyToGuild{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[32] + mi := &file_cs_proto_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1818,7 +2026,7 @@ func (x *CMApplyToGuild) String() string { func (*CMApplyToGuild) ProtoMessage() {} func (x *CMApplyToGuild) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[32] + mi := &file_cs_proto_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1831,7 +2039,7 @@ func (x *CMApplyToGuild) ProtoReflect() protoreflect.Message { // Deprecated: Use CMApplyToGuild.ProtoReflect.Descriptor instead. func (*CMApplyToGuild) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{32} + return file_cs_proto_proto_rawDescGZIP(), []int{36} } func (x *CMApplyToGuild) GetGuildId() int64 { @@ -1853,7 +2061,7 @@ type SMApplyToGuild struct { func (x *SMApplyToGuild) Reset() { *x = SMApplyToGuild{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[33] + mi := &file_cs_proto_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1866,7 +2074,7 @@ func (x *SMApplyToGuild) String() string { func (*SMApplyToGuild) ProtoMessage() {} func (x *SMApplyToGuild) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[33] + mi := &file_cs_proto_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1879,7 +2087,7 @@ func (x *SMApplyToGuild) ProtoReflect() protoreflect.Message { // Deprecated: Use SMApplyToGuild.ProtoReflect.Descriptor instead. func (*SMApplyToGuild) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{33} + return file_cs_proto_proto_rawDescGZIP(), []int{37} } func (x *SMApplyToGuild) GetErrMsg() string { @@ -1902,7 +2110,7 @@ type CMApprove struct { func (x *CMApprove) Reset() { *x = CMApprove{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[34] + mi := &file_cs_proto_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1915,7 +2123,7 @@ func (x *CMApprove) String() string { func (*CMApprove) ProtoMessage() {} func (x *CMApprove) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[34] + mi := &file_cs_proto_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1928,7 +2136,7 @@ func (x *CMApprove) ProtoReflect() protoreflect.Message { // Deprecated: Use CMApprove.ProtoReflect.Descriptor instead. func (*CMApprove) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{34} + return file_cs_proto_proto_rawDescGZIP(), []int{38} } func (x *CMApprove) GetGuildId() int64 { @@ -1957,7 +2165,7 @@ type SMApprove struct { func (x *SMApprove) Reset() { *x = SMApprove{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[35] + mi := &file_cs_proto_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1970,7 +2178,7 @@ func (x *SMApprove) String() string { func (*SMApprove) ProtoMessage() {} func (x *SMApprove) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[35] + mi := &file_cs_proto_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1983,7 +2191,7 @@ func (x *SMApprove) ProtoReflect() protoreflect.Message { // Deprecated: Use SMApprove.ProtoReflect.Descriptor instead. func (*SMApprove) Descriptor() ([]byte, []int) { - return file_cs_proto_proto_rawDescGZIP(), []int{35} + return file_cs_proto_proto_rawDescGZIP(), []int{39} } func (x *SMApprove) GetErrMsg() string { @@ -2006,7 +2214,7 @@ type CMReject struct { func (x *CMReject) Reset() { *x = CMReject{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[36] + mi := &file_cs_proto_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2019,7 +2227,7 @@ func (x *CMReject) String() string { func (*CMReject) ProtoMessage() {} func (x *CMReject) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[36] + mi := &file_cs_proto_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2032,7 +2240,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{36} + return file_cs_proto_proto_rawDescGZIP(), []int{40} } func (x *CMReject) GetGuildId() int64 { @@ -2061,7 +2269,7 @@ type SMReject struct { func (x *SMReject) Reset() { *x = SMReject{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[37] + mi := &file_cs_proto_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2074,7 +2282,7 @@ func (x *SMReject) String() string { func (*SMReject) ProtoMessage() {} func (x *SMReject) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[37] + mi := &file_cs_proto_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2087,7 +2295,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{37} + return file_cs_proto_proto_rawDescGZIP(), []int{41} } func (x *SMReject) GetErrMsg() string { @@ -2109,7 +2317,7 @@ type CMLeaveGuild struct { func (x *CMLeaveGuild) Reset() { *x = CMLeaveGuild{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[38] + mi := &file_cs_proto_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2122,7 +2330,7 @@ func (x *CMLeaveGuild) String() string { func (*CMLeaveGuild) ProtoMessage() {} func (x *CMLeaveGuild) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[38] + mi := &file_cs_proto_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2135,7 +2343,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{38} + return file_cs_proto_proto_rawDescGZIP(), []int{42} } func (x *CMLeaveGuild) GetGuildId() int64 { @@ -2157,7 +2365,7 @@ type SMLeaveGuild struct { func (x *SMLeaveGuild) Reset() { *x = SMLeaveGuild{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[39] + mi := &file_cs_proto_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2170,7 +2378,7 @@ func (x *SMLeaveGuild) String() string { func (*SMLeaveGuild) ProtoMessage() {} func (x *SMLeaveGuild) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[39] + mi := &file_cs_proto_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2183,7 +2391,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{39} + return file_cs_proto_proto_rawDescGZIP(), []int{43} } func (x *SMLeaveGuild) GetErrMsg() string { @@ -2206,7 +2414,7 @@ type CMDismissMember struct { func (x *CMDismissMember) Reset() { *x = CMDismissMember{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[40] + mi := &file_cs_proto_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2219,7 +2427,7 @@ func (x *CMDismissMember) String() string { func (*CMDismissMember) ProtoMessage() {} func (x *CMDismissMember) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[40] + mi := &file_cs_proto_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2232,7 +2440,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{40} + return file_cs_proto_proto_rawDescGZIP(), []int{44} } func (x *CMDismissMember) GetGuildId() int64 { @@ -2261,7 +2469,7 @@ type SMDismissMember struct { func (x *SMDismissMember) Reset() { *x = SMDismissMember{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[41] + mi := &file_cs_proto_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2274,7 +2482,7 @@ func (x *SMDismissMember) String() string { func (*SMDismissMember) ProtoMessage() {} func (x *SMDismissMember) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[41] + mi := &file_cs_proto_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2287,7 +2495,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{41} + return file_cs_proto_proto_rawDescGZIP(), []int{45} } func (x *SMDismissMember) GetErrMsg() string { @@ -2310,7 +2518,7 @@ type CMPromoteMember struct { func (x *CMPromoteMember) Reset() { *x = CMPromoteMember{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[42] + mi := &file_cs_proto_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2323,7 +2531,7 @@ func (x *CMPromoteMember) String() string { func (*CMPromoteMember) ProtoMessage() {} func (x *CMPromoteMember) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[42] + mi := &file_cs_proto_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2336,7 +2544,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{42} + return file_cs_proto_proto_rawDescGZIP(), []int{46} } func (x *CMPromoteMember) GetGuildId() int64 { @@ -2365,7 +2573,7 @@ type SMPromoteMember struct { func (x *SMPromoteMember) Reset() { *x = SMPromoteMember{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[43] + mi := &file_cs_proto_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2378,7 +2586,7 @@ func (x *SMPromoteMember) String() string { func (*SMPromoteMember) ProtoMessage() {} func (x *SMPromoteMember) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[43] + mi := &file_cs_proto_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2391,7 +2599,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{43} + return file_cs_proto_proto_rawDescGZIP(), []int{47} } func (x *SMPromoteMember) GetErrMsg() string { @@ -2414,7 +2622,7 @@ type CMDemoteMember struct { func (x *CMDemoteMember) Reset() { *x = CMDemoteMember{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[44] + mi := &file_cs_proto_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2427,7 +2635,7 @@ func (x *CMDemoteMember) String() string { func (*CMDemoteMember) ProtoMessage() {} func (x *CMDemoteMember) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[44] + mi := &file_cs_proto_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2440,7 +2648,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{44} + return file_cs_proto_proto_rawDescGZIP(), []int{48} } func (x *CMDemoteMember) GetGuildId() int64 { @@ -2469,7 +2677,7 @@ type SMDemoteMember struct { func (x *SMDemoteMember) Reset() { *x = SMDemoteMember{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[45] + mi := &file_cs_proto_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2482,7 +2690,7 @@ func (x *SMDemoteMember) String() string { func (*SMDemoteMember) ProtoMessage() {} func (x *SMDemoteMember) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[45] + mi := &file_cs_proto_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2495,7 +2703,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{45} + return file_cs_proto_proto_rawDescGZIP(), []int{49} } func (x *SMDemoteMember) GetErrMsg() string { @@ -2517,7 +2725,7 @@ type CMDisband struct { func (x *CMDisband) Reset() { *x = CMDisband{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[46] + mi := &file_cs_proto_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2530,7 +2738,7 @@ func (x *CMDisband) String() string { func (*CMDisband) ProtoMessage() {} func (x *CMDisband) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[46] + mi := &file_cs_proto_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2543,7 +2751,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{46} + return file_cs_proto_proto_rawDescGZIP(), []int{50} } func (x *CMDisband) GetGuildId() int64 { @@ -2565,7 +2773,7 @@ type SMDisband struct { func (x *SMDisband) Reset() { *x = SMDisband{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[47] + mi := &file_cs_proto_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2578,7 +2786,7 @@ func (x *SMDisband) String() string { func (*SMDisband) ProtoMessage() {} func (x *SMDisband) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[47] + mi := &file_cs_proto_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2591,7 +2799,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{47} + return file_cs_proto_proto_rawDescGZIP(), []int{51} } func (x *SMDisband) GetErrMsg() string { @@ -2613,7 +2821,7 @@ type CMSearchGuilds struct { func (x *CMSearchGuilds) Reset() { *x = CMSearchGuilds{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[48] + mi := &file_cs_proto_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2626,7 +2834,7 @@ func (x *CMSearchGuilds) String() string { func (*CMSearchGuilds) ProtoMessage() {} func (x *CMSearchGuilds) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[48] + mi := &file_cs_proto_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2639,7 +2847,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{48} + return file_cs_proto_proto_rawDescGZIP(), []int{52} } func (x *CMSearchGuilds) GetKeyword() string { @@ -2661,7 +2869,7 @@ type SMSearchGuilds struct { func (x *SMSearchGuilds) Reset() { *x = SMSearchGuilds{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[49] + mi := &file_cs_proto_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2674,7 +2882,7 @@ func (x *SMSearchGuilds) String() string { func (*SMSearchGuilds) ProtoMessage() {} func (x *SMSearchGuilds) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[49] + mi := &file_cs_proto_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2687,7 +2895,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{49} + return file_cs_proto_proto_rawDescGZIP(), []int{53} } func (x *SMSearchGuilds) GetGuilds() []*MFGuild { @@ -2712,7 +2920,7 @@ type MFGuild struct { func (x *MFGuild) Reset() { *x = MFGuild{} if protoimpl.UnsafeEnabled { - mi := &file_cs_proto_proto_msgTypes[50] + mi := &file_cs_proto_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2725,7 +2933,7 @@ func (x *MFGuild) String() string { func (*MFGuild) ProtoMessage() {} func (x *MFGuild) ProtoReflect() protoreflect.Message { - mi := &file_cs_proto_proto_msgTypes[50] + mi := &file_cs_proto_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2738,7 +2946,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{50} + return file_cs_proto_proto_rawDescGZIP(), []int{54} } func (x *MFGuild) GetGuildId() int64 { @@ -2899,100 +3107,116 @@ var file_cs_proto_proto_rawDesc = []byte{ 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x22, 0x43, 0x0a, 0x06, 0x4d, 0x46, 0x55, 0x73, 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, 0x22, 0x0d, 0x0a, 0x0b, 0x43, 0x4d, 0x47, 0x75, 0x69, 0x6c, 0x64, - 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x6b, 0x0a, 0x0b, 0x53, 0x4d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x6c, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x73, 0x2e, 0x4d, 0x46, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x52, 0x09, 0x63, 0x75, 0x72, 0x72, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x12, - 0x30, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x73, 0x2e, 0x4d, 0x46, 0x47, 0x75, - 0x69, 0x6c, 0x64, 0x52, 0x0c, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x75, 0x69, 0x6c, 0x64, - 0x73, 0x22, 0x23, 0x0a, 0x0d, 0x43, 0x4d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x43, 0x0a, 0x0d, 0x53, 0x4d, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 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, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x2b, 0x0a, 0x0e, 0x43, - 0x4d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x19, 0x0a, + 0x22, 0x3c, 0x0a, 0x0e, 0x43, 0x4d, 0x41, 0x64, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, + 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x40, + 0x0a, 0x0e, 0x53, 0x4d, 0x41, 0x64, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x22, 0x3f, 0x0a, 0x11, 0x43, 0x4d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6c, 0x61, 0x63, + 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x22, 0x43, 0x0a, 0x11, 0x53, 0x4d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6c, 0x61, + 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x43, 0x0a, 0x06, 0x4d, 0x46, 0x55, 0x73, 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, 0x22, 0x0d, 0x0a, 0x0b, 0x43, + 0x4d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x6b, 0x0a, 0x0b, 0x53, 0x4d, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x0a, 0x63, 0x75, 0x72, + 0x72, 0x5f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x73, 0x2e, 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x09, 0x63, 0x75, 0x72, 0x72, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x30, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, + 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, + 0x73, 0x2e, 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x0c, 0x72, 0x61, 0x6e, 0x64, 0x6f, + 0x6d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x22, 0x23, 0x0a, 0x0d, 0x43, 0x4d, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x43, 0x0a, 0x0d, + 0x53, 0x4d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 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, 0x22, 0x29, 0x0a, 0x0e, 0x53, 0x4d, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, - 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, - 0x4d, 0x73, 0x67, 0x22, 0x58, 0x0a, 0x09, 0x43, 0x4d, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, - 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, 0x30, 0x0a, 0x14, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x24, 0x0a, - 0x09, 0x53, 0x4d, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, - 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, - 0x4d, 0x73, 0x67, 0x22, 0x57, 0x0a, 0x08, 0x43, 0x4d, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 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, 0x30, 0x0a, 0x14, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 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, 0x23, 0x0a, 0x08, - 0x53, 0x4d, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, - 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, - 0x67, 0x22, 0x29, 0x0a, 0x0c, 0x43, 0x4d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x75, 0x69, 0x6c, - 0x64, 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, 0x22, 0x27, 0x0a, 0x0c, - 0x53, 0x4d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x07, - 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, - 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x58, 0x0a, 0x0f, 0x43, 0x4d, 0x44, 0x69, 0x73, 0x6d, 0x69, - 0x73, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 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, 0x2a, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, - 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, - 0x2a, 0x0a, 0x0f, 0x53, 0x4d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, + 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, + 0x67, 0x22, 0x2b, 0x0a, 0x0e, 0x43, 0x4d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x47, 0x75, + 0x69, 0x6c, 0x64, 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, 0x22, 0x29, + 0x0a, 0x0e, 0x53, 0x4d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x58, 0x0a, 0x09, 0x43, 0x4d, 0x41, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 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, 0x30, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x24, 0x0a, 0x09, 0x53, 0x4d, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x57, 0x0a, 0x08, 0x43, 0x4d, 0x52, + 0x65, 0x6a, 0x65, 0x63, 0x74, 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, 0x30, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x23, 0x0a, 0x08, 0x53, 0x4d, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, + 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x29, 0x0a, 0x0c, 0x43, 0x4d, 0x4c, 0x65, 0x61, + 0x76, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 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, 0x22, 0x27, 0x0a, 0x0c, 0x53, 0x4d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x58, 0x0a, 0x0f, 0x43, - 0x4d, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, + 0x4d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 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, 0x2a, 0x0a, 0x10, 0x70, 0x72, 0x6f, - 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x0f, 0x53, 0x4d, 0x50, 0x72, 0x6f, 0x6d, 0x6f, - 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, + 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x69, 0x73, + 0x6d, 0x69, 0x73, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x0f, 0x53, 0x4d, 0x44, 0x69, 0x73, 0x6d, 0x69, + 0x73, 0x73, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, - 0x67, 0x22, 0x55, 0x0a, 0x0e, 0x43, 0x4d, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 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, 0x28, - 0x0a, 0x0f, 0x64, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x29, 0x0a, 0x0e, 0x53, 0x4d, 0x44, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, - 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, - 0x4d, 0x73, 0x67, 0x22, 0x26, 0x0a, 0x09, 0x43, 0x4d, 0x44, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, - 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, 0x22, 0x24, 0x0a, 0x09, 0x53, - 0x4d, 0x44, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, - 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, - 0x67, 0x22, 0x2a, 0x0a, 0x0e, 0x43, 0x4d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x35, 0x0a, - 0x0e, 0x53, 0x4d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, - 0x23, 0x0a, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x18, 0x01, 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, 0x90, 0x01, 0x0a, 0x07, 0x4d, 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, - 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, 0x12, - 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 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, + 0x67, 0x22, 0x58, 0x0a, 0x0f, 0x43, 0x4d, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 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, + 0x2a, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x0f, 0x53, + 0x4d, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x17, + 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x55, 0x0a, 0x0e, 0x43, 0x4d, 0x44, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 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, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x29, + 0x0a, 0x0e, 0x53, 0x4d, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x26, 0x0a, 0x09, 0x43, 0x4d, 0x44, + 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 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, 0x22, 0x24, 0x0a, 0x09, 0x53, 0x4d, 0x44, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x12, 0x17, + 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x2a, 0x0a, 0x0e, 0x43, 0x4d, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, + 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, + 0x6f, 0x72, 0x64, 0x22, 0x35, 0x0a, 0x0e, 0x53, 0x4d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x18, + 0x01, 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, 0x90, 0x01, 0x0a, 0x07, 0x4d, + 0x46, 0x47, 0x75, 0x69, 0x6c, 0x64, 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, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 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 ( @@ -3008,7 +3232,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, 51) +var file_cs_proto_proto_msgTypes = make([]protoimpl.MessageInfo, 55) var file_cs_proto_proto_goTypes = []interface{}{ (ConstantE)(0), // 0: cs.Constant_e (*CMPing)(nil), // 1: cs.CMPing @@ -3038,37 +3262,41 @@ var file_cs_proto_proto_goTypes = []interface{}{ (*SMListFriend)(nil), // 25: cs.SMListFriend (*CMDeleteFriendShip)(nil), // 26: cs.CMDeleteFriendShip (*SMDeleteFriendShip)(nil), // 27: cs.SMDeleteFriendShip - (*MFUser)(nil), // 28: cs.MFUser - (*CMGuildInfo)(nil), // 29: cs.CMGuildInfo - (*SMGuildInfo)(nil), // 30: cs.SMGuildInfo - (*CMCreateGuild)(nil), // 31: cs.CMCreateGuild - (*SMCreateGuild)(nil), // 32: cs.SMCreateGuild - (*CMApplyToGuild)(nil), // 33: cs.CMApplyToGuild - (*SMApplyToGuild)(nil), // 34: cs.SMApplyToGuild - (*CMApprove)(nil), // 35: cs.CMApprove - (*SMApprove)(nil), // 36: cs.SMApprove - (*CMReject)(nil), // 37: cs.CMReject - (*SMReject)(nil), // 38: cs.SMReject - (*CMLeaveGuild)(nil), // 39: cs.CMLeaveGuild - (*SMLeaveGuild)(nil), // 40: cs.SMLeaveGuild - (*CMDismissMember)(nil), // 41: cs.CMDismissMember - (*SMDismissMember)(nil), // 42: cs.SMDismissMember - (*CMPromoteMember)(nil), // 43: cs.CMPromoteMember - (*SMPromoteMember)(nil), // 44: cs.SMPromoteMember - (*CMDemoteMember)(nil), // 45: cs.CMDemoteMember - (*SMDemoteMember)(nil), // 46: cs.SMDemoteMember - (*CMDisband)(nil), // 47: cs.CMDisband - (*SMDisband)(nil), // 48: cs.SMDisband - (*CMSearchGuilds)(nil), // 49: cs.CMSearchGuilds - (*SMSearchGuilds)(nil), // 50: cs.SMSearchGuilds - (*MFGuild)(nil), // 51: cs.MFGuild + (*CMAddBlacklist)(nil), // 28: cs.CMAddBlacklist + (*SMAddBlacklist)(nil), // 29: cs.SMAddBlacklist + (*CMRemoveBlacklist)(nil), // 30: cs.CMRemoveBlacklist + (*SMRemoveBlacklist)(nil), // 31: cs.SMRemoveBlacklist + (*MFUser)(nil), // 32: cs.MFUser + (*CMGuildInfo)(nil), // 33: cs.CMGuildInfo + (*SMGuildInfo)(nil), // 34: cs.SMGuildInfo + (*CMCreateGuild)(nil), // 35: cs.CMCreateGuild + (*SMCreateGuild)(nil), // 36: cs.SMCreateGuild + (*CMApplyToGuild)(nil), // 37: cs.CMApplyToGuild + (*SMApplyToGuild)(nil), // 38: cs.SMApplyToGuild + (*CMApprove)(nil), // 39: cs.CMApprove + (*SMApprove)(nil), // 40: cs.SMApprove + (*CMReject)(nil), // 41: cs.CMReject + (*SMReject)(nil), // 42: cs.SMReject + (*CMLeaveGuild)(nil), // 43: cs.CMLeaveGuild + (*SMLeaveGuild)(nil), // 44: cs.SMLeaveGuild + (*CMDismissMember)(nil), // 45: cs.CMDismissMember + (*SMDismissMember)(nil), // 46: cs.SMDismissMember + (*CMPromoteMember)(nil), // 47: cs.CMPromoteMember + (*SMPromoteMember)(nil), // 48: cs.SMPromoteMember + (*CMDemoteMember)(nil), // 49: cs.CMDemoteMember + (*SMDemoteMember)(nil), // 50: cs.SMDemoteMember + (*CMDisband)(nil), // 51: cs.CMDisband + (*SMDisband)(nil), // 52: cs.SMDisband + (*CMSearchGuilds)(nil), // 53: cs.CMSearchGuilds + (*SMSearchGuilds)(nil), // 54: cs.SMSearchGuilds + (*MFGuild)(nil), // 55: cs.MFGuild } var file_cs_proto_proto_depIdxs = []int32{ - 28, // 0: cs.SMSearchUser.users:type_name -> cs.MFUser - 28, // 1: cs.SMListFriend.users:type_name -> cs.MFUser - 51, // 2: cs.SMGuildInfo.curr_guild:type_name -> cs.MFGuild - 51, // 3: cs.SMGuildInfo.random_guilds:type_name -> cs.MFGuild - 51, // 4: cs.SMSearchGuilds.guilds:type_name -> cs.MFGuild + 32, // 0: cs.SMSearchUser.users:type_name -> cs.MFUser + 32, // 1: cs.SMListFriend.users:type_name -> cs.MFUser + 55, // 2: cs.SMGuildInfo.curr_guild:type_name -> cs.MFGuild + 55, // 3: cs.SMGuildInfo.random_guilds:type_name -> cs.MFGuild + 55, // 4: cs.SMSearchGuilds.guilds:type_name -> cs.MFGuild 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name @@ -3407,7 +3635,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MFUser); i { + switch v := v.(*CMAddBlacklist); i { case 0: return &v.state case 1: @@ -3419,7 +3647,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMGuildInfo); i { + switch v := v.(*SMAddBlacklist); i { case 0: return &v.state case 1: @@ -3431,7 +3659,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMGuildInfo); i { + switch v := v.(*CMRemoveBlacklist); i { case 0: return &v.state case 1: @@ -3443,7 +3671,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMCreateGuild); i { + switch v := v.(*SMRemoveBlacklist); i { case 0: return &v.state case 1: @@ -3455,7 +3683,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMCreateGuild); i { + switch v := v.(*MFUser); i { case 0: return &v.state case 1: @@ -3467,7 +3695,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMApplyToGuild); i { + switch v := v.(*CMGuildInfo); i { case 0: return &v.state case 1: @@ -3479,7 +3707,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMApplyToGuild); i { + switch v := v.(*SMGuildInfo); i { case 0: return &v.state case 1: @@ -3491,7 +3719,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMApprove); i { + switch v := v.(*CMCreateGuild); i { case 0: return &v.state case 1: @@ -3503,7 +3731,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMApprove); i { + switch v := v.(*SMCreateGuild); i { case 0: return &v.state case 1: @@ -3515,7 +3743,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMReject); i { + switch v := v.(*CMApplyToGuild); i { case 0: return &v.state case 1: @@ -3527,7 +3755,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMReject); i { + switch v := v.(*SMApplyToGuild); i { case 0: return &v.state case 1: @@ -3539,7 +3767,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMLeaveGuild); i { + switch v := v.(*CMApprove); i { case 0: return &v.state case 1: @@ -3551,7 +3779,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMLeaveGuild); i { + switch v := v.(*SMApprove); i { case 0: return &v.state case 1: @@ -3563,7 +3791,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMDismissMember); i { + switch v := v.(*CMReject); i { case 0: return &v.state case 1: @@ -3575,7 +3803,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMDismissMember); i { + switch v := v.(*SMReject); i { case 0: return &v.state case 1: @@ -3587,7 +3815,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMPromoteMember); i { + switch v := v.(*CMLeaveGuild); i { case 0: return &v.state case 1: @@ -3599,7 +3827,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMPromoteMember); i { + switch v := v.(*SMLeaveGuild); i { case 0: return &v.state case 1: @@ -3611,7 +3839,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMDemoteMember); i { + switch v := v.(*CMDismissMember); i { case 0: return &v.state case 1: @@ -3623,7 +3851,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMDemoteMember); i { + switch v := v.(*SMDismissMember); i { case 0: return &v.state case 1: @@ -3635,7 +3863,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMDisband); i { + switch v := v.(*CMPromoteMember); i { case 0: return &v.state case 1: @@ -3647,7 +3875,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMDisband); i { + switch v := v.(*SMPromoteMember); i { case 0: return &v.state case 1: @@ -3659,7 +3887,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMSearchGuilds); i { + switch v := v.(*CMDemoteMember); i { case 0: return &v.state case 1: @@ -3671,7 +3899,7 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SMSearchGuilds); i { + switch v := v.(*SMDemoteMember); i { case 0: return &v.state case 1: @@ -3683,6 +3911,54 @@ func file_cs_proto_proto_init() { } } file_cs_proto_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMDisband); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs_proto_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SMDisband); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs_proto_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMSearchGuilds); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs_proto_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SMSearchGuilds); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cs_proto_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MFGuild); i { case 0: return &v.state @@ -3701,7 +3977,7 @@ func file_cs_proto_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cs_proto_proto_rawDesc, NumEnums: 1, - NumMessages: 51, + NumMessages: 55, NumExtensions: 0, NumServices: 0, }, diff --git a/server/imserver/friendsdbmgr.go b/server/imserver/friendsdbmgr.go index 88f0e08f..d4669b99 100644 --- a/server/imserver/friendsdbmgr.go +++ b/server/imserver/friendsdbmgr.go @@ -6,58 +6,51 @@ import ( "q5" ) -func (fm *FriendsMgr) insertFriendRequest(account1Id string, account2Id string, is_friendship string) { - fields := [][]string{ - {"sender_account_id", account1Id}, - {"receiver_account_id", account2Id}, - {"is_friendship", is_friendship}, - } - f5.GetJsStyleDb().Replace( - FRIEND_DB, - "t_friend_pending_request", - fields, - func(err error, lastInsertId int64, rowsAffected int64) { - if err != nil { - fmt.Printf("error:%v\n", err) - } - fmt.Printf("lastInsertId:%d\n", lastInsertId) - fmt.Printf("rowsAffected:%d\n", rowsAffected) - }, - ) -} - -func (fm *FriendsMgr) updateFriendRequest(account1Id string, account2Id string, fields [][]string) { - if len(fields) <= 0 { - return - } +func (fm *FriendsMgr) upsertFriendRequest(account1Id string, account2Id string, isFriendship string) { where := [][]string{ - {"sender_account_id", account1Id}, - {"receiver_account_id", account2Id}, - } - f5.GetJsStyleDb().Update( - FRIEND_DB, - "t_friend_pending_request", - fields, - where, - func(err error, lastInsertId int64, rowsAffected int64) { - if err != nil { - fmt.Printf("error:%v\n", err) - } - fmt.Printf("lastInsertId:%d\n", lastInsertId) - fmt.Printf("rowsAffected:%d\n", rowsAffected) - }, - ) -} - -func (fm *FriendsMgr) insertFriendShip(account1Id string, account2Id string) { - fields := [][]string{ {"account1_id", account1Id}, {"account2_id", account2Id}, } - f5.GetJsStyleDb().Insert( + insertKv := [][]string{ + {"sender_account_id", account1Id}, + {"receiver_account_id", account2Id}, + {"is_friendship", isFriendship}, + } + updateKv := insertKv + f5.GetJsStyleDb().Upsert( + FRIEND_DB, + "t_friend_pending_request", + where, + updateKv, + insertKv, + func(err error, lastInsertId int64, rowsAffected int64) { + if err != nil { + fmt.Printf("error:%v\n", err) + } + fmt.Printf("lastInsertId:%d\n", lastInsertId) + fmt.Printf("rowsAffected:%d\n", rowsAffected) + }, + ) +} + +func (fm *FriendsMgr) upsertFriendShip(account1Id string, account2Id string, isDeleteFriendship int) { + where := [][]string{ + {"account1_id", account1Id}, + {"account2_id", account2Id}, + } + fields := [][]string{ + {"account1_id", account1Id}, + {"account2_id", account2Id}, + {"is_delete_friendship", q5.ToString(isDeleteFriendship)}, + } + insertKv := fields + updateKv := fields + f5.GetJsStyleDb().Upsert( FRIEND_DB, "t_friend_ships", - fields, + where, + updateKv, + insertKv, func(err error, lastInsertId int64, rowsAffected int64) { if err != nil { fmt.Printf("error:%v\n", err) @@ -88,6 +81,32 @@ func (fm *FriendsMgr) updateFriendShip(account1Id string, account2Id string, fie ) } +func (fm *FriendsMgr) upsertBlacklist(account1Id string, account2Id string, isRemoved int) { + where := [][]string{ + {"account_id", account1Id}, + } + insertKv := [][]string{ + {"account_id", account1Id}, + {"blocked_account_id", account2Id}, + {"is_removed", q5.ToString(isRemoved)}, + } + updateKv := insertKv + f5.GetJsStyleDb().Upsert( + FRIEND_DB, + "t_friend_blacklist", + where, + updateKv, + insertKv, + func(err error, lastInsertId int64, rowsAffected int64) { + if err != nil { + fmt.Printf("error:%v\n", err) + } + fmt.Printf("lastInsertId:%d\n", lastInsertId) + fmt.Printf("rowsAffected:%d\n", rowsAffected) + }, + ) +} + // loadUsers 加载所有用户 func (fm *FriendsMgr) loadUsers() { fields := []string{"account_id", "name"} @@ -176,3 +195,31 @@ func (fm *FriendsMgr) loadPendingRequestsResult(err error, rows *f5.DataSet) { fm.pendingReqs[receiverAccountId][senderAccountId] = true } } + +// loadPendingRequests 加载等待验证好友请求 +func (fm *FriendsMgr) loadBlacklist() { + fields := []string{"account_id", "blocked_account_id"} + f5.GetJsStyleDb().Select( + FRIEND_DB, + "t_friend_blacklist", + fields, + [][]string{ + {"is_removed", "0"}, + }, + fm.loadBlacklistResult, + ) +} + +func (fm *FriendsMgr) loadBlacklistResult(err error, rows *f5.DataSet) { + if err != nil { + fmt.Printf("loadBlacklistResult err:%v \n", err) + return + } + fm.blackList = make(map[string]map[string]bool, 100) + for rows.Next() { + account1Id := q5.ToString(*rows.GetByIndex(0)) + account2Id := q5.ToString(*rows.GetByIndex(1)) + fm.blackList[account1Id] = make(map[string]bool, MaxBlockedMembers) + fm.blackList[account1Id][account2Id] = false + } +} diff --git a/server/imserver/friendsmgr.go b/server/imserver/friendsmgr.go index fe346254..4979d0c1 100644 --- a/server/imserver/friendsmgr.go +++ b/server/imserver/friendsmgr.go @@ -17,7 +17,7 @@ type FriendsMgr struct { searchCaches map[string]SearchCache // SearchKeyword -> 好友搜索结果 []*User friendships map[string][]*Friendship // AccountId -> 好友关系列表 []*Friendship pendingReqs map[string]map[string]bool // AccountId -> 等待请求列表 map[account2Id]true - blackList map[string][]string // AccountId -> 黑名单列表 []AccountIds + blackList map[string]map[string]bool // AccountId -> 黑名单列表 map[account2Id]true userCount int // 用户总数 } @@ -34,6 +34,9 @@ func (fm *FriendsMgr) init() { fm.loadFriendships() // 加载等待验证好友请求 列表 fm.loadPendingRequests() + // 加载黑名单列表 + fm.loadBlacklist() + fm.searchCaches = make(map[string]SearchCache) } @@ -86,9 +89,6 @@ func (fm *FriendsMgr) searchUsers(keyword string) []*User { } fm.clearExpiredCaches() - // Print result: - PrintUsers("Search result:", listFriend) - return listFriend } @@ -136,7 +136,7 @@ func (fm *FriendsMgr) addFriendRequest(account1Id string, account2Id string) err fm.pendingReqs[account2Id][account1Id] = true // persist to db - fm.insertFriendRequest(account1Id, account2Id, "0") + fm.upsertFriendRequest(account1Id, account2Id, "0") return nil } @@ -155,10 +155,12 @@ func (fm *FriendsMgr) acceptFriendRequest(account1Id string, account2Id string) } // step1. update reqs - fm.insertFriendRequest(account2Id, account1Id, "1") + fm.upsertFriendRequest(account2Id, account1Id, "1") + fm.upsertFriendRequest(account1Id, account2Id, "1") + // step2. insert friendship a1, a2 := swapMiniAccount(account1Id, account2Id) - fm.insertFriendShip(a1, a2) + fm.upsertFriendShip(a1, a2, 0) // Create a new friendship friendship := &Friendship{ @@ -182,10 +184,8 @@ func (fm *FriendsMgr) rejectFriendRequest(account1Id string, account2Id string) return errors.New("no pending friend request from user1 to user2") } - //fields := [][]string{{"is_friendship", q5.ToString(2)}} - //fm.updateFriendRequest(account1Id, account2Id, fields) // 申请表,申请者,目标者, - fm.insertFriendRequest(account2Id, account1Id, "2") + fm.upsertFriendRequest(account2Id, account1Id, "2") delete(fm.pendingReqs[account1Id], account2Id) delete(fm.pendingReqs[account2Id], account1Id) @@ -204,8 +204,8 @@ func (fm *FriendsMgr) deleteFriendShip(account1Id, account2Id string) error { var found bool for i, friendship := range user1Friendships { if friendship.User1.AccountId == account2Id || friendship.User2.AccountId == account2Id { - // 删除好友请求, insert和replace, 不存在则新增,存在则替换值 - fm.insertFriendRequest(account1Id, account2Id, "3") + // 删除好友请求, upsert 不存在则新增,存在则替换值 + fm.upsertFriendRequest(account1Id, account2Id, "3") fm.friendships[account1Id] = append(user1Friendships[:i], user1Friendships[i+1:]...) found = true break @@ -219,7 +219,7 @@ func (fm *FriendsMgr) deleteFriendShip(account1Id, account2Id string) error { for i, friendship := range user2Friendships { if friendship.User1.AccountId == account1Id || friendship.User2.AccountId == account1Id { // 删除好友请求, insert和replace, 不存在则新增,存在则替换值 - fm.insertFriendRequest(account2Id, account1Id, "3") + fm.upsertFriendRequest(account2Id, account1Id, "3") fm.friendships[account2Id] = append(user2Friendships[:i], user2Friendships[i+1:]...) break } @@ -271,36 +271,44 @@ func (fm *FriendsMgr) listFriend(accountId string) []*User { return users } -func (fm *FriendsMgr) addBlocked(account1Id string, account2Id string) error { - if fm.blackList[account1Id] == nil { - fm.blackList[account1Id] = []string{} +// addBlacklist 加入黑名单 +func (fm *FriendsMgr) addBlacklist(account1Id string, account2Id string) error { + user2 := fm.getUser(account2Id) + if user2 == nil { + return nil } + + if fm.blackList[account1Id] == nil { + fm.blackList[account1Id] = make(map[string]bool, MaxBlockedMembers) + } + + isRemoved, exists := fm.blackList[account1Id][account2Id] + if exists && !isRemoved { + return nil + } + if len(fm.blackList[account1Id]) >= 50 { return fmt.Errorf("your blacklist has reached the limit") } - index := fm.findBlockedUserIndex(account1Id, account2Id) - if index < 0 { - fm.blackList[account1Id] = append(fm.blackList[account1Id], account2Id) - } + fm.blackList[account1Id][account2Id] = false + fm.upsertBlacklist(account1Id, account2Id, 0) return nil } -func (fm *FriendsMgr) removeBlocked(account1Id string, account2Id string) error { +// removeBlacklist 移除黑名单 +func (fm *FriendsMgr) removeBlacklist(account1Id string, account2Id string) error { if fm.blackList[account1Id] == nil { return fmt.Errorf("your blacklist is emtpy") } - index := fm.findBlockedUserIndex(account1Id, account2Id) - if index < 0 { + if isRemoved, exists := fm.blackList[account1Id][account2Id]; !exists || isRemoved { return fmt.Errorf("your blacklist not exists target account id") } - blockedUsers := fm.blackList[account1Id] - blockedUsers = append(blockedUsers[:index], blockedUsers[index+1:]...) - - fm.blackList[account1Id] = blockedUsers + delete(fm.blackList[account1Id], account2Id) + fm.upsertBlacklist(account1Id, account2Id, 1) return nil } @@ -336,18 +344,6 @@ func PrintUsers(str string, userList []*User) { } } -func (fm *FriendsMgr) findBlockedUserIndex(Account1Id, Account2Id string) int { - if fm.blackList[Account1Id] != nil { - for i, blockedAccountId := range fm.blackList[Account1Id] { - if blockedAccountId == Account2Id { - return i - } - } - } - - return -1 -} - func (fm *FriendsMgr) findFriendShipIndex(Account1Id, Account2Id string) int { // 通常 account1Id,指自己, account2Id 指对方 if _, exists := fm.friendships[Account1Id]; exists { @@ -369,16 +365,20 @@ func (fm *FriendsMgr) getUser(accountId string) *User { } func (fm *FriendsMgr) checkInBlackList(account1Id, account2Id string) error { - for _, blockedAccountId := range fm.blackList[account1Id] { - if blockedAccountId == account2Id { - return fmt.Errorf("user:%s in user:%s blocked", account2Id, account1Id) - } + if fm.blackList[account1Id] == nil { + fm.blackList[account1Id] = make(map[string]bool, MaxBlockedMembers) } - for _, blockedAccountId := range fm.blackList[account2Id] { - if blockedAccountId == account1Id { - return fmt.Errorf("user:%s in user:%s blocked", account1Id, account2Id) - } + if isRemoved, exists := fm.blackList[account1Id][account2Id]; isRemoved && exists { + return fmt.Errorf("user:%s in user:%s blocked", account2Id, account1Id) } + + if fm.blackList[account2Id] == nil { + fm.blackList[account2Id] = make(map[string]bool, MaxBlockedMembers) + } + if isRemoved, exists := fm.blackList[account2Id][account1Id]; isRemoved && exists { + return fmt.Errorf("user:%s in user:%s blocked", account1Id, account2Id) + } + return nil } diff --git a/server/imserver/handlermgr.go b/server/imserver/handlermgr.go index b0f8f411..06cebbe6 100644 --- a/server/imserver/handlermgr.go +++ b/server/imserver/handlermgr.go @@ -14,6 +14,7 @@ func (this *HandlerMgr) init() { cs.RegHandlerId(int(cs.CMMessageIdE__CMPing), PLAYER_MGR_HANDLER_ID) cs.RegHandlerId(int(cs.CMMessageIdE__CMLogin), PLAYER_MGR_HANDLER_ID) + // 好友 cs.RegHandlerId(int(cs.CMMessageIdE__CMSearchUser), PLAYER_HANDLER_ID) cs.RegHandlerId(int(cs.CMMessageIdE__CMSearchUserByAccountId), PLAYER_HANDLER_ID) cs.RegHandlerId(int(cs.CMMessageIdE__CMAddFriendRequest), PLAYER_HANDLER_ID) @@ -22,7 +23,9 @@ func (this *HandlerMgr) init() { cs.RegHandlerId(int(cs.CMMessageIdE__CMListPendingFriendRequest), PLAYER_HANDLER_ID) cs.RegHandlerId(int(cs.CMMessageIdE__CMListFriend), PLAYER_HANDLER_ID) cs.RegHandlerId(int(cs.CMMessageIdE__CMDeleteFriendShip), PLAYER_HANDLER_ID) - + cs.RegHandlerId(int(cs.CMMessageIdE__CMAddBlacklist), PLAYER_HANDLER_ID) + cs.RegHandlerId(int(cs.CMMessageIdE__CMRemoveBlacklist), PLAYER_HANDLER_ID) + // 公会 cs.RegHandlerId(int(cs.CMMessageIdE__CMGuildInfo), PLAYER_HANDLER_ID) cs.RegHandlerId(int(cs.CMMessageIdE__CMCreateGuild), PLAYER_HANDLER_ID) cs.RegHandlerId(int(cs.CMMessageIdE__CMApplyToGuild), PLAYER_HANDLER_ID) diff --git a/server/imserver/player.go b/server/imserver/player.go index c1593f8d..d6147d06 100644 --- a/server/imserver/player.go +++ b/server/imserver/player.go @@ -162,6 +162,42 @@ func (p *Player) CMDeleteFriendShip(hdr *f5.MsgHdr, msg *cs.CMDeleteFriendShip) wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) } +// CMAddBlacklist 加入黑名单 +func (p *Player) CMAddBlacklist(hdr *f5.MsgHdr, msg *cs.CMAddBlacklist) { + rspMsg := &cs.SMDeleteFriendShip{} + user1Id := p.accountId + user2Id := msg.GetTargetAccountId() + err := friendMgr.addBlacklist(user1Id, user2Id) + if err != nil { + reason := err.Error() + rspMsg.Reason = &reason + wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + f5.GetSysLog().Info("CMAddBlacklist err:%s, params: %s or %s\n", reason, user1Id, user2Id) + return + } + status := "added" + rspMsg.Status = &status + wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) +} + +// CMRemoveBlacklist 移除黑名单 +func (p *Player) CMRemoveBlacklist(hdr *f5.MsgHdr, msg *cs.CMRemoveBlacklist) { + rspMsg := &cs.SMRemoveBlacklist{} + user1Id := p.accountId + user2Id := msg.GetTargetAccountId() + err := friendMgr.removeBlacklist(user1Id, user2Id) + if err != nil { + reason := err.Error() + rspMsg.Reason = &reason + wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + f5.GetSysLog().Info("CMRemoveBlacklist err:%s, params: %s or %s\n", reason, user1Id, user2Id) + return + } + status := "removed" + rspMsg.Status = &status + wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) +} + //func (fm *Player) FillFriend(rspMsg) { // // //} diff --git a/server/imserver/playermgr.go b/server/imserver/playermgr.go index 02d17a26..f30b5d15 100644 --- a/server/imserver/playermgr.go +++ b/server/imserver/playermgr.go @@ -58,7 +58,8 @@ func (this *PlayerMgr) init() { GAME_DB, "t_user", [][]string{ - []string{"account_id", "100"}}, + []string{"account_id", "100"}, + }, func(err error, row *f5.DataSet) { fmt.Println(row) }) diff --git a/server/imserver/proto/cs_msgid.proto b/server/imserver/proto/cs_msgid.proto index e2c6710a..f968b34f 100644 --- a/server/imserver/proto/cs_msgid.proto +++ b/server/imserver/proto/cs_msgid.proto @@ -18,6 +18,8 @@ enum CMMessageId_e _CMListPendingFriendRequest = 110; _CMListFriend = 111; _CMDeleteFriendShip = 112; + _CMAddBlacklist = 113; + _CMRemoveBlacklist = 114; // 公会相关 _CMGuildInfo = 120; @@ -48,6 +50,8 @@ enum SMMessageId_e _SMListPendingFriendRequest = 110; _SMListFriend = 111; _SMDeleteFriendShip = 112; + _SMAddBlacklist = 113; + _SMRemoveBlacklist = 114; // 公会相关 _SMGuildInfo = 120; diff --git a/server/imserver/proto/cs_proto.proto b/server/imserver/proto/cs_proto.proto index d58a90fd..8449ccd8 100644 --- a/server/imserver/proto/cs_proto.proto +++ b/server/imserver/proto/cs_proto.proto @@ -205,7 +205,6 @@ message SMListFriend repeated MFUser users = 1; } - // 请求删除好友 message CMDeleteFriendShip { @@ -219,6 +218,33 @@ message SMDeleteFriendShip optional string status = 2; } +// 请求加入黑名单 +message CMAddBlacklist +{ + optional string target_account_id = 1; // 账号id +} + +// 回复加入黑名单 +message SMAddBlacklist +{ + optional string reason = 1; + optional string status = 2; +} + +// 请求移除黑名单 +message CMRemoveBlacklist +{ + optional string target_account_id = 1; // 账号id +} + +// 回复移除黑名单 +message SMRemoveBlacklist +{ + optional string reason = 1; + optional string status = 2; +} + + message MFUser { optional string account_id = 1; optional string username = 2;