From 6a525b2f8dbe98bec08a1359c7fc2caa6a62170e Mon Sep 17 00:00:00 2001 From: Mrs4s Date: Thu, 11 Nov 2021 18:51:58 +0800 Subject: [PATCH] feat: FetchChannelList --- client/guild.go | 82 ++++-- client/pb/channel/unknown.pb.go | 471 +++++++++++++++++++++----------- client/pb/channel/unknown.proto | 10 + 3 files changed, 367 insertions(+), 196 deletions(-) diff --git a/client/guild.go b/client/guild.go index 471d40ff..aee5a607 100644 --- a/client/guild.go +++ b/client/guild.go @@ -2,7 +2,6 @@ package client import ( "fmt" - "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/channel" "github.com/Mrs4s/MiraiGo/internal/packets" @@ -294,6 +293,24 @@ func (s *GuildService) FetchGuestGuild(guildId uint64) (*GuildMeta, error) { }, nil } +func (s *GuildService) FetchChannelList(guildId uint64) (r []*ChannelInfo, e error) { + seq := s.c.nextSeq() + packet := packets.BuildUniPacket(s.c.Uin, seq, "OidbSvcTrpcTcp.0xf5d_1", 1, s.c.OutGoingPacketSessionId, []byte{}, s.c.sigInfo.d2Key, + s.c.packOIDBPackageDynamically(3933, 1, binary.DynamicProtoMessage{1: guildId, 3: binary.DynamicProtoMessage{1: uint32(1)}})) + rsp, err := s.c.sendAndWaitDynamic(seq, packet) + if err != nil { + return nil, errors.Wrap(err, "send packet error") + } + body := new(channel.ChannelOidb0Xf5DRsp) + if err = s.c.unpackOIDBPackage(rsp, body); err != nil { + return nil, errors.Wrap(err, "decode packet error") + } + for _, info := range body.Rsp.Channels { + r = append(r, convertChannelInfo(info)) + } + return +} + func (s *GuildService) FetchChannelInfo(guildId, channelId uint64) (*ChannelInfo, error) { seq := s.c.nextSeq() packet := packets.BuildUniPacket(s.c.Uin, seq, "OidbSvcTrpcTcp.0xf55_1", 1, s.c.OutGoingPacketSessionId, []byte{}, s.c.sigInfo.d2Key, @@ -306,35 +323,7 @@ func (s *GuildService) FetchChannelInfo(guildId, channelId uint64) (*ChannelInfo if err = s.c.unpackOIDBPackage(rsp, body); err != nil { return nil, errors.Wrap(err, "decode packet error") } - meta := &ChannelMeta{ - CreatorUin: body.Info.GetCreatorUin(), - CreatorTinyId: body.Info.GetCreatorTinyId(), - CreateTime: body.Info.GetCreateTime(), - GuildId: body.Info.GetGuildId(), - VisibleType: body.Info.GetVisibleType(), - CurrentSlowMode: body.Info.GetCurrentSlowModeKey(), - TalkPermission: body.Info.GetTalkPermission(), - } - if body.Info.TopMsg != nil { - meta.TopMessageSeq = body.Info.TopMsg.GetTopMsgSeq() - meta.TopMessageTime = body.Info.TopMsg.GetTopMsgTime() - meta.TopMessageOperatorId = body.Info.TopMsg.GetTopMsgOperatorTinyId() - } - for _, slow := range body.Info.SlowModeInfos { - meta.SlowModes = append(meta.SlowModes, &ChannelSlowModeInfo{ - SlowModeKey: slow.GetSlowModeKey(), - SpeakFrequency: slow.GetSpeakFrequency(), - SlowModeCircle: slow.GetSlowModeCircle(), - SlowModeText: slow.GetSlowModeText(), - }) - } - return &ChannelInfo{ - ChannelId: body.Info.GetChannelId(), - ChannelName: body.Info.GetChannelName(), - NotifyType: uint32(body.Info.GetFinalNotifyType()), - ChannelType: ChannelType(body.Info.GetChannelType()), - Meta: meta, - }, nil + return convertChannelInfo(body.Info), nil } /* need analysis @@ -362,6 +351,38 @@ func (s *GuildService) fetchChannelListState(guildId uint64, channels []*Channel } */ +func convertChannelInfo(info *channel.GuildChannelInfo) *ChannelInfo { + meta := &ChannelMeta{ + CreatorUin: info.GetCreatorUin(), + CreatorTinyId: info.GetCreatorTinyId(), + CreateTime: info.GetCreateTime(), + GuildId: info.GetGuildId(), + VisibleType: info.GetVisibleType(), + CurrentSlowMode: info.GetCurrentSlowModeKey(), + TalkPermission: info.GetTalkPermission(), + } + if info.TopMsg != nil { + meta.TopMessageSeq = info.TopMsg.GetTopMsgSeq() + meta.TopMessageTime = info.TopMsg.GetTopMsgTime() + meta.TopMessageOperatorId = info.TopMsg.GetTopMsgOperatorTinyId() + } + for _, slow := range info.SlowModeInfos { + meta.SlowModes = append(meta.SlowModes, &ChannelSlowModeInfo{ + SlowModeKey: slow.GetSlowModeKey(), + SpeakFrequency: slow.GetSpeakFrequency(), + SlowModeCircle: slow.GetSlowModeCircle(), + SlowModeText: slow.GetSlowModeText(), + }) + } + return &ChannelInfo{ + ChannelId: info.GetChannelId(), + ChannelName: info.GetChannelName(), + NotifyType: uint32(info.GetFinalNotifyType()), + ChannelType: ChannelType(info.GetChannelType()), + Meta: meta, + } +} + func (c *QQClient) syncChannelFirstView() { rsp, err := c.sendAndWaitDynamic(c.buildSyncChannelFirstViewPacket()) if err != nil { @@ -424,6 +445,7 @@ func decodeGuildPushFirstView(c *QQClient, _ *incomingPacketInfo, payload []byte } info.Bots, info.Members, info.Admins, _ = c.GuildService.GetGuildMembers(info.GuildId) c.GuildService.Guilds = append(c.GuildService.Guilds, info) + c.GuildService.FetchChannelList(info.GuildId) } } if len(firstViewMsg.ChannelMsgs) > 0 { // sync msg diff --git a/client/pb/channel/unknown.pb.go b/client/pb/channel/unknown.pb.go index 5e5da637..bfae7b25 100644 --- a/client/pb/channel/unknown.pb.go +++ b/client/pb/channel/unknown.pb.go @@ -9,11 +9,10 @@ package channel import ( - reflect "reflect" - sync "sync" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" ) const ( @@ -282,6 +281,53 @@ func (x *ChannelOidb0Xf55Rsp) GetInfo() *GuildChannelInfo { return nil } +type ChannelOidb0Xf5DRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rsp *ChannelListRsp `protobuf:"bytes,1,opt,name=rsp" json:"rsp,omitempty"` +} + +func (x *ChannelOidb0Xf5DRsp) Reset() { + *x = ChannelOidb0Xf5DRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_unknown_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelOidb0Xf5DRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelOidb0Xf5DRsp) ProtoMessage() {} + +func (x *ChannelOidb0Xf5DRsp) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_unknown_proto_msgTypes[5] + 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 ChannelOidb0Xf5DRsp.ProtoReflect.Descriptor instead. +func (*ChannelOidb0Xf5DRsp) Descriptor() ([]byte, []int) { + return file_pb_channel_unknown_proto_rawDescGZIP(), []int{5} +} + +func (x *ChannelOidb0Xf5DRsp) GetRsp() *ChannelListRsp { + if x != nil { + return x.Rsp + } + return nil +} + type GuildMetaRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -294,7 +340,7 @@ type GuildMetaRsp struct { func (x *GuildMetaRsp) Reset() { *x = GuildMetaRsp{} if protoimpl.UnsafeEnabled { - mi := &file_pb_channel_unknown_proto_msgTypes[5] + mi := &file_pb_channel_unknown_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -307,7 +353,7 @@ func (x *GuildMetaRsp) String() string { func (*GuildMetaRsp) ProtoMessage() {} func (x *GuildMetaRsp) ProtoReflect() protoreflect.Message { - mi := &file_pb_channel_unknown_proto_msgTypes[5] + mi := &file_pb_channel_unknown_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -320,7 +366,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{5} + return file_pb_channel_unknown_proto_rawDescGZIP(), []int{6} } func (x *GuildMetaRsp) GetGuildId() uint64 { @@ -337,6 +383,61 @@ func (x *GuildMetaRsp) GetMeta() *GuildMeta { return nil } +type ChannelListRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GuildId *uint64 `protobuf:"varint,1,opt,name=guildId" json:"guildId,omitempty"` + Channels []*GuildChannelInfo `protobuf:"bytes,2,rep,name=channels" json:"channels,omitempty"` // 5: Category infos +} + +func (x *ChannelListRsp) Reset() { + *x = ChannelListRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_unknown_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelListRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelListRsp) ProtoMessage() {} + +func (x *ChannelListRsp) 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 ChannelListRsp.ProtoReflect.Descriptor instead. +func (*ChannelListRsp) Descriptor() ([]byte, []int) { + return file_pb_channel_unknown_proto_rawDescGZIP(), []int{7} +} + +func (x *ChannelListRsp) GetGuildId() uint64 { + if x != nil && x.GuildId != nil { + return *x.GuildId + } + return 0 +} + +func (x *ChannelListRsp) GetChannels() []*GuildChannelInfo { + if x != nil { + return x.Channels + } + return nil +} + type GuildAdminInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -348,7 +449,7 @@ type GuildAdminInfo struct { func (x *GuildAdminInfo) Reset() { *x = GuildAdminInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pb_channel_unknown_proto_msgTypes[6] + mi := &file_pb_channel_unknown_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -361,7 +462,7 @@ func (x *GuildAdminInfo) String() string { func (*GuildAdminInfo) ProtoMessage() {} func (x *GuildAdminInfo) ProtoReflect() protoreflect.Message { - mi := &file_pb_channel_unknown_proto_msgTypes[6] + mi := &file_pb_channel_unknown_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -374,7 +475,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{6} + return file_pb_channel_unknown_proto_rawDescGZIP(), []int{8} } func (x *GuildAdminInfo) GetAdmins() []*GuildMemberInfo { @@ -399,7 +500,7 @@ type GuildMemberInfo struct { func (x *GuildMemberInfo) Reset() { *x = GuildMemberInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pb_channel_unknown_proto_msgTypes[7] + mi := &file_pb_channel_unknown_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -412,7 +513,7 @@ func (x *GuildMemberInfo) String() string { func (*GuildMemberInfo) ProtoMessage() {} func (x *GuildMemberInfo) ProtoReflect() protoreflect.Message { - mi := &file_pb_channel_unknown_proto_msgTypes[7] + mi := &file_pb_channel_unknown_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -425,7 +526,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{7} + return file_pb_channel_unknown_proto_rawDescGZIP(), []int{9} } func (x *GuildMemberInfo) GetTitle() string { @@ -479,7 +580,7 @@ type GuildUserProfile struct { func (x *GuildUserProfile) Reset() { *x = GuildUserProfile{} if protoimpl.UnsafeEnabled { - mi := &file_pb_channel_unknown_proto_msgTypes[8] + mi := &file_pb_channel_unknown_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -492,7 +593,7 @@ func (x *GuildUserProfile) String() string { func (*GuildUserProfile) ProtoMessage() {} func (x *GuildUserProfile) ProtoReflect() protoreflect.Message { - mi := &file_pb_channel_unknown_proto_msgTypes[8] + mi := &file_pb_channel_unknown_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -505,7 +606,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{8} + return file_pb_channel_unknown_proto_rawDescGZIP(), []int{10} } func (x *GuildUserProfile) GetTinyId() uint64 { @@ -558,7 +659,7 @@ type GuildMeta struct { func (x *GuildMeta) Reset() { *x = GuildMeta{} if protoimpl.UnsafeEnabled { - mi := &file_pb_channel_unknown_proto_msgTypes[9] + mi := &file_pb_channel_unknown_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -571,7 +672,7 @@ func (x *GuildMeta) String() string { func (*GuildMeta) ProtoMessage() {} func (x *GuildMeta) ProtoReflect() protoreflect.Message { - mi := &file_pb_channel_unknown_proto_msgTypes[9] + mi := &file_pb_channel_unknown_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -584,7 +685,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{9} + return file_pb_channel_unknown_proto_rawDescGZIP(), []int{11} } func (x *GuildMeta) GetGuildCode() uint64 { @@ -696,7 +797,7 @@ type GuildChannelInfo struct { func (x *GuildChannelInfo) Reset() { *x = GuildChannelInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pb_channel_unknown_proto_msgTypes[10] + mi := &file_pb_channel_unknown_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -709,7 +810,7 @@ func (x *GuildChannelInfo) String() string { func (*GuildChannelInfo) ProtoMessage() {} func (x *GuildChannelInfo) ProtoReflect() protoreflect.Message { - mi := &file_pb_channel_unknown_proto_msgTypes[10] + mi := &file_pb_channel_unknown_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -722,7 +823,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{10} + return file_pb_channel_unknown_proto_rawDescGZIP(), []int{12} } func (x *GuildChannelInfo) GetChannelId() uint64 { @@ -830,7 +931,7 @@ type GuildChannelSlowModeInfo struct { func (x *GuildChannelSlowModeInfo) Reset() { *x = GuildChannelSlowModeInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pb_channel_unknown_proto_msgTypes[11] + mi := &file_pb_channel_unknown_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -843,7 +944,7 @@ func (x *GuildChannelSlowModeInfo) String() string { func (*GuildChannelSlowModeInfo) ProtoMessage() {} func (x *GuildChannelSlowModeInfo) ProtoReflect() protoreflect.Message { - mi := &file_pb_channel_unknown_proto_msgTypes[11] + mi := &file_pb_channel_unknown_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -856,7 +957,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{11} + return file_pb_channel_unknown_proto_rawDescGZIP(), []int{13} } func (x *GuildChannelSlowModeInfo) GetSlowModeKey() int32 { @@ -900,7 +1001,7 @@ type GuildChannelTopMsgInfo struct { func (x *GuildChannelTopMsgInfo) Reset() { *x = GuildChannelTopMsgInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pb_channel_unknown_proto_msgTypes[12] + mi := &file_pb_channel_unknown_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -913,7 +1014,7 @@ func (x *GuildChannelTopMsgInfo) String() string { func (*GuildChannelTopMsgInfo) ProtoMessage() {} func (x *GuildChannelTopMsgInfo) ProtoReflect() protoreflect.Message { - mi := &file_pb_channel_unknown_proto_msgTypes[12] + mi := &file_pb_channel_unknown_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -926,7 +1027,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{12} + return file_pb_channel_unknown_proto_rawDescGZIP(), []int{14} } func (x *GuildChannelTopMsgInfo) GetTopMsgSeq() uint64 { @@ -985,113 +1086,123 @@ var file_pb_channel_unknown_proto_rawDesc = []byte{ 0x6c, 0x4f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x66, 0x35, 0x35, 0x52, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 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, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x42, - 0x0a, 0x0e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x30, 0x0a, 0x06, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x0f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x40, 0x0a, 0x13, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x66, 0x35, 0x64, + 0x52, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x03, 0x72, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x52, 0x03, 0x72, 0x73, 0x70, 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, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, + 0x22, 0x61, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x08, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x22, 0x42, 0x0a, 0x0e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x06, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x06, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x0f, 0x47, 0x75, 0x69, 0x6c, + 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, + 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x22, + 0x80, 0x01, 0x0a, 0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, - 0x53, 0x70, 0x65, 0x61, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, - 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x10, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 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, 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, 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, + 0x6e, 0x69, 0x63, 0x6b, 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, 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, + 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 ( @@ -1106,39 +1217,43 @@ 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, 13) +var file_pb_channel_unknown_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_pb_channel_unknown_proto_goTypes = []interface{}{ (*ChannelOidb0Xf5BRsp)(nil), // 0: channel.ChannelOidb0xf5bRsp (*ChannelOidb0Xf88Rsp)(nil), // 1: channel.ChannelOidb0xf88Rsp (*ChannelOidb0Xfc9Rsp)(nil), // 2: channel.ChannelOidb0xfc9Rsp (*ChannelOidb0Xf57Rsp)(nil), // 3: channel.ChannelOidb0xf57Rsp (*ChannelOidb0Xf55Rsp)(nil), // 4: channel.ChannelOidb0xf55Rsp - (*GuildMetaRsp)(nil), // 5: channel.GuildMetaRsp - (*GuildAdminInfo)(nil), // 6: channel.GuildAdminInfo - (*GuildMemberInfo)(nil), // 7: channel.GuildMemberInfo - (*GuildUserProfile)(nil), // 8: channel.GuildUserProfile - (*GuildMeta)(nil), // 9: channel.GuildMeta - (*GuildChannelInfo)(nil), // 10: channel.GuildChannelInfo - (*GuildChannelSlowModeInfo)(nil), // 11: channel.GuildChannelSlowModeInfo - (*GuildChannelTopMsgInfo)(nil), // 12: channel.GuildChannelTopMsgInfo + (*ChannelOidb0Xf5DRsp)(nil), // 5: channel.ChannelOidb0xf5dRsp + (*GuildMetaRsp)(nil), // 6: channel.GuildMetaRsp + (*ChannelListRsp)(nil), // 7: channel.ChannelListRsp + (*GuildAdminInfo)(nil), // 8: channel.GuildAdminInfo + (*GuildMemberInfo)(nil), // 9: channel.GuildMemberInfo + (*GuildUserProfile)(nil), // 10: channel.GuildUserProfile + (*GuildMeta)(nil), // 11: channel.GuildMeta + (*GuildChannelInfo)(nil), // 12: channel.GuildChannelInfo + (*GuildChannelSlowModeInfo)(nil), // 13: channel.GuildChannelSlowModeInfo + (*GuildChannelTopMsgInfo)(nil), // 14: channel.GuildChannelTopMsgInfo } var file_pb_channel_unknown_proto_depIdxs = []int32{ - 7, // 0: channel.ChannelOidb0xf5bRsp.bots:type_name -> channel.GuildMemberInfo - 7, // 1: channel.ChannelOidb0xf5bRsp.members:type_name -> channel.GuildMemberInfo - 6, // 2: channel.ChannelOidb0xf5bRsp.adminInfo:type_name -> channel.GuildAdminInfo - 8, // 3: channel.ChannelOidb0xf88Rsp.profile:type_name -> channel.GuildUserProfile - 8, // 4: channel.ChannelOidb0xfc9Rsp.profile:type_name -> channel.GuildUserProfile - 5, // 5: channel.ChannelOidb0xf57Rsp.rsp:type_name -> channel.GuildMetaRsp - 10, // 6: channel.ChannelOidb0xf55Rsp.info:type_name -> channel.GuildChannelInfo - 9, // 7: channel.GuildMetaRsp.meta:type_name -> channel.GuildMeta - 7, // 8: channel.GuildAdminInfo.admins:type_name -> channel.GuildMemberInfo - 12, // 9: channel.GuildChannelInfo.topMsg:type_name -> channel.GuildChannelTopMsgInfo - 11, // 10: channel.GuildChannelInfo.slowModeInfos:type_name -> channel.GuildChannelSlowModeInfo - 11, // [11:11] is the sub-list for method output_type - 11, // [11:11] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 9, // 0: channel.ChannelOidb0xf5bRsp.bots:type_name -> channel.GuildMemberInfo + 9, // 1: channel.ChannelOidb0xf5bRsp.members:type_name -> channel.GuildMemberInfo + 8, // 2: channel.ChannelOidb0xf5bRsp.adminInfo:type_name -> channel.GuildAdminInfo + 10, // 3: channel.ChannelOidb0xf88Rsp.profile:type_name -> channel.GuildUserProfile + 10, // 4: channel.ChannelOidb0xfc9Rsp.profile:type_name -> channel.GuildUserProfile + 6, // 5: channel.ChannelOidb0xf57Rsp.rsp:type_name -> channel.GuildMetaRsp + 12, // 6: channel.ChannelOidb0xf55Rsp.info:type_name -> channel.GuildChannelInfo + 7, // 7: channel.ChannelOidb0xf5dRsp.rsp:type_name -> channel.ChannelListRsp + 11, // 8: channel.GuildMetaRsp.meta:type_name -> channel.GuildMeta + 12, // 9: channel.ChannelListRsp.channels:type_name -> channel.GuildChannelInfo + 9, // 10: channel.GuildAdminInfo.admins:type_name -> channel.GuildMemberInfo + 14, // 11: channel.GuildChannelInfo.topMsg:type_name -> channel.GuildChannelTopMsgInfo + 13, // 12: channel.GuildChannelInfo.slowModeInfos:type_name -> channel.GuildChannelSlowModeInfo + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_pb_channel_unknown_proto_init() } @@ -1208,7 +1323,7 @@ func file_pb_channel_unknown_proto_init() { } } file_pb_channel_unknown_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GuildMetaRsp); i { + switch v := v.(*ChannelOidb0Xf5DRsp); i { case 0: return &v.state case 1: @@ -1220,7 +1335,7 @@ func file_pb_channel_unknown_proto_init() { } } file_pb_channel_unknown_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GuildAdminInfo); i { + switch v := v.(*GuildMetaRsp); i { case 0: return &v.state case 1: @@ -1232,7 +1347,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.(*GuildMemberInfo); i { + switch v := v.(*ChannelListRsp); i { case 0: return &v.state case 1: @@ -1244,7 +1359,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.(*GuildUserProfile); i { + switch v := v.(*GuildAdminInfo); i { case 0: return &v.state case 1: @@ -1256,7 +1371,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.(*GuildMeta); i { + switch v := v.(*GuildMemberInfo); i { case 0: return &v.state case 1: @@ -1268,7 +1383,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.(*GuildChannelInfo); i { + switch v := v.(*GuildUserProfile); i { case 0: return &v.state case 1: @@ -1280,7 +1395,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.(*GuildChannelSlowModeInfo); i { + switch v := v.(*GuildMeta); i { case 0: return &v.state case 1: @@ -1292,6 +1407,30 @@ func file_pb_channel_unknown_proto_init() { } } file_pb_channel_unknown_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GuildChannelInfo); 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[13].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[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GuildChannelTopMsgInfo); i { case 0: return &v.state @@ -1310,7 +1449,7 @@ func file_pb_channel_unknown_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pb_channel_unknown_proto_rawDesc, NumEnums: 0, - NumMessages: 13, + NumMessages: 15, NumExtensions: 0, NumServices: 0, }, diff --git a/client/pb/channel/unknown.proto b/client/pb/channel/unknown.proto index fb688e2b..133dec86 100644 --- a/client/pb/channel/unknown.proto +++ b/client/pb/channel/unknown.proto @@ -28,11 +28,21 @@ message ChannelOidb0xf55Rsp { optional GuildChannelInfo info = 1; } +message ChannelOidb0xf5dRsp { + optional ChannelListRsp rsp = 1; +} + message GuildMetaRsp { optional uint64 guildId = 3; optional GuildMeta meta = 4; } +message ChannelListRsp { + optional uint64 guildId = 1; + repeated GuildChannelInfo channels = 2; + // 5: Category infos +} + message GuildAdminInfo { repeated GuildMemberInfo admins = 2; }