// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.1 // protoc v3.14.0 // source: pb/channel/common.proto package channel import ( reflect "reflect" sync "sync" msg "github.com/Mrs4s/MiraiGo/client/pb/msg" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ChannelContentHead struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type *uint64 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` SubType *uint64 `protobuf:"varint,2,opt,name=subType" json:"subType,omitempty"` Random *uint64 `protobuf:"varint,3,opt,name=random" json:"random,omitempty"` Seq *uint64 `protobuf:"varint,4,opt,name=seq" json:"seq,omitempty"` CntSeq *uint64 `protobuf:"varint,5,opt,name=cntSeq" json:"cntSeq,omitempty"` Time *uint64 `protobuf:"varint,6,opt,name=time" json:"time,omitempty"` Meta []byte `protobuf:"bytes,7,opt,name=meta" json:"meta,omitempty"` } func (x *ChannelContentHead) Reset() { *x = ChannelContentHead{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelContentHead) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelContentHead) ProtoMessage() {} func (x *ChannelContentHead) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_proto_msgTypes[0] 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 ChannelContentHead.ProtoReflect.Descriptor instead. func (*ChannelContentHead) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{0} } func (x *ChannelContentHead) GetType() uint64 { if x != nil && x.Type != nil { return *x.Type } return 0 } func (x *ChannelContentHead) GetSubType() uint64 { if x != nil && x.SubType != nil { return *x.SubType } return 0 } func (x *ChannelContentHead) GetRandom() uint64 { if x != nil && x.Random != nil { return *x.Random } return 0 } func (x *ChannelContentHead) GetSeq() uint64 { if x != nil && x.Seq != nil { return *x.Seq } return 0 } func (x *ChannelContentHead) GetCntSeq() uint64 { if x != nil && x.CntSeq != nil { return *x.CntSeq } return 0 } func (x *ChannelContentHead) GetTime() uint64 { if x != nil && x.Time != nil { return *x.Time } return 0 } func (x *ChannelContentHead) GetMeta() []byte { if x != nil { return x.Meta } return nil } type DirectMessageMember struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Uin *uint64 `protobuf:"varint,1,opt,name=uin" json:"uin,omitempty"` Tinyid *uint64 `protobuf:"varint,2,opt,name=tinyid" json:"tinyid,omitempty"` SourceGuildId *uint64 `protobuf:"varint,3,opt,name=sourceGuildId" json:"sourceGuildId,omitempty"` SourceGuildName []byte `protobuf:"bytes,4,opt,name=sourceGuildName" json:"sourceGuildName,omitempty"` NickName []byte `protobuf:"bytes,5,opt,name=nickName" json:"nickName,omitempty"` MemberName []byte `protobuf:"bytes,6,opt,name=memberName" json:"memberName,omitempty"` NotifyType *uint32 `protobuf:"varint,7,opt,name=notifyType" json:"notifyType,omitempty"` } func (x *DirectMessageMember) Reset() { *x = DirectMessageMember{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DirectMessageMember) String() string { return protoimpl.X.MessageStringOf(x) } func (*DirectMessageMember) ProtoMessage() {} func (x *DirectMessageMember) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_proto_msgTypes[1] 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 DirectMessageMember.ProtoReflect.Descriptor instead. func (*DirectMessageMember) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{1} } func (x *DirectMessageMember) GetUin() uint64 { if x != nil && x.Uin != nil { return *x.Uin } return 0 } func (x *DirectMessageMember) GetTinyid() uint64 { if x != nil && x.Tinyid != nil { return *x.Tinyid } return 0 } func (x *DirectMessageMember) GetSourceGuildId() uint64 { if x != nil && x.SourceGuildId != nil { return *x.SourceGuildId } return 0 } func (x *DirectMessageMember) GetSourceGuildName() []byte { if x != nil { return x.SourceGuildName } return nil } func (x *DirectMessageMember) GetNickName() []byte { if x != nil { return x.NickName } return nil } func (x *DirectMessageMember) GetMemberName() []byte { if x != nil { return x.MemberName } return nil } func (x *DirectMessageMember) GetNotifyType() uint32 { if x != nil && x.NotifyType != nil { return *x.NotifyType } return 0 } type ChannelEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type *uint64 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` Version *uint64 `protobuf:"varint,2,opt,name=version" json:"version,omitempty"` OpInfo *ChannelMsgOpInfo `protobuf:"bytes,3,opt,name=opInfo" json:"opInfo,omitempty"` } func (x *ChannelEvent) Reset() { *x = ChannelEvent{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelEvent) ProtoMessage() {} func (x *ChannelEvent) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_proto_msgTypes[2] 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 ChannelEvent.ProtoReflect.Descriptor instead. func (*ChannelEvent) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{2} } func (x *ChannelEvent) GetType() uint64 { if x != nil && x.Type != nil { return *x.Type } return 0 } func (x *ChannelEvent) GetVersion() uint64 { if x != nil && x.Version != nil { return *x.Version } return 0 } func (x *ChannelEvent) GetOpInfo() *ChannelMsgOpInfo { if x != nil { return x.OpInfo } return nil } type ChannelExtInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FromNick []byte `protobuf:"bytes,1,opt,name=fromNick" json:"fromNick,omitempty"` GuildName []byte `protobuf:"bytes,2,opt,name=guildName" json:"guildName,omitempty"` ChannelName []byte `protobuf:"bytes,3,opt,name=channelName" json:"channelName,omitempty"` Visibility *uint32 `protobuf:"varint,4,opt,name=visibility" json:"visibility,omitempty"` NotifyType *uint32 `protobuf:"varint,5,opt,name=notifyType" json:"notifyType,omitempty"` OfflineFlag *uint32 `protobuf:"varint,6,opt,name=offlineFlag" json:"offlineFlag,omitempty"` NameType *uint32 `protobuf:"varint,7,opt,name=nameType" json:"nameType,omitempty"` MemberName []byte `protobuf:"bytes,8,opt,name=memberName" json:"memberName,omitempty"` Timestamp *uint32 `protobuf:"varint,9,opt,name=timestamp" json:"timestamp,omitempty"` EventVersion *uint64 `protobuf:"varint,10,opt,name=eventVersion" json:"eventVersion,omitempty"` Events []*ChannelEvent `protobuf:"bytes,11,rep,name=events" json:"events,omitempty"` FromRoleInfo *ChannelRole `protobuf:"bytes,12,opt,name=fromRoleInfo" json:"fromRoleInfo,omitempty"` FreqLimitInfo *ChannelFreqLimitInfo `protobuf:"bytes,13,opt,name=freqLimitInfo" json:"freqLimitInfo,omitempty"` DirectMessageMember []*DirectMessageMember `protobuf:"bytes,14,rep,name=directMessageMember" json:"directMessageMember,omitempty"` } func (x *ChannelExtInfo) Reset() { *x = ChannelExtInfo{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelExtInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelExtInfo) ProtoMessage() {} func (x *ChannelExtInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_proto_msgTypes[3] 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 ChannelExtInfo.ProtoReflect.Descriptor instead. func (*ChannelExtInfo) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{3} } func (x *ChannelExtInfo) GetFromNick() []byte { if x != nil { return x.FromNick } return nil } func (x *ChannelExtInfo) GetGuildName() []byte { if x != nil { return x.GuildName } return nil } func (x *ChannelExtInfo) GetChannelName() []byte { if x != nil { return x.ChannelName } return nil } func (x *ChannelExtInfo) GetVisibility() uint32 { if x != nil && x.Visibility != nil { return *x.Visibility } return 0 } func (x *ChannelExtInfo) GetNotifyType() uint32 { if x != nil && x.NotifyType != nil { return *x.NotifyType } return 0 } func (x *ChannelExtInfo) GetOfflineFlag() uint32 { if x != nil && x.OfflineFlag != nil { return *x.OfflineFlag } return 0 } func (x *ChannelExtInfo) GetNameType() uint32 { if x != nil && x.NameType != nil { return *x.NameType } return 0 } func (x *ChannelExtInfo) GetMemberName() []byte { if x != nil { return x.MemberName } return nil } func (x *ChannelExtInfo) GetTimestamp() uint32 { if x != nil && x.Timestamp != nil { return *x.Timestamp } return 0 } func (x *ChannelExtInfo) GetEventVersion() uint64 { if x != nil && x.EventVersion != nil { return *x.EventVersion } return 0 } func (x *ChannelExtInfo) GetEvents() []*ChannelEvent { if x != nil { return x.Events } return nil } func (x *ChannelExtInfo) GetFromRoleInfo() *ChannelRole { if x != nil { return x.FromRoleInfo } return nil } func (x *ChannelExtInfo) GetFreqLimitInfo() *ChannelFreqLimitInfo { if x != nil { return x.FreqLimitInfo } return nil } func (x *ChannelExtInfo) GetDirectMessageMember() []*DirectMessageMember { if x != nil { return x.DirectMessageMember } return nil } type ChannelFreqLimitInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsLimited *uint32 `protobuf:"varint,1,opt,name=isLimited" json:"isLimited,omitempty"` LeftCount *uint32 `protobuf:"varint,2,opt,name=leftCount" json:"leftCount,omitempty"` LimitTimestamp *uint64 `protobuf:"varint,3,opt,name=limitTimestamp" json:"limitTimestamp,omitempty"` } func (x *ChannelFreqLimitInfo) Reset() { *x = ChannelFreqLimitInfo{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelFreqLimitInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelFreqLimitInfo) ProtoMessage() {} func (x *ChannelFreqLimitInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_proto_msgTypes[4] 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 ChannelFreqLimitInfo.ProtoReflect.Descriptor instead. func (*ChannelFreqLimitInfo) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{4} } func (x *ChannelFreqLimitInfo) GetIsLimited() uint32 { if x != nil && x.IsLimited != nil { return *x.IsLimited } return 0 } func (x *ChannelFreqLimitInfo) GetLeftCount() uint32 { if x != nil && x.LeftCount != nil { return *x.LeftCount } return 0 } func (x *ChannelFreqLimitInfo) GetLimitTimestamp() uint64 { if x != nil && x.LimitTimestamp != nil { return *x.LimitTimestamp } return 0 } type ChannelInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *uint64 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"` Name []byte `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` Color *uint32 `protobuf:"varint,3,opt,name=color" json:"color,omitempty"` Hoist *uint32 `protobuf:"varint,4,opt,name=hoist" json:"hoist,omitempty"` } func (x *ChannelInfo) Reset() { *x = ChannelInfo{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelInfo) ProtoMessage() {} func (x *ChannelInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_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 ChannelInfo.ProtoReflect.Descriptor instead. func (*ChannelInfo) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{5} } func (x *ChannelInfo) GetId() uint64 { if x != nil && x.Id != nil { return *x.Id } return 0 } func (x *ChannelInfo) GetName() []byte { if x != nil { return x.Name } return nil } func (x *ChannelInfo) GetColor() uint32 { if x != nil && x.Color != nil { return *x.Color } return 0 } func (x *ChannelInfo) GetHoist() uint32 { if x != nil && x.Hoist != nil { return *x.Hoist } return 0 } type ChannelLoginSig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type *uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` Sig []byte `protobuf:"bytes,2,opt,name=sig" json:"sig,omitempty"` Appid *uint32 `protobuf:"varint,3,opt,name=appid" json:"appid,omitempty"` } func (x *ChannelLoginSig) Reset() { *x = ChannelLoginSig{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelLoginSig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelLoginSig) ProtoMessage() {} func (x *ChannelLoginSig) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_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 ChannelLoginSig.ProtoReflect.Descriptor instead. func (*ChannelLoginSig) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{6} } func (x *ChannelLoginSig) GetType() uint32 { if x != nil && x.Type != nil { return *x.Type } return 0 } func (x *ChannelLoginSig) GetSig() []byte { if x != nil { return x.Sig } return nil } func (x *ChannelLoginSig) GetAppid() uint32 { if x != nil && x.Appid != nil { return *x.Appid } return 0 } type ChannelMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FromUin *uint64 `protobuf:"varint,1,opt,name=fromUin" json:"fromUin,omitempty"` LoginSig *ChannelLoginSig `protobuf:"bytes,2,opt,name=loginSig" json:"loginSig,omitempty"` } func (x *ChannelMeta) Reset() { *x = ChannelMeta{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelMeta) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelMeta) ProtoMessage() {} func (x *ChannelMeta) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_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 ChannelMeta.ProtoReflect.Descriptor instead. func (*ChannelMeta) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{7} } func (x *ChannelMeta) GetFromUin() uint64 { if x != nil && x.FromUin != nil { return *x.FromUin } return 0 } func (x *ChannelMeta) GetLoginSig() *ChannelLoginSig { if x != nil { return x.LoginSig } return nil } type ChannelMsgContent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Head *ChannelMsgHead `protobuf:"bytes,1,opt,name=head" json:"head,omitempty"` CtrlHead *ChannelMsgCtrlHead `protobuf:"bytes,2,opt,name=ctrlHead" json:"ctrlHead,omitempty"` Body *msg.MessageBody `protobuf:"bytes,3,opt,name=body" json:"body,omitempty"` ExtInfo *ChannelExtInfo `protobuf:"bytes,4,opt,name=extInfo" json:"extInfo,omitempty"` } func (x *ChannelMsgContent) Reset() { *x = ChannelMsgContent{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelMsgContent) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelMsgContent) ProtoMessage() {} func (x *ChannelMsgContent) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_proto_msgTypes[8] 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 ChannelMsgContent.ProtoReflect.Descriptor instead. func (*ChannelMsgContent) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{8} } func (x *ChannelMsgContent) GetHead() *ChannelMsgHead { if x != nil { return x.Head } return nil } func (x *ChannelMsgContent) GetCtrlHead() *ChannelMsgCtrlHead { if x != nil { return x.CtrlHead } return nil } func (x *ChannelMsgContent) GetBody() *msg.MessageBody { if x != nil { return x.Body } return nil } func (x *ChannelMsgContent) GetExtInfo() *ChannelExtInfo { if x != nil { return x.ExtInfo } return nil } type ChannelMsgCtrlHead struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IncludeUin []uint64 `protobuf:"varint,1,rep,name=includeUin" json:"includeUin,omitempty"` ExcludeUin []uint64 `protobuf:"varint,2,rep,name=excludeUin" json:"excludeUin,omitempty"` Featureid []uint64 `protobuf:"varint,3,rep,name=featureid" json:"featureid,omitempty"` OfflineFlag *uint32 `protobuf:"varint,4,opt,name=offlineFlag" json:"offlineFlag,omitempty"` Visibility *uint32 `protobuf:"varint,5,opt,name=visibility" json:"visibility,omitempty"` CtrlFlag *uint64 `protobuf:"varint,6,opt,name=ctrlFlag" json:"ctrlFlag,omitempty"` Events []*ChannelEvent `protobuf:"bytes,7,rep,name=events" json:"events,omitempty"` Level *uint64 `protobuf:"varint,8,opt,name=level" json:"level,omitempty"` PersonalLevels []*PersonalLevel `protobuf:"bytes,9,rep,name=personalLevels" json:"personalLevels,omitempty"` GuildSyncSeq *uint64 `protobuf:"varint,10,opt,name=guildSyncSeq" json:"guildSyncSeq,omitempty"` MemberNum *uint32 `protobuf:"varint,11,opt,name=memberNum" json:"memberNum,omitempty"` ChannelType *uint32 `protobuf:"varint,12,opt,name=channelType" json:"channelType,omitempty"` PrivateType *uint32 `protobuf:"varint,13,opt,name=privateType" json:"privateType,omitempty"` } func (x *ChannelMsgCtrlHead) Reset() { *x = ChannelMsgCtrlHead{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelMsgCtrlHead) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelMsgCtrlHead) ProtoMessage() {} func (x *ChannelMsgCtrlHead) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_proto_msgTypes[9] 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 ChannelMsgCtrlHead.ProtoReflect.Descriptor instead. func (*ChannelMsgCtrlHead) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{9} } func (x *ChannelMsgCtrlHead) GetIncludeUin() []uint64 { if x != nil { return x.IncludeUin } return nil } func (x *ChannelMsgCtrlHead) GetExcludeUin() []uint64 { if x != nil { return x.ExcludeUin } return nil } func (x *ChannelMsgCtrlHead) GetFeatureid() []uint64 { if x != nil { return x.Featureid } return nil } func (x *ChannelMsgCtrlHead) GetOfflineFlag() uint32 { if x != nil && x.OfflineFlag != nil { return *x.OfflineFlag } return 0 } func (x *ChannelMsgCtrlHead) GetVisibility() uint32 { if x != nil && x.Visibility != nil { return *x.Visibility } return 0 } func (x *ChannelMsgCtrlHead) GetCtrlFlag() uint64 { if x != nil && x.CtrlFlag != nil { return *x.CtrlFlag } return 0 } func (x *ChannelMsgCtrlHead) GetEvents() []*ChannelEvent { if x != nil { return x.Events } return nil } func (x *ChannelMsgCtrlHead) GetLevel() uint64 { if x != nil && x.Level != nil { return *x.Level } return 0 } func (x *ChannelMsgCtrlHead) GetPersonalLevels() []*PersonalLevel { if x != nil { return x.PersonalLevels } return nil } func (x *ChannelMsgCtrlHead) GetGuildSyncSeq() uint64 { if x != nil && x.GuildSyncSeq != nil { return *x.GuildSyncSeq } return 0 } func (x *ChannelMsgCtrlHead) GetMemberNum() uint32 { if x != nil && x.MemberNum != nil { return *x.MemberNum } return 0 } func (x *ChannelMsgCtrlHead) GetChannelType() uint32 { if x != nil && x.ChannelType != nil { return *x.ChannelType } return 0 } func (x *ChannelMsgCtrlHead) GetPrivateType() uint32 { if x != nil && x.PrivateType != nil { return *x.PrivateType } return 0 } type ChannelMsgHead struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoutingHead *ChannelRoutingHead `protobuf:"bytes,1,opt,name=routingHead" json:"routingHead,omitempty"` ContentHead *ChannelContentHead `protobuf:"bytes,2,opt,name=contentHead" json:"contentHead,omitempty"` } func (x *ChannelMsgHead) Reset() { *x = ChannelMsgHead{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelMsgHead) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelMsgHead) ProtoMessage() {} func (x *ChannelMsgHead) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_proto_msgTypes[10] 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 ChannelMsgHead.ProtoReflect.Descriptor instead. func (*ChannelMsgHead) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{10} } func (x *ChannelMsgHead) GetRoutingHead() *ChannelRoutingHead { if x != nil { return x.RoutingHead } return nil } func (x *ChannelMsgHead) GetContentHead() *ChannelContentHead { if x != nil { return x.ContentHead } return nil } type ChannelMsgMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AtAllSeq *uint64 `protobuf:"varint,1,opt,name=atAllSeq" json:"atAllSeq,omitempty"` } func (x *ChannelMsgMeta) Reset() { *x = ChannelMsgMeta{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelMsgMeta) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelMsgMeta) ProtoMessage() {} func (x *ChannelMsgMeta) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_proto_msgTypes[11] 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 ChannelMsgMeta.ProtoReflect.Descriptor instead. func (*ChannelMsgMeta) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{11} } func (x *ChannelMsgMeta) GetAtAllSeq() uint64 { if x != nil && x.AtAllSeq != nil { return *x.AtAllSeq } return 0 } type ChannelMsgOpInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OperatorTinyid *uint64 `protobuf:"varint,1,opt,name=operatorTinyid" json:"operatorTinyid,omitempty"` OperatorRole *uint64 `protobuf:"varint,2,opt,name=operatorRole" json:"operatorRole,omitempty"` Reason *uint64 `protobuf:"varint,3,opt,name=reason" json:"reason,omitempty"` Timestamp *uint64 `protobuf:"varint,4,opt,name=timestamp" json:"timestamp,omitempty"` AtType *uint64 `protobuf:"varint,5,opt,name=atType" json:"atType,omitempty"` } func (x *ChannelMsgOpInfo) Reset() { *x = ChannelMsgOpInfo{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelMsgOpInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelMsgOpInfo) ProtoMessage() {} func (x *ChannelMsgOpInfo) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_proto_msgTypes[12] 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 ChannelMsgOpInfo.ProtoReflect.Descriptor instead. func (*ChannelMsgOpInfo) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{12} } func (x *ChannelMsgOpInfo) GetOperatorTinyid() uint64 { if x != nil && x.OperatorTinyid != nil { return *x.OperatorTinyid } return 0 } func (x *ChannelMsgOpInfo) GetOperatorRole() uint64 { if x != nil && x.OperatorRole != nil { return *x.OperatorRole } return 0 } func (x *ChannelMsgOpInfo) GetReason() uint64 { if x != nil && x.Reason != nil { return *x.Reason } return 0 } func (x *ChannelMsgOpInfo) GetTimestamp() uint64 { if x != nil && x.Timestamp != nil { return *x.Timestamp } return 0 } func (x *ChannelMsgOpInfo) GetAtType() uint64 { if x != nil && x.AtType != nil { return *x.AtType } return 0 } type PersonalLevel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ToUin *uint64 `protobuf:"varint,1,opt,name=toUin" json:"toUin,omitempty"` Level *uint64 `protobuf:"varint,2,opt,name=level" json:"level,omitempty"` } func (x *PersonalLevel) Reset() { *x = PersonalLevel{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PersonalLevel) String() string { return protoimpl.X.MessageStringOf(x) } func (*PersonalLevel) ProtoMessage() {} func (x *PersonalLevel) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_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 PersonalLevel.ProtoReflect.Descriptor instead. func (*PersonalLevel) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{13} } func (x *PersonalLevel) GetToUin() uint64 { if x != nil && x.ToUin != nil { return *x.ToUin } return 0 } func (x *PersonalLevel) GetLevel() uint64 { if x != nil && x.Level != nil { return *x.Level } return 0 } type ChannelRole struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *uint64 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"` Info []byte `protobuf:"bytes,2,opt,name=info" json:"info,omitempty"` Flag *uint32 `protobuf:"varint,3,opt,name=flag" json:"flag,omitempty"` } func (x *ChannelRole) Reset() { *x = ChannelRole{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelRole) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelRole) ProtoMessage() {} func (x *ChannelRole) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_proto_msgTypes[14] 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 ChannelRole.ProtoReflect.Descriptor instead. func (*ChannelRole) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{14} } func (x *ChannelRole) GetId() uint64 { if x != nil && x.Id != nil { return *x.Id } return 0 } func (x *ChannelRole) GetInfo() []byte { if x != nil { return x.Info } return nil } func (x *ChannelRole) GetFlag() uint32 { if x != nil && x.Flag != nil { return *x.Flag } return 0 } type ChannelRoutingHead struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GuildId *uint64 `protobuf:"varint,1,opt,name=guildId" json:"guildId,omitempty"` ChannelId *uint64 `protobuf:"varint,2,opt,name=channelId" json:"channelId,omitempty"` FromUin *uint64 `protobuf:"varint,3,opt,name=fromUin" json:"fromUin,omitempty"` FromTinyid *uint64 `protobuf:"varint,4,opt,name=fromTinyid" json:"fromTinyid,omitempty"` GuildCode *uint64 `protobuf:"varint,5,opt,name=guildCode" json:"guildCode,omitempty"` FromAppid *uint64 `protobuf:"varint,6,opt,name=fromAppid" json:"fromAppid,omitempty"` DirectMessageFlag *uint32 `protobuf:"varint,7,opt,name=directMessageFlag" json:"directMessageFlag,omitempty"` } func (x *ChannelRoutingHead) Reset() { *x = ChannelRoutingHead{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_common_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelRoutingHead) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelRoutingHead) ProtoMessage() {} func (x *ChannelRoutingHead) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_common_proto_msgTypes[15] 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 ChannelRoutingHead.ProtoReflect.Descriptor instead. func (*ChannelRoutingHead) Descriptor() ([]byte, []int) { return file_pb_channel_common_proto_rawDescGZIP(), []int{15} } func (x *ChannelRoutingHead) GetGuildId() uint64 { if x != nil && x.GuildId != nil { return *x.GuildId } return 0 } func (x *ChannelRoutingHead) GetChannelId() uint64 { if x != nil && x.ChannelId != nil { return *x.ChannelId } return 0 } func (x *ChannelRoutingHead) GetFromUin() uint64 { if x != nil && x.FromUin != nil { return *x.FromUin } return 0 } func (x *ChannelRoutingHead) GetFromTinyid() uint64 { if x != nil && x.FromTinyid != nil { return *x.FromTinyid } return 0 } func (x *ChannelRoutingHead) GetGuildCode() uint64 { if x != nil && x.GuildCode != nil { return *x.GuildCode } return 0 } func (x *ChannelRoutingHead) GetFromAppid() uint64 { if x != nil && x.FromAppid != nil { return *x.FromAppid } return 0 } func (x *ChannelRoutingHead) GetDirectMessageFlag() uint32 { if x != nil && x.DirectMessageFlag != nil { return *x.DirectMessageFlag } return 0 } var File_pb_channel_common_proto protoreflect.FileDescriptor var file_pb_channel_common_proto_rawDesc = []byte{ 0x0a, 0x17, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x10, 0x70, 0x62, 0x2f, 0x6d, 0x73, 0x67, 0x2f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x01, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6e, 0x74, 0x53, 0x65, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6e, 0x74, 0x53, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0xeb, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x75, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x6f, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xca, 0x04, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x0d, 0x66, 0x72, 0x65, 0x71, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x72, 0x65, 0x71, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x66, 0x72, 0x65, 0x71, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, 0x0a, 0x13, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x13, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x7a, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x72, 0x65, 0x71, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5d, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6f, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x68, 0x6f, 0x69, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x22, 0xd2, 0x01, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x61, 0x64, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x37, 0x0a, 0x08, 0x63, 0x74, 0x72, 0x6c, 0x48, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x43, 0x74, 0x72, 0x6c, 0x48, 0x65, 0x61, 0x64, 0x52, 0x08, 0x63, 0x74, 0x72, 0x6c, 0x48, 0x65, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x73, 0x67, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xdb, 0x03, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x43, 0x74, 0x72, 0x6c, 0x48, 0x65, 0x61, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x55, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x55, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x55, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x09, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x74, 0x72, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x74, 0x72, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2d, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x71, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x61, 0x64, 0x12, 0x3d, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x22, 0x2c, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x65, 0x71, 0x22, 0xac, 0x01, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6e, 0x79, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x3b, 0x0a, 0x0d, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x45, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x22, 0xf0, 0x01, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 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, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x69, 0x6e, 0x79, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x69, 0x6e, 0x79, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x70, 0x70, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x70, 0x70, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, } var ( file_pb_channel_common_proto_rawDescOnce sync.Once file_pb_channel_common_proto_rawDescData = file_pb_channel_common_proto_rawDesc ) func file_pb_channel_common_proto_rawDescGZIP() []byte { file_pb_channel_common_proto_rawDescOnce.Do(func() { file_pb_channel_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_channel_common_proto_rawDescData) }) return file_pb_channel_common_proto_rawDescData } var file_pb_channel_common_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_pb_channel_common_proto_goTypes = []interface{}{ (*ChannelContentHead)(nil), // 0: channel.ChannelContentHead (*DirectMessageMember)(nil), // 1: channel.DirectMessageMember (*ChannelEvent)(nil), // 2: channel.ChannelEvent (*ChannelExtInfo)(nil), // 3: channel.ChannelExtInfo (*ChannelFreqLimitInfo)(nil), // 4: channel.ChannelFreqLimitInfo (*ChannelInfo)(nil), // 5: channel.ChannelInfo (*ChannelLoginSig)(nil), // 6: channel.ChannelLoginSig (*ChannelMeta)(nil), // 7: channel.ChannelMeta (*ChannelMsgContent)(nil), // 8: channel.ChannelMsgContent (*ChannelMsgCtrlHead)(nil), // 9: channel.ChannelMsgCtrlHead (*ChannelMsgHead)(nil), // 10: channel.ChannelMsgHead (*ChannelMsgMeta)(nil), // 11: channel.ChannelMsgMeta (*ChannelMsgOpInfo)(nil), // 12: channel.ChannelMsgOpInfo (*PersonalLevel)(nil), // 13: channel.PersonalLevel (*ChannelRole)(nil), // 14: channel.ChannelRole (*ChannelRoutingHead)(nil), // 15: channel.ChannelRoutingHead (*msg.MessageBody)(nil), // 16: msg.MessageBody } var file_pb_channel_common_proto_depIdxs = []int32{ 12, // 0: channel.ChannelEvent.opInfo:type_name -> channel.ChannelMsgOpInfo 2, // 1: channel.ChannelExtInfo.events:type_name -> channel.ChannelEvent 14, // 2: channel.ChannelExtInfo.fromRoleInfo:type_name -> channel.ChannelRole 4, // 3: channel.ChannelExtInfo.freqLimitInfo:type_name -> channel.ChannelFreqLimitInfo 1, // 4: channel.ChannelExtInfo.directMessageMember:type_name -> channel.DirectMessageMember 6, // 5: channel.ChannelMeta.loginSig:type_name -> channel.ChannelLoginSig 10, // 6: channel.ChannelMsgContent.head:type_name -> channel.ChannelMsgHead 9, // 7: channel.ChannelMsgContent.ctrlHead:type_name -> channel.ChannelMsgCtrlHead 16, // 8: channel.ChannelMsgContent.body:type_name -> msg.MessageBody 3, // 9: channel.ChannelMsgContent.extInfo:type_name -> channel.ChannelExtInfo 2, // 10: channel.ChannelMsgCtrlHead.events:type_name -> channel.ChannelEvent 13, // 11: channel.ChannelMsgCtrlHead.personalLevels:type_name -> channel.PersonalLevel 15, // 12: channel.ChannelMsgHead.routingHead:type_name -> channel.ChannelRoutingHead 0, // 13: channel.ChannelMsgHead.contentHead:type_name -> channel.ChannelContentHead 14, // [14:14] is the sub-list for method output_type 14, // [14:14] is the sub-list for method input_type 14, // [14:14] is the sub-list for extension type_name 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_common_proto_init() } func file_pb_channel_common_proto_init() { if File_pb_channel_common_proto != nil { return } if !protoimpl.UnsafeEnabled { file_pb_channel_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelContentHead); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DirectMessageMember); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelEvent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelExtInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelFreqLimitInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelLoginSig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelMeta); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelMsgContent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelMsgCtrlHead); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelMsgHead); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelMsgMeta); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelMsgOpInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PersonalLevel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelRole); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelRoutingHead); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pb_channel_common_proto_rawDesc, NumEnums: 0, NumMessages: 16, NumExtensions: 0, NumServices: 0, }, GoTypes: file_pb_channel_common_proto_goTypes, DependencyIndexes: file_pb_channel_common_proto_depIdxs, MessageInfos: file_pb_channel_common_proto_msgTypes, }.Build() File_pb_channel_common_proto = out.File file_pb_channel_common_proto_rawDesc = nil file_pb_channel_common_proto_goTypes = nil file_pb_channel_common_proto_depIdxs = nil }