syntax = "proto3"; package WAConsumerApplication; option go_package = "go.mau.fi/whatsmeow/binary/armadillo/waConsumerApplication"; import "waCommon/WACommon.proto"; message ConsumerApplication { message Payload { oneof payload { Content content = 1; ApplicationData applicationData = 2; Signal signal = 3; SubProtocolPayload subProtocol = 4; } } message SubProtocolPayload { WACommon.FutureProofBehavior futureProof = 1; } message Metadata { enum SpecialTextSize { SPECIALTEXTSIZE_UNKNOWN = 0; SMALL = 1; MEDIUM = 2; LARGE = 3; } SpecialTextSize specialTextSize = 1; } message Signal { } message ApplicationData { oneof applicationContent { RevokeMessage revoke = 1; } } message Content { oneof content { WACommon.MessageText messageText = 1; ImageMessage imageMessage = 2; ContactMessage contactMessage = 3; LocationMessage locationMessage = 4; ExtendedTextMessage extendedTextMessage = 5; StatusTextMesage statusTextMessage = 6; DocumentMessage documentMessage = 7; AudioMessage audioMessage = 8; VideoMessage videoMessage = 9; ContactsArrayMessage contactsArrayMessage = 10; LiveLocationMessage liveLocationMessage = 11; StickerMessage stickerMessage = 12; GroupInviteMessage groupInviteMessage = 13; ViewOnceMessage viewOnceMessage = 14; ReactionMessage reactionMessage = 16; PollCreationMessage pollCreationMessage = 17; PollUpdateMessage pollUpdateMessage = 18; EditMessage editMessage = 19; } } message EditMessage { WACommon.MessageKey key = 1; WACommon.MessageText message = 2; int64 timestampMS = 3; } message PollAddOptionMessage { repeated Option pollOption = 1; } message PollVoteMessage { repeated bytes selectedOptions = 1; int64 senderTimestampMS = 2; } message PollEncValue { bytes encPayload = 1; bytes encIV = 2; } message PollUpdateMessage { WACommon.MessageKey pollCreationMessageKey = 1; PollEncValue vote = 2; PollEncValue addOption = 3; } message PollCreationMessage { bytes encKey = 1; string name = 2; repeated Option options = 3; uint32 selectableOptionsCount = 4; } message Option { string optionName = 1; } message ReactionMessage { WACommon.MessageKey key = 1; string text = 2; string groupingKey = 3; int64 senderTimestampMS = 4; string reactionMetadataDataclassData = 5; int32 style = 6; } message RevokeMessage { WACommon.MessageKey key = 1; } message ViewOnceMessage { oneof viewOnceContent { ImageMessage imageMessage = 1; VideoMessage videoMessage = 2; } } message GroupInviteMessage { string groupJID = 1; string inviteCode = 2; int64 inviteExpiration = 3; string groupName = 4; bytes JPEGThumbnail = 5; WACommon.MessageText caption = 6; } message LiveLocationMessage { Location location = 1; uint32 accuracyInMeters = 2; float speedInMps = 3; uint32 degreesClockwiseFromMagneticNorth = 4; WACommon.MessageText caption = 5; int64 sequenceNumber = 6; uint32 timeOffset = 7; } message ContactsArrayMessage { string displayName = 1; repeated ContactMessage contacts = 2; } message ContactMessage { WACommon.SubProtocol contact = 1; } message StatusTextMesage { enum FontType { SANS_SERIF = 0; SERIF = 1; NORICAN_REGULAR = 2; BRYNDAN_WRITE = 3; BEBASNEUE_REGULAR = 4; OSWALD_HEAVY = 5; } ExtendedTextMessage text = 1; fixed32 textArgb = 6; fixed32 backgroundArgb = 7; FontType font = 8; } message ExtendedTextMessage { enum PreviewType { NONE = 0; VIDEO = 1; } WACommon.MessageText text = 1; string matchedText = 2; string canonicalURL = 3; string description = 4; string title = 5; WACommon.SubProtocol thumbnail = 6; PreviewType previewType = 7; } message LocationMessage { Location location = 1; string address = 2; } message StickerMessage { WACommon.SubProtocol sticker = 1; } message DocumentMessage { WACommon.SubProtocol document = 1; string fileName = 2; } message VideoMessage { WACommon.SubProtocol video = 1; WACommon.MessageText caption = 2; } message AudioMessage { WACommon.SubProtocol audio = 1; bool PTT = 2; } message ImageMessage { WACommon.SubProtocol image = 1; WACommon.MessageText caption = 2; } message InteractiveAnnotation { oneof action { Location location = 2; } repeated Point polygonVertices = 1; } message Point { double x = 1; double y = 2; } message Location { double degreesLatitude = 1; double degreesLongitude = 2; string name = 3; } message MediaPayload { WACommon.SubProtocol protocol = 1; } Payload payload = 1; Metadata metadata = 2; }