1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 19:17:38 +08:00

Merge pull request #196 from Kengxxiao/master

频道身份组操作
This commit is contained in:
Mrs4s 2021-11-16 23:54:45 +08:00 committed by GitHub
commit 782422fca1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 637 additions and 180 deletions

View File

@ -69,6 +69,18 @@ type (
JoinTime int64 // 只有 GetGuildMemberProfileInfo 函数才会有 JoinTime int64 // 只有 GetGuildMemberProfileInfo 函数才会有
} }
// GuildRole 频道身份组信息
GuildRole struct {
RoleId uint64
RoleName string
ArgbColor uint32
Indepedent bool
Num int32
Owned bool
Disabled bool
MaxNum int32
}
// ChannelInfo 子频道信息 // ChannelInfo 子频道信息
ChannelInfo struct { ChannelInfo struct {
ChannelId uint64 ChannelId uint64
@ -273,6 +285,126 @@ func (s *GuildService) GetGuildMemberProfileInfo(guildId, tinyId uint64) (*Guild
}, nil }, nil
} }
func (s *GuildService) GetGuildRoles(guildId uint64) ([]*GuildRole, error) {
seq := s.c.nextSeq()
packet := packets.BuildUniPacket(s.c.Uin, seq, "OidbSvcTrpcTcp.0x1019_1", 1, s.c.OutGoingPacketSessionId, []byte{}, s.c.sigInfo.d2Key,
s.c.packOIDBPackageDynamically(4121, 1, binary.DynamicProtoMessage{1: guildId}))
rsp, err := s.c.sendAndWaitDynamic(seq, packet)
if err != nil {
return nil, errors.Wrap(err, "send packet error")
}
body := new(channel.ChannelOidb0X1019Rsp)
if err = s.c.unpackOIDBPackage(rsp, body); err != nil {
return nil, errors.Wrap(err, "decode packet error")
}
roles := make([]*GuildRole, 0, len(body.Roles))
for _, role := range body.Roles {
roles = append(roles, &GuildRole{
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) DeleteGuildRole(guildId uint64, roleId uint64) error {
seq := s.c.nextSeq()
packet := packets.BuildUniPacket(s.c.Uin, seq, "OidbSvcTrpcTcp.0x100e_1", 1, s.c.OutGoingPacketSessionId, []byte{}, s.c.sigInfo.d2Key,
s.c.packOIDBPackageDynamically(4110, 1, binary.DynamicProtoMessage{
1: guildId,
2: roleId,
}))
_, err := s.c.sendAndWaitDynamic(seq, packet)
if err != nil {
return errors.Wrap(err, "send packet error")
}
return nil
}
func (s *GuildService) SetUserRoleInGuild(guildId uint64, set bool, roleId uint64, user []uint64) error { // remove => p2 = false
seq := s.c.nextSeq()
var packet []byte
setOrRemove := binary.DynamicProtoMessage{
1: roleId,
}
if set {
setOrRemove[2] = user
} else {
setOrRemove[3] = user
}
packet = packets.BuildUniPacket(s.c.Uin, seq, "OidbSvcTrpcTcp.0x101a_1", 1, s.c.OutGoingPacketSessionId, []byte{}, s.c.sigInfo.d2Key,
s.c.packOIDBPackageDynamically(4122, 1, binary.DynamicProtoMessage{
1: guildId,
2: setOrRemove,
}))
_, err := s.c.sendAndWaitDynamic(seq, packet)
if err != nil {
return errors.Wrap(err, "send packet error")
}
return nil
}
func (s *GuildService) ModifyRoleInGuild(guildId uint64, roleId uint64, name string, color uint32, indepedent bool) error {
seq := s.c.nextSeq()
var packet []byte
u1 := uint32(1)
packet = packets.BuildUniPacket(s.c.Uin, seq, "OidbSvcTrpcTcp.0x100d_1", 1, s.c.OutGoingPacketSessionId, []byte{}, s.c.sigInfo.d2Key,
s.c.packOIDBPackageDynamically(4109, 1, binary.DynamicProtoMessage{
1: guildId,
2: roleId,
3: binary.DynamicProtoMessage{
1: u1,
2: u1,
3: u1,
},
4: binary.DynamicProtoMessage{
1: name,
2: color,
3: indepedent,
},
}))
_, err := s.c.sendAndWaitDynamic(seq, packet)
if err != nil {
return errors.Wrap(err, "send packet error")
}
return nil
}
func (s *GuildService) FetchGuestGuild(guildId uint64) (*GuildMeta, error) { func (s *GuildService) FetchGuestGuild(guildId uint64) (*GuildMeta, error) {
seq := s.c.nextSeq() seq := s.c.nextSeq()
u1 := uint32(1) u1 := uint32(1)

View File

@ -9,11 +9,10 @@
package channel package channel
import ( import (
reflect "reflect"
sync "sync"
protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl" protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
) )
const ( const (
@ -329,6 +328,108 @@ func (x *ChannelOidb0Xf5DRsp) GetRsp() *ChannelListRsp {
return nil return nil
} }
type ChannelOidb0X1019Rsp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GuildId *uint64 `protobuf:"varint,1,opt,name=guildId" json:"guildId,omitempty"`
Roles []*GuildRole `protobuf:"bytes,2,rep,name=roles" json:"roles,omitempty"`
}
func (x *ChannelOidb0X1019Rsp) Reset() {
*x = ChannelOidb0X1019Rsp{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChannelOidb0X1019Rsp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChannelOidb0X1019Rsp) ProtoMessage() {}
func (x *ChannelOidb0X1019Rsp) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[6]
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 ChannelOidb0X1019Rsp.ProtoReflect.Descriptor instead.
func (*ChannelOidb0X1019Rsp) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{6}
}
func (x *ChannelOidb0X1019Rsp) GetGuildId() uint64 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
func (x *ChannelOidb0X1019Rsp) GetRoles() []*GuildRole {
if x != nil {
return x.Roles
}
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 { type GuildMetaRsp struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@ -341,7 +442,7 @@ type GuildMetaRsp struct {
func (x *GuildMetaRsp) Reset() { func (x *GuildMetaRsp) Reset() {
*x = GuildMetaRsp{} *x = GuildMetaRsp{}
if protoimpl.UnsafeEnabled { 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 := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -354,7 +455,7 @@ func (x *GuildMetaRsp) String() string {
func (*GuildMetaRsp) ProtoMessage() {} func (*GuildMetaRsp) ProtoMessage() {}
func (x *GuildMetaRsp) ProtoReflect() protoreflect.Message { func (x *GuildMetaRsp) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[6] mi := &file_pb_channel_unknown_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -367,7 +468,7 @@ func (x *GuildMetaRsp) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildMetaRsp.ProtoReflect.Descriptor instead. // Deprecated: Use GuildMetaRsp.ProtoReflect.Descriptor instead.
func (*GuildMetaRsp) Descriptor() ([]byte, []int) { func (*GuildMetaRsp) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{6} return file_pb_channel_unknown_proto_rawDescGZIP(), []int{8}
} }
func (x *GuildMetaRsp) GetGuildId() uint64 { func (x *GuildMetaRsp) GetGuildId() uint64 {
@ -396,7 +497,7 @@ type ChannelListRsp struct {
func (x *ChannelListRsp) Reset() { func (x *ChannelListRsp) Reset() {
*x = ChannelListRsp{} *x = ChannelListRsp{}
if protoimpl.UnsafeEnabled { 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 := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -409,7 +510,7 @@ func (x *ChannelListRsp) String() string {
func (*ChannelListRsp) ProtoMessage() {} func (*ChannelListRsp) ProtoMessage() {}
func (x *ChannelListRsp) ProtoReflect() protoreflect.Message { func (x *ChannelListRsp) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[7] mi := &file_pb_channel_unknown_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -422,7 +523,7 @@ func (x *ChannelListRsp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChannelListRsp.ProtoReflect.Descriptor instead. // Deprecated: Use ChannelListRsp.ProtoReflect.Descriptor instead.
func (*ChannelListRsp) Descriptor() ([]byte, []int) { func (*ChannelListRsp) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{7} return file_pb_channel_unknown_proto_rawDescGZIP(), []int{9}
} }
func (x *ChannelListRsp) GetGuildId() uint64 { func (x *ChannelListRsp) GetGuildId() uint64 {
@ -450,7 +551,7 @@ type GuildAdminInfo struct {
func (x *GuildAdminInfo) Reset() { func (x *GuildAdminInfo) Reset() {
*x = GuildAdminInfo{} *x = GuildAdminInfo{}
if protoimpl.UnsafeEnabled { 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 := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -463,7 +564,7 @@ func (x *GuildAdminInfo) String() string {
func (*GuildAdminInfo) ProtoMessage() {} func (*GuildAdminInfo) ProtoMessage() {}
func (x *GuildAdminInfo) ProtoReflect() protoreflect.Message { func (x *GuildAdminInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[8] mi := &file_pb_channel_unknown_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -476,7 +577,7 @@ func (x *GuildAdminInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildAdminInfo.ProtoReflect.Descriptor instead. // Deprecated: Use GuildAdminInfo.ProtoReflect.Descriptor instead.
func (*GuildAdminInfo) Descriptor() ([]byte, []int) { func (*GuildAdminInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{8} return file_pb_channel_unknown_proto_rawDescGZIP(), []int{10}
} }
func (x *GuildAdminInfo) GetAdmins() []*GuildMemberInfo { func (x *GuildAdminInfo) GetAdmins() []*GuildMemberInfo {
@ -501,7 +602,7 @@ type GuildMemberInfo struct {
func (x *GuildMemberInfo) Reset() { func (x *GuildMemberInfo) Reset() {
*x = GuildMemberInfo{} *x = GuildMemberInfo{}
if protoimpl.UnsafeEnabled { 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 := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -514,7 +615,7 @@ func (x *GuildMemberInfo) String() string {
func (*GuildMemberInfo) ProtoMessage() {} func (*GuildMemberInfo) ProtoMessage() {}
func (x *GuildMemberInfo) ProtoReflect() protoreflect.Message { func (x *GuildMemberInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[9] mi := &file_pb_channel_unknown_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -527,7 +628,7 @@ func (x *GuildMemberInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildMemberInfo.ProtoReflect.Descriptor instead. // Deprecated: Use GuildMemberInfo.ProtoReflect.Descriptor instead.
func (*GuildMemberInfo) Descriptor() ([]byte, []int) { func (*GuildMemberInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{9} return file_pb_channel_unknown_proto_rawDescGZIP(), []int{11}
} }
func (x *GuildMemberInfo) GetTitle() string { func (x *GuildMemberInfo) GetTitle() string {
@ -581,7 +682,7 @@ type GuildUserProfile struct {
func (x *GuildUserProfile) Reset() { func (x *GuildUserProfile) Reset() {
*x = GuildUserProfile{} *x = GuildUserProfile{}
if protoimpl.UnsafeEnabled { 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 := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -594,7 +695,7 @@ func (x *GuildUserProfile) String() string {
func (*GuildUserProfile) ProtoMessage() {} func (*GuildUserProfile) ProtoMessage() {}
func (x *GuildUserProfile) ProtoReflect() protoreflect.Message { func (x *GuildUserProfile) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[10] mi := &file_pb_channel_unknown_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -607,7 +708,7 @@ func (x *GuildUserProfile) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildUserProfile.ProtoReflect.Descriptor instead. // Deprecated: Use GuildUserProfile.ProtoReflect.Descriptor instead.
func (*GuildUserProfile) Descriptor() ([]byte, []int) { func (*GuildUserProfile) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{10} return file_pb_channel_unknown_proto_rawDescGZIP(), []int{12}
} }
func (x *GuildUserProfile) GetTinyId() uint64 { func (x *GuildUserProfile) GetTinyId() uint64 {
@ -638,6 +739,109 @@ func (x *GuildUserProfile) GetJoinTime() int64 {
return 0 return 0
} }
type GuildRole struct {
state protoimpl.MessageState
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"`
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[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GuildRole) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GuildRole) ProtoMessage() {}
func (x *GuildRole) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[13]
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 GuildRole.ProtoReflect.Descriptor instead.
func (*GuildRole) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{13}
}
func (x *GuildRole) GetRoleId() uint64 {
if x != nil && x.RoleId != nil {
return *x.RoleId
}
return 0
}
func (x *GuildRole) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *GuildRole) GetArgbColor() uint32 {
if x != nil && x.ArgbColor != nil {
return *x.ArgbColor
}
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 { type GuildMeta struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@ -660,7 +864,7 @@ type GuildMeta struct {
func (x *GuildMeta) Reset() { func (x *GuildMeta) Reset() {
*x = GuildMeta{} *x = GuildMeta{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[11] mi := &file_pb_channel_unknown_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -673,7 +877,7 @@ func (x *GuildMeta) String() string {
func (*GuildMeta) ProtoMessage() {} func (*GuildMeta) ProtoMessage() {}
func (x *GuildMeta) ProtoReflect() protoreflect.Message { func (x *GuildMeta) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[11] mi := &file_pb_channel_unknown_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -686,7 +890,7 @@ func (x *GuildMeta) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildMeta.ProtoReflect.Descriptor instead. // Deprecated: Use GuildMeta.ProtoReflect.Descriptor instead.
func (*GuildMeta) Descriptor() ([]byte, []int) { func (*GuildMeta) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{11} return file_pb_channel_unknown_proto_rawDescGZIP(), []int{14}
} }
func (x *GuildMeta) GetGuildCode() uint64 { func (x *GuildMeta) GetGuildCode() uint64 {
@ -798,7 +1002,7 @@ type GuildChannelInfo struct {
func (x *GuildChannelInfo) Reset() { func (x *GuildChannelInfo) Reset() {
*x = GuildChannelInfo{} *x = GuildChannelInfo{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[12] mi := &file_pb_channel_unknown_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -811,7 +1015,7 @@ func (x *GuildChannelInfo) String() string {
func (*GuildChannelInfo) ProtoMessage() {} func (*GuildChannelInfo) ProtoMessage() {}
func (x *GuildChannelInfo) ProtoReflect() protoreflect.Message { func (x *GuildChannelInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[12] mi := &file_pb_channel_unknown_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -824,7 +1028,7 @@ func (x *GuildChannelInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildChannelInfo.ProtoReflect.Descriptor instead. // Deprecated: Use GuildChannelInfo.ProtoReflect.Descriptor instead.
func (*GuildChannelInfo) Descriptor() ([]byte, []int) { func (*GuildChannelInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{12} return file_pb_channel_unknown_proto_rawDescGZIP(), []int{15}
} }
func (x *GuildChannelInfo) GetChannelId() uint64 { func (x *GuildChannelInfo) GetChannelId() uint64 {
@ -932,7 +1136,7 @@ type GuildChannelSlowModeInfo struct {
func (x *GuildChannelSlowModeInfo) Reset() { func (x *GuildChannelSlowModeInfo) Reset() {
*x = GuildChannelSlowModeInfo{} *x = GuildChannelSlowModeInfo{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[13] mi := &file_pb_channel_unknown_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -945,7 +1149,7 @@ func (x *GuildChannelSlowModeInfo) String() string {
func (*GuildChannelSlowModeInfo) ProtoMessage() {} func (*GuildChannelSlowModeInfo) ProtoMessage() {}
func (x *GuildChannelSlowModeInfo) ProtoReflect() protoreflect.Message { func (x *GuildChannelSlowModeInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[13] mi := &file_pb_channel_unknown_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -958,7 +1162,7 @@ func (x *GuildChannelSlowModeInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildChannelSlowModeInfo.ProtoReflect.Descriptor instead. // Deprecated: Use GuildChannelSlowModeInfo.ProtoReflect.Descriptor instead.
func (*GuildChannelSlowModeInfo) Descriptor() ([]byte, []int) { func (*GuildChannelSlowModeInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{13} return file_pb_channel_unknown_proto_rawDescGZIP(), []int{16}
} }
func (x *GuildChannelSlowModeInfo) GetSlowModeKey() int32 { func (x *GuildChannelSlowModeInfo) GetSlowModeKey() int32 {
@ -1002,7 +1206,7 @@ type GuildChannelTopMsgInfo struct {
func (x *GuildChannelTopMsgInfo) Reset() { func (x *GuildChannelTopMsgInfo) Reset() {
*x = GuildChannelTopMsgInfo{} *x = GuildChannelTopMsgInfo{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_pb_channel_unknown_proto_msgTypes[14] mi := &file_pb_channel_unknown_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -1015,7 +1219,7 @@ func (x *GuildChannelTopMsgInfo) String() string {
func (*GuildChannelTopMsgInfo) ProtoMessage() {} func (*GuildChannelTopMsgInfo) ProtoMessage() {}
func (x *GuildChannelTopMsgInfo) ProtoReflect() protoreflect.Message { func (x *GuildChannelTopMsgInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_channel_unknown_proto_msgTypes[14] mi := &file_pb_channel_unknown_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -1028,7 +1232,7 @@ func (x *GuildChannelTopMsgInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use GuildChannelTopMsgInfo.ProtoReflect.Descriptor instead. // Deprecated: Use GuildChannelTopMsgInfo.ProtoReflect.Descriptor instead.
func (*GuildChannelTopMsgInfo) Descriptor() ([]byte, []int) { func (*GuildChannelTopMsgInfo) Descriptor() ([]byte, []int) {
return file_pb_channel_unknown_proto_rawDescGZIP(), []int{14} return file_pb_channel_unknown_proto_rawDescGZIP(), []int{17}
} }
func (x *GuildChannelTopMsgInfo) GetTopMsgSeq() uint64 { func (x *GuildChannelTopMsgInfo) GetTopMsgSeq() uint64 {
@ -1091,119 +1295,141 @@ var file_pb_channel_unknown_proto_rawDesc = []byte{
0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x66, 0x35, 0x64, 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, 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, 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, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x52, 0x03, 0x72, 0x73, 0x70, 0x22, 0x5a,
0x0a, 0x0c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x31,
0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x30, 0x31, 0x39, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49,
0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52,
0x22, 0x61, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x14, 0x43, 0x68,
0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x69, 0x64, 0x62, 0x30, 0x78, 0x31, 0x30, 0x31, 0x36, 0x52,
0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x0c, 0x47, 0x75,
0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75,
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69,
0x65, 0x6c, 0x73, 0x22, 0x42, 0x0a, 0x0e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01,
0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x06, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x61, 0x0a, 0x0e,
0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18,
0x06, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x0f, 0x47, 0x75, 0x69, 0x6c, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e,
0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x68, 0x61,
0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22,
0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x42, 0x0a, 0x0e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x54, 0x6f, 0x12, 0x30, 0x0a, 0x06, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c,
0x05, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x61, 0x64, 0x6d,
0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x22, 0x69, 0x6e, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x0f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d,
0x80, 0x01, 0x0a, 0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
0x66, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x02, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a,
0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, 0x73,
0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x74, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72,
0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x08, 0x20,
0x6d, 0x65, 0x22, 0xf5, 0x02, 0x0a, 0x09, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x10,
0x12, 0x1c, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b,
0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b,
0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72,
0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55,
0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd3,
0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x01, 0x0a, 0x09, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06,
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f,
0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
0x05, 0x52, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x62,
0x0a, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x72, 0x67,
0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65,
0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6e, 0x64,
0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18,
0x61, 0x74, 0x61, 0x72, 0x53, 0x65, 0x71, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77,
0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x6e, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x64,
0x72, 0x49, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01,
0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x71, 0x18, 0x13, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06,
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x71, 0x12, 0x1a, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x61,
0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x78, 0x4e, 0x75, 0x6d, 0x22, 0xf5, 0x02, 0x0a, 0x09, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65,
0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x9a, 0x04, 0x0a, 0x10, 0x47, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18,
0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65,
0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04,
0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75,
0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d,
0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62,
0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d,
0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20,
0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x0a, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20,
0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d,
0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18,
0x28, 0x05, 0x52, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4e,
0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0d, 0x20,
0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x6b, 0x50, 0x65, 0x72, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x65, 0x71, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52,
0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x77,
0x61, 0x6c, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x77, 0x6e,
0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x0f, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x71,
0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x65, 0x71,
0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01,
0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x9a, 0x04, 0x0a,
0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x18, 0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66,
0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01,
0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x6f, 0x70, 0x4d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12,
0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x12, 0x2e, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02,
0x0a, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d,
0x65, 0x4b, 0x65, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x69, 0x6e, 0x18,
0x65, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x47, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x69,
0x0a, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18,
0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x6c, 0x6f, 0x77, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01,
0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x66,
0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xb0, 0x01, 0x0a, 0x18, 0x47, 0x75, 0x69, 0x6c, 0x69, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06,
0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e,
0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x46, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x6b, 0x50,
0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52,
0x73, 0x70, 0x65, 0x61, 0x6b, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x26, 0x0e, 0x74, 0x61, 0x6c, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x0a, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x24, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x54,
0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65,
0x64, 0x65, 0x54, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x76, 0x69, 0x73, 0x69,
0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x78, 0x74, 0x22, 0x8a, 0x01, 0x0a, 0x16, 0x47, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x4d, 0x73,
0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x53, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x6f,
0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x70, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67,
0x53, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x77, 0x4d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x63, 0x75,
0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79,
0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x47, 0x0a, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f,
0x04, 0x52, 0x14, 0x74, 0x6f, 0x70, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
0x72, 0x54, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x6c,
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 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 ( var (
@ -1218,7 +1444,7 @@ func file_pb_channel_unknown_proto_rawDescGZIP() []byte {
return file_pb_channel_unknown_proto_rawDescData return file_pb_channel_unknown_proto_rawDescData
} }
var file_pb_channel_unknown_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_pb_channel_unknown_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_pb_channel_unknown_proto_goTypes = []interface{}{ var file_pb_channel_unknown_proto_goTypes = []interface{}{
(*ChannelOidb0Xf5BRsp)(nil), // 0: channel.ChannelOidb0xf5bRsp (*ChannelOidb0Xf5BRsp)(nil), // 0: channel.ChannelOidb0xf5bRsp
(*ChannelOidb0Xf88Rsp)(nil), // 1: channel.ChannelOidb0xf88Rsp (*ChannelOidb0Xf88Rsp)(nil), // 1: channel.ChannelOidb0xf88Rsp
@ -1226,35 +1452,39 @@ var file_pb_channel_unknown_proto_goTypes = []interface{}{
(*ChannelOidb0Xf57Rsp)(nil), // 3: channel.ChannelOidb0xf57Rsp (*ChannelOidb0Xf57Rsp)(nil), // 3: channel.ChannelOidb0xf57Rsp
(*ChannelOidb0Xf55Rsp)(nil), // 4: channel.ChannelOidb0xf55Rsp (*ChannelOidb0Xf55Rsp)(nil), // 4: channel.ChannelOidb0xf55Rsp
(*ChannelOidb0Xf5DRsp)(nil), // 5: channel.ChannelOidb0xf5dRsp (*ChannelOidb0Xf5DRsp)(nil), // 5: channel.ChannelOidb0xf5dRsp
(*GuildMetaRsp)(nil), // 6: channel.GuildMetaRsp (*ChannelOidb0X1019Rsp)(nil), // 6: channel.ChannelOidb0x1019Rsp
(*ChannelListRsp)(nil), // 7: channel.ChannelListRsp (*ChannelOidb0X1016Rsp)(nil), // 7: channel.ChannelOidb0x1016Rsp
(*GuildAdminInfo)(nil), // 8: channel.GuildAdminInfo (*GuildMetaRsp)(nil), // 8: channel.GuildMetaRsp
(*GuildMemberInfo)(nil), // 9: channel.GuildMemberInfo (*ChannelListRsp)(nil), // 9: channel.ChannelListRsp
(*GuildUserProfile)(nil), // 10: channel.GuildUserProfile (*GuildAdminInfo)(nil), // 10: channel.GuildAdminInfo
(*GuildMeta)(nil), // 11: channel.GuildMeta (*GuildMemberInfo)(nil), // 11: channel.GuildMemberInfo
(*GuildChannelInfo)(nil), // 12: channel.GuildChannelInfo (*GuildUserProfile)(nil), // 12: channel.GuildUserProfile
(*GuildChannelSlowModeInfo)(nil), // 13: channel.GuildChannelSlowModeInfo (*GuildRole)(nil), // 13: channel.GuildRole
(*GuildChannelTopMsgInfo)(nil), // 14: channel.GuildChannelTopMsgInfo (*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{ var file_pb_channel_unknown_proto_depIdxs = []int32{
9, // 0: channel.ChannelOidb0xf5bRsp.bots:type_name -> channel.GuildMemberInfo 11, // 0: channel.ChannelOidb0xf5bRsp.bots:type_name -> channel.GuildMemberInfo
9, // 1: channel.ChannelOidb0xf5bRsp.members:type_name -> channel.GuildMemberInfo 11, // 1: channel.ChannelOidb0xf5bRsp.members:type_name -> channel.GuildMemberInfo
8, // 2: channel.ChannelOidb0xf5bRsp.adminInfo:type_name -> channel.GuildAdminInfo 10, // 2: channel.ChannelOidb0xf5bRsp.adminInfo:type_name -> channel.GuildAdminInfo
10, // 3: channel.ChannelOidb0xf88Rsp.profile:type_name -> channel.GuildUserProfile 12, // 3: channel.ChannelOidb0xf88Rsp.profile:type_name -> channel.GuildUserProfile
10, // 4: channel.ChannelOidb0xfc9Rsp.profile:type_name -> channel.GuildUserProfile 12, // 4: channel.ChannelOidb0xfc9Rsp.profile:type_name -> channel.GuildUserProfile
6, // 5: channel.ChannelOidb0xf57Rsp.rsp:type_name -> channel.GuildMetaRsp 8, // 5: channel.ChannelOidb0xf57Rsp.rsp:type_name -> channel.GuildMetaRsp
12, // 6: channel.ChannelOidb0xf55Rsp.info:type_name -> channel.GuildChannelInfo 15, // 6: channel.ChannelOidb0xf55Rsp.info:type_name -> channel.GuildChannelInfo
7, // 7: channel.ChannelOidb0xf5dRsp.rsp:type_name -> channel.ChannelListRsp 9, // 7: channel.ChannelOidb0xf5dRsp.rsp:type_name -> channel.ChannelListRsp
11, // 8: channel.GuildMetaRsp.meta:type_name -> channel.GuildMeta 13, // 8: channel.ChannelOidb0x1019Rsp.roles:type_name -> channel.GuildRole
12, // 9: channel.ChannelListRsp.channels:type_name -> channel.GuildChannelInfo 14, // 9: channel.GuildMetaRsp.meta:type_name -> channel.GuildMeta
9, // 10: channel.GuildAdminInfo.admins:type_name -> channel.GuildMemberInfo 15, // 10: channel.ChannelListRsp.channels:type_name -> channel.GuildChannelInfo
14, // 11: channel.GuildChannelInfo.topMsg:type_name -> channel.GuildChannelTopMsgInfo 11, // 11: channel.GuildAdminInfo.admins:type_name -> channel.GuildMemberInfo
13, // 12: channel.GuildChannelInfo.slowModeInfos:type_name -> channel.GuildChannelSlowModeInfo 17, // 12: channel.GuildChannelInfo.topMsg:type_name -> channel.GuildChannelTopMsgInfo
13, // [13:13] is the sub-list for method output_type 16, // 13: channel.GuildChannelInfo.slowModeInfos:type_name -> channel.GuildChannelSlowModeInfo
13, // [13:13] is the sub-list for method input_type 14, // [14:14] is the sub-list for method output_type
13, // [13:13] is the sub-list for extension type_name 14, // [14:14] is the sub-list for method input_type
13, // [13:13] is the sub-list for extension extendee 14, // [14:14] is the sub-list for extension type_name
0, // [0:13] is the sub-list for field type_name 14, // [14:14] is the sub-list for extension extendee
0, // [0:14] is the sub-list for field type_name
} }
func init() { file_pb_channel_unknown_proto_init() } func init() { file_pb_channel_unknown_proto_init() }
@ -1336,7 +1566,7 @@ func file_pb_channel_unknown_proto_init() {
} }
} }
file_pb_channel_unknown_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { file_pb_channel_unknown_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildMetaRsp); i { switch v := v.(*ChannelOidb0X1019Rsp); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1348,7 +1578,7 @@ func file_pb_channel_unknown_proto_init() {
} }
} }
file_pb_channel_unknown_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { file_pb_channel_unknown_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChannelListRsp); i { switch v := v.(*ChannelOidb0X1016Rsp); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1360,7 +1590,7 @@ func file_pb_channel_unknown_proto_init() {
} }
} }
file_pb_channel_unknown_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { file_pb_channel_unknown_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildAdminInfo); i { switch v := v.(*GuildMetaRsp); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1372,7 +1602,7 @@ func file_pb_channel_unknown_proto_init() {
} }
} }
file_pb_channel_unknown_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { file_pb_channel_unknown_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildMemberInfo); i { switch v := v.(*ChannelListRsp); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1384,7 +1614,7 @@ func file_pb_channel_unknown_proto_init() {
} }
} }
file_pb_channel_unknown_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { file_pb_channel_unknown_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildUserProfile); i { switch v := v.(*GuildAdminInfo); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1396,7 +1626,7 @@ func file_pb_channel_unknown_proto_init() {
} }
} }
file_pb_channel_unknown_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { file_pb_channel_unknown_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildMeta); i { switch v := v.(*GuildMemberInfo); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1408,7 +1638,7 @@ func file_pb_channel_unknown_proto_init() {
} }
} }
file_pb_channel_unknown_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { file_pb_channel_unknown_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildChannelInfo); i { switch v := v.(*GuildUserProfile); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1420,7 +1650,7 @@ func file_pb_channel_unknown_proto_init() {
} }
} }
file_pb_channel_unknown_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { file_pb_channel_unknown_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildChannelSlowModeInfo); i { switch v := v.(*GuildRole); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -1432,6 +1662,42 @@ func file_pb_channel_unknown_proto_init() {
} }
} }
file_pb_channel_unknown_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { file_pb_channel_unknown_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuildMeta); 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[15].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[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 { switch v := v.(*GuildChannelTopMsgInfo); i {
case 0: case 0:
return &v.state return &v.state
@ -1450,7 +1716,7 @@ func file_pb_channel_unknown_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pb_channel_unknown_proto_rawDesc, RawDescriptor: file_pb_channel_unknown_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 15, NumMessages: 18,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

View File

@ -32,6 +32,40 @@ message ChannelOidb0xf5dRsp {
optional ChannelListRsp rsp = 1; optional ChannelListRsp rsp = 1;
} }
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 { message GuildMetaRsp {
optional uint64 guildId = 3; optional uint64 guildId = 3;
optional GuildMeta meta = 4; optional GuildMeta meta = 4;
@ -67,6 +101,31 @@ message GuildUserProfile {
// 25 current cards *uncertainty // 25 current cards *uncertainty
} }
message GuildRole {
optional uint64 roleId = 1;
optional string name = 2;
optional uint32 argbColor = 3;
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 { message GuildMeta {
optional uint64 guildCode = 2; optional uint64 guildCode = 2;
optional int64 createTime = 4; optional int64 createTime = 4;