syntax = "proto3"; import "emote/v1/types.proto"; package protocol.emote.v1; // Event sent when an emote pack's information is changed. // // Should only be sent to users who have the pack equipped. message EmotePackUpdated { // ID of the pack that was updated. uint64 pack_id = 1; // New pack name of the pack. optional string new_pack_name = 2; } // Event sent when an emote pack is deleted. // // Should only be sent to users who have the pack equipped. // Should also be sent if a user dequips an emote pack, only to the user that dequipped it. message EmotePackDeleted { // ID of the pack that was deleted. uint64 pack_id = 1; } // Event sent when an emote pack is added. // // Should only be sent to the user who equipped the pack. message EmotePackAdded { // Emote pack that was equipped by the user. EmotePack pack = 1; } // Event sent when an emote pack's emotes were changed. // // Should only be sent to users who have the pack equipped. message EmotePackEmotesUpdated { // ID of the pack to update the emotes of. uint64 pack_id = 1; // The added emotes. repeated Emote added_emotes = 2; // The names of the deleted emotes. repeated string deleted_emotes = 3; } // Describes an emote service event. message StreamEvent { // The event type. oneof event { // Send the emote pack added event. EmotePackAdded emote_pack_added = 1; // Send the emote pack updated event. EmotePackUpdated emote_pack_updated = 2; // Send the emote pack deleted event. EmotePackDeleted emote_pack_deleted = 3; // Send the emote pack emotes updated event. EmotePackEmotesUpdated emote_pack_emotes_updated = 4; } }