// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.23.0 // protoc v3.17.3 // source: chat/v1/stream.proto package chatv1 import ( proto "github.com/golang/protobuf/proto" v1 "github.com/harmony-development/shibshib/gen/emote/v1" v12 "github.com/harmony-development/shibshib/gen/harmonytypes/v1" v11 "github.com/harmony-development/shibshib/gen/profile/v1" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) 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) ) // This is a compile-time assertion that a sufficiently up-to-date version // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 // Request type for use in the `StreamEvents` endpoint. type StreamEventsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Describes which event source to subscribe to. // // Types that are assignable to Request: // *StreamEventsRequest_SubscribeToGuild_ // *StreamEventsRequest_SubscribeToActions_ // *StreamEventsRequest_SubscribeToHomeserverEvents_ Request isStreamEventsRequest_Request `protobuf_oneof:"request"` } func (x *StreamEventsRequest) Reset() { *x = StreamEventsRequest{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEventsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEventsRequest) ProtoMessage() {} func (x *StreamEventsRequest) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEventsRequest.ProtoReflect.Descriptor instead. func (*StreamEventsRequest) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{0} } func (m *StreamEventsRequest) GetRequest() isStreamEventsRequest_Request { if m != nil { return m.Request } return nil } func (x *StreamEventsRequest) GetSubscribeToGuild() *StreamEventsRequest_SubscribeToGuild { if x, ok := x.GetRequest().(*StreamEventsRequest_SubscribeToGuild_); ok { return x.SubscribeToGuild } return nil } func (x *StreamEventsRequest) GetSubscribeToActions() *StreamEventsRequest_SubscribeToActions { if x, ok := x.GetRequest().(*StreamEventsRequest_SubscribeToActions_); ok { return x.SubscribeToActions } return nil } func (x *StreamEventsRequest) GetSubscribeToHomeserverEvents() *StreamEventsRequest_SubscribeToHomeserverEvents { if x, ok := x.GetRequest().(*StreamEventsRequest_SubscribeToHomeserverEvents_); ok { return x.SubscribeToHomeserverEvents } return nil } type isStreamEventsRequest_Request interface { isStreamEventsRequest_Request() } type StreamEventsRequest_SubscribeToGuild_ struct { // Subscribe to the guild event source. SubscribeToGuild *StreamEventsRequest_SubscribeToGuild `protobuf:"bytes,1,opt,name=subscribe_to_guild,json=subscribeToGuild,proto3,oneof"` } type StreamEventsRequest_SubscribeToActions_ struct { // Subscribe to the action event source. SubscribeToActions *StreamEventsRequest_SubscribeToActions `protobuf:"bytes,2,opt,name=subscribe_to_actions,json=subscribeToActions,proto3,oneof"` } type StreamEventsRequest_SubscribeToHomeserverEvents_ struct { // Subscribe to the homeserver event source. SubscribeToHomeserverEvents *StreamEventsRequest_SubscribeToHomeserverEvents `protobuf:"bytes,3,opt,name=subscribe_to_homeserver_events,json=subscribeToHomeserverEvents,proto3,oneof"` } func (*StreamEventsRequest_SubscribeToGuild_) isStreamEventsRequest_Request() {} func (*StreamEventsRequest_SubscribeToActions_) isStreamEventsRequest_Request() {} func (*StreamEventsRequest_SubscribeToHomeserverEvents_) isStreamEventsRequest_Request() {} // Used in the `StreamEvents` endpoint. type StreamEventsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Possible events. // // Types that are assignable to Event: // *StreamEventsResponse_Chat // *StreamEventsResponse_Emote // *StreamEventsResponse_Profile Event isStreamEventsResponse_Event `protobuf_oneof:"event"` } func (x *StreamEventsResponse) Reset() { *x = StreamEventsResponse{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEventsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEventsResponse) ProtoMessage() {} func (x *StreamEventsResponse) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEventsResponse.ProtoReflect.Descriptor instead. func (*StreamEventsResponse) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{1} } func (m *StreamEventsResponse) GetEvent() isStreamEventsResponse_Event { if m != nil { return m.Event } return nil } func (x *StreamEventsResponse) GetChat() *StreamEvent { if x, ok := x.GetEvent().(*StreamEventsResponse_Chat); ok { return x.Chat } return nil } func (x *StreamEventsResponse) GetEmote() *v1.StreamEvent { if x, ok := x.GetEvent().(*StreamEventsResponse_Emote); ok { return x.Emote } return nil } func (x *StreamEventsResponse) GetProfile() *v11.StreamEvent { if x, ok := x.GetEvent().(*StreamEventsResponse_Profile); ok { return x.Profile } return nil } type isStreamEventsResponse_Event interface { isStreamEventsResponse_Event() } type StreamEventsResponse_Chat struct { // A chat event. Chat *StreamEvent `protobuf:"bytes,1,opt,name=chat,proto3,oneof"` } type StreamEventsResponse_Emote struct { // A emote event. Emote *v1.StreamEvent `protobuf:"bytes,2,opt,name=emote,proto3,oneof"` } type StreamEventsResponse_Profile struct { // A profile event. Profile *v11.StreamEvent `protobuf:"bytes,3,opt,name=profile,proto3,oneof"` } func (*StreamEventsResponse_Chat) isStreamEventsResponse_Event() {} func (*StreamEventsResponse_Emote) isStreamEventsResponse_Event() {} func (*StreamEventsResponse_Profile) isStreamEventsResponse_Event() {} // Describes an event. type StreamEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Which event to send. // // Types that are assignable to Event: // *StreamEvent_GuildAddedToList_ // *StreamEvent_GuildRemovedFromList_ // *StreamEvent_ActionPerformed_ // *StreamEvent_SentMessage // *StreamEvent_EditedMessage // *StreamEvent_DeletedMessage // *StreamEvent_CreatedChannel // *StreamEvent_EditedChannel // *StreamEvent_DeletedChannel // *StreamEvent_EditedGuild // *StreamEvent_DeletedGuild // *StreamEvent_JoinedMember // *StreamEvent_LeftMember // *StreamEvent_Typing_ // *StreamEvent_RoleCreated_ // *StreamEvent_RoleDeleted_ // *StreamEvent_RoleMoved_ // *StreamEvent_RoleUpdated_ // *StreamEvent_RolePermsUpdated // *StreamEvent_UserRolesUpdated_ // *StreamEvent_PermissionUpdated_ // *StreamEvent_ChannelsReordered_ // *StreamEvent_EditedChannelPosition // *StreamEvent_MessagePinned_ // *StreamEvent_MessageUnpinned_ // *StreamEvent_ReactionUpdated_ // *StreamEvent_OwnerAdded_ // *StreamEvent_OwnerRemoved_ // *StreamEvent_InviteReceived_ // *StreamEvent_InviteRejected_ Event isStreamEvent_Event `protobuf_oneof:"event"` } func (x *StreamEvent) Reset() { *x = StreamEvent{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent) ProtoMessage() {} func (x *StreamEvent) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEvent.ProtoReflect.Descriptor instead. func (*StreamEvent) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2} } func (m *StreamEvent) GetEvent() isStreamEvent_Event { if m != nil { return m.Event } return nil } func (x *StreamEvent) GetGuildAddedToList() *StreamEvent_GuildAddedToList { if x, ok := x.GetEvent().(*StreamEvent_GuildAddedToList_); ok { return x.GuildAddedToList } return nil } func (x *StreamEvent) GetGuildRemovedFromList() *StreamEvent_GuildRemovedFromList { if x, ok := x.GetEvent().(*StreamEvent_GuildRemovedFromList_); ok { return x.GuildRemovedFromList } return nil } func (x *StreamEvent) GetActionPerformed() *StreamEvent_ActionPerformed { if x, ok := x.GetEvent().(*StreamEvent_ActionPerformed_); ok { return x.ActionPerformed } return nil } func (x *StreamEvent) GetSentMessage() *StreamEvent_MessageSent { if x, ok := x.GetEvent().(*StreamEvent_SentMessage); ok { return x.SentMessage } return nil } func (x *StreamEvent) GetEditedMessage() *StreamEvent_MessageUpdated { if x, ok := x.GetEvent().(*StreamEvent_EditedMessage); ok { return x.EditedMessage } return nil } func (x *StreamEvent) GetDeletedMessage() *StreamEvent_MessageDeleted { if x, ok := x.GetEvent().(*StreamEvent_DeletedMessage); ok { return x.DeletedMessage } return nil } func (x *StreamEvent) GetCreatedChannel() *StreamEvent_ChannelCreated { if x, ok := x.GetEvent().(*StreamEvent_CreatedChannel); ok { return x.CreatedChannel } return nil } func (x *StreamEvent) GetEditedChannel() *StreamEvent_ChannelUpdated { if x, ok := x.GetEvent().(*StreamEvent_EditedChannel); ok { return x.EditedChannel } return nil } func (x *StreamEvent) GetDeletedChannel() *StreamEvent_ChannelDeleted { if x, ok := x.GetEvent().(*StreamEvent_DeletedChannel); ok { return x.DeletedChannel } return nil } func (x *StreamEvent) GetEditedGuild() *StreamEvent_GuildUpdated { if x, ok := x.GetEvent().(*StreamEvent_EditedGuild); ok { return x.EditedGuild } return nil } func (x *StreamEvent) GetDeletedGuild() *StreamEvent_GuildDeleted { if x, ok := x.GetEvent().(*StreamEvent_DeletedGuild); ok { return x.DeletedGuild } return nil } func (x *StreamEvent) GetJoinedMember() *StreamEvent_MemberJoined { if x, ok := x.GetEvent().(*StreamEvent_JoinedMember); ok { return x.JoinedMember } return nil } func (x *StreamEvent) GetLeftMember() *StreamEvent_MemberLeft { if x, ok := x.GetEvent().(*StreamEvent_LeftMember); ok { return x.LeftMember } return nil } func (x *StreamEvent) GetTyping() *StreamEvent_Typing { if x, ok := x.GetEvent().(*StreamEvent_Typing_); ok { return x.Typing } return nil } func (x *StreamEvent) GetRoleCreated() *StreamEvent_RoleCreated { if x, ok := x.GetEvent().(*StreamEvent_RoleCreated_); ok { return x.RoleCreated } return nil } func (x *StreamEvent) GetRoleDeleted() *StreamEvent_RoleDeleted { if x, ok := x.GetEvent().(*StreamEvent_RoleDeleted_); ok { return x.RoleDeleted } return nil } func (x *StreamEvent) GetRoleMoved() *StreamEvent_RoleMoved { if x, ok := x.GetEvent().(*StreamEvent_RoleMoved_); ok { return x.RoleMoved } return nil } func (x *StreamEvent) GetRoleUpdated() *StreamEvent_RoleUpdated { if x, ok := x.GetEvent().(*StreamEvent_RoleUpdated_); ok { return x.RoleUpdated } return nil } func (x *StreamEvent) GetRolePermsUpdated() *StreamEvent_RolePermissionsUpdated { if x, ok := x.GetEvent().(*StreamEvent_RolePermsUpdated); ok { return x.RolePermsUpdated } return nil } func (x *StreamEvent) GetUserRolesUpdated() *StreamEvent_UserRolesUpdated { if x, ok := x.GetEvent().(*StreamEvent_UserRolesUpdated_); ok { return x.UserRolesUpdated } return nil } func (x *StreamEvent) GetPermissionUpdated() *StreamEvent_PermissionUpdated { if x, ok := x.GetEvent().(*StreamEvent_PermissionUpdated_); ok { return x.PermissionUpdated } return nil } func (x *StreamEvent) GetChannelsReordered() *StreamEvent_ChannelsReordered { if x, ok := x.GetEvent().(*StreamEvent_ChannelsReordered_); ok { return x.ChannelsReordered } return nil } func (x *StreamEvent) GetEditedChannelPosition() *StreamEvent_ChannelPositionUpdated { if x, ok := x.GetEvent().(*StreamEvent_EditedChannelPosition); ok { return x.EditedChannelPosition } return nil } func (x *StreamEvent) GetMessagePinned() *StreamEvent_MessagePinned { if x, ok := x.GetEvent().(*StreamEvent_MessagePinned_); ok { return x.MessagePinned } return nil } func (x *StreamEvent) GetMessageUnpinned() *StreamEvent_MessageUnpinned { if x, ok := x.GetEvent().(*StreamEvent_MessageUnpinned_); ok { return x.MessageUnpinned } return nil } func (x *StreamEvent) GetReactionUpdated() *StreamEvent_ReactionUpdated { if x, ok := x.GetEvent().(*StreamEvent_ReactionUpdated_); ok { return x.ReactionUpdated } return nil } func (x *StreamEvent) GetOwnerAdded() *StreamEvent_OwnerAdded { if x, ok := x.GetEvent().(*StreamEvent_OwnerAdded_); ok { return x.OwnerAdded } return nil } func (x *StreamEvent) GetOwnerRemoved() *StreamEvent_OwnerRemoved { if x, ok := x.GetEvent().(*StreamEvent_OwnerRemoved_); ok { return x.OwnerRemoved } return nil } func (x *StreamEvent) GetInviteReceived() *StreamEvent_InviteReceived { if x, ok := x.GetEvent().(*StreamEvent_InviteReceived_); ok { return x.InviteReceived } return nil } func (x *StreamEvent) GetInviteRejected() *StreamEvent_InviteRejected { if x, ok := x.GetEvent().(*StreamEvent_InviteRejected_); ok { return x.InviteRejected } return nil } type isStreamEvent_Event interface { isStreamEvent_Event() } type StreamEvent_GuildAddedToList_ struct { // Send the guild added to list event. GuildAddedToList *StreamEvent_GuildAddedToList `protobuf:"bytes,1,opt,name=guild_added_to_list,json=guildAddedToList,proto3,oneof"` } type StreamEvent_GuildRemovedFromList_ struct { // Send the guild removed from list event. GuildRemovedFromList *StreamEvent_GuildRemovedFromList `protobuf:"bytes,2,opt,name=guild_removed_from_list,json=guildRemovedFromList,proto3,oneof"` } type StreamEvent_ActionPerformed_ struct { // Send the action performed event. ActionPerformed *StreamEvent_ActionPerformed `protobuf:"bytes,3,opt,name=action_performed,json=actionPerformed,proto3,oneof"` } type StreamEvent_SentMessage struct { // Send the message sent event. SentMessage *StreamEvent_MessageSent `protobuf:"bytes,4,opt,name=sent_message,json=sentMessage,proto3,oneof"` } type StreamEvent_EditedMessage struct { // Send the message updated event. EditedMessage *StreamEvent_MessageUpdated `protobuf:"bytes,5,opt,name=edited_message,json=editedMessage,proto3,oneof"` } type StreamEvent_DeletedMessage struct { // Send the message deleted event. DeletedMessage *StreamEvent_MessageDeleted `protobuf:"bytes,6,opt,name=deleted_message,json=deletedMessage,proto3,oneof"` } type StreamEvent_CreatedChannel struct { // Send the channel created event. CreatedChannel *StreamEvent_ChannelCreated `protobuf:"bytes,7,opt,name=created_channel,json=createdChannel,proto3,oneof"` } type StreamEvent_EditedChannel struct { // Send the channel updated event. EditedChannel *StreamEvent_ChannelUpdated `protobuf:"bytes,8,opt,name=edited_channel,json=editedChannel,proto3,oneof"` } type StreamEvent_DeletedChannel struct { // Send the channel deleted event. DeletedChannel *StreamEvent_ChannelDeleted `protobuf:"bytes,9,opt,name=deleted_channel,json=deletedChannel,proto3,oneof"` } type StreamEvent_EditedGuild struct { // Send the guild updated event. EditedGuild *StreamEvent_GuildUpdated `protobuf:"bytes,10,opt,name=edited_guild,json=editedGuild,proto3,oneof"` } type StreamEvent_DeletedGuild struct { // Send the guild deleted event. DeletedGuild *StreamEvent_GuildDeleted `protobuf:"bytes,11,opt,name=deleted_guild,json=deletedGuild,proto3,oneof"` } type StreamEvent_JoinedMember struct { // Send the member joined event. JoinedMember *StreamEvent_MemberJoined `protobuf:"bytes,12,opt,name=joined_member,json=joinedMember,proto3,oneof"` } type StreamEvent_LeftMember struct { // Send the member left event. LeftMember *StreamEvent_MemberLeft `protobuf:"bytes,13,opt,name=left_member,json=leftMember,proto3,oneof"` } type StreamEvent_Typing_ struct { // Send the typing event. Typing *StreamEvent_Typing `protobuf:"bytes,14,opt,name=typing,proto3,oneof"` } type StreamEvent_RoleCreated_ struct { // Send the role created event. RoleCreated *StreamEvent_RoleCreated `protobuf:"bytes,15,opt,name=role_created,json=roleCreated,proto3,oneof"` } type StreamEvent_RoleDeleted_ struct { // Send the role deleted event. RoleDeleted *StreamEvent_RoleDeleted `protobuf:"bytes,16,opt,name=role_deleted,json=roleDeleted,proto3,oneof"` } type StreamEvent_RoleMoved_ struct { // Send the role moved event. RoleMoved *StreamEvent_RoleMoved `protobuf:"bytes,17,opt,name=role_moved,json=roleMoved,proto3,oneof"` } type StreamEvent_RoleUpdated_ struct { // Send the role updated event. RoleUpdated *StreamEvent_RoleUpdated `protobuf:"bytes,18,opt,name=role_updated,json=roleUpdated,proto3,oneof"` } type StreamEvent_RolePermsUpdated struct { // Send the role perms updated event. RolePermsUpdated *StreamEvent_RolePermissionsUpdated `protobuf:"bytes,19,opt,name=role_perms_updated,json=rolePermsUpdated,proto3,oneof"` } type StreamEvent_UserRolesUpdated_ struct { // Send the user roles updated event. UserRolesUpdated *StreamEvent_UserRolesUpdated `protobuf:"bytes,20,opt,name=user_roles_updated,json=userRolesUpdated,proto3,oneof"` } type StreamEvent_PermissionUpdated_ struct { // Send the permission updated event. PermissionUpdated *StreamEvent_PermissionUpdated `protobuf:"bytes,21,opt,name=permission_updated,json=permissionUpdated,proto3,oneof"` } type StreamEvent_ChannelsReordered_ struct { // The channels have been completely reordered. ChannelsReordered *StreamEvent_ChannelsReordered `protobuf:"bytes,22,opt,name=channels_reordered,json=channelsReordered,proto3,oneof"` } type StreamEvent_EditedChannelPosition struct { // Send the channel position updated event. EditedChannelPosition *StreamEvent_ChannelPositionUpdated `protobuf:"bytes,23,opt,name=edited_channel_position,json=editedChannelPosition,proto3,oneof"` } type StreamEvent_MessagePinned_ struct { // Send the message pinned event. MessagePinned *StreamEvent_MessagePinned `protobuf:"bytes,24,opt,name=message_pinned,json=messagePinned,proto3,oneof"` } type StreamEvent_MessageUnpinned_ struct { // Send the message unpinned event. MessageUnpinned *StreamEvent_MessageUnpinned `protobuf:"bytes,25,opt,name=message_unpinned,json=messageUnpinned,proto3,oneof"` } type StreamEvent_ReactionUpdated_ struct { // Send the reaction updated event. ReactionUpdated *StreamEvent_ReactionUpdated `protobuf:"bytes,26,opt,name=reaction_updated,json=reactionUpdated,proto3,oneof"` } type StreamEvent_OwnerAdded_ struct { // Send the owner added event. OwnerAdded *StreamEvent_OwnerAdded `protobuf:"bytes,27,opt,name=owner_added,json=ownerAdded,proto3,oneof"` } type StreamEvent_OwnerRemoved_ struct { // Send the owner removed event. OwnerRemoved *StreamEvent_OwnerRemoved `protobuf:"bytes,28,opt,name=owner_removed,json=ownerRemoved,proto3,oneof"` } type StreamEvent_InviteReceived_ struct { // Send the guild invite received event. InviteReceived *StreamEvent_InviteReceived `protobuf:"bytes,29,opt,name=invite_received,json=inviteReceived,proto3,oneof"` } type StreamEvent_InviteRejected_ struct { // Send the guild invite rejected event. InviteRejected *StreamEvent_InviteRejected `protobuf:"bytes,30,opt,name=invite_rejected,json=inviteRejected,proto3,oneof"` } func (*StreamEvent_GuildAddedToList_) isStreamEvent_Event() {} func (*StreamEvent_GuildRemovedFromList_) isStreamEvent_Event() {} func (*StreamEvent_ActionPerformed_) isStreamEvent_Event() {} func (*StreamEvent_SentMessage) isStreamEvent_Event() {} func (*StreamEvent_EditedMessage) isStreamEvent_Event() {} func (*StreamEvent_DeletedMessage) isStreamEvent_Event() {} func (*StreamEvent_CreatedChannel) isStreamEvent_Event() {} func (*StreamEvent_EditedChannel) isStreamEvent_Event() {} func (*StreamEvent_DeletedChannel) isStreamEvent_Event() {} func (*StreamEvent_EditedGuild) isStreamEvent_Event() {} func (*StreamEvent_DeletedGuild) isStreamEvent_Event() {} func (*StreamEvent_JoinedMember) isStreamEvent_Event() {} func (*StreamEvent_LeftMember) isStreamEvent_Event() {} func (*StreamEvent_Typing_) isStreamEvent_Event() {} func (*StreamEvent_RoleCreated_) isStreamEvent_Event() {} func (*StreamEvent_RoleDeleted_) isStreamEvent_Event() {} func (*StreamEvent_RoleMoved_) isStreamEvent_Event() {} func (*StreamEvent_RoleUpdated_) isStreamEvent_Event() {} func (*StreamEvent_RolePermsUpdated) isStreamEvent_Event() {} func (*StreamEvent_UserRolesUpdated_) isStreamEvent_Event() {} func (*StreamEvent_PermissionUpdated_) isStreamEvent_Event() {} func (*StreamEvent_ChannelsReordered_) isStreamEvent_Event() {} func (*StreamEvent_EditedChannelPosition) isStreamEvent_Event() {} func (*StreamEvent_MessagePinned_) isStreamEvent_Event() {} func (*StreamEvent_MessageUnpinned_) isStreamEvent_Event() {} func (*StreamEvent_ReactionUpdated_) isStreamEvent_Event() {} func (*StreamEvent_OwnerAdded_) isStreamEvent_Event() {} func (*StreamEvent_OwnerRemoved_) isStreamEvent_Event() {} func (*StreamEvent_InviteReceived_) isStreamEvent_Event() {} func (*StreamEvent_InviteRejected_) isStreamEvent_Event() {} // Event source for guilds' events. type StreamEventsRequest_SubscribeToGuild struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // the guild id to subscribe to GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` } func (x *StreamEventsRequest_SubscribeToGuild) Reset() { *x = StreamEventsRequest_SubscribeToGuild{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEventsRequest_SubscribeToGuild) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEventsRequest_SubscribeToGuild) ProtoMessage() {} func (x *StreamEventsRequest_SubscribeToGuild) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEventsRequest_SubscribeToGuild.ProtoReflect.Descriptor instead. func (*StreamEventsRequest_SubscribeToGuild) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{0, 0} } func (x *StreamEventsRequest_SubscribeToGuild) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } // Event source for actions' events. type StreamEventsRequest_SubscribeToActions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamEventsRequest_SubscribeToActions) Reset() { *x = StreamEventsRequest_SubscribeToActions{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEventsRequest_SubscribeToActions) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEventsRequest_SubscribeToActions) ProtoMessage() {} func (x *StreamEventsRequest_SubscribeToActions) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEventsRequest_SubscribeToActions.ProtoReflect.Descriptor instead. func (*StreamEventsRequest_SubscribeToActions) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{0, 1} } // Event source for homeserver events. type StreamEventsRequest_SubscribeToHomeserverEvents struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamEventsRequest_SubscribeToHomeserverEvents) Reset() { *x = StreamEventsRequest_SubscribeToHomeserverEvents{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEventsRequest_SubscribeToHomeserverEvents) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEventsRequest_SubscribeToHomeserverEvents) ProtoMessage() {} func (x *StreamEventsRequest_SubscribeToHomeserverEvents) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEventsRequest_SubscribeToHomeserverEvents.ProtoReflect.Descriptor instead. func (*StreamEventsRequest_SubscribeToHomeserverEvents) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{0, 2} } // Event sent when a new message is sent. type StreamEvent_MessageSent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID that is sent by your client it can use to confirm that the message is sent. EchoId *uint64 `protobuf:"varint,1,opt,name=echo_id,json=echoId,proto3,oneof" json:"echo_id,omitempty"` // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,2,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel where this event happened. ChannelId uint64 `protobuf:"varint,3,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` // Message ID of the message that was updated. MessageId uint64 `protobuf:"varint,4,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` // The actual message. Message *Message `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"` } func (x *StreamEvent_MessageSent) Reset() { *x = StreamEvent_MessageSent{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_MessageSent) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_MessageSent) ProtoMessage() {} func (x *StreamEvent_MessageSent) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEvent_MessageSent.ProtoReflect.Descriptor instead. func (*StreamEvent_MessageSent) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 0} } func (x *StreamEvent_MessageSent) GetEchoId() uint64 { if x != nil && x.EchoId != nil { return *x.EchoId } return 0 } func (x *StreamEvent_MessageSent) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_MessageSent) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } func (x *StreamEvent_MessageSent) GetMessageId() uint64 { if x != nil { return x.MessageId } return 0 } func (x *StreamEvent_MessageSent) GetMessage() *Message { if x != nil { return x.Message } return nil } // Event sent when a message's text content is updated. type StreamEvent_MessageUpdated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel where this event happened. ChannelId uint64 `protobuf:"varint,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` // Message ID of the message that was updated. MessageId uint64 `protobuf:"varint,3,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` // When this message was edited, in milliseconds since unix epoch EditedAt uint64 `protobuf:"varint,4,opt,name=edited_at,json=editedAt,proto3" json:"edited_at,omitempty"` // New message content. NewContent *FormattedText `protobuf:"bytes,5,opt,name=new_content,json=newContent,proto3" json:"new_content,omitempty"` } func (x *StreamEvent_MessageUpdated) Reset() { *x = StreamEvent_MessageUpdated{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_MessageUpdated) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_MessageUpdated) ProtoMessage() {} func (x *StreamEvent_MessageUpdated) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEvent_MessageUpdated.ProtoReflect.Descriptor instead. func (*StreamEvent_MessageUpdated) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 1} } func (x *StreamEvent_MessageUpdated) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_MessageUpdated) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } func (x *StreamEvent_MessageUpdated) GetMessageId() uint64 { if x != nil { return x.MessageId } return 0 } func (x *StreamEvent_MessageUpdated) GetEditedAt() uint64 { if x != nil { return x.EditedAt } return 0 } func (x *StreamEvent_MessageUpdated) GetNewContent() *FormattedText { if x != nil { return x.NewContent } return nil } // Event sent when a message is deleted. type StreamEvent_MessageDeleted struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel where this event happened. ChannelId uint64 `protobuf:"varint,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` // Message ID of the message that was deleted. MessageId uint64 `protobuf:"varint,3,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` } func (x *StreamEvent_MessageDeleted) Reset() { *x = StreamEvent_MessageDeleted{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_MessageDeleted) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_MessageDeleted) ProtoMessage() {} func (x *StreamEvent_MessageDeleted) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEvent_MessageDeleted.ProtoReflect.Descriptor instead. func (*StreamEvent_MessageDeleted) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 2} } func (x *StreamEvent_MessageDeleted) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_MessageDeleted) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } func (x *StreamEvent_MessageDeleted) GetMessageId() uint64 { if x != nil { return x.MessageId } return 0 } // Event sent when a new channel is created. type StreamEvent_ChannelCreated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel where this event happened. ChannelId uint64 `protobuf:"varint,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` // Name of this channel. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // The position in the channel list. Position *v12.ItemPosition `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"` // The kind of this channel. Kind ChannelKind `protobuf:"varint,5,opt,name=kind,proto3,enum=protocol.chat.v1.ChannelKind" json:"kind,omitempty"` // Metadata for this channel. Metadata *v12.Metadata `protobuf:"bytes,6,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"` } func (x *StreamEvent_ChannelCreated) Reset() { *x = StreamEvent_ChannelCreated{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_ChannelCreated) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_ChannelCreated) ProtoMessage() {} func (x *StreamEvent_ChannelCreated) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEvent_ChannelCreated.ProtoReflect.Descriptor instead. func (*StreamEvent_ChannelCreated) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 3} } func (x *StreamEvent_ChannelCreated) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_ChannelCreated) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } func (x *StreamEvent_ChannelCreated) GetName() string { if x != nil { return x.Name } return "" } func (x *StreamEvent_ChannelCreated) GetPosition() *v12.ItemPosition { if x != nil { return x.Position } return nil } func (x *StreamEvent_ChannelCreated) GetKind() ChannelKind { if x != nil { return x.Kind } return ChannelKind_CHANNEL_KIND_TEXT_UNSPECIFIED } func (x *StreamEvent_ChannelCreated) GetMetadata() *v12.Metadata { if x != nil { return x.Metadata } return nil } // Event sent when a channel's information is changed. type StreamEvent_ChannelUpdated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel that was changed. ChannelId uint64 `protobuf:"varint,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` // The new name of the channel. NewName *string `protobuf:"bytes,3,opt,name=new_name,json=newName,proto3,oneof" json:"new_name,omitempty"` // The new metadata of the channel. NewMetadata *v12.Metadata `protobuf:"bytes,4,opt,name=new_metadata,json=newMetadata,proto3,oneof" json:"new_metadata,omitempty"` } func (x *StreamEvent_ChannelUpdated) Reset() { *x = StreamEvent_ChannelUpdated{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_ChannelUpdated) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_ChannelUpdated) ProtoMessage() {} func (x *StreamEvent_ChannelUpdated) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEvent_ChannelUpdated.ProtoReflect.Descriptor instead. func (*StreamEvent_ChannelUpdated) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 4} } func (x *StreamEvent_ChannelUpdated) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_ChannelUpdated) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } func (x *StreamEvent_ChannelUpdated) GetNewName() string { if x != nil && x.NewName != nil { return *x.NewName } return "" } func (x *StreamEvent_ChannelUpdated) GetNewMetadata() *v12.Metadata { if x != nil { return x.NewMetadata } return nil } // Event sent when a channel's position in the channel list is changed. type StreamEvent_ChannelPositionUpdated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel that was changed. ChannelId uint64 `protobuf:"varint,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` // The new position of the channel. NewPosition *v12.ItemPosition `protobuf:"bytes,3,opt,name=new_position,json=newPosition,proto3,oneof" json:"new_position,omitempty"` } func (x *StreamEvent_ChannelPositionUpdated) Reset() { *x = StreamEvent_ChannelPositionUpdated{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_ChannelPositionUpdated) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_ChannelPositionUpdated) ProtoMessage() {} func (x *StreamEvent_ChannelPositionUpdated) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEvent_ChannelPositionUpdated.ProtoReflect.Descriptor instead. func (*StreamEvent_ChannelPositionUpdated) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 5} } func (x *StreamEvent_ChannelPositionUpdated) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_ChannelPositionUpdated) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } func (x *StreamEvent_ChannelPositionUpdated) GetNewPosition() *v12.ItemPosition { if x != nil { return x.NewPosition } return nil } // Event sent when all channels have been reordered type StreamEvent_ChannelsReordered struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // guild_id: the guild whose channels are being reordered GuildId uint64 `protobuf:"varint,2,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // channel_ids: the new order of channel IDs ChannelIds []uint64 `protobuf:"varint,1,rep,packed,name=channel_ids,json=channelIds,proto3" json:"channel_ids,omitempty"` } func (x *StreamEvent_ChannelsReordered) Reset() { *x = StreamEvent_ChannelsReordered{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_ChannelsReordered) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_ChannelsReordered) ProtoMessage() {} func (x *StreamEvent_ChannelsReordered) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEvent_ChannelsReordered.ProtoReflect.Descriptor instead. func (*StreamEvent_ChannelsReordered) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 6} } func (x *StreamEvent_ChannelsReordered) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_ChannelsReordered) GetChannelIds() []uint64 { if x != nil { return x.ChannelIds } return nil } // Event sent when a channel is deleted. type StreamEvent_ChannelDeleted struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel that was deleted. ChannelId uint64 `protobuf:"varint,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` } func (x *StreamEvent_ChannelDeleted) Reset() { *x = StreamEvent_ChannelDeleted{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_ChannelDeleted) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_ChannelDeleted) ProtoMessage() {} func (x *StreamEvent_ChannelDeleted) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEvent_ChannelDeleted.ProtoReflect.Descriptor instead. func (*StreamEvent_ChannelDeleted) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 7} } func (x *StreamEvent_ChannelDeleted) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_ChannelDeleted) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } // Event sent when a guild's information is changed. type StreamEvent_GuildUpdated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild that was changed. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // The new name of the guild. NewName *string `protobuf:"bytes,2,opt,name=new_name,json=newName,proto3,oneof" json:"new_name,omitempty"` // The new picture of the guild. NewPicture *string `protobuf:"bytes,3,opt,name=new_picture,json=newPicture,proto3,oneof" json:"new_picture,omitempty"` // The new metadata of the guild. NewMetadata *v12.Metadata `protobuf:"bytes,4,opt,name=new_metadata,json=newMetadata,proto3,oneof" json:"new_metadata,omitempty"` } func (x *StreamEvent_GuildUpdated) Reset() { *x = StreamEvent_GuildUpdated{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_GuildUpdated) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_GuildUpdated) ProtoMessage() {} func (x *StreamEvent_GuildUpdated) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEvent_GuildUpdated.ProtoReflect.Descriptor instead. func (*StreamEvent_GuildUpdated) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 8} } func (x *StreamEvent_GuildUpdated) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_GuildUpdated) GetNewName() string { if x != nil && x.NewName != nil { return *x.NewName } return "" } func (x *StreamEvent_GuildUpdated) GetNewPicture() string { if x != nil && x.NewPicture != nil { return *x.NewPicture } return "" } func (x *StreamEvent_GuildUpdated) GetNewMetadata() *v12.Metadata { if x != nil { return x.NewMetadata } return nil } // Event sent when a guild is deleted. type StreamEvent_GuildDeleted struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild that was deleted. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` } func (x *StreamEvent_GuildDeleted) Reset() { *x = StreamEvent_GuildDeleted{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_GuildDeleted) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_GuildDeleted) ProtoMessage() {} func (x *StreamEvent_GuildDeleted) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_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 StreamEvent_GuildDeleted.ProtoReflect.Descriptor instead. func (*StreamEvent_GuildDeleted) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 9} } func (x *StreamEvent_GuildDeleted) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } // Event sent a user joins to a guild. type StreamEvent_MemberJoined struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Member ID of the member that joined the guild. MemberId uint64 `protobuf:"varint,1,opt,name=member_id,json=memberId,proto3" json:"member_id,omitempty"` // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,2,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` } func (x *StreamEvent_MemberJoined) Reset() { *x = StreamEvent_MemberJoined{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_MemberJoined) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_MemberJoined) ProtoMessage() {} func (x *StreamEvent_MemberJoined) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[16] 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 StreamEvent_MemberJoined.ProtoReflect.Descriptor instead. func (*StreamEvent_MemberJoined) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 10} } func (x *StreamEvent_MemberJoined) GetMemberId() uint64 { if x != nil { return x.MemberId } return 0 } func (x *StreamEvent_MemberJoined) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } // Event sent when a member of a guild leaves said guild for whatever reason. type StreamEvent_MemberLeft struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // User ID of the member that left the guild. MemberId uint64 `protobuf:"varint,1,opt,name=member_id,json=memberId,proto3" json:"member_id,omitempty"` // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,2,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Why this member left the guild. LeaveReason LeaveReason `protobuf:"varint,3,opt,name=leave_reason,json=leaveReason,proto3,enum=protocol.chat.v1.LeaveReason" json:"leave_reason,omitempty"` } func (x *StreamEvent_MemberLeft) Reset() { *x = StreamEvent_MemberLeft{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_MemberLeft) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_MemberLeft) ProtoMessage() {} func (x *StreamEvent_MemberLeft) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[17] 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 StreamEvent_MemberLeft.ProtoReflect.Descriptor instead. func (*StreamEvent_MemberLeft) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 11} } func (x *StreamEvent_MemberLeft) GetMemberId() uint64 { if x != nil { return x.MemberId } return 0 } func (x *StreamEvent_MemberLeft) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_MemberLeft) GetLeaveReason() LeaveReason { if x != nil { return x.LeaveReason } return LeaveReason_LEAVE_REASON_WILLINGLY_UNSPECIFIED } // Event sent when you join a new guild. type StreamEvent_GuildAddedToList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // The homeserver this guild is on. Homeserver string `protobuf:"bytes,2,opt,name=homeserver,proto3" json:"homeserver,omitempty"` } func (x *StreamEvent_GuildAddedToList) Reset() { *x = StreamEvent_GuildAddedToList{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_GuildAddedToList) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_GuildAddedToList) ProtoMessage() {} func (x *StreamEvent_GuildAddedToList) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[18] 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 StreamEvent_GuildAddedToList.ProtoReflect.Descriptor instead. func (*StreamEvent_GuildAddedToList) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 12} } func (x *StreamEvent_GuildAddedToList) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_GuildAddedToList) GetHomeserver() string { if x != nil { return x.Homeserver } return "" } // Event sent when you leave a guild. type StreamEvent_GuildRemovedFromList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // The homeserver this guild is on. Homeserver string `protobuf:"bytes,2,opt,name=homeserver,proto3" json:"homeserver,omitempty"` } func (x *StreamEvent_GuildRemovedFromList) Reset() { *x = StreamEvent_GuildRemovedFromList{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_GuildRemovedFromList) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_GuildRemovedFromList) ProtoMessage() {} func (x *StreamEvent_GuildRemovedFromList) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[19] 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 StreamEvent_GuildRemovedFromList.ProtoReflect.Descriptor instead. func (*StreamEvent_GuildRemovedFromList) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 13} } func (x *StreamEvent_GuildRemovedFromList) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_GuildRemovedFromList) GetHomeserver() string { if x != nil { return x.Homeserver } return "" } // Event sent when an action is performed. type StreamEvent_ActionPerformed struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel where this event happened. ChannelId uint64 `protobuf:"varint,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` // Message ID where this event happened. MessageId uint64 `protobuf:"varint,3,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` // User ID of the user that triggered the action UserId uint64 `protobuf:"varint,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` // The action data payload Payload *ActionPayload `protobuf:"bytes,5,opt,name=payload,proto3" json:"payload,omitempty"` } func (x *StreamEvent_ActionPerformed) Reset() { *x = StreamEvent_ActionPerformed{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_ActionPerformed) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_ActionPerformed) ProtoMessage() {} func (x *StreamEvent_ActionPerformed) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[20] 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 StreamEvent_ActionPerformed.ProtoReflect.Descriptor instead. func (*StreamEvent_ActionPerformed) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 14} } func (x *StreamEvent_ActionPerformed) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_ActionPerformed) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } func (x *StreamEvent_ActionPerformed) GetMessageId() uint64 { if x != nil { return x.MessageId } return 0 } func (x *StreamEvent_ActionPerformed) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } func (x *StreamEvent_ActionPerformed) GetPayload() *ActionPayload { if x != nil { return x.Payload } return nil } // Event sent when a role's position in the role list is changed. type StreamEvent_RoleMoved struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Role ID of the role that was moved. RoleId uint64 `protobuf:"varint,2,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` // New position of the role. NewPosition *v12.ItemPosition `protobuf:"bytes,3,opt,name=new_position,json=newPosition,proto3" json:"new_position,omitempty"` } func (x *StreamEvent_RoleMoved) Reset() { *x = StreamEvent_RoleMoved{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_RoleMoved) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_RoleMoved) ProtoMessage() {} func (x *StreamEvent_RoleMoved) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[21] 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 StreamEvent_RoleMoved.ProtoReflect.Descriptor instead. func (*StreamEvent_RoleMoved) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 15} } func (x *StreamEvent_RoleMoved) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_RoleMoved) GetRoleId() uint64 { if x != nil { return x.RoleId } return 0 } func (x *StreamEvent_RoleMoved) GetNewPosition() *v12.ItemPosition { if x != nil { return x.NewPosition } return nil } // Event sent when a role is deleted. type StreamEvent_RoleDeleted struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Role ID of the role that was deleted. RoleId uint64 `protobuf:"varint,2,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` } func (x *StreamEvent_RoleDeleted) Reset() { *x = StreamEvent_RoleDeleted{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_RoleDeleted) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_RoleDeleted) ProtoMessage() {} func (x *StreamEvent_RoleDeleted) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[22] 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 StreamEvent_RoleDeleted.ProtoReflect.Descriptor instead. func (*StreamEvent_RoleDeleted) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 16} } func (x *StreamEvent_RoleDeleted) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_RoleDeleted) GetRoleId() uint64 { if x != nil { return x.RoleId } return 0 } // Event sent when a role is created. type StreamEvent_RoleCreated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Role ID of the role that was created. RoleId uint64 `protobuf:"varint,2,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` // The name of the role. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // The color of the role. Color int32 `protobuf:"varint,4,opt,name=color,proto3" json:"color,omitempty"` // The hoist status of the role. Hoist bool `protobuf:"varint,5,opt,name=hoist,proto3" json:"hoist,omitempty"` // The pingable status of the role. Pingable bool `protobuf:"varint,6,opt,name=pingable,proto3" json:"pingable,omitempty"` } func (x *StreamEvent_RoleCreated) Reset() { *x = StreamEvent_RoleCreated{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_RoleCreated) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_RoleCreated) ProtoMessage() {} func (x *StreamEvent_RoleCreated) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[23] 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 StreamEvent_RoleCreated.ProtoReflect.Descriptor instead. func (*StreamEvent_RoleCreated) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 17} } func (x *StreamEvent_RoleCreated) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_RoleCreated) GetRoleId() uint64 { if x != nil { return x.RoleId } return 0 } func (x *StreamEvent_RoleCreated) GetName() string { if x != nil { return x.Name } return "" } func (x *StreamEvent_RoleCreated) GetColor() int32 { if x != nil { return x.Color } return 0 } func (x *StreamEvent_RoleCreated) GetHoist() bool { if x != nil { return x.Hoist } return false } func (x *StreamEvent_RoleCreated) GetPingable() bool { if x != nil { return x.Pingable } return false } // Event sent when a role's information is changed. type StreamEvent_RoleUpdated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Role ID of the role that was changed. RoleId uint64 `protobuf:"varint,2,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` // The new name of the role. NewName *string `protobuf:"bytes,3,opt,name=new_name,json=newName,proto3,oneof" json:"new_name,omitempty"` // The new color of the role. NewColor *int32 `protobuf:"varint,4,opt,name=new_color,json=newColor,proto3,oneof" json:"new_color,omitempty"` // The new hoist status of the role. NewHoist *bool `protobuf:"varint,5,opt,name=new_hoist,json=newHoist,proto3,oneof" json:"new_hoist,omitempty"` // The new pingable status of the role. NewPingable *bool `protobuf:"varint,6,opt,name=new_pingable,json=newPingable,proto3,oneof" json:"new_pingable,omitempty"` } func (x *StreamEvent_RoleUpdated) Reset() { *x = StreamEvent_RoleUpdated{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_RoleUpdated) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_RoleUpdated) ProtoMessage() {} func (x *StreamEvent_RoleUpdated) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[24] 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 StreamEvent_RoleUpdated.ProtoReflect.Descriptor instead. func (*StreamEvent_RoleUpdated) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 18} } func (x *StreamEvent_RoleUpdated) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_RoleUpdated) GetRoleId() uint64 { if x != nil { return x.RoleId } return 0 } func (x *StreamEvent_RoleUpdated) GetNewName() string { if x != nil && x.NewName != nil { return *x.NewName } return "" } func (x *StreamEvent_RoleUpdated) GetNewColor() int32 { if x != nil && x.NewColor != nil { return *x.NewColor } return 0 } func (x *StreamEvent_RoleUpdated) GetNewHoist() bool { if x != nil && x.NewHoist != nil { return *x.NewHoist } return false } func (x *StreamEvent_RoleUpdated) GetNewPingable() bool { if x != nil && x.NewPingable != nil { return *x.NewPingable } return false } // Event sent when a role's permissions are changed. // // This event will only be sent to users with the "guild.manage" permission. type StreamEvent_RolePermissionsUpdated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel where this event happened. ChannelId *uint64 `protobuf:"varint,2,opt,name=channel_id,json=channelId,proto3,oneof" json:"channel_id,omitempty"` // Role ID of the role that had it's permissions changed. RoleId uint64 `protobuf:"varint,3,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` // The new permissions. NewPerms []*Permission `protobuf:"bytes,4,rep,name=new_perms,json=newPerms,proto3" json:"new_perms,omitempty"` } func (x *StreamEvent_RolePermissionsUpdated) Reset() { *x = StreamEvent_RolePermissionsUpdated{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_RolePermissionsUpdated) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_RolePermissionsUpdated) ProtoMessage() {} func (x *StreamEvent_RolePermissionsUpdated) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[25] 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 StreamEvent_RolePermissionsUpdated.ProtoReflect.Descriptor instead. func (*StreamEvent_RolePermissionsUpdated) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 19} } func (x *StreamEvent_RolePermissionsUpdated) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_RolePermissionsUpdated) GetChannelId() uint64 { if x != nil && x.ChannelId != nil { return *x.ChannelId } return 0 } func (x *StreamEvent_RolePermissionsUpdated) GetRoleId() uint64 { if x != nil { return x.RoleId } return 0 } func (x *StreamEvent_RolePermissionsUpdated) GetNewPerms() []*Permission { if x != nil { return x.NewPerms } return nil } // Event sent when a user's roles are changed. type StreamEvent_UserRolesUpdated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // User ID of the user that had it's roles changed. UserId uint64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` // The new role IDs. NewRoleIds []uint64 `protobuf:"varint,3,rep,packed,name=new_role_ids,json=newRoleIds,proto3" json:"new_role_ids,omitempty"` } func (x *StreamEvent_UserRolesUpdated) Reset() { *x = StreamEvent_UserRolesUpdated{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_UserRolesUpdated) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_UserRolesUpdated) ProtoMessage() {} func (x *StreamEvent_UserRolesUpdated) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[26] 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 StreamEvent_UserRolesUpdated.ProtoReflect.Descriptor instead. func (*StreamEvent_UserRolesUpdated) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 20} } func (x *StreamEvent_UserRolesUpdated) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_UserRolesUpdated) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } func (x *StreamEvent_UserRolesUpdated) GetNewRoleIds() []uint64 { if x != nil { return x.NewRoleIds } return nil } // Event sent when a user sends a typing notification in a guild channel. type StreamEvent_Typing struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // User ID of the user that sent the typing notification. UserId uint64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,2,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel where this event happened. ChannelId uint64 `protobuf:"varint,3,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` } func (x *StreamEvent_Typing) Reset() { *x = StreamEvent_Typing{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_Typing) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_Typing) ProtoMessage() {} func (x *StreamEvent_Typing) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamEvent_Typing.ProtoReflect.Descriptor instead. func (*StreamEvent_Typing) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 21} } func (x *StreamEvent_Typing) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } func (x *StreamEvent_Typing) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_Typing) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } // Event sent when a permission is changed that matters to you. // // Servers should calculate which users to send this event to when a permission is set. // It should only be sent if a user is subscribed to the guild the permission pertains to. type StreamEvent_PermissionUpdated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event happened. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel where this event happened. ChannelId *uint64 `protobuf:"varint,2,opt,name=channel_id,json=channelId,proto3,oneof" json:"channel_id,omitempty"` // The permission node that was changed. Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` // Whether you have the permission or not. Ok bool `protobuf:"varint,4,opt,name=ok,proto3" json:"ok,omitempty"` } func (x *StreamEvent_PermissionUpdated) Reset() { *x = StreamEvent_PermissionUpdated{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_PermissionUpdated) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_PermissionUpdated) ProtoMessage() {} func (x *StreamEvent_PermissionUpdated) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamEvent_PermissionUpdated.ProtoReflect.Descriptor instead. func (*StreamEvent_PermissionUpdated) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 22} } func (x *StreamEvent_PermissionUpdated) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_PermissionUpdated) GetChannelId() uint64 { if x != nil && x.ChannelId != nil { return *x.ChannelId } return 0 } func (x *StreamEvent_PermissionUpdated) GetQuery() string { if x != nil { return x.Query } return "" } func (x *StreamEvent_PermissionUpdated) GetOk() bool { if x != nil { return x.Ok } return false } // Sent when a message is pinned in a guild channel. // // Should only be sent to users who have the "message.view" permission for // the guild channel where the message was pinned. type StreamEvent_MessagePinned struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event occured. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel where this event occured. ChannelId uint64 `protobuf:"varint,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` // Message ID of the message that was pinned. MessageId uint64 `protobuf:"varint,3,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` } func (x *StreamEvent_MessagePinned) Reset() { *x = StreamEvent_MessagePinned{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_MessagePinned) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_MessagePinned) ProtoMessage() {} func (x *StreamEvent_MessagePinned) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamEvent_MessagePinned.ProtoReflect.Descriptor instead. func (*StreamEvent_MessagePinned) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 23} } func (x *StreamEvent_MessagePinned) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_MessagePinned) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } func (x *StreamEvent_MessagePinned) GetMessageId() uint64 { if x != nil { return x.MessageId } return 0 } // Sent when a message is unpinned in a guild channel. // // Should only be sent to users who have the "message.view" permission for // the guild channel where the message was unpinned. type StreamEvent_MessageUnpinned struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event occured. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel where this event occured. ChannelId uint64 `protobuf:"varint,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` // Message ID of the message that was unpinned. MessageId uint64 `protobuf:"varint,3,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` } func (x *StreamEvent_MessageUnpinned) Reset() { *x = StreamEvent_MessageUnpinned{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_MessageUnpinned) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_MessageUnpinned) ProtoMessage() {} func (x *StreamEvent_MessageUnpinned) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamEvent_MessageUnpinned.ProtoReflect.Descriptor instead. func (*StreamEvent_MessageUnpinned) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 24} } func (x *StreamEvent_MessageUnpinned) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_MessageUnpinned) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } func (x *StreamEvent_MessageUnpinned) GetMessageId() uint64 { if x != nil { return x.MessageId } return 0 } // Sent when a message's reaction is changed. type StreamEvent_ReactionUpdated struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild where this event occured. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // Channel ID of the channel where this event occured. ChannelId uint64 `protobuf:"varint,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` // Message ID of the message that had a reaction updated. MessageId uint64 `protobuf:"varint,3,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` // The reaction. Reaction *Reaction `protobuf:"bytes,4,opt,name=reaction,proto3" json:"reaction,omitempty"` } func (x *StreamEvent_ReactionUpdated) Reset() { *x = StreamEvent_ReactionUpdated{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_ReactionUpdated) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_ReactionUpdated) ProtoMessage() {} func (x *StreamEvent_ReactionUpdated) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[31] 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 StreamEvent_ReactionUpdated.ProtoReflect.Descriptor instead. func (*StreamEvent_ReactionUpdated) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 25} } func (x *StreamEvent_ReactionUpdated) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_ReactionUpdated) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } func (x *StreamEvent_ReactionUpdated) GetMessageId() uint64 { if x != nil { return x.MessageId } return 0 } func (x *StreamEvent_ReactionUpdated) GetReaction() *Reaction { if x != nil { return x.Reaction } return nil } // Sent when there's a new owner. type StreamEvent_OwnerAdded struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // User ID of the new owner. UserId uint64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` } func (x *StreamEvent_OwnerAdded) Reset() { *x = StreamEvent_OwnerAdded{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_OwnerAdded) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_OwnerAdded) ProtoMessage() {} func (x *StreamEvent_OwnerAdded) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[32] 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 StreamEvent_OwnerAdded.ProtoReflect.Descriptor instead. func (*StreamEvent_OwnerAdded) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 26} } func (x *StreamEvent_OwnerAdded) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } // Sent when an owner gives up their ownership. type StreamEvent_OwnerRemoved struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // User ID of the user who is no longer owner. UserId uint64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` } func (x *StreamEvent_OwnerRemoved) Reset() { *x = StreamEvent_OwnerRemoved{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_OwnerRemoved) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_OwnerRemoved) ProtoMessage() {} func (x *StreamEvent_OwnerRemoved) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[33] 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 StreamEvent_OwnerRemoved.ProtoReflect.Descriptor instead. func (*StreamEvent_OwnerRemoved) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 27} } func (x *StreamEvent_OwnerRemoved) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } // Sent when a guild invite is received. type StreamEvent_InviteReceived struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID of the invite received. InviteId string `protobuf:"bytes,1,opt,name=invite_id,json=inviteId,proto3" json:"invite_id,omitempty"` // Server ID of the server the inviter is on. ServerId *string `protobuf:"bytes,2,opt,name=server_id,json=serverId,proto3,oneof" json:"server_id,omitempty"` // User ID of the inviter. InviterId uint64 `protobuf:"varint,3,opt,name=inviter_id,json=inviterId,proto3" json:"inviter_id,omitempty"` } func (x *StreamEvent_InviteReceived) Reset() { *x = StreamEvent_InviteReceived{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_InviteReceived) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_InviteReceived) ProtoMessage() {} func (x *StreamEvent_InviteReceived) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[34] 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 StreamEvent_InviteReceived.ProtoReflect.Descriptor instead. func (*StreamEvent_InviteReceived) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 28} } func (x *StreamEvent_InviteReceived) GetInviteId() string { if x != nil { return x.InviteId } return "" } func (x *StreamEvent_InviteReceived) GetServerId() string { if x != nil && x.ServerId != nil { return *x.ServerId } return "" } func (x *StreamEvent_InviteReceived) GetInviterId() uint64 { if x != nil { return x.InviterId } return 0 } // Sent when a guild invite is rejected by the invitee. type StreamEvent_InviteRejected struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Guild ID of the guild that this occured for. GuildId uint64 `protobuf:"varint,1,opt,name=guild_id,json=guildId,proto3" json:"guild_id,omitempty"` // ID of the invite rejected. InviteId string `protobuf:"bytes,2,opt,name=invite_id,json=inviteId,proto3" json:"invite_id,omitempty"` // User ID of the invitee. UserId uint64 `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` } func (x *StreamEvent_InviteRejected) Reset() { *x = StreamEvent_InviteRejected{} if protoimpl.UnsafeEnabled { mi := &file_chat_v1_stream_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamEvent_InviteRejected) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamEvent_InviteRejected) ProtoMessage() {} func (x *StreamEvent_InviteRejected) ProtoReflect() protoreflect.Message { mi := &file_chat_v1_stream_proto_msgTypes[35] 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 StreamEvent_InviteRejected.ProtoReflect.Descriptor instead. func (*StreamEvent_InviteRejected) Descriptor() ([]byte, []int) { return file_chat_v1_stream_proto_rawDescGZIP(), []int{2, 29} } func (x *StreamEvent_InviteRejected) GetGuildId() uint64 { if x != nil { return x.GuildId } return 0 } func (x *StreamEvent_InviteRejected) GetInviteId() string { if x != nil { return x.InviteId } return "" } func (x *StreamEvent_InviteRejected) GetUserId() uint64 { if x != nil { return x.UserId } return 0 } var File_chat_v1_stream_proto protoreflect.FileDescriptor var file_chat_v1_stream_proto_rawDesc = []byte{ 0x0a, 0x14, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x1a, 0x1b, 0x68, 0x61, 0x72, 0x6d, 0x6f, 0x6e, 0x79, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x6c, 0x0a, 0x14, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x12, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x88, 0x01, 0x0a, 0x1e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x48, 0x6f, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x00, 0x52, 0x1b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x48, 0x6f, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x2d, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x1a, 0x14, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x1d, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x48, 0x6f, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xca, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x12, 0x36, 0x0a, 0x05, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xb2, 0x34, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x13, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x64, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x64, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x6b, 0x0a, 0x17, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5a, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x0e, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x57, 0x0a, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x57, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x55, 0x0a, 0x0e, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x57, 0x0a, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x4f, 0x0a, 0x0c, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x51, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x51, 0x0a, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x0b, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x65, 0x66, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x74, 0x79, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x4e, 0x0a, 0x0c, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x0c, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x64, 0x48, 0x00, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x0c, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x64, 0x0a, 0x12, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x10, 0x72, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x5e, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x60, 0x0a, 0x12, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x11, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x60, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x12, 0x6e, 0x0a, 0x17, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x15, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x5a, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x6e, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x55, 0x6e, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x55, 0x6e, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x5a, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4b, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x64, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x51, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x1a, 0xc5, 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x65, 0x63, 0x68, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x06, 0x65, 0x63, 0x68, 0x6f, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x65, 0x63, 0x68, 0x6f, 0x5f, 0x69, 0x64, 0x1a, 0xc8, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x69, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x1a, 0xa7, 0x02, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x68, 0x61, 0x72, 0x6d, 0x6f, 0x6e, 0x79, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x68, 0x61, 0x72, 0x6d, 0x6f, 0x6e, 0x79, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xd4, 0x01, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x68, 0x61, 0x72, 0x6d, 0x6f, 0x6e, 0x79, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xb3, 0x01, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x68, 0x61, 0x72, 0x6d, 0x6f, 0x6e, 0x79, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x4f, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x73, 0x1a, 0x4a, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x1a, 0xe9, 0x01, 0x0a, 0x0c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x68, 0x61, 0x72, 0x6d, 0x6f, 0x6e, 0x79, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x02, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x29, 0x0a, 0x0c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x1a, 0x46, 0x0a, 0x0c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x1a, 0x86, 0x01, 0x0a, 0x0a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0c, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0b, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0x4d, 0x0a, 0x10, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x64, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x6f, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x1a, 0x51, 0x0a, 0x14, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x6f, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x1a, 0xbe, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x8a, 0x01, 0x0a, 0x09, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x68, 0x61, 0x72, 0x6d, 0x6f, 0x6e, 0x79, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x41, 0x0a, 0x0b, 0x52, 0x6f, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x1a, 0x9d, 0x01, 0x0a, 0x0b, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6f, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x68, 0x6f, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x87, 0x02, 0x0a, 0x0b, 0x52, 0x6f, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x6f, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x48, 0x6f, 0x69, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x50, 0x69, 0x6e, 0x67, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x68, 0x6f, 0x69, 0x73, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0xba, 0x01, 0x0a, 0x16, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x72, 0x6d, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x1a, 0x68, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x1a, 0x5b, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x1a, 0x87, 0x01, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x1a, 0x68, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x1a, 0x6a, 0x0a, 0x0f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x55, 0x6e, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x1a, 0xa2, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x25, 0x0a, 0x0a, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x1a, 0x27, 0x0a, 0x0c, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x1a, 0x7c, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x1a, 0x61, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0xc1, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x72, 0x6d, 0x6f, 0x6e, 0x79, 0x2d, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x68, 0x69, 0x62, 0x73, 0x68, 0x69, 0x62, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x68, 0x61, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x50, 0x43, 0x58, 0xaa, 0x02, 0x10, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5c, 0x43, 0x68, 0x61, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5c, 0x43, 0x68, 0x61, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x12, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x3a, 0x3a, 0x43, 0x68, 0x61, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_chat_v1_stream_proto_rawDescOnce sync.Once file_chat_v1_stream_proto_rawDescData = file_chat_v1_stream_proto_rawDesc ) func file_chat_v1_stream_proto_rawDescGZIP() []byte { file_chat_v1_stream_proto_rawDescOnce.Do(func() { file_chat_v1_stream_proto_rawDescData = protoimpl.X.CompressGZIP(file_chat_v1_stream_proto_rawDescData) }) return file_chat_v1_stream_proto_rawDescData } var file_chat_v1_stream_proto_msgTypes = make([]protoimpl.MessageInfo, 36) var file_chat_v1_stream_proto_goTypes = []interface{}{ (*StreamEventsRequest)(nil), // 0: protocol.chat.v1.StreamEventsRequest (*StreamEventsResponse)(nil), // 1: protocol.chat.v1.StreamEventsResponse (*StreamEvent)(nil), // 2: protocol.chat.v1.StreamEvent (*StreamEventsRequest_SubscribeToGuild)(nil), // 3: protocol.chat.v1.StreamEventsRequest.SubscribeToGuild (*StreamEventsRequest_SubscribeToActions)(nil), // 4: protocol.chat.v1.StreamEventsRequest.SubscribeToActions (*StreamEventsRequest_SubscribeToHomeserverEvents)(nil), // 5: protocol.chat.v1.StreamEventsRequest.SubscribeToHomeserverEvents (*StreamEvent_MessageSent)(nil), // 6: protocol.chat.v1.StreamEvent.MessageSent (*StreamEvent_MessageUpdated)(nil), // 7: protocol.chat.v1.StreamEvent.MessageUpdated (*StreamEvent_MessageDeleted)(nil), // 8: protocol.chat.v1.StreamEvent.MessageDeleted (*StreamEvent_ChannelCreated)(nil), // 9: protocol.chat.v1.StreamEvent.ChannelCreated (*StreamEvent_ChannelUpdated)(nil), // 10: protocol.chat.v1.StreamEvent.ChannelUpdated (*StreamEvent_ChannelPositionUpdated)(nil), // 11: protocol.chat.v1.StreamEvent.ChannelPositionUpdated (*StreamEvent_ChannelsReordered)(nil), // 12: protocol.chat.v1.StreamEvent.ChannelsReordered (*StreamEvent_ChannelDeleted)(nil), // 13: protocol.chat.v1.StreamEvent.ChannelDeleted (*StreamEvent_GuildUpdated)(nil), // 14: protocol.chat.v1.StreamEvent.GuildUpdated (*StreamEvent_GuildDeleted)(nil), // 15: protocol.chat.v1.StreamEvent.GuildDeleted (*StreamEvent_MemberJoined)(nil), // 16: protocol.chat.v1.StreamEvent.MemberJoined (*StreamEvent_MemberLeft)(nil), // 17: protocol.chat.v1.StreamEvent.MemberLeft (*StreamEvent_GuildAddedToList)(nil), // 18: protocol.chat.v1.StreamEvent.GuildAddedToList (*StreamEvent_GuildRemovedFromList)(nil), // 19: protocol.chat.v1.StreamEvent.GuildRemovedFromList (*StreamEvent_ActionPerformed)(nil), // 20: protocol.chat.v1.StreamEvent.ActionPerformed (*StreamEvent_RoleMoved)(nil), // 21: protocol.chat.v1.StreamEvent.RoleMoved (*StreamEvent_RoleDeleted)(nil), // 22: protocol.chat.v1.StreamEvent.RoleDeleted (*StreamEvent_RoleCreated)(nil), // 23: protocol.chat.v1.StreamEvent.RoleCreated (*StreamEvent_RoleUpdated)(nil), // 24: protocol.chat.v1.StreamEvent.RoleUpdated (*StreamEvent_RolePermissionsUpdated)(nil), // 25: protocol.chat.v1.StreamEvent.RolePermissionsUpdated (*StreamEvent_UserRolesUpdated)(nil), // 26: protocol.chat.v1.StreamEvent.UserRolesUpdated (*StreamEvent_Typing)(nil), // 27: protocol.chat.v1.StreamEvent.Typing (*StreamEvent_PermissionUpdated)(nil), // 28: protocol.chat.v1.StreamEvent.PermissionUpdated (*StreamEvent_MessagePinned)(nil), // 29: protocol.chat.v1.StreamEvent.MessagePinned (*StreamEvent_MessageUnpinned)(nil), // 30: protocol.chat.v1.StreamEvent.MessageUnpinned (*StreamEvent_ReactionUpdated)(nil), // 31: protocol.chat.v1.StreamEvent.ReactionUpdated (*StreamEvent_OwnerAdded)(nil), // 32: protocol.chat.v1.StreamEvent.OwnerAdded (*StreamEvent_OwnerRemoved)(nil), // 33: protocol.chat.v1.StreamEvent.OwnerRemoved (*StreamEvent_InviteReceived)(nil), // 34: protocol.chat.v1.StreamEvent.InviteReceived (*StreamEvent_InviteRejected)(nil), // 35: protocol.chat.v1.StreamEvent.InviteRejected (*v1.StreamEvent)(nil), // 36: protocol.emote.v1.StreamEvent (*v11.StreamEvent)(nil), // 37: protocol.profile.v1.StreamEvent (*Message)(nil), // 38: protocol.chat.v1.Message (*FormattedText)(nil), // 39: protocol.chat.v1.FormattedText (*v12.ItemPosition)(nil), // 40: protocol.harmonytypes.v1.ItemPosition (ChannelKind)(0), // 41: protocol.chat.v1.ChannelKind (*v12.Metadata)(nil), // 42: protocol.harmonytypes.v1.Metadata (LeaveReason)(0), // 43: protocol.chat.v1.LeaveReason (*ActionPayload)(nil), // 44: protocol.chat.v1.ActionPayload (*Permission)(nil), // 45: protocol.chat.v1.Permission (*Reaction)(nil), // 46: protocol.chat.v1.Reaction } var file_chat_v1_stream_proto_depIdxs = []int32{ 3, // 0: protocol.chat.v1.StreamEventsRequest.subscribe_to_guild:type_name -> protocol.chat.v1.StreamEventsRequest.SubscribeToGuild 4, // 1: protocol.chat.v1.StreamEventsRequest.subscribe_to_actions:type_name -> protocol.chat.v1.StreamEventsRequest.SubscribeToActions 5, // 2: protocol.chat.v1.StreamEventsRequest.subscribe_to_homeserver_events:type_name -> protocol.chat.v1.StreamEventsRequest.SubscribeToHomeserverEvents 2, // 3: protocol.chat.v1.StreamEventsResponse.chat:type_name -> protocol.chat.v1.StreamEvent 36, // 4: protocol.chat.v1.StreamEventsResponse.emote:type_name -> protocol.emote.v1.StreamEvent 37, // 5: protocol.chat.v1.StreamEventsResponse.profile:type_name -> protocol.profile.v1.StreamEvent 18, // 6: protocol.chat.v1.StreamEvent.guild_added_to_list:type_name -> protocol.chat.v1.StreamEvent.GuildAddedToList 19, // 7: protocol.chat.v1.StreamEvent.guild_removed_from_list:type_name -> protocol.chat.v1.StreamEvent.GuildRemovedFromList 20, // 8: protocol.chat.v1.StreamEvent.action_performed:type_name -> protocol.chat.v1.StreamEvent.ActionPerformed 6, // 9: protocol.chat.v1.StreamEvent.sent_message:type_name -> protocol.chat.v1.StreamEvent.MessageSent 7, // 10: protocol.chat.v1.StreamEvent.edited_message:type_name -> protocol.chat.v1.StreamEvent.MessageUpdated 8, // 11: protocol.chat.v1.StreamEvent.deleted_message:type_name -> protocol.chat.v1.StreamEvent.MessageDeleted 9, // 12: protocol.chat.v1.StreamEvent.created_channel:type_name -> protocol.chat.v1.StreamEvent.ChannelCreated 10, // 13: protocol.chat.v1.StreamEvent.edited_channel:type_name -> protocol.chat.v1.StreamEvent.ChannelUpdated 13, // 14: protocol.chat.v1.StreamEvent.deleted_channel:type_name -> protocol.chat.v1.StreamEvent.ChannelDeleted 14, // 15: protocol.chat.v1.StreamEvent.edited_guild:type_name -> protocol.chat.v1.StreamEvent.GuildUpdated 15, // 16: protocol.chat.v1.StreamEvent.deleted_guild:type_name -> protocol.chat.v1.StreamEvent.GuildDeleted 16, // 17: protocol.chat.v1.StreamEvent.joined_member:type_name -> protocol.chat.v1.StreamEvent.MemberJoined 17, // 18: protocol.chat.v1.StreamEvent.left_member:type_name -> protocol.chat.v1.StreamEvent.MemberLeft 27, // 19: protocol.chat.v1.StreamEvent.typing:type_name -> protocol.chat.v1.StreamEvent.Typing 23, // 20: protocol.chat.v1.StreamEvent.role_created:type_name -> protocol.chat.v1.StreamEvent.RoleCreated 22, // 21: protocol.chat.v1.StreamEvent.role_deleted:type_name -> protocol.chat.v1.StreamEvent.RoleDeleted 21, // 22: protocol.chat.v1.StreamEvent.role_moved:type_name -> protocol.chat.v1.StreamEvent.RoleMoved 24, // 23: protocol.chat.v1.StreamEvent.role_updated:type_name -> protocol.chat.v1.StreamEvent.RoleUpdated 25, // 24: protocol.chat.v1.StreamEvent.role_perms_updated:type_name -> protocol.chat.v1.StreamEvent.RolePermissionsUpdated 26, // 25: protocol.chat.v1.StreamEvent.user_roles_updated:type_name -> protocol.chat.v1.StreamEvent.UserRolesUpdated 28, // 26: protocol.chat.v1.StreamEvent.permission_updated:type_name -> protocol.chat.v1.StreamEvent.PermissionUpdated 12, // 27: protocol.chat.v1.StreamEvent.channels_reordered:type_name -> protocol.chat.v1.StreamEvent.ChannelsReordered 11, // 28: protocol.chat.v1.StreamEvent.edited_channel_position:type_name -> protocol.chat.v1.StreamEvent.ChannelPositionUpdated 29, // 29: protocol.chat.v1.StreamEvent.message_pinned:type_name -> protocol.chat.v1.StreamEvent.MessagePinned 30, // 30: protocol.chat.v1.StreamEvent.message_unpinned:type_name -> protocol.chat.v1.StreamEvent.MessageUnpinned 31, // 31: protocol.chat.v1.StreamEvent.reaction_updated:type_name -> protocol.chat.v1.StreamEvent.ReactionUpdated 32, // 32: protocol.chat.v1.StreamEvent.owner_added:type_name -> protocol.chat.v1.StreamEvent.OwnerAdded 33, // 33: protocol.chat.v1.StreamEvent.owner_removed:type_name -> protocol.chat.v1.StreamEvent.OwnerRemoved 34, // 34: protocol.chat.v1.StreamEvent.invite_received:type_name -> protocol.chat.v1.StreamEvent.InviteReceived 35, // 35: protocol.chat.v1.StreamEvent.invite_rejected:type_name -> protocol.chat.v1.StreamEvent.InviteRejected 38, // 36: protocol.chat.v1.StreamEvent.MessageSent.message:type_name -> protocol.chat.v1.Message 39, // 37: protocol.chat.v1.StreamEvent.MessageUpdated.new_content:type_name -> protocol.chat.v1.FormattedText 40, // 38: protocol.chat.v1.StreamEvent.ChannelCreated.position:type_name -> protocol.harmonytypes.v1.ItemPosition 41, // 39: protocol.chat.v1.StreamEvent.ChannelCreated.kind:type_name -> protocol.chat.v1.ChannelKind 42, // 40: protocol.chat.v1.StreamEvent.ChannelCreated.metadata:type_name -> protocol.harmonytypes.v1.Metadata 42, // 41: protocol.chat.v1.StreamEvent.ChannelUpdated.new_metadata:type_name -> protocol.harmonytypes.v1.Metadata 40, // 42: protocol.chat.v1.StreamEvent.ChannelPositionUpdated.new_position:type_name -> protocol.harmonytypes.v1.ItemPosition 42, // 43: protocol.chat.v1.StreamEvent.GuildUpdated.new_metadata:type_name -> protocol.harmonytypes.v1.Metadata 43, // 44: protocol.chat.v1.StreamEvent.MemberLeft.leave_reason:type_name -> protocol.chat.v1.LeaveReason 44, // 45: protocol.chat.v1.StreamEvent.ActionPerformed.payload:type_name -> protocol.chat.v1.ActionPayload 40, // 46: protocol.chat.v1.StreamEvent.RoleMoved.new_position:type_name -> protocol.harmonytypes.v1.ItemPosition 45, // 47: protocol.chat.v1.StreamEvent.RolePermissionsUpdated.new_perms:type_name -> protocol.chat.v1.Permission 46, // 48: protocol.chat.v1.StreamEvent.ReactionUpdated.reaction:type_name -> protocol.chat.v1.Reaction 49, // [49:49] is the sub-list for method output_type 49, // [49:49] is the sub-list for method input_type 49, // [49:49] is the sub-list for extension type_name 49, // [49:49] is the sub-list for extension extendee 0, // [0:49] is the sub-list for field type_name } func init() { file_chat_v1_stream_proto_init() } func file_chat_v1_stream_proto_init() { if File_chat_v1_stream_proto != nil { return } file_chat_v1_channels_proto_init() file_chat_v1_guilds_proto_init() file_chat_v1_messages_proto_init() file_chat_v1_permissions_proto_init() if !protoimpl.UnsafeEnabled { file_chat_v1_stream_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEventsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEventsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEventsRequest_SubscribeToGuild); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEventsRequest_SubscribeToActions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEventsRequest_SubscribeToHomeserverEvents); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_MessageSent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_MessageUpdated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_MessageDeleted); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_ChannelCreated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_ChannelUpdated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_ChannelPositionUpdated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_ChannelsReordered); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_ChannelDeleted); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_GuildUpdated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_GuildDeleted); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_MemberJoined); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_MemberLeft); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_GuildAddedToList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_GuildRemovedFromList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_ActionPerformed); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_RoleMoved); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_RoleDeleted); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_RoleCreated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_RoleUpdated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_RolePermissionsUpdated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_UserRolesUpdated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_Typing); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_PermissionUpdated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_MessagePinned); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_MessageUnpinned); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_ReactionUpdated); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_OwnerAdded); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_OwnerRemoved); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_InviteReceived); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_chat_v1_stream_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamEvent_InviteRejected); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_chat_v1_stream_proto_msgTypes[0].OneofWrappers = []interface{}{ (*StreamEventsRequest_SubscribeToGuild_)(nil), (*StreamEventsRequest_SubscribeToActions_)(nil), (*StreamEventsRequest_SubscribeToHomeserverEvents_)(nil), } file_chat_v1_stream_proto_msgTypes[1].OneofWrappers = []interface{}{ (*StreamEventsResponse_Chat)(nil), (*StreamEventsResponse_Emote)(nil), (*StreamEventsResponse_Profile)(nil), } file_chat_v1_stream_proto_msgTypes[2].OneofWrappers = []interface{}{ (*StreamEvent_GuildAddedToList_)(nil), (*StreamEvent_GuildRemovedFromList_)(nil), (*StreamEvent_ActionPerformed_)(nil), (*StreamEvent_SentMessage)(nil), (*StreamEvent_EditedMessage)(nil), (*StreamEvent_DeletedMessage)(nil), (*StreamEvent_CreatedChannel)(nil), (*StreamEvent_EditedChannel)(nil), (*StreamEvent_DeletedChannel)(nil), (*StreamEvent_EditedGuild)(nil), (*StreamEvent_DeletedGuild)(nil), (*StreamEvent_JoinedMember)(nil), (*StreamEvent_LeftMember)(nil), (*StreamEvent_Typing_)(nil), (*StreamEvent_RoleCreated_)(nil), (*StreamEvent_RoleDeleted_)(nil), (*StreamEvent_RoleMoved_)(nil), (*StreamEvent_RoleUpdated_)(nil), (*StreamEvent_RolePermsUpdated)(nil), (*StreamEvent_UserRolesUpdated_)(nil), (*StreamEvent_PermissionUpdated_)(nil), (*StreamEvent_ChannelsReordered_)(nil), (*StreamEvent_EditedChannelPosition)(nil), (*StreamEvent_MessagePinned_)(nil), (*StreamEvent_MessageUnpinned_)(nil), (*StreamEvent_ReactionUpdated_)(nil), (*StreamEvent_OwnerAdded_)(nil), (*StreamEvent_OwnerRemoved_)(nil), (*StreamEvent_InviteReceived_)(nil), (*StreamEvent_InviteRejected_)(nil), } file_chat_v1_stream_proto_msgTypes[6].OneofWrappers = []interface{}{} file_chat_v1_stream_proto_msgTypes[9].OneofWrappers = []interface{}{} file_chat_v1_stream_proto_msgTypes[10].OneofWrappers = []interface{}{} file_chat_v1_stream_proto_msgTypes[11].OneofWrappers = []interface{}{} file_chat_v1_stream_proto_msgTypes[14].OneofWrappers = []interface{}{} file_chat_v1_stream_proto_msgTypes[24].OneofWrappers = []interface{}{} file_chat_v1_stream_proto_msgTypes[25].OneofWrappers = []interface{}{} file_chat_v1_stream_proto_msgTypes[28].OneofWrappers = []interface{}{} file_chat_v1_stream_proto_msgTypes[34].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_chat_v1_stream_proto_rawDesc, NumEnums: 0, NumMessages: 36, NumExtensions: 0, NumServices: 0, }, GoTypes: file_chat_v1_stream_proto_goTypes, DependencyIndexes: file_chat_v1_stream_proto_depIdxs, MessageInfos: file_chat_v1_stream_proto_msgTypes, }.Build() File_chat_v1_stream_proto = out.File file_chat_v1_stream_proto_rawDesc = nil file_chat_v1_stream_proto_goTypes = nil file_chat_v1_stream_proto_depIdxs = nil }