diff options
| author | dartraiden <wowemuh@gmail.com> | 2022-10-19 23:10:42 +0300 |
|---|---|---|
| committer | dartraiden <wowemuh@gmail.com> | 2022-10-19 23:10:42 +0300 |
| commit | f9842d5d09edeb40f296e9f09be9cc22ac810d41 (patch) | |
| tree | a9dd970b81922851986e1611ad9e013894d711d0 /protocols/WhatsAppWeb/src/pmsg.proto | |
| parent | f56f50c2dcbd452868520a58c9ae811108545c0e (diff) | |
Rename WhatsAppWeb to WhatsApp
Diffstat (limited to 'protocols/WhatsAppWeb/src/pmsg.proto')
| -rw-r--r-- | protocols/WhatsAppWeb/src/pmsg.proto | 2361 |
1 files changed, 0 insertions, 2361 deletions
diff --git a/protocols/WhatsAppWeb/src/pmsg.proto b/protocols/WhatsAppWeb/src/pmsg.proto deleted file mode 100644 index e874f35591..0000000000 --- a/protocols/WhatsAppWeb/src/pmsg.proto +++ /dev/null @@ -1,2361 +0,0 @@ -syntax = "proto2"; -package proto; - -message ADVDeviceIdentity { - optional uint32 rawId = 1; - optional uint64 timestamp = 2; - optional uint32 keyIndex = 3; -} - -message ADVKeyIndexList { - optional uint32 rawId = 1; - optional uint64 timestamp = 2; - optional uint32 currentIndex = 3; - repeated uint32 validIndexes = 4 [packed=true]; -} - -message ADVSignedDeviceIdentity { - optional bytes details = 1; - optional bytes accountSignatureKey = 2; - optional bytes accountSignature = 3; - optional bytes deviceSignature = 4; -} - -message ADVSignedDeviceIdentityHMAC { - optional bytes details = 1; - optional bytes hmac = 2; -} - -message ADVSignedKeyIndexList { - optional bytes details = 1; - optional bytes accountSignature = 2; -} - -message ActionLink { - optional string url = 1; - optional string buttonTitle = 2; -} - -message AutoDownloadSettings { - optional bool downloadImages = 1; - optional bool downloadAudio = 2; - optional bool downloadVideo = 3; - optional bool downloadDocuments = 4; -} - -message BizAccountLinkInfo { - optional uint64 whatsappBizAcctFbid = 1; - optional string whatsappAcctNumber = 2; - optional uint64 issueTime = 3; - optional HostStorageType hostStorage = 4; - optional AccountType accountType = 5; - enum AccountType { - ENTERPRISE = 0; - } - enum HostStorageType { - ON_PREMISE = 0; - FACEBOOK = 1; - } -} - -message BizAccountPayload { - optional VerifiedNameCertificate vnameCert = 1; - optional bytes bizAcctLinkInfo = 2; -} - -message BizIdentityInfo { - optional VerifiedLevelValue vlevel = 1; - optional VerifiedNameCertificate vnameCert = 2; - optional bool signed = 3; - optional bool revoked = 4; - optional HostStorageType hostStorage = 5; - optional ActualActorsType actualActors = 6; - optional uint64 privacyModeTs = 7; - optional uint64 featureControls = 8; - enum ActualActorsType { - SELF = 0; - BSP = 1; - } - enum HostStorageType { - ON_PREMISE = 0; - FACEBOOK = 1; - } - enum VerifiedLevelValue { - UNKNOWN = 0; - LOW = 1; - HIGH = 2; - } -} - -message CertChain { - optional NoiseCertificate leaf = 1; - optional NoiseCertificate intermediate = 2; - message NoiseCertificate { - optional bytes details = 1; - optional bytes signature = 2; - message Details { - optional uint32 serial = 1; - optional uint32 issuerSerial = 2; - optional bytes key = 3; - optional uint64 notBefore = 4; - optional uint64 notAfter = 5; - } - - } - -} - -message Chain { - optional bytes senderRatchetKey = 1; - optional bytes senderRatchetKeyPrivate = 2; - optional ChainKey chainKey = 3; - repeated MessageKey messageKeys = 4; -} - -message ChainKey { - optional uint32 index = 1; - optional bytes key = 2; -} - -message ClientPayload { - optional uint64 username = 1; - optional bool passive = 3; - optional UserAgent userAgent = 5; - optional WebInfo webInfo = 6; - optional string pushName = 7; - optional sfixed32 sessionId = 9; - optional bool shortConnect = 10; - optional ConnectType connectType = 12; - optional ConnectReason connectReason = 13; - repeated int32 shards = 14; - optional DNSSource dnsSource = 15; - optional uint32 connectAttemptCount = 16; - optional uint32 device = 18; - optional DevicePairingRegistrationData devicePairingData = 19; - optional Product product = 20; - optional bytes fbCat = 21; - optional bytes fbUserAgent = 22; - optional bool oc = 23; - optional int32 lc = 24; - optional IOSAppExtension iosAppExtension = 30; - optional uint64 fbAppId = 31; - optional bytes fbDeviceId = 32; - optional bool pull = 33; - optional bytes paddingBytes = 34; - enum ConnectReason { - PUSH = 0; - USER_ACTIVATED = 1; - SCHEDULED = 2; - ERROR_RECONNECT = 3; - NETWORK_SWITCH = 4; - PING_RECONNECT = 5; - } - enum ConnectType { - CELLULAR_UNKNOWN = 0; - WIFI_UNKNOWN = 1; - CELLULAR_EDGE = 100; - CELLULAR_IDEN = 101; - CELLULAR_UMTS = 102; - CELLULAR_EVDO = 103; - CELLULAR_GPRS = 104; - CELLULAR_HSDPA = 105; - CELLULAR_HSUPA = 106; - CELLULAR_HSPA = 107; - CELLULAR_CDMA = 108; - CELLULAR_1XRTT = 109; - CELLULAR_EHRPD = 110; - CELLULAR_LTE = 111; - CELLULAR_HSPAP = 112; - } - message DNSSource { - optional DNSResolutionMethod dnsMethod = 15; - optional bool appCached = 16; - enum DNSResolutionMethod { - SYSTEM = 0; - GOOGLE = 1; - HARDCODED = 2; - OVERRIDE = 3; - FALLBACK = 4; - } - } - - message DevicePairingRegistrationData { - optional bytes eRegid = 1; - optional bytes eKeytype = 2; - optional bytes eIdent = 3; - optional bytes eSkeyId = 4; - optional bytes eSkeyVal = 5; - optional bytes eSkeySig = 6; - optional bytes buildHash = 7; - optional bytes deviceProps = 8; - } - - enum IOSAppExtension { - SHARE_EXTENSION = 0; - SERVICE_EXTENSION = 1; - INTENTS_EXTENSION = 2; - } - enum Product { - WHATSAPP = 0; - MESSENGER = 1; - } - message UserAgent { - optional Platform platform = 1; - optional AppVersion appVersion = 2; - optional string mcc = 3; - optional string mnc = 4; - optional string osVersion = 5; - optional string manufacturer = 6; - optional string device = 7; - optional string osBuildNumber = 8; - optional string phoneId = 9; - optional ReleaseChannel releaseChannel = 10; - optional string localeLanguageIso6391 = 11; - optional string localeCountryIso31661Alpha2 = 12; - optional string deviceBoard = 13; - message AppVersion { - optional uint32 primary = 1; - optional uint32 secondary = 2; - optional uint32 tertiary = 3; - optional uint32 quaternary = 4; - optional uint32 quinary = 5; - } - - enum Platform { - ANDROID = 0; - IOS = 1; - WINDOWS_PHONE = 2; - BLACKBERRY = 3; - BLACKBERRYX = 4; - S40 = 5; - S60 = 6; - PYTHON_CLIENT = 7; - TIZEN = 8; - ENTERPRISE = 9; - SMB_ANDROID = 10; - KAIOS = 11; - SMB_IOS = 12; - WINDOWS = 13; - WEB = 14; - PORTAL = 15; - GREEN_ANDROID = 16; - GREEN_IPHONE = 17; - BLUE_ANDROID = 18; - BLUE_IPHONE = 19; - FBLITE_ANDROID = 20; - MLITE_ANDROID = 21; - IGLITE_ANDROID = 22; - PAGE = 23; - MACOS = 24; - OCULUS_MSG = 25; - OCULUS_CALL = 26; - MILAN = 27; - CAPI = 28; - } - enum ReleaseChannel { - RELEASE = 0; - BETA = 1; - ALPHA = 2; - DEBUG = 3; - } - } - - message WebInfo { - optional string refToken = 1; - optional string version = 2; - optional WebdPayload webdPayload = 3; - optional WebSubPlatform webSubPlatform = 4; - enum WebSubPlatform { - WEB_BROWSER = 0; - APP_STORE = 1; - WIN_STORE = 2; - DARWIN = 3; - WINDA = 4; - } - message WebdPayload { - optional bool usesParticipantInKey = 1; - optional bool supportsStarredMessages = 2; - optional bool supportsDocumentMessages = 3; - optional bool supportsUrlMessages = 4; - optional bool supportsMediaRetry = 5; - optional bool supportsE2EImage = 6; - optional bool supportsE2EVideo = 7; - optional bool supportsE2EAudio = 8; - optional bool supportsE2EDocument = 9; - optional string documentTypes = 10; - optional bytes features = 11; - } - - } - -} - -message ContextInfo { - optional string stanzaId = 1; - optional string participant = 2; - optional Message quotedMessage = 3; - optional string remoteJid = 4; - repeated string mentionedJid = 15; - optional string conversionSource = 18; - optional bytes conversionData = 19; - optional uint32 conversionDelaySeconds = 20; - optional uint32 forwardingScore = 21; - optional bool isForwarded = 22; - optional AdReplyInfo quotedAd = 23; - optional MessageKey placeholderKey = 24; - optional uint32 expiration = 25; - optional int64 ephemeralSettingTimestamp = 26; - optional bytes ephemeralSharedSecret = 27; - optional ExternalAdReplyInfo externalAdReply = 28; - optional string entryPointConversionSource = 29; - optional string entryPointConversionApp = 30; - optional uint32 entryPointConversionDelaySeconds = 31; - optional DisappearingMode disappearingMode = 32; - optional ActionLink actionLink = 33; - optional string groupSubject = 34; - optional string parentGroupJid = 35; - message AdReplyInfo { - optional string advertiserName = 1; - optional MediaType mediaType = 2; - optional bytes jpegThumbnail = 16; - optional string caption = 17; - enum MediaType { - NONE = 0; - IMAGE = 1; - VIDEO = 2; - } - } - - message ExternalAdReplyInfo { - optional string title = 1; - optional string body = 2; - optional MediaType mediaType = 3; - optional string thumbnailUrl = 4; - optional string mediaUrl = 5; - optional bytes thumbnail = 6; - optional string sourceType = 7; - optional string sourceId = 8; - optional string sourceUrl = 9; - optional bool containsAutoReply = 10; - optional bool renderLargerThumbnail = 11; - optional bool showAdAttribution = 12; - enum MediaType { - NONE = 0; - IMAGE = 1; - VIDEO = 2; - } - } - -} - -message Conversation { - required string id = 1; - repeated HistorySyncMsg messages = 2; - optional string newJid = 3; - optional string oldJid = 4; - optional uint64 lastMsgTimestamp = 5; - optional uint32 unreadCount = 6; - optional bool readOnly = 7; - optional bool endOfHistoryTransfer = 8; - optional uint32 ephemeralExpiration = 9; - optional int64 ephemeralSettingTimestamp = 10; - optional EndOfHistoryTransferType endOfHistoryTransferType = 11; - optional uint64 conversationTimestamp = 12; - optional string name = 13; - optional string pHash = 14; - optional bool notSpam = 15; - optional bool archived = 16; - optional DisappearingMode disappearingMode = 17; - optional uint32 unreadMentionCount = 18; - optional bool markedAsUnread = 19; - repeated GroupParticipant participant = 20; - optional bytes tcToken = 21; - optional uint64 tcTokenTimestamp = 22; - optional bytes contactPrimaryIdentityKey = 23; - optional uint32 pinned = 24; - optional uint64 muteEndTime = 25; - optional WallpaperSettings wallpaper = 26; - optional MediaVisibility mediaVisibility = 27; - optional uint64 tcTokenSenderTimestamp = 28; - optional bool suspended = 29; - optional bool terminated = 30; - optional uint64 createdAt = 31; - optional string createdBy = 32; - optional string description = 33; - optional bool support = 34; - optional bool isParentGroup = 35; - optional bool isDefaultSubgroup = 36; - optional string parentGroupId = 37; - optional string displayName = 38; - optional string pnJid = 39; - optional bool selfPnExposed = 40; - enum EndOfHistoryTransferType { - COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY = 0; - COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY = 1; - } -} - -message DeviceListMetadata { - optional bytes senderKeyHash = 1; - optional uint64 senderTimestamp = 2; - repeated uint32 senderKeyIndexes = 3 [packed=true]; - optional bytes recipientKeyHash = 8; - optional uint64 recipientTimestamp = 9; - repeated uint32 recipientKeyIndexes = 10 [packed=true]; -} - -message DeviceProps { - optional string os = 1; - optional AppVersion version = 2; - optional PlatformType platformType = 3; - optional bool requireFullSync = 4; - message AppVersion { - optional uint32 primary = 1; - optional uint32 secondary = 2; - optional uint32 tertiary = 3; - optional uint32 quaternary = 4; - optional uint32 quinary = 5; - } - - enum PlatformType { - UNKNOWN = 0; - CHROME = 1; - FIREFOX = 2; - IE = 3; - OPERA = 4; - SAFARI = 5; - EDGE = 6; - DESKTOP = 7; - IPAD = 8; - ANDROID_TABLET = 9; - OHANA = 10; - ALOHA = 11; - CATALINA = 12; - TCL_TV = 13; - } -} - -message DisappearingMode { - optional Initiator initiator = 1; - enum Initiator { - CHANGED_IN_CHAT = 0; - INITIATED_BY_ME = 1; - INITIATED_BY_OTHER = 2; - } -} - -message EphemeralSetting { - optional sfixed32 duration = 1; - optional sfixed64 timestamp = 2; -} - -message ExitCode { - optional uint64 code = 1; - optional string text = 2; -} - -message ExternalBlobReference { - optional bytes mediaKey = 1; - optional string directPath = 2; - optional string handle = 3; - optional uint64 fileSizeBytes = 4; - optional bytes fileSha256 = 5; - optional bytes fileEncSha256 = 6; -} - -message GlobalSettings { - optional WallpaperSettings lightThemeWallpaper = 1; - optional MediaVisibility mediaVisibility = 2; - optional WallpaperSettings darkThemeWallpaper = 3; - optional AutoDownloadSettings autoDownloadWiFi = 4; - optional AutoDownloadSettings autoDownloadCellular = 5; - optional AutoDownloadSettings autoDownloadRoaming = 6; - optional bool showIndividualNotificationsPreview = 7; - optional bool showGroupNotificationsPreview = 8; - optional int32 disappearingModeDuration = 9; - optional int64 disappearingModeTimestamp = 10; -} - -message GroupParticipant { - required string userJid = 1; - optional Rank rank = 2; - enum Rank { - REGULAR = 0; - ADMIN = 1; - SUPERADMIN = 2; - } -} - -message HandshakeMessage { - optional ClientHello clientHello = 2; - optional ServerHello serverHello = 3; - optional ClientFinish clientFinish = 4; - message ClientFinish { - optional bytes static = 1; - optional bytes payload = 2; - } - - message ClientHello { - optional bytes ephemeral = 1; - optional bytes static = 2; - optional bytes payload = 3; - } - - message ServerHello { - optional bytes ephemeral = 1; - optional bytes static = 2; - optional bytes payload = 3; - } - -} - -message HistorySync { - required HistorySyncType syncType = 1; - repeated Conversation conversations = 2; - repeated WebMessageInfo statusV3Messages = 3; - optional uint32 chunkOrder = 5; - optional uint32 progress = 6; - repeated Pushname pushnames = 7; - optional GlobalSettings globalSettings = 8; - optional bytes threadIdUserSecret = 9; - optional uint32 threadDsTimeframeOffset = 10; - repeated StickerMetadata recentStickers = 11; - repeated PastParticipants pastParticipants = 12; - enum HistorySyncType { - INITIAL_BOOTSTRAP = 0; - INITIAL_STATUS_V3 = 1; - FULL = 2; - RECENT = 3; - PUSH_NAME = 4; - UNBLOCKING_DATA = 5; - } -} - -message HistorySyncMsg { - optional WebMessageInfo message = 1; - optional uint64 msgOrderId = 2; -} - -message HydratedTemplateButton { - optional uint32 index = 4; - oneof hydratedButton { - HydratedTemplateButton.HydratedQuickReplyButton quickReplyButton = 1; - HydratedTemplateButton.HydratedURLButton urlButton = 2; - HydratedTemplateButton.HydratedCallButton callButton = 3; - } - message HydratedCallButton { - optional string displayText = 1; - optional string phoneNumber = 2; - } - - message HydratedQuickReplyButton { - optional string displayText = 1; - optional string id = 2; - } - - message HydratedURLButton { - optional string displayText = 1; - optional string url = 2; - } - -} - -message IdentityKeyPairStructure { - optional bytes publicKey = 1; - optional bytes privateKey = 2; -} - -message InteractiveAnnotation { - repeated Point polygonVertices = 1; - oneof action { - Location location = 2; - } -} - -message KeepInChat { - optional KeepType keepType = 1; - optional int64 serverTimestamp = 2; - optional MessageKey key = 3; - optional string deviceJid = 4; -} - -enum KeepType { - UNKNOWN = 0; - KEEP_FOR_ALL = 1; - UNDO_KEEP_FOR_ALL = 2; -} -message KeyId { - optional bytes id = 1; -} - -message LocalizedName { - optional string lg = 1; - optional string lc = 2; - optional string verifiedName = 3; -} - -message Location { - optional double degreesLatitude = 1; - optional double degreesLongitude = 2; - optional string name = 3; -} - -message MediaData { - optional string localPath = 1; -} - -message MediaRetryNotification { - optional string stanzaId = 1; - optional string directPath = 2; - optional ResultType result = 3; - enum ResultType { - GENERAL_ERROR = 0; - SUCCESS = 1; - NOT_FOUND = 2; - DECRYPTION_ERROR = 3; - } -} - -enum MediaVisibility { - DEFAULT = 0; - OFF = 1; - ON = 2; -} -message Message { - optional string conversation = 1; - optional SenderKeyDistributionMessage senderKeyDistributionMessage = 2; - optional ImageMessage imageMessage = 3; - optional ContactMessage contactMessage = 4; - optional LocationMessage locationMessage = 5; - optional ExtendedTextMessage extendedTextMessage = 6; - optional DocumentMessage documentMessage = 7; - optional AudioMessage audioMessage = 8; - optional VideoMessage videoMessage = 9; - optional Call call = 10; - optional Chat chat = 11; - optional ProtocolMessage protocolMessage = 12; - optional ContactsArrayMessage contactsArrayMessage = 13; - optional HighlyStructuredMessage highlyStructuredMessage = 14; - optional SenderKeyDistributionMessage fastRatchetKeySenderKeyDistributionMessage = 15; - optional SendPaymentMessage sendPaymentMessage = 16; - optional LiveLocationMessage liveLocationMessage = 18; - optional RequestPaymentMessage requestPaymentMessage = 22; - optional DeclinePaymentRequestMessage declinePaymentRequestMessage = 23; - optional CancelPaymentRequestMessage cancelPaymentRequestMessage = 24; - optional TemplateMessage templateMessage = 25; - optional StickerMessage stickerMessage = 26; - optional GroupInviteMessage groupInviteMessage = 28; - optional TemplateButtonReplyMessage templateButtonReplyMessage = 29; - optional ProductMessage productMessage = 30; - optional DeviceSentMessage deviceSentMessage = 31; - optional MessageContextInfo messageContextInfo = 35; - optional ListMessage listMessage = 36; - optional FutureProofMessage viewOnceMessage = 37; - optional OrderMessage orderMessage = 38; - optional ListResponseMessage listResponseMessage = 39; - optional FutureProofMessage ephemeralMessage = 40; - optional InvoiceMessage invoiceMessage = 41; - optional ButtonsMessage buttonsMessage = 42; - optional ButtonsResponseMessage buttonsResponseMessage = 43; - optional PaymentInviteMessage paymentInviteMessage = 44; - optional InteractiveMessage interactiveMessage = 45; - optional ReactionMessage reactionMessage = 46; - optional StickerSyncRMRMessage stickerSyncRmrMessage = 47; - optional InteractiveResponseMessage interactiveResponseMessage = 48; - optional PollCreationMessage pollCreationMessage = 49; - optional PollUpdateMessage pollUpdateMessage = 50; - optional KeepInChatMessage keepInChatMessage = 51; - optional FutureProofMessage documentWithCaptionMessage = 53; - optional RequestPhoneNumberMessage requestPhoneNumberMessage = 54; - optional FutureProofMessage viewOnceMessageV2 = 55; - message AppStateFatalExceptionNotification { - repeated string collectionNames = 1; - optional int64 timestamp = 2; - } - - message AppStateSyncKeyData { - optional bytes keyData = 1; - optional Message.AppStateSyncKeyFingerprint fingerprint = 2; - optional int64 timestamp = 3; - } - - message AppStateSyncKeyFingerprint { - optional uint32 rawId = 1; - optional uint32 currentIndex = 2; - repeated uint32 deviceIndexes = 3 [packed=true]; - } - - message AppStateSyncKeyId { - optional bytes keyId = 1; - } - - message AppStateSyncKeyRequest { - repeated Message.AppStateSyncKeyId keyIds = 1; - } - - message AppStateSyncKeyShare { - repeated Message.AppStateSyncKey keys = 1; - } - - message AppStateSyncKey { - optional Message.AppStateSyncKeyId keyId = 1; - optional Message.AppStateSyncKeyData keyData = 2; - } - - message AudioMessage { - optional string url = 1; - optional string mimetype = 2; - optional bytes fileSha256 = 3; - optional uint64 fileLength = 4; - optional uint32 seconds = 5; - optional bool ptt = 6; - optional bytes mediaKey = 7; - optional bytes fileEncSha256 = 8; - optional string directPath = 9; - optional int64 mediaKeyTimestamp = 10; - optional ContextInfo contextInfo = 17; - optional bytes streamingSidecar = 18; - optional bytes waveform = 19; - } - - message ButtonsMessage { - optional string contentText = 6; - optional string footerText = 7; - optional ContextInfo contextInfo = 8; - repeated Button buttons = 9; - optional HeaderType headerType = 10; - oneof header { - string text = 1; - Message.DocumentMessage documentMessage = 2; - Message.ImageMessage imageMessage = 3; - Message.VideoMessage videoMessage = 4; - Message.LocationMessage locationMessage = 5; - } - message Button { - optional string buttonId = 1; - optional ButtonText buttonText = 2; - optional Type type = 3; - optional NativeFlowInfo nativeFlowInfo = 4; - message ButtonText { - optional string displayText = 1; - } - - message NativeFlowInfo { - optional string name = 1; - optional string paramsJson = 2; - } - - enum Type { - UNKNOWN = 0; - RESPONSE = 1; - NATIVE_FLOW = 2; - } - } - - enum HeaderType { - UNKNOWN = 0; - EMPTY = 1; - TEXT = 2; - DOCUMENT = 3; - IMAGE = 4; - VIDEO = 5; - LOCATION = 6; - } - } - - message ButtonsResponseMessage { - optional string selectedButtonId = 1; - optional ContextInfo contextInfo = 3; - optional Type type = 4; - oneof response { - string selectedDisplayText = 2; - } - enum Type { - UNKNOWN = 0; - DISPLAY_TEXT = 1; - } - } - - message Call { - optional bytes callKey = 1; - optional string conversionSource = 2; - optional bytes conversionData = 3; - optional uint32 conversionDelaySeconds = 4; - } - - message CancelPaymentRequestMessage { - optional MessageKey key = 1; - } - - message Chat { - optional string displayName = 1; - optional string id = 2; - } - - message ContactMessage { - optional string displayName = 1; - optional string vcard = 16; - optional ContextInfo contextInfo = 17; - } - - message ContactsArrayMessage { - optional string displayName = 1; - repeated Message.ContactMessage contacts = 2; - optional ContextInfo contextInfo = 17; - } - - message DeclinePaymentRequestMessage { - optional MessageKey key = 1; - } - - message DeviceSentMessage { - optional string destinationJid = 1; - optional Message message = 2; - optional string phash = 3; - } - - message DocumentMessage { - optional string url = 1; - optional string mimetype = 2; - optional string title = 3; - optional bytes fileSha256 = 4; - optional uint64 fileLength = 5; - optional uint32 pageCount = 6; - optional bytes mediaKey = 7; - optional string fileName = 8; - optional bytes fileEncSha256 = 9; - optional string directPath = 10; - optional int64 mediaKeyTimestamp = 11; - optional bool contactVcard = 12; - optional string thumbnailDirectPath = 13; - optional bytes thumbnailSha256 = 14; - optional bytes thumbnailEncSha256 = 15; - optional bytes jpegThumbnail = 16; - optional ContextInfo contextInfo = 17; - optional uint32 thumbnailHeight = 18; - optional uint32 thumbnailWidth = 19; - optional string caption = 20; - } - - message ExtendedTextMessage { - optional string text = 1; - optional string matchedText = 2; - optional string canonicalUrl = 4; - optional string description = 5; - optional string title = 6; - optional fixed32 textArgb = 7; - optional fixed32 backgroundArgb = 8; - optional FontType font = 9; - optional PreviewType previewType = 10; - optional bytes jpegThumbnail = 16; - optional ContextInfo contextInfo = 17; - optional bool doNotPlayInline = 18; - optional string thumbnailDirectPath = 19; - optional bytes thumbnailSha256 = 20; - optional bytes thumbnailEncSha256 = 21; - optional bytes mediaKey = 22; - optional int64 mediaKeyTimestamp = 23; - optional uint32 thumbnailHeight = 24; - optional uint32 thumbnailWidth = 25; - optional InviteLinkGroupType inviteLinkGroupType = 26; - optional string inviteLinkParentGroupSubjectV2 = 27; - optional bytes inviteLinkParentGroupThumbnailV2 = 28; - optional InviteLinkGroupType inviteLinkGroupTypeV2 = 29; - enum FontType { - SANS_SERIF = 0; - SERIF = 1; - NORICAN_REGULAR = 2; - BRYNDAN_WRITE = 3; - BEBASNEUE_REGULAR = 4; - OSWALD_HEAVY = 5; - } - enum InviteLinkGroupType { - DEFAULT = 0; - PARENT = 1; - SUB = 2; - DEFAULT_SUB = 3; - } - enum PreviewType { - NONE = 0; - VIDEO = 1; - } - } - - message FutureProofMessage { - optional Message message = 1; - } - - message GroupInviteMessage { - optional string groupJid = 1; - optional string inviteCode = 2; - optional int64 inviteExpiration = 3; - optional string groupName = 4; - optional bytes jpegThumbnail = 5; - optional string caption = 6; - optional ContextInfo contextInfo = 7; - optional GroupType groupType = 8; - enum GroupType { - DEFAULT = 0; - PARENT = 1; - } - } - - message HighlyStructuredMessage { - optional string namespace = 1; - optional string elementName = 2; - repeated string params = 3; - optional string fallbackLg = 4; - optional string fallbackLc = 5; - repeated HSMLocalizableParameter localizableParams = 6; - optional string deterministicLg = 7; - optional string deterministicLc = 8; - optional Message.TemplateMessage hydratedHsm = 9; - message HSMLocalizableParameter { - optional string default = 1; - oneof paramOneof { - Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency currency = 2; - Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime dateTime = 3; - } - message HSMCurrency { - optional string currencyCode = 1; - optional int64 amount1000 = 2; - } - - message HSMDateTime { - oneof datetimeOneof { - Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent component = 1; - Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch unixEpoch = 2; - } - message HSMDateTimeComponent { - optional DayOfWeekType dayOfWeek = 1; - optional uint32 year = 2; - optional uint32 month = 3; - optional uint32 dayOfMonth = 4; - optional uint32 hour = 5; - optional uint32 minute = 6; - optional CalendarType calendar = 7; - enum CalendarType { - GREGORIAN = 1; - SOLAR_HIJRI = 2; - } - enum DayOfWeekType { - MONDAY = 1; - TUESDAY = 2; - WEDNESDAY = 3; - THURSDAY = 4; - FRIDAY = 5; - SATURDAY = 6; - SUNDAY = 7; - } - } - - message HSMDateTimeUnixEpoch { - optional int64 timestamp = 1; - } - - } - - } - - } - - message HistorySyncNotification { - optional bytes fileSha256 = 1; - optional uint64 fileLength = 2; - optional bytes mediaKey = 3; - optional bytes fileEncSha256 = 4; - optional string directPath = 5; - optional HistorySyncType syncType = 6; - optional uint32 chunkOrder = 7; - optional string originalMessageId = 8; - optional uint32 progress = 9; - enum HistorySyncType { - INITIAL_BOOTSTRAP = 0; - INITIAL_STATUS_V3 = 1; - FULL = 2; - RECENT = 3; - PUSH_NAME = 4; - } - } - - message ImageMessage { - optional string url = 1; - optional string mimetype = 2; - optional string caption = 3; - optional bytes fileSha256 = 4; - optional uint64 fileLength = 5; - optional uint32 height = 6; - optional uint32 width = 7; - optional bytes mediaKey = 8; - optional bytes fileEncSha256 = 9; - repeated InteractiveAnnotation interactiveAnnotations = 10; - optional string directPath = 11; - optional int64 mediaKeyTimestamp = 12; - optional bytes jpegThumbnail = 16; - optional ContextInfo contextInfo = 17; - optional bytes firstScanSidecar = 18; - optional uint32 firstScanLength = 19; - optional uint32 experimentGroupId = 20; - optional bytes scansSidecar = 21; - repeated uint32 scanLengths = 22; - optional bytes midQualityFileSha256 = 23; - optional bytes midQualityFileEncSha256 = 24; - optional bool viewOnce = 25; - optional string thumbnailDirectPath = 26; - optional bytes thumbnailSha256 = 27; - optional bytes thumbnailEncSha256 = 28; - optional string staticUrl = 29; - } - - message InitialSecurityNotificationSettingSync { - optional bool securityNotificationEnabled = 1; - } - - message InteractiveMessage { - optional Header header = 1; - optional Body body = 2; - optional Footer footer = 3; - optional ContextInfo contextInfo = 15; - oneof interactiveMessage { - Message.InteractiveMessage.ShopMessage shopStorefrontMessage = 4; - Message.InteractiveMessage.CollectionMessage collectionMessage = 5; - Message.InteractiveMessage.NativeFlowMessage nativeFlowMessage = 6; - } - message Body { - optional string text = 1; - } - - message CollectionMessage { - optional string bizJid = 1; - optional string id = 2; - optional int32 messageVersion = 3; - } - - message Footer { - optional string text = 1; - } - - message Header { - optional string title = 1; - optional string subtitle = 2; - optional bool hasMediaAttachment = 5; - oneof media { - Message.DocumentMessage documentMessage = 3; - Message.ImageMessage imageMessage = 4; - bytes jpegThumbnail = 6; - Message.VideoMessage videoMessage = 7; - } - } - - message NativeFlowMessage { - repeated NativeFlowButton buttons = 1; - optional string messageParamsJson = 2; - optional int32 messageVersion = 3; - message NativeFlowButton { - optional string name = 1; - optional string buttonParamsJson = 2; - } - - } - - message ShopMessage { - optional string id = 1; - optional Surface surface = 2; - optional int32 messageVersion = 3; - enum Surface { - UNKNOWN_SURFACE = 0; - FB = 1; - IG = 2; - WA = 3; - } - } - - } - - message InteractiveResponseMessage { - optional Body body = 1; - optional ContextInfo contextInfo = 15; - oneof interactiveResponseMessage { - Message.InteractiveResponseMessage.NativeFlowResponseMessage nativeFlowResponseMessage = 2; - } - message Body { - optional string text = 1; - } - - message NativeFlowResponseMessage { - optional string name = 1; - optional string paramsJson = 2; - optional int32 version = 3; - } - - } - - message InvoiceMessage { - optional string note = 1; - optional string token = 2; - optional AttachmentType attachmentType = 3; - optional string attachmentMimetype = 4; - optional bytes attachmentMediaKey = 5; - optional int64 attachmentMediaKeyTimestamp = 6; - optional bytes attachmentFileSha256 = 7; - optional bytes attachmentFileEncSha256 = 8; - optional string attachmentDirectPath = 9; - optional bytes attachmentJpegThumbnail = 10; - enum AttachmentType { - IMAGE = 0; - PDF = 1; - } - } - - message KeepInChatMessage { - optional MessageKey key = 1; - optional KeepType keepType = 2; - optional int64 timestampMs = 3; - } - - message ListMessage { - optional string title = 1; - optional string description = 2; - optional string buttonText = 3; - optional ListType listType = 4; - repeated Section sections = 5; - optional ProductListInfo productListInfo = 6; - optional string footerText = 7; - optional ContextInfo contextInfo = 8; - enum ListType { - UNKNOWN = 0; - SINGLE_SELECT = 1; - PRODUCT_LIST = 2; - } - message ProductListHeaderImage { - optional string productId = 1; - optional bytes jpegThumbnail = 2; - } - - message ProductListInfo { - repeated Message.ListMessage.ProductSection productSections = 1; - optional Message.ListMessage.ProductListHeaderImage headerImage = 2; - optional string businessOwnerJid = 3; - } - - message ProductSection { - optional string title = 1; - repeated Message.ListMessage.Product products = 2; - } - - message Product { - optional string productId = 1; - } - - message Row { - optional string title = 1; - optional string description = 2; - optional string rowId = 3; - } - - message Section { - optional string title = 1; - repeated Message.ListMessage.Row rows = 2; - } - - } - - message ListResponseMessage { - optional string title = 1; - optional ListType listType = 2; - optional SingleSelectReply singleSelectReply = 3; - optional ContextInfo contextInfo = 4; - optional string description = 5; - enum ListType { - UNKNOWN = 0; - SINGLE_SELECT = 1; - } - message SingleSelectReply { - optional string selectedRowId = 1; - } - - } - - message LiveLocationMessage { - optional double degreesLatitude = 1; - optional double degreesLongitude = 2; - optional uint32 accuracyInMeters = 3; - optional float speedInMps = 4; - optional uint32 degreesClockwiseFromMagneticNorth = 5; - optional string caption = 6; - optional int64 sequenceNumber = 7; - optional uint32 timeOffset = 8; - optional bytes jpegThumbnail = 16; - optional ContextInfo contextInfo = 17; - } - - message LocationMessage { - optional double degreesLatitude = 1; - optional double degreesLongitude = 2; - optional string name = 3; - optional string address = 4; - optional string url = 5; - optional bool isLive = 6; - optional uint32 accuracyInMeters = 7; - optional float speedInMps = 8; - optional uint32 degreesClockwiseFromMagneticNorth = 9; - optional string comment = 11; - optional bytes jpegThumbnail = 16; - optional ContextInfo contextInfo = 17; - } - - message OrderMessage { - optional string orderId = 1; - optional bytes thumbnail = 2; - optional int32 itemCount = 3; - optional OrderStatus status = 4; - optional OrderSurface surface = 5; - optional string message = 6; - optional string orderTitle = 7; - optional string sellerJid = 8; - optional string token = 9; - optional int64 totalAmount1000 = 10; - optional string totalCurrencyCode = 11; - optional ContextInfo contextInfo = 17; - enum OrderStatus { - INQUIRY = 1; - } - enum OrderSurface { - CATALOG = 1; - } - } - - message PaymentInviteMessage { - optional ServiceType serviceType = 1; - optional int64 expiryTimestamp = 2; - enum ServiceType { - UNKNOWN = 0; - FBPAY = 1; - NOVI = 2; - UPI = 3; - } - } - - message PollCreationMessage { - optional bytes encKey = 1; - optional string name = 2; - repeated Option options = 3; - optional uint32 selectableOptionsCount = 4; - optional ContextInfo contextInfo = 5; - message Option { - optional string optionName = 1; - } - - } - - message PollEncValue { - optional bytes encPayload = 1; - optional bytes encIv = 2; - } - - message PollUpdateMessageMetadata { - } - - message PollUpdateMessage { - optional MessageKey pollCreationMessageKey = 1; - optional Message.PollEncValue vote = 2; - optional Message.PollUpdateMessageMetadata metadata = 3; - optional int64 senderTimestampMs = 4; - } - - message PollVoteMessage { - repeated bytes selectedOptions = 1; - } - - message ProductMessage { - optional ProductSnapshot product = 1; - optional string businessOwnerJid = 2; - optional CatalogSnapshot catalog = 4; - optional string body = 5; - optional string footer = 6; - optional ContextInfo contextInfo = 17; - message CatalogSnapshot { - optional Message.ImageMessage catalogImage = 1; - optional string title = 2; - optional string description = 3; - } - - message ProductSnapshot { - optional Message.ImageMessage productImage = 1; - optional string productId = 2; - optional string title = 3; - optional string description = 4; - optional string currencyCode = 5; - optional int64 priceAmount1000 = 6; - optional string retailerId = 7; - optional string url = 8; - optional uint32 productImageCount = 9; - optional string firstImageId = 11; - optional int64 salePriceAmount1000 = 12; - } - - } - - message ProtocolMessage { - optional MessageKey key = 1; - optional Type type = 2; - optional uint32 ephemeralExpiration = 4; - optional int64 ephemeralSettingTimestamp = 5; - optional Message.HistorySyncNotification historySyncNotification = 6; - optional Message.AppStateSyncKeyShare appStateSyncKeyShare = 7; - optional Message.AppStateSyncKeyRequest appStateSyncKeyRequest = 8; - optional Message.InitialSecurityNotificationSettingSync initialSecurityNotificationSettingSync = 9; - optional Message.AppStateFatalExceptionNotification appStateFatalExceptionNotification = 10; - optional DisappearingMode disappearingMode = 11; - optional Message.RequestMediaUploadMessage requestMediaUploadMessage = 12; - optional Message.RequestMediaUploadResponseMessage requestMediaUploadResponseMessage = 13; - enum Type { - REVOKE = 0; - EPHEMERAL_SETTING = 3; - EPHEMERAL_SYNC_RESPONSE = 4; - HISTORY_SYNC_NOTIFICATION = 5; - APP_STATE_SYNC_KEY_SHARE = 6; - APP_STATE_SYNC_KEY_REQUEST = 7; - MSG_FANOUT_BACKFILL_REQUEST = 8; - INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC = 9; - APP_STATE_FATAL_EXCEPTION_NOTIFICATION = 10; - SHARE_PHONE_NUMBER = 11; - REQUEST_MEDIA_UPLOAD_MESSAGE = 12; - REQUEST_MEDIA_UPLOAD_RESPONSE_MESSAGE = 13; - } - } - - message ReactionMessage { - optional MessageKey key = 1; - optional string text = 2; - optional string groupingKey = 3; - optional int64 senderTimestampMs = 4; - } - - message RequestMediaUploadMessage { - repeated string fileSha256 = 1; - optional Message.RmrSource rmrSource = 2; - } - - message RequestMediaUploadResponseMessage { - optional Message.RmrSource rmrSource = 1; - optional string stanzaId = 2; - repeated RequestMediaUploadResult reuploadResult = 3; - message RequestMediaUploadResult { - optional string fileSha256 = 1; - optional MediaRetryNotification.ResultType mediaUploadResult = 2; - optional Message.StickerMessage stickerMessage = 3; - } - - } - - message RequestPaymentMessage { - optional Message noteMessage = 4; - optional string currencyCodeIso4217 = 1; - optional uint64 amount1000 = 2; - optional string requestFrom = 3; - optional int64 expiryTimestamp = 5; - optional Money amount = 6; - optional PaymentBackground background = 7; - } - - message RequestPhoneNumberMessage { - optional ContextInfo contextInfo = 1; - } - - enum RmrSource { - FAVORITE_STICKER = 0; - RECENT_STICKER = 1; - } - message SendPaymentMessage { - optional Message noteMessage = 2; - optional MessageKey requestMessageKey = 3; - optional PaymentBackground background = 4; - } - - message SenderKeyDistributionMessage { - optional string groupId = 1; - optional bytes axolotlSenderKeyDistributionMessage = 2; - } - - message StickerMessage { - optional string url = 1; - optional bytes fileSha256 = 2; - optional bytes fileEncSha256 = 3; - optional bytes mediaKey = 4; - optional string mimetype = 5; - optional uint32 height = 6; - optional uint32 width = 7; - optional string directPath = 8; - optional uint64 fileLength = 9; - optional int64 mediaKeyTimestamp = 10; - optional uint32 firstFrameLength = 11; - optional bytes firstFrameSidecar = 12; - optional bool isAnimated = 13; - optional bytes pngThumbnail = 16; - optional ContextInfo contextInfo = 17; - } - - message StickerSyncRMRMessage { - repeated string filehash = 1; - optional string rmrSource = 2; - optional int64 requestTimestamp = 3; - } - - message TemplateButtonReplyMessage { - optional string selectedId = 1; - optional string selectedDisplayText = 2; - optional ContextInfo contextInfo = 3; - optional uint32 selectedIndex = 4; - } - - message TemplateMessage { - optional ContextInfo contextInfo = 3; - optional HydratedFourRowTemplate hydratedTemplate = 4; - oneof format { - Message.TemplateMessage.FourRowTemplate fourRowTemplate = 1; - Message.TemplateMessage.HydratedFourRowTemplate hydratedFourRowTemplate = 2; - } - message FourRowTemplate { - optional Message.HighlyStructuredMessage content = 6; - optional Message.HighlyStructuredMessage footer = 7; - repeated TemplateButton buttons = 8; - oneof title { - Message.DocumentMessage documentMessage = 1; - Message.HighlyStructuredMessage highlyStructuredMessage = 2; - Message.ImageMessage imageMessage = 3; - Message.VideoMessage videoMessage = 4; - Message.LocationMessage locationMessage = 5; - } - } - - message HydratedFourRowTemplate { - optional string hydratedContentText = 6; - optional string hydratedFooterText = 7; - repeated HydratedTemplateButton hydratedButtons = 8; - optional string templateId = 9; - oneof title { - Message.DocumentMessage documentMessage = 1; - string hydratedTitleText = 2; - Message.ImageMessage imageMessage = 3; - Message.VideoMessage videoMessage = 4; - Message.LocationMessage locationMessage = 5; - } - } - - } - - message VideoMessage { - optional string url = 1; - optional string mimetype = 2; - optional bytes fileSha256 = 3; - optional uint64 fileLength = 4; - optional uint32 seconds = 5; - optional bytes mediaKey = 6; - optional string caption = 7; - optional bool gifPlayback = 8; - optional uint32 height = 9; - optional uint32 width = 10; - optional bytes fileEncSha256 = 11; - repeated InteractiveAnnotation interactiveAnnotations = 12; - optional string directPath = 13; - optional int64 mediaKeyTimestamp = 14; - optional bytes jpegThumbnail = 16; - optional ContextInfo contextInfo = 17; - optional bytes streamingSidecar = 18; - optional Attribution gifAttribution = 19; - optional bool viewOnce = 20; - optional string thumbnailDirectPath = 21; - optional bytes thumbnailSha256 = 22; - optional bytes thumbnailEncSha256 = 23; - optional string staticUrl = 24; - enum Attribution { - NONE = 0; - GIPHY = 1; - TENOR = 2; - } - } - -} - -message MessageContextInfo { - optional DeviceListMetadata deviceListMetadata = 1; - optional int32 deviceListMetadataVersion = 2; - optional bytes messageSecret = 3; - optional bytes paddingBytes = 4; -} - -message MessageKey { - optional string remoteJid = 1; - optional bool fromMe = 2; - optional string id = 3; - optional string participant = 4; -} - -message Money { - optional int64 value = 1; - optional uint32 offset = 2; - optional string currencyCode = 3; -} - -message MsgOpaqueData { - optional string body = 1; - optional string caption = 3; - optional double lng = 5; - optional bool isLive = 6; - optional double lat = 7; - optional int32 paymentAmount1000 = 8; - optional string paymentNoteMsgBody = 9; - optional string canonicalUrl = 10; - optional string matchedText = 11; - optional string title = 12; - optional string description = 13; - optional bytes futureproofBuffer = 14; - optional string clientUrl = 15; - optional string loc = 16; - optional string pollName = 17; - repeated PollOption pollOptions = 18; - optional uint32 pollSelectableOptionsCount = 20; - optional bytes messageSecret = 21; - optional int64 senderTimestampMs = 22; - optional string pollUpdateParentKey = 23; - optional PollEncValue encPollVote = 24; - message PollOption { - optional string name = 1; - } - -} - -message MsgRowOpaqueData { - optional MsgOpaqueData currentMsg = 1; - optional MsgOpaqueData quotedMsg = 2; -} - -message NoiseCertificate { - optional bytes details = 1; - optional bytes signature = 2; - message Details { - optional uint32 serial = 1; - optional string issuer = 2; - optional uint64 expires = 3; - optional string subject = 4; - optional bytes key = 5; - } - -} - -message NotificationMessageInfo { - optional MessageKey key = 1; - optional Message message = 2; - optional uint64 messageTimestamp = 3; - optional string participant = 4; -} - -message PastParticipant { - required string userJid = 1; - required LeaveReason leaveReason = 2; - required uint64 leaveTs = 3; - enum LeaveReason { - LEFT = 0; - REMOVED = 1; - } -} - -message PastParticipants { - required string groupJid = 1; - repeated PastParticipant pastParticipants = 2; -} - -message PaymentBackground { - optional string id = 1; - optional uint64 fileLength = 2; - optional uint32 width = 3; - optional uint32 height = 4; - optional string mimetype = 5; - optional fixed32 placeholderArgb = 6; - optional fixed32 textArgb = 7; - optional fixed32 subtextArgb = 8; - optional MediaData mediaData = 9; - optional Type type = 10; - message MediaData { - optional bytes mediaKey = 1; - optional int64 mediaKeyTimestamp = 2; - optional bytes fileSha256 = 3; - optional bytes fileEncSha256 = 4; - optional string directPath = 5; - } - - enum Type { - UNKNOWN = 0; - DEFAULT = 1; - } -} - -message PaymentInfo { - optional Currency currencyDeprecated = 1; - optional uint64 amount1000 = 2; - optional string receiverJid = 3; - optional Status status = 4; - optional uint64 transactionTimestamp = 5; - optional MessageKey requestMessageKey = 6; - optional uint64 expiryTimestamp = 7; - optional bool futureproofed = 8; - optional string currency = 9; - optional TxnStatus txnStatus = 10; - optional bool useNoviFiatFormat = 11; - optional Money primaryAmount = 12; - optional Money exchangeAmount = 13; - enum Currency { - UNKNOWN_CURRENCY = 0; - INR = 1; - } - enum Status { - UNKNOWN_STATUS = 0; - PROCESSING = 1; - SENT = 2; - NEED_TO_ACCEPT = 3; - COMPLETE = 4; - COULD_NOT_COMPLETE = 5; - REFUNDED = 6; - EXPIRED = 7; - REJECTED = 8; - CANCELLED = 9; - WAITING_FOR_PAYER = 10; - WAITING = 11; - } - enum TxnStatus { - UNKNOWN = 0; - PENDING_SETUP = 1; - PENDING_RECEIVER_SETUP = 2; - INIT = 3; - SUCCESS = 4; - COMPLETED = 5; - FAILED = 6; - FAILED_RISK = 7; - FAILED_PROCESSING = 8; - FAILED_RECEIVER_PROCESSING = 9; - FAILED_DA = 10; - FAILED_DA_FINAL = 11; - REFUNDED_TXN = 12; - REFUND_FAILED = 13; - REFUND_FAILED_PROCESSING = 14; - REFUND_FAILED_DA = 15; - EXPIRED_TXN = 16; - AUTH_CANCELED = 17; - AUTH_CANCEL_FAILED_PROCESSING = 18; - AUTH_CANCEL_FAILED = 19; - COLLECT_INIT = 20; - COLLECT_SUCCESS = 21; - COLLECT_FAILED = 22; - COLLECT_FAILED_RISK = 23; - COLLECT_REJECTED = 24; - COLLECT_EXPIRED = 25; - COLLECT_CANCELED = 26; - COLLECT_CANCELLING = 27; - IN_REVIEW = 28; - REVERSAL_SUCCESS = 29; - REVERSAL_PENDING = 30; - REFUND_PENDING = 31; - } -} - -message PendingKeyExchange { - optional uint32 sequence = 1; - optional bytes localBaseKey = 2; - optional bytes localBaseKeyPrivate = 3; - optional bytes localRatchetKey = 4; - optional bytes localRatchetKeyPrivate = 5; - optional bytes localIdentityKey = 7; - optional bytes localIdentityKeyPrivate = 8; -} - -message PendingPreKey { - optional uint32 preKeyId = 1; - optional int32 signedPreKeyId = 3; - optional bytes baseKey = 2; -} - -message PhotoChange { - optional bytes oldPhoto = 1; - optional bytes newPhoto = 2; - optional uint32 newPhotoId = 3; -} - -message Point { - optional int32 xDeprecated = 1; - optional int32 yDeprecated = 2; - optional double x = 3; - optional double y = 4; -} - -message PollAdditionalMetadata { - optional bool pollInvalidated = 1; -} - -message PollEncValue { - optional bytes encPayload = 1; - optional bytes encIv = 2; -} - -message PollUpdate { - optional MessageKey pollUpdateMessageKey = 1; - optional Message.PollVoteMessage vote = 2; - optional int64 senderTimestampMs = 3; -} - -message PreKeyRecordStructure { - optional uint32 id = 1; - optional bytes publicKey = 2; - optional bytes privateKey = 3; -} - -message Pushname { - optional string id = 1; - optional string pushname = 2; -} - -message Reaction { - optional MessageKey key = 1; - optional string text = 2; - optional string groupingKey = 3; - optional int64 senderTimestampMs = 4; - optional bool unread = 5; -} - -message RecentEmojiWeight { - optional string emoji = 1; - optional float weight = 2; -} - -message RecordStructure { - optional SessionStructure currentSession = 1; - repeated SessionStructure previousSessions = 2; -} - -message SenderChainKey { - optional uint32 iteration = 1; - optional bytes seed = 2; -} - -message SenderKeyRecordStructure { - repeated SenderKeyStateStructure senderKeyStates = 1; -} - -message SenderKeyStateStructure { - optional uint32 senderKeyId = 1; - optional SenderChainKey senderChainKey = 2; - optional SenderSigningKey senderSigningKey = 3; - repeated SenderMessageKey senderMessageKeys = 4; -} - -message SenderMessageKey { - optional uint32 iteration = 1; - optional bytes seed = 2; -} - -message SenderSigningKey { - optional bytes public = 1; - optional bytes private = 2; -} - -message ServerErrorReceipt { - optional string stanzaId = 1; -} - -message SessionStructure { - optional uint32 sessionVersion = 1; - optional bytes localIdentityPublic = 2; - optional bytes remoteIdentityPublic = 3; - optional bytes rootKey = 4; - optional uint32 previousCounter = 5; - optional Chain senderChain = 6; - repeated Chain receiverChains = 7; - optional PendingKeyExchange pendingKeyExchange = 8; - optional PendingPreKey pendingPreKey = 9; - optional uint32 remoteRegistrationId = 10; - optional uint32 localRegistrationId = 11; - optional bool needsRefresh = 12; - optional bytes aliceBaseKey = 13; -} - -message SignedPreKeyRecordStructure { - optional uint32 id = 1; - optional bytes publicKey = 2; - optional bytes privateKey = 3; - optional bytes signature = 4; - optional fixed64 timestamp = 5; -} - -message StatusPSA { - required uint64 campaignId = 44; - optional uint64 campaignExpirationTimestamp = 45; -} - -message StickerMetadata { - optional string url = 1; - optional bytes fileSha256 = 2; - optional bytes fileEncSha256 = 3; - optional bytes mediaKey = 4; - optional string mimetype = 5; - optional uint32 height = 6; - optional uint32 width = 7; - optional string directPath = 8; - optional uint64 fileLength = 9; - optional float weight = 10; -} - -message SyncActionData { - optional bytes index = 1; - optional SyncActionValue value = 2; - optional bytes padding = 3; - optional int32 version = 4; -} - -message SyncActionValue { - optional int64 timestamp = 1; - optional StarAction starAction = 2; - optional ContactAction contactAction = 3; - optional MuteAction muteAction = 4; - optional PinAction pinAction = 5; - optional SecurityNotificationSetting securityNotificationSetting = 6; - optional PushNameSetting pushNameSetting = 7; - optional QuickReplyAction quickReplyAction = 8; - optional RecentEmojiWeightsAction recentEmojiWeightsAction = 11; - optional LabelEditAction labelEditAction = 14; - optional LabelAssociationAction labelAssociationAction = 15; - optional LocaleSetting localeSetting = 16; - optional ArchiveChatAction archiveChatAction = 17; - optional DeleteMessageForMeAction deleteMessageForMeAction = 18; - optional KeyExpiration keyExpiration = 19; - optional MarkChatAsReadAction markChatAsReadAction = 20; - optional ClearChatAction clearChatAction = 21; - optional DeleteChatAction deleteChatAction = 22; - optional UnarchiveChatsSetting unarchiveChatsSetting = 23; - optional PrimaryFeature primaryFeature = 24; - optional AndroidUnsupportedActions androidUnsupportedActions = 26; - optional AgentAction agentAction = 27; - optional SubscriptionAction subscriptionAction = 28; - optional UserStatusMuteAction userStatusMuteAction = 29; - optional TimeFormatAction timeFormatAction = 30; - optional NuxAction nuxAction = 31; - optional PrimaryVersionAction primaryVersionAction = 32; - optional StickerAction stickerAction = 33; - message AgentAction { - optional string name = 1; - optional int32 deviceID = 2; - optional bool isDeleted = 3; - } - - message AndroidUnsupportedActions { - optional bool allowed = 1; - } - - message ArchiveChatAction { - optional bool archived = 1; - optional SyncActionValue.SyncActionMessageRange messageRange = 2; - } - - message ClearChatAction { - optional SyncActionValue.SyncActionMessageRange messageRange = 1; - } - - message ContactAction { - optional string fullName = 1; - optional string firstName = 2; - } - - message DeleteChatAction { - optional SyncActionValue.SyncActionMessageRange messageRange = 1; - } - - message DeleteMessageForMeAction { - optional bool deleteMedia = 1; - optional int64 messageTimestamp = 2; - } - - message KeyExpiration { - optional int32 expiredKeyEpoch = 1; - } - - message LabelAssociationAction { - optional bool labeled = 1; - } - - message LabelEditAction { - optional string name = 1; - optional int32 color = 2; - optional int32 predefinedId = 3; - optional bool deleted = 4; - } - - message LocaleSetting { - optional string locale = 1; - } - - message MarkChatAsReadAction { - optional bool read = 1; - optional SyncActionValue.SyncActionMessageRange messageRange = 2; - } - - message MuteAction { - optional bool muted = 1; - optional int64 muteEndTimestamp = 2; - } - - message NuxAction { - optional bool acknowledged = 1; - } - - message PinAction { - optional bool pinned = 1; - } - - message PrimaryFeature { - repeated string flags = 1; - } - - message PrimaryVersionAction { - optional string version = 1; - } - - message PushNameSetting { - optional string name = 1; - } - - message QuickReplyAction { - optional string shortcut = 1; - optional string message = 2; - repeated string keywords = 3; - optional int32 count = 4; - optional bool deleted = 5; - } - - message RecentEmojiWeightsAction { - repeated RecentEmojiWeight weights = 1; - } - - message SecurityNotificationSetting { - optional bool showNotification = 1; - } - - message StarAction { - optional bool starred = 1; - } - - message StickerAction { - optional string url = 1; - optional bytes fileEncSha256 = 2; - optional bytes mediaKey = 3; - optional string mimetype = 4; - optional uint32 height = 5; - optional uint32 width = 6; - optional string directPath = 7; - optional uint64 fileLength = 8; - optional bool isFavorite = 9; - optional uint32 deviceIdHint = 10; - } - - message SubscriptionAction { - optional bool isDeactivated = 1; - optional bool isAutoRenewing = 2; - optional int64 expirationDate = 3; - } - - message SyncActionMessageRange { - optional int64 lastMessageTimestamp = 1; - optional int64 lastSystemMessageTimestamp = 2; - repeated SyncActionValue.SyncActionMessage messages = 3; - } - - message SyncActionMessage { - optional MessageKey key = 1; - optional int64 timestamp = 2; - } - - message TimeFormatAction { - optional bool isTwentyFourHourFormatEnabled = 1; - } - - message UnarchiveChatsSetting { - optional bool unarchiveChats = 1; - } - - message UserStatusMuteAction { - optional bool muted = 1; - } - -} - -message SyncdIndex { - optional bytes blob = 1; -} - -message SyncdMutation { - optional SyncdOperation operation = 1; - optional SyncdRecord record = 2; - enum SyncdOperation { - SET = 0; - REMOVE = 1; - } -} - -message SyncdMutations { - repeated SyncdMutation mutations = 1; -} - -message SyncdPatch { - optional SyncdVersion version = 1; - repeated SyncdMutation mutations = 2; - optional ExternalBlobReference externalMutations = 3; - optional bytes snapshotMac = 4; - optional bytes patchMac = 5; - optional KeyId keyId = 6; - optional ExitCode exitCode = 7; - optional uint32 deviceIndex = 8; -} - -message SyncdRecord { - optional SyncdIndex index = 1; - optional SyncdValue value = 2; - optional KeyId keyId = 3; -} - -message SyncdSnapshot { - optional SyncdVersion version = 1; - repeated SyncdRecord records = 2; - optional bytes mac = 3; - optional KeyId keyId = 4; -} - -message SyncdValue { - optional bytes blob = 1; -} - -message SyncdVersion { - optional uint64 version = 1; -} - -message TemplateButton { - optional uint32 index = 4; - oneof button { - TemplateButton.QuickReplyButton quickReplyButton = 1; - TemplateButton.URLButton urlButton = 2; - TemplateButton.CallButton callButton = 3; - } - message CallButton { - optional Message.HighlyStructuredMessage displayText = 1; - optional Message.HighlyStructuredMessage phoneNumber = 2; - } - - message QuickReplyButton { - optional Message.HighlyStructuredMessage displayText = 1; - optional string id = 2; - } - - message URLButton { - optional Message.HighlyStructuredMessage displayText = 1; - optional Message.HighlyStructuredMessage url = 2; - } - -} - -message UserReceipt { - required string userJid = 1; - optional int64 receiptTimestamp = 2; - optional int64 readTimestamp = 3; - optional int64 playedTimestamp = 4; - repeated string pendingDeviceJid = 5; - repeated string deliveredDeviceJid = 6; -} - -message VerifiedNameCertificate { - optional bytes details = 1; - optional bytes signature = 2; - optional bytes serverSignature = 3; - message Details { - optional uint64 serial = 1; - optional string issuer = 2; - optional string verifiedName = 4; - repeated LocalizedName localizedNames = 8; - optional uint64 issueTime = 10; - } - -} - -message WallpaperSettings { - optional string filename = 1; - optional uint32 opacity = 2; -} - -message WebFeatures { - optional Flag labelsDisplay = 1; - optional Flag voipIndividualOutgoing = 2; - optional Flag groupsV3 = 3; - optional Flag groupsV3Create = 4; - optional Flag changeNumberV2 = 5; - optional Flag queryStatusV3Thumbnail = 6; - optional Flag liveLocations = 7; - optional Flag queryVname = 8; - optional Flag voipIndividualIncoming = 9; - optional Flag quickRepliesQuery = 10; - optional Flag payments = 11; - optional Flag stickerPackQuery = 12; - optional Flag liveLocationsFinal = 13; - optional Flag labelsEdit = 14; - optional Flag mediaUpload = 15; - optional Flag mediaUploadRichQuickReplies = 18; - optional Flag vnameV2 = 19; - optional Flag videoPlaybackUrl = 20; - optional Flag statusRanking = 21; - optional Flag voipIndividualVideo = 22; - optional Flag thirdPartyStickers = 23; - optional Flag frequentlyForwardedSetting = 24; - optional Flag groupsV4JoinPermission = 25; - optional Flag recentStickers = 26; - optional Flag catalog = 27; - optional Flag starredStickers = 28; - optional Flag voipGroupCall = 29; - optional Flag templateMessage = 30; - optional Flag templateMessageInteractivity = 31; - optional Flag ephemeralMessages = 32; - optional Flag e2ENotificationSync = 33; - optional Flag recentStickersV2 = 34; - optional Flag recentStickersV3 = 36; - optional Flag userNotice = 37; - optional Flag support = 39; - optional Flag groupUiiCleanup = 40; - optional Flag groupDogfoodingInternalOnly = 41; - optional Flag settingsSync = 42; - optional Flag archiveV2 = 43; - optional Flag ephemeralAllowGroupMembers = 44; - optional Flag ephemeral24HDuration = 45; - optional Flag mdForceUpgrade = 46; - optional Flag disappearingMode = 47; - optional Flag externalMdOptInAvailable = 48; - optional Flag noDeleteMessageTimeLimit = 49; - enum Flag { - NOT_STARTED = 0; - FORCE_UPGRADE = 1; - DEVELOPMENT = 2; - PRODUCTION = 3; - } -} - -message WebMessageInfo { - required MessageKey key = 1; - optional Message message = 2; - optional uint64 messageTimestamp = 3; - optional Status status = 4; - optional string participant = 5; - optional uint64 messageC2STimestamp = 6; - optional bool ignore = 16; - optional bool starred = 17; - optional bool broadcast = 18; - optional string pushName = 19; - optional bytes mediaCiphertextSha256 = 20; - optional bool multicast = 21; - optional bool urlText = 22; - optional bool urlNumber = 23; - optional StubType messageStubType = 24; - optional bool clearMedia = 25; - repeated string messageStubParameters = 26; - optional uint32 duration = 27; - repeated string labels = 28; - optional PaymentInfo paymentInfo = 29; - optional Message.LiveLocationMessage finalLiveLocation = 30; - optional PaymentInfo quotedPaymentInfo = 31; - optional uint64 ephemeralStartTimestamp = 32; - optional uint32 ephemeralDuration = 33; - optional bool ephemeralOffToOn = 34; - optional bool ephemeralOutOfSync = 35; - optional BizPrivacyStatus bizPrivacyStatus = 36; - optional string verifiedBizName = 37; - optional MediaData mediaData = 38; - optional PhotoChange photoChange = 39; - repeated UserReceipt userReceipt = 40; - repeated Reaction reactions = 41; - optional MediaData quotedStickerData = 42; - optional bytes futureproofData = 43; - optional StatusPSA statusPsa = 44; - repeated PollUpdate pollUpdates = 45; - optional PollAdditionalMetadata pollAdditionalMetadata = 46; - optional string agentId = 47; - optional bool statusAlreadyViewed = 48; - optional bytes messageSecret = 49; - optional KeepInChat keepInChat = 50; - optional string originalSelfAuthorUserJidString = 51; - optional uint64 revokeMessageTimestamp = 52; - enum BizPrivacyStatus { - E2EE = 0; - FB = 2; - BSP = 1; - BSP_AND_FB = 3; - } - enum Status { - ERROR = 0; - PENDING = 1; - SERVER_ACK = 2; - DELIVERY_ACK = 3; - READ = 4; - PLAYED = 5; - } - enum StubType { - UNKNOWN = 0; - REVOKE = 1; - CIPHERTEXT = 2; - FUTUREPROOF = 3; - NON_VERIFIED_TRANSITION = 4; - UNVERIFIED_TRANSITION = 5; - VERIFIED_TRANSITION = 6; - VERIFIED_LOW_UNKNOWN = 7; - VERIFIED_HIGH = 8; - VERIFIED_INITIAL_UNKNOWN = 9; - VERIFIED_INITIAL_LOW = 10; - VERIFIED_INITIAL_HIGH = 11; - VERIFIED_TRANSITION_ANY_TO_NONE = 12; - VERIFIED_TRANSITION_ANY_TO_HIGH = 13; - VERIFIED_TRANSITION_HIGH_TO_LOW = 14; - VERIFIED_TRANSITION_HIGH_TO_UNKNOWN = 15; - VERIFIED_TRANSITION_UNKNOWN_TO_LOW = 16; - VERIFIED_TRANSITION_LOW_TO_UNKNOWN = 17; - VERIFIED_TRANSITION_NONE_TO_LOW = 18; - VERIFIED_TRANSITION_NONE_TO_UNKNOWN = 19; - GROUP_CREATE = 20; - GROUP_CHANGE_SUBJECT = 21; - GROUP_CHANGE_ICON = 22; - GROUP_CHANGE_INVITE_LINK = 23; - GROUP_CHANGE_DESCRIPTION = 24; - GROUP_CHANGE_RESTRICT = 25; - GROUP_CHANGE_ANNOUNCE = 26; - GROUP_PARTICIPANT_ADD = 27; - GROUP_PARTICIPANT_REMOVE = 28; - GROUP_PARTICIPANT_PROMOTE = 29; - GROUP_PARTICIPANT_DEMOTE = 30; - GROUP_PARTICIPANT_INVITE = 31; - GROUP_PARTICIPANT_LEAVE = 32; - GROUP_PARTICIPANT_CHANGE_NUMBER = 33; - BROADCAST_CREATE = 34; - BROADCAST_ADD = 35; - BROADCAST_REMOVE = 36; - GENERIC_NOTIFICATION = 37; - E2E_IDENTITY_CHANGED = 38; - E2E_ENCRYPTED = 39; - CALL_MISSED_VOICE = 40; - CALL_MISSED_VIDEO = 41; - INDIVIDUAL_CHANGE_NUMBER = 42; - GROUP_DELETE = 43; - GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE = 44; - CALL_MISSED_GROUP_VOICE = 45; - CALL_MISSED_GROUP_VIDEO = 46; - PAYMENT_CIPHERTEXT = 47; - PAYMENT_FUTUREPROOF = 48; - PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED = 49; - PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED = 50; - PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED = 51; - PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP = 52; - PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP = 53; - PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER = 54; - PAYMENT_ACTION_SEND_PAYMENT_REMINDER = 55; - PAYMENT_ACTION_SEND_PAYMENT_INVITATION = 56; - PAYMENT_ACTION_REQUEST_DECLINED = 57; - PAYMENT_ACTION_REQUEST_EXPIRED = 58; - PAYMENT_ACTION_REQUEST_CANCELLED = 59; - BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM = 60; - BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP = 61; - BIZ_INTRO_TOP = 62; - BIZ_INTRO_BOTTOM = 63; - BIZ_NAME_CHANGE = 64; - BIZ_MOVE_TO_CONSUMER_APP = 65; - BIZ_TWO_TIER_MIGRATION_TOP = 66; - BIZ_TWO_TIER_MIGRATION_BOTTOM = 67; - OVERSIZED = 68; - GROUP_CHANGE_NO_FREQUENTLY_FORWARDED = 69; - GROUP_V4_ADD_INVITE_SENT = 70; - GROUP_PARTICIPANT_ADD_REQUEST_JOIN = 71; - CHANGE_EPHEMERAL_SETTING = 72; - E2E_DEVICE_CHANGED = 73; - VIEWED_ONCE = 74; - E2E_ENCRYPTED_NOW = 75; - BLUE_MSG_BSP_FB_TO_BSP_PREMISE = 76; - BLUE_MSG_BSP_FB_TO_SELF_FB = 77; - BLUE_MSG_BSP_FB_TO_SELF_PREMISE = 78; - BLUE_MSG_BSP_FB_UNVERIFIED = 79; - BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED = 80; - BLUE_MSG_BSP_FB_VERIFIED = 81; - BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED = 82; - BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE = 83; - BLUE_MSG_BSP_PREMISE_UNVERIFIED = 84; - BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED = 85; - BLUE_MSG_BSP_PREMISE_VERIFIED = 86; - BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED = 87; - BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED = 88; - BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED = 89; - BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED = 90; - BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED = 91; - BLUE_MSG_SELF_FB_TO_BSP_PREMISE = 92; - BLUE_MSG_SELF_FB_TO_SELF_PREMISE = 93; - BLUE_MSG_SELF_FB_UNVERIFIED = 94; - BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED = 95; - BLUE_MSG_SELF_FB_VERIFIED = 96; - BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED = 97; - BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE = 98; - BLUE_MSG_SELF_PREMISE_UNVERIFIED = 99; - BLUE_MSG_SELF_PREMISE_VERIFIED = 100; - BLUE_MSG_TO_BSP_FB = 101; - BLUE_MSG_TO_CONSUMER = 102; - BLUE_MSG_TO_SELF_FB = 103; - BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED = 104; - BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED = 105; - BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED = 106; - BLUE_MSG_UNVERIFIED_TO_VERIFIED = 107; - BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED = 108; - BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED = 109; - BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED = 110; - BLUE_MSG_VERIFIED_TO_UNVERIFIED = 111; - BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED = 112; - BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED = 113; - BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED = 114; - BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED = 115; - BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED = 116; - BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED = 117; - E2E_IDENTITY_UNAVAILABLE = 118; - GROUP_CREATING = 119; - GROUP_CREATE_FAILED = 120; - GROUP_BOUNCED = 121; - BLOCK_CONTACT = 122; - EPHEMERAL_SETTING_NOT_APPLIED = 123; - SYNC_FAILED = 124; - SYNCING = 125; - BIZ_PRIVACY_MODE_INIT_FB = 126; - BIZ_PRIVACY_MODE_INIT_BSP = 127; - BIZ_PRIVACY_MODE_TO_FB = 128; - BIZ_PRIVACY_MODE_TO_BSP = 129; - DISAPPEARING_MODE = 130; - E2E_DEVICE_FETCH_FAILED = 131; - ADMIN_REVOKE = 132; - GROUP_INVITE_LINK_GROWTH_LOCKED = 133; - COMMUNITY_LINK_PARENT_GROUP = 134; - COMMUNITY_LINK_SIBLING_GROUP = 135; - COMMUNITY_LINK_SUB_GROUP = 136; - COMMUNITY_UNLINK_PARENT_GROUP = 137; - COMMUNITY_UNLINK_SIBLING_GROUP = 138; - COMMUNITY_UNLINK_SUB_GROUP = 139; - GROUP_PARTICIPANT_ACCEPT = 140; - GROUP_PARTICIPANT_LINKED_GROUP_JOIN = 141; - COMMUNITY_CREATE = 142; - EPHEMERAL_KEEP_IN_CHAT = 143; - GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST = 144; - GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE = 145; - INTEGRITY_UNLINK_PARENT_GROUP = 146; - COMMUNITY_PARTICIPANT_PROMOTE = 147; - COMMUNITY_PARTICIPANT_DEMOTE = 148; - COMMUNITY_PARENT_GROUP_DELETED = 149; - } -} - -message WebNotificationsInfo { - optional uint64 timestamp = 2; - optional uint32 unreadChats = 3; - optional uint32 notifyMessageCount = 4; - repeated WebMessageInfo notifyMessages = 5; -} |
