1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 11:07:40 +08:00

add create role packet

This commit is contained in:
Kengxxiao 2021-11-16 22:10:18 +08:00
parent 96489d00f6
commit 5ba00392ba
3 changed files with 357 additions and 164 deletions

View File

@ -76,9 +76,14 @@ type (
// GuildRole 频道身份组信息
GuildRole struct {
RoleId uint64
RoleName string
ArgbColor uint32
RoleId uint64
RoleName string
ArgbColor uint32
Indepedent bool
Num int32
Owned bool
Disabled bool
MaxNum int32
}
// ChannelInfo 子频道信息
@ -300,14 +305,48 @@ func (s *GuildService) GetGuildRoles(guildId uint64) ([]*GuildRole, error) {
roles := make([]*GuildRole, 0)
for _, role := range body.Roles {
roles = append(roles, &GuildRole{
RoleId: *role.RoleId,
RoleName: *role.Name,
ArgbColor: *role.ArgbColor,
RoleId: role.GetRoleId(),
RoleName: role.GetName(),
ArgbColor: role.GetArgbColor(),
Indepedent: role.GetIndependent() == 1,
Num: role.GetNum(),
Owned: role.GetOwned() == 1,
Disabled: role.GetDisabled() == 1,
MaxNum: role.GetMaxNum(),
})
}
return roles, nil
}
func (s *GuildService) CreateGuildRole(guildId uint64, name string, color uint32, independent bool, initialUsers []uint64) (uint64, error) {
seq := s.c.nextSeq()
u1 := uint32(1)
packet := packets.BuildUniPacket(s.c.Uin, seq, "OidbSvcTrpcTcp.0x1016_1", 1, s.c.OutGoingPacketSessionId, []byte{}, s.c.sigInfo.d2Key,
s.c.packOIDBPackageDynamically(4118, 1, binary.DynamicProtoMessage{
1: guildId,
2: binary.DynamicProtoMessage{ // todo: 未知参数
1: u1,
2: u1,
3: u1,
},
3: binary.DynamicProtoMessage{
1: name,
2: color,
3: independent,
},
4: initialUsers,
}))
rsp, err := s.c.sendAndWaitDynamic(seq, packet)
if err != nil {
return 0, errors.Wrap(err, "send packet error")
}
body := new(channel.ChannelOidb0X1016Rsp)
if err = s.c.unpackOIDBPackage(rsp, body); err != nil {
return 0, errors.Wrap(err, "decode packet error")
}
return body.GetRoleId(), nil
}
func (s *GuildService) FetchGuestGuild(guildId uint64) (*GuildMeta, error) {
seq := s.c.nextSeq()
u1 := uint32(1)

View File

@ -383,6 +383,53 @@ func (x *ChannelOidb0X1019Rsp) GetRoles() []*GuildRole {
return nil
}
type ChannelOidb0X1016Rsp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoleId *uint64 `protobuf:"varint,2,opt,name=roleId" json:"roleId,omitempty"`
}
func (x *ChannelOidb0X1016Rsp) Reset() {
*x = ChannelOidb0X1016Rsp{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChannelOidb0X1016Rsp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChannelOidb0X1016Rsp) ProtoMessage() {}
func (x *ChannelOidb0X1016Rsp) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[7]
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 ChannelOidb0X1016Rsp.ProtoReflect.Descriptor instead.
func (*ChannelOidb0X1016Rsp) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{7}
}
func (x *ChannelOidb0X1016Rsp) GetRoleId() uint64 {
if x != nil && x.RoleId != nil {
return *x.RoleId
}
return 0
}
type GuildMetaRsp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -395,7 +442,7 @@ type GuildMetaRsp struct {
func (x *GuildMetaRsp) Reset() {
*x = GuildMetaRsp{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[7]
mi := &file_pb_channel_unknown_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -408,7 +455,7 @@ func (x *GuildMetaRsp) String() string {
func (*GuildMetaRsp) ProtoMessage() {}
func (x *GuildMetaRsp) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[7]
mi := &file_pb_channel_unknown_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -421,7 +468,7 @@ func (x *GuildMetaRsp) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildMetaRsp.ProtoReflect.Descriptor instead.
func (*GuildMetaRsp) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{7}
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{8}
}
func (x *GuildMetaRsp) GetGuildId() uint64 {
@ -450,7 +497,7 @@ type ChannelListRsp struct {
func (x *ChannelListRsp) Reset() {
*x = ChannelListRsp{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[8]
mi := &file_pb_channel_unknown_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -463,7 +510,7 @@ func (x *ChannelListRsp) String() string {
func (*ChannelListRsp) ProtoMessage() {}
func (x *ChannelListRsp) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[8]
mi := &file_pb_channel_unknown_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -476,7 +523,7 @@ func (x *ChannelListRsp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChannelListRsp.ProtoReflect.Descriptor instead.
func (*ChannelListRsp) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{8}
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{9}
}
func (x *ChannelListRsp) GetGuildId() uint64 {
@ -504,7 +551,7 @@ type GuildAdminInfo struct {
func (x *GuildAdminInfo) Reset() {
*x = GuildAdminInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[9]
mi := &file_pb_channel_unknown_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -517,7 +564,7 @@ func (x *GuildAdminInfo) String() string {
func (*GuildAdminInfo) ProtoMessage() {}
func (x *GuildAdminInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[9]
mi := &file_pb_channel_unknown_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -530,7 +577,7 @@ func (x *GuildAdminInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildAdminInfo.ProtoReflect.Descriptor instead.
func (*GuildAdminInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{9}
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{10}
}
func (x *GuildAdminInfo) GetAdmins() []*GuildMemberInfo {
@ -555,7 +602,7 @@ type GuildMemberInfo struct {
func (x *GuildMemberInfo) Reset() {
*x = GuildMemberInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[10]
mi := &file_pb_channel_unknown_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -568,7 +615,7 @@ func (x *GuildMemberInfo) String() string {
func (*GuildMemberInfo) ProtoMessage() {}
func (x *GuildMemberInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[10]
mi := &file_pb_channel_unknown_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -581,7 +628,7 @@ func (x *GuildMemberInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildMemberInfo.ProtoReflect.Descriptor instead.
func (*GuildMemberInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{10}
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{11}
}
func (x *GuildMemberInfo) GetTitle() string {
@ -635,7 +682,7 @@ type GuildUserProfile struct {
func (x *GuildUserProfile) Reset() {
*x = GuildUserProfile{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[11]
mi := &file_pb_channel_unknown_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -648,7 +695,7 @@ func (x *GuildUserProfile) String() string {
func (*GuildUserProfile) ProtoMessage() {}
func (x *GuildUserProfile) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[11]
mi := &file_pb_channel_unknown_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -661,7 +708,7 @@ func (x *GuildUserProfile) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildUserProfile.ProtoReflect.Descriptor instead.
func (*GuildUserProfile) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{11}
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{12}
}
func (x *GuildUserProfile) GetTinyId() uint64 {
@ -697,15 +744,20 @@ type GuildRole struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RoleId *uint64 `protobuf:"varint,1,opt,name=roleId" json:"roleId,omitempty"`
Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
ArgbColor *uint32 `protobuf:"varint,3,opt,name=argbColor" json:"argbColor,omitempty"`
RoleId *uint64 `protobuf:"varint,1,opt,name=roleId" json:"roleId,omitempty"`
Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
ArgbColor *uint32 `protobuf:"varint,3,opt,name=argbColor" json:"argbColor,omitempty"`
Independent *int32 `protobuf:"varint,4,opt,name=independent" json:"independent,omitempty"`
Num *int32 `protobuf:"varint,5,opt,name=num" json:"num,omitempty"`
Owned *int32 `protobuf:"varint,6,opt,name=owned" json:"owned,omitempty"` // 是否拥有 存疑
Disabled *int32 `protobuf:"varint,7,opt,name=disabled" json:"disabled,omitempty"` // 权限不足或不显示
MaxNum *int32 `protobuf:"varint,8,opt,name=maxNum" json:"maxNum,omitempty"` // 9: ?
}
func (x *GuildRole) Reset() {
*x = GuildRole{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[12]
mi := &file_pb_channel_unknown_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -718,7 +770,7 @@ func (x *GuildRole) String() string {
func (*GuildRole) ProtoMessage() {}
func (x *GuildRole) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[12]
mi := &file_pb_channel_unknown_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -731,7 +783,7 @@ func (x *GuildRole) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildRole.ProtoReflect.Descriptor instead.
func (*GuildRole) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{12}
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{13}
}
func (x *GuildRole) GetRoleId() uint64 {
@ -755,6 +807,41 @@ func (x *GuildRole) GetArgbColor() uint32 {
return 0
}
func (x *GuildRole) GetIndependent() int32 {
if x != nil && x.Independent != nil {
return *x.Independent
}
return 0
}
func (x *GuildRole) GetNum() int32 {
if x != nil && x.Num != nil {
return *x.Num
}
return 0
}
func (x *GuildRole) GetOwned() int32 {
if x != nil && x.Owned != nil {
return *x.Owned
}
return 0
}
func (x *GuildRole) GetDisabled() int32 {
if x != nil && x.Disabled != nil {
return *x.Disabled
}
return 0
}
func (x *GuildRole) GetMaxNum() int32 {
if x != nil && x.MaxNum != nil {
return *x.MaxNum
}
return 0
}
type GuildMeta struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -777,7 +864,7 @@ type GuildMeta struct {
func (x *GuildMeta) Reset() {
*x = GuildMeta{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[13]
mi := &file_pb_channel_unknown_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -790,7 +877,7 @@ func (x *GuildMeta) String() string {
func (*GuildMeta) ProtoMessage() {}
func (x *GuildMeta) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[13]
mi := &file_pb_channel_unknown_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -803,7 +890,7 @@ func (x *GuildMeta) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildMeta.ProtoReflect.Descriptor instead.
func (*GuildMeta) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{13}
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{14}
}
func (x *GuildMeta) GetGuildCode() uint64 {
@ -915,7 +1002,7 @@ type GuildChannelInfo struct {
func (x *GuildChannelInfo) Reset() {
*x = GuildChannelInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[14]
mi := &file_pb_channel_unknown_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -928,7 +1015,7 @@ func (x *GuildChannelInfo) String() string {
func (*GuildChannelInfo) ProtoMessage() {}
func (x *GuildChannelInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[14]
mi := &file_pb_channel_unknown_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -941,7 +1028,7 @@ func (x *GuildChannelInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildChannelInfo.ProtoReflect.Descriptor instead.
func (*GuildChannelInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{14}
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{15}
}
func (x *GuildChannelInfo) GetChannelId() uint64 {
@ -1049,7 +1136,7 @@ type GuildChannelSlowModeInfo struct {
func (x *GuildChannelSlowModeInfo) Reset() {
*x = GuildChannelSlowModeInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[15]
mi := &file_pb_channel_unknown_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1062,7 +1149,7 @@ func (x *GuildChannelSlowModeInfo) String() string {
func (*GuildChannelSlowModeInfo) ProtoMessage() {}
func (x *GuildChannelSlowModeInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[15]
mi := &file_pb_channel_unknown_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1075,7 +1162,7 @@ func (x *GuildChannelSlowModeInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildChannelSlowModeInfo.ProtoReflect.Descriptor instead.
func (*GuildChannelSlowModeInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{15}
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{16}
}
func (x *GuildChannelSlowModeInfo) GetSlowModeKey() int32 {
@ -1119,7 +1206,7 @@ type GuildChannelTopMsgInfo struct {
func (x *GuildChannelTopMsgInfo) Reset() {
*x = GuildChannelTopMsgInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[16]
mi := &file_pb_channel_unknown_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1132,7 +1219,7 @@ func (x *GuildChannelTopMsgInfo) String() string {
func (*GuildChannelTopMsgInfo) ProtoMessage() {}
func (x *GuildChannelTopMsgInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[16]
mi := &file_pb_channel_unknown_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1145,7 +1232,7 @@ func (x *GuildChannelTopMsgInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildChannelTopMsgInfo.ProtoReflect.Descriptor instead.
func (*GuildChannelTopMsgInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{16}
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{17}
}
func (x *GuildChannelTopMsgInfo) GetTopMsgSeq() uint64 {
@ -1214,7 +1301,10 @@ var file_pb_channel_unknown_proto_rawDesc = []byte{
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64,
0x12, 0x28, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52,
0x6f, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x50, 0x0a, 0x0c, 0x47, 0x75,
0x6f, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x14, 0x43, 0x68,
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x31, 0x30, 0x31, 0x36, 0x52,
0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x0c, 0x47, 0x75,
0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75,
0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69,
0x6c, 0x64, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01,
@ -1247,91 +1337,99 @@ var file_pb_channel_unknown_proto_rawDesc = []byte{
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72,
0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55,
0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10,
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x55,
0x0a, 0x09, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72,
0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6c,
0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x62, 0x43,
0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x72, 0x67, 0x62,
0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0xf5, 0x02, 0x0a, 0x09, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d,
0x65, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64,
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd3,
0x01, 0x0a, 0x09, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06,
0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f,
0x6c, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x62,
0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x72, 0x67,
0x62, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65,
0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6e, 0x64,
0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18,
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77,
0x6e, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06,
0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x61,
0x78, 0x4e, 0x75, 0x6d, 0x22, 0xf5, 0x02, 0x0a, 0x09, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65,
0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65,
0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20,
0x0a, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d,
0x12, 0x20, 0x0a, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4e,
0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x65, 0x71, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52,
0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x77,
0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x77, 0x6e,
0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x71,
0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x71,
0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x9a, 0x04, 0x0a,
0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12,
0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d,
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x69, 0x6e, 0x18,
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x69,
0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65,
0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x20, 0x0a, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x0b,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x75,
0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d,
0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x78,
0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0d,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a,
0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x65, 0x71, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03,
0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6f,
0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x77,
0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x65,
0x71, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x65,
0x71, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x14, 0x20,
0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x9a, 0x04,
0x0a, 0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64,
0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61,
0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x69, 0x6e,
0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55,
0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69,
0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x05, 0x20,
0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f,
0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18,
0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69,
0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x68, 0x61,
0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x6b,
0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0e, 0x74, 0x61, 0x6c, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x12, 0x24, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49,
0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72,
0x54, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c,
0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x76, 0x69, 0x73,
0x69, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x4d,
0x73, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54,
0x6f, 0x70, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x4d, 0x73,
0x67, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x77,
0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x63,
0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65,
0x79, 0x12, 0x47, 0x0a, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53,
0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x73, 0x6c, 0x6f,
0x77, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xb0, 0x01, 0x0a, 0x18, 0x47,
0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x6c, 0x6f, 0x77, 0x4d,
0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x77, 0x4d,
0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x6c,
0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x70, 0x65,
0x61, 0x6b, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0e, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
0x79, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x43, 0x69, 0x72,
0x63, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x4d,
0x6f, 0x64, 0x65, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x6c, 0x6f,
0x77, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0c, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x78, 0x74, 0x22, 0x8a, 0x01,
0x0a, 0x16, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x6f,
0x70, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x4d,
0x73, 0x67, 0x53, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x6f, 0x70,
0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67,
0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x4d,
0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67,
0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x65, 0x72,
0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62,
0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01,
0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x66,
0x69, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66,
0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e,
0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x6b, 0x50,
0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0e, 0x74, 0x61, 0x6c, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x24, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49, 0x64,
0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x54,
0x69, 0x6e, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65,
0x54, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x76, 0x69, 0x73, 0x69,
0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x4d, 0x73,
0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x6f,
0x70, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67,
0x12, 0x2e, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x77, 0x4d,
0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x63, 0x75,
0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79,
0x12, 0x47, 0x0a, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f,
0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x6c,
0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x73, 0x6c, 0x6f, 0x77,
0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xb0, 0x01, 0x0a, 0x18, 0x47, 0x75,
0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x6c, 0x6f, 0x77, 0x4d, 0x6f,
0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f,
0x64, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x6c, 0x6f,
0x77, 0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x61,
0x6b, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0e, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79,
0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x43, 0x69, 0x72, 0x63,
0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f,
0x64, 0x65, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x6c, 0x6f, 0x77,
0x4d, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x78, 0x74, 0x22, 0x8a, 0x01, 0x0a,
0x16, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x6f, 0x70,
0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x4d, 0x73,
0x67, 0x53, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x4d,
0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x54,
0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x4d, 0x73,
0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x4f,
0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61,
0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62, 0x2f,
0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
}
var (
@ -1346,7 +1444,7 @@ func file_pb_channel_unknown_proto_rawDescGZIP() []byte {
return file_pb_channel_unknown_proto_rawDescData
}
var file_pb_channel_unknown_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
var file_pb_channel_unknown_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_pb_channel_unknown_proto_goTypes = []interface{}{
(*ChannelOidb0Xf5BRsp)(nil), // 0: channel.ChannelOidb0xf5bRsp
(*ChannelOidb0Xf88Rsp)(nil), // 1: channel.ChannelOidb0xf88Rsp
@ -1355,32 +1453,33 @@ var file_pb_channel_unknown_proto_goTypes = []interface{}{
(*ChannelOidb0Xf55Rsp)(nil), // 4: channel.ChannelOidb0xf55Rsp
(*ChannelOidb0Xf5DRsp)(nil), // 5: channel.ChannelOidb0xf5dRsp
(*ChannelOidb0X1019Rsp)(nil), // 6: channel.ChannelOidb0x1019Rsp
(*GuildMetaRsp)(nil), // 7: channel.GuildMetaRsp
(*ChannelListRsp)(nil), // 8: channel.ChannelListRsp
(*GuildAdminInfo)(nil), // 9: channel.GuildAdminInfo
(*GuildMemberInfo)(nil), // 10: channel.GuildMemberInfo
(*GuildUserProfile)(nil), // 11: channel.GuildUserProfile
(*GuildRole)(nil), // 12: channel.GuildRole
(*GuildMeta)(nil), // 13: channel.GuildMeta
(*GuildChannelInfo)(nil), // 14: channel.GuildChannelInfo
(*GuildChannelSlowModeInfo)(nil), // 15: channel.GuildChannelSlowModeInfo
(*GuildChannelTopMsgInfo)(nil), // 16: channel.GuildChannelTopMsgInfo
(*ChannelOidb0X1016Rsp)(nil), // 7: channel.ChannelOidb0x1016Rsp
(*GuildMetaRsp)(nil), // 8: channel.GuildMetaRsp
(*ChannelListRsp)(nil), // 9: channel.ChannelListRsp
(*GuildAdminInfo)(nil), // 10: channel.GuildAdminInfo
(*GuildMemberInfo)(nil), // 11: channel.GuildMemberInfo
(*GuildUserProfile)(nil), // 12: channel.GuildUserProfile
(*GuildRole)(nil), // 13: channel.GuildRole
(*GuildMeta)(nil), // 14: channel.GuildMeta
(*GuildChannelInfo)(nil), // 15: channel.GuildChannelInfo
(*GuildChannelSlowModeInfo)(nil), // 16: channel.GuildChannelSlowModeInfo
(*GuildChannelTopMsgInfo)(nil), // 17: channel.GuildChannelTopMsgInfo
}
var file_pb_channel_unknown_proto_depIdxs = []int32{
10, // 0: channel.ChannelOidb0xf5bRsp.bots:type_name -> channel.GuildMemberInfo
10, // 1: channel.ChannelOidb0xf5bRsp.members:type_name -> channel.GuildMemberInfo
9, // 2: channel.ChannelOidb0xf5bRsp.adminInfo:type_name -> channel.GuildAdminInfo
11, // 3: channel.ChannelOidb0xf88Rsp.profile:type_name -> channel.GuildUserProfile
11, // 4: channel.ChannelOidb0xfc9Rsp.profile:type_name -> channel.GuildUserProfile
7, // 5: channel.ChannelOidb0xf57Rsp.rsp:type_name -> channel.GuildMetaRsp
14, // 6: channel.ChannelOidb0xf55Rsp.info:type_name -> channel.GuildChannelInfo
8, // 7: channel.ChannelOidb0xf5dRsp.rsp:type_name -> channel.ChannelListRsp
12, // 8: channel.ChannelOidb0x1019Rsp.roles:type_name -> channel.GuildRole
13, // 9: channel.GuildMetaRsp.meta:type_name -> channel.GuildMeta
14, // 10: channel.ChannelListRsp.channels:type_name -> channel.GuildChannelInfo
10, // 11: channel.GuildAdminInfo.admins:type_name -> channel.GuildMemberInfo
16, // 12: channel.GuildChannelInfo.topMsg:type_name -> channel.GuildChannelTopMsgInfo
15, // 13: channel.GuildChannelInfo.slowModeInfos:type_name -> channel.GuildChannelSlowModeInfo
11, // 0: channel.ChannelOidb0xf5bRsp.bots:type_name -> channel.GuildMemberInfo
11, // 1: channel.ChannelOidb0xf5bRsp.members:type_name -> channel.GuildMemberInfo
10, // 2: channel.ChannelOidb0xf5bRsp.adminInfo:type_name -> channel.GuildAdminInfo
12, // 3: channel.ChannelOidb0xf88Rsp.profile:type_name -> channel.GuildUserProfile
12, // 4: channel.ChannelOidb0xfc9Rsp.profile:type_name -> channel.GuildUserProfile
8, // 5: channel.ChannelOidb0xf57Rsp.rsp:type_name -> channel.GuildMetaRsp
15, // 6: channel.ChannelOidb0xf55Rsp.info:type_name -> channel.GuildChannelInfo
9, // 7: channel.ChannelOidb0xf5dRsp.rsp:type_name -> channel.ChannelListRsp
13, // 8: channel.ChannelOidb0x1019Rsp.roles:type_name -> channel.GuildRole
14, // 9: channel.GuildMetaRsp.meta:type_name -> channel.GuildMeta
15, // 10: channel.ChannelListRsp.channels:type_name -> channel.GuildChannelInfo
11, // 11: channel.GuildAdminInfo.admins:type_name -> channel.GuildMemberInfo
17, // 12: channel.GuildChannelInfo.topMsg:type_name -> channel.GuildChannelTopMsgInfo
16, // 13: channel.GuildChannelInfo.slowModeInfos:type_name -> channel.GuildChannelSlowModeInfo
14, // [14:14] is the sub-list for method output_type
14, // [14:14] is the sub-list for method input_type
14, // [14:14] is the sub-list for extension type_name
@ -1479,7 +1578,7 @@ func file_pb_channel_unknown_proto_init() {
}
}
file_pb_channel_unknown_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildMetaRsp); i {
switch v := v.(*ChannelOidb0X1016Rsp); i {
case 0:
return &v.state
case 1:
@ -1491,7 +1590,7 @@ func file_pb_channel_unknown_proto_init() {
}
}
file_pb_channel_unknown_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChannelListRsp); i {
switch v := v.(*GuildMetaRsp); i {
case 0:
return &v.state
case 1:
@ -1503,7 +1602,7 @@ func file_pb_channel_unknown_proto_init() {
}
}
file_pb_channel_unknown_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildAdminInfo); i {
switch v := v.(*ChannelListRsp); i {
case 0:
return &v.state
case 1:
@ -1515,7 +1614,7 @@ func file_pb_channel_unknown_proto_init() {
}
}
file_pb_channel_unknown_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildMemberInfo); i {
switch v := v.(*GuildAdminInfo); i {
case 0:
return &v.state
case 1:
@ -1527,7 +1626,7 @@ func file_pb_channel_unknown_proto_init() {
}
}
file_pb_channel_unknown_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildUserProfile); i {
switch v := v.(*GuildMemberInfo); i {
case 0:
return &v.state
case 1:
@ -1539,7 +1638,7 @@ func file_pb_channel_unknown_proto_init() {
}
}
file_pb_channel_unknown_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildRole); i {
switch v := v.(*GuildUserProfile); i {
case 0:
return &v.state
case 1:
@ -1551,7 +1650,7 @@ func file_pb_channel_unknown_proto_init() {
}
}
file_pb_channel_unknown_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildMeta); i {
switch v := v.(*GuildRole); i {
case 0:
return &v.state
case 1:
@ -1563,7 +1662,7 @@ func file_pb_channel_unknown_proto_init() {
}
}
file_pb_channel_unknown_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildChannelInfo); i {
switch v := v.(*GuildMeta); i {
case 0:
return &v.state
case 1:
@ -1575,7 +1674,7 @@ func file_pb_channel_unknown_proto_init() {
}
}
file_pb_channel_unknown_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildChannelSlowModeInfo); i {
switch v := v.(*GuildChannelInfo); i {
case 0:
return &v.state
case 1:
@ -1587,6 +1686,18 @@ func file_pb_channel_unknown_proto_init() {
}
}
file_pb_channel_unknown_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildChannelSlowModeInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pb_channel_unknown_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildChannelTopMsgInfo); i {
case 0:
return &v.state
@ -1605,7 +1716,7 @@ func file_pb_channel_unknown_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pb_channel_unknown_proto_rawDesc,
NumEnums: 0,
NumMessages: 17,
NumMessages: 18,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -35,8 +35,37 @@ message ChannelOidb0xf5dRsp {
message ChannelOidb0x1019Rsp {
optional uint64 guildId = 1;
repeated GuildRole roles = 2;
// 3: ?
// 4:
}
/*
message ChannelOidb0x100dReq { //
optional uint64 guildId = 1;
repeated uint64 roleId = 2;
repeated int32 unkonwn = 3; // 3: ? 1
repeated ModifyGuildRole role = 4;
}*/
/*
message ChannelOidb0x1016Req { //
optional uint64 guildId = 1;
repeated int32 unknown = 2; // 2: ? 1
optional ModifyGuildRole role = 3;
repeated uint64 initialUsers = 4;
}*/
message ChannelOidb0x1016Rsp {
optional uint64 roleId = 2;
}
/*
message ChannelOidb0x101aReq { //
optional uint64 guildId = 1;
repeated SetGuildRole setRoles = 2;
repeated SetGuildRole removeRoles = 3;
}*/
message GuildMetaRsp {
optional uint64 guildId = 3;
optional GuildMeta meta = 4;
@ -76,13 +105,27 @@ message GuildRole {
optional uint64 roleId = 1;
optional string name = 2;
optional uint32 argbColor = 3;
// 4: visible?
// 5: ?
// 6: customRole?
// 7: officalRole?
// 8: ? permission
optional int32 independent = 4;
optional int32 num = 5;
optional int32 owned = 6; //
optional int32 disabled = 7; //
optional int32 maxNum = 8;
// 9: ?
}
/*
message SetGuildRole {
optional uint64 roleId = 1;
optional uint64 targetId = 2;
}*/
/*
message ModifyGuildRole {
optional string roleName = 1;
optional uint32 color = 2;
optional int32 independent = 3; //
}*/
message GuildMeta {
optional uint64 guildCode = 2;
optional int64 createTime = 4;