WAArmadilloApplication.proto 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. syntax = "proto2";
  2. package WAArmadilloApplication;
  3. option go_package = "git.bobomao.top/joey/whatsmeow/proto/waArmadilloApplication";
  4. import "waArmadilloXMA/WAArmadilloXMA.proto";
  5. import "waCommon/WACommon.proto";
  6. message Armadillo {
  7. message Metadata {
  8. }
  9. message Payload {
  10. oneof payload {
  11. Content content = 1;
  12. ApplicationData applicationData = 2;
  13. Signal signal = 3;
  14. SubProtocolPayload subProtocol = 4;
  15. }
  16. }
  17. message SubProtocolPayload {
  18. optional WACommon.FutureProofBehavior futureProof = 1;
  19. }
  20. message Signal {
  21. message EncryptedBackupsSecrets {
  22. message Epoch {
  23. enum EpochStatus {
  24. ES_OPEN = 1;
  25. ES_CLOSE = 2;
  26. }
  27. optional uint64 ID = 1;
  28. optional bytes anonID = 2;
  29. optional bytes rootKey = 3;
  30. optional EpochStatus status = 4;
  31. }
  32. optional uint64 backupID = 1;
  33. optional uint64 serverDataID = 2;
  34. repeated Epoch epoch = 3;
  35. optional bytes tempOcmfClientState = 4;
  36. optional bytes mailboxRootKey = 5;
  37. optional bytes obliviousValidationToken = 6;
  38. }
  39. oneof signal {
  40. EncryptedBackupsSecrets encryptedBackupsSecrets = 1;
  41. }
  42. }
  43. message ApplicationData {
  44. message MessageHistoryDocumentMessage {
  45. optional WACommon.SubProtocol document = 1;
  46. }
  47. message AIBotResponseMessage {
  48. optional string summonToken = 1;
  49. optional string messageText = 2;
  50. optional string serializedExtras = 3;
  51. }
  52. message MetadataSyncAction {
  53. message SyncMessageAction {
  54. message ActionMessageDelete {
  55. }
  56. oneof action {
  57. ActionMessageDelete messageDelete = 101;
  58. }
  59. optional WACommon.MessageKey key = 1;
  60. }
  61. message SyncChatAction {
  62. message ActionChatRead {
  63. optional SyncActionMessageRange messageRange = 1;
  64. optional bool read = 2;
  65. }
  66. message ActionChatDelete {
  67. optional SyncActionMessageRange messageRange = 1;
  68. }
  69. message ActionChatArchive {
  70. optional SyncActionMessageRange messageRange = 1;
  71. optional bool archived = 2;
  72. }
  73. oneof action {
  74. ActionChatArchive chatArchive = 101;
  75. ActionChatDelete chatDelete = 102;
  76. ActionChatRead chatRead = 103;
  77. }
  78. optional string chatID = 1;
  79. }
  80. message SyncActionMessage {
  81. optional WACommon.MessageKey key = 1;
  82. optional int64 timestamp = 2;
  83. }
  84. message SyncActionMessageRange {
  85. optional int64 lastMessageTimestamp = 1;
  86. optional int64 lastSystemMessageTimestamp = 2;
  87. repeated SyncActionMessage messages = 3;
  88. }
  89. oneof actionType {
  90. SyncChatAction chatAction = 101;
  91. SyncMessageAction messageAction = 102;
  92. }
  93. optional int64 actionTimestamp = 1;
  94. }
  95. message MetadataSyncNotification {
  96. repeated MetadataSyncAction actions = 2;
  97. }
  98. oneof applicationData {
  99. MetadataSyncNotification metadataSync = 1;
  100. AIBotResponseMessage aiBotResponse = 2;
  101. MessageHistoryDocumentMessage messageHistoryDocumentMessage = 3;
  102. }
  103. }
  104. message Content {
  105. message PaymentsTransactionMessage {
  106. enum PaymentStatus {
  107. PAYMENT_UNKNOWN = 0;
  108. REQUEST_INITED = 4;
  109. REQUEST_DECLINED = 5;
  110. REQUEST_TRANSFER_INITED = 6;
  111. REQUEST_TRANSFER_COMPLETED = 7;
  112. REQUEST_TRANSFER_FAILED = 8;
  113. REQUEST_CANCELED = 9;
  114. REQUEST_EXPIRED = 10;
  115. TRANSFER_INITED = 11;
  116. TRANSFER_PENDING = 12;
  117. TRANSFER_PENDING_RECIPIENT_VERIFICATION = 13;
  118. TRANSFER_CANCELED = 14;
  119. TRANSFER_COMPLETED = 15;
  120. TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_CANCELED = 16;
  121. TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_OTHER = 17;
  122. TRANSFER_REFUNDED = 18;
  123. TRANSFER_PARTIAL_REFUND = 19;
  124. TRANSFER_CHARGED_BACK = 20;
  125. TRANSFER_EXPIRED = 21;
  126. TRANSFER_DECLINED = 22;
  127. TRANSFER_UNAVAILABLE = 23;
  128. }
  129. optional uint64 transactionID = 1;
  130. optional string amount = 2;
  131. optional string currency = 3;
  132. optional PaymentStatus paymentStatus = 4;
  133. optional WAArmadilloXMA.ExtendedContentMessage extendedContentMessage = 5;
  134. }
  135. message NetworkVerificationMessage {
  136. optional string codeText = 1;
  137. }
  138. message NoteReplyMessage {
  139. oneof noteReplyContent {
  140. WACommon.MessageText textContent = 4;
  141. WACommon.SubProtocol stickerContent = 5;
  142. WACommon.SubProtocol videoContent = 6;
  143. }
  144. optional string noteID = 1;
  145. optional WACommon.MessageText noteText = 2;
  146. optional int64 noteTimestampMS = 3;
  147. }
  148. message BumpExistingMessage {
  149. optional WACommon.MessageKey key = 1;
  150. }
  151. message ImageGalleryMessage {
  152. repeated WACommon.SubProtocol images = 1;
  153. }
  154. message ScreenshotAction {
  155. enum ScreenshotType {
  156. SCREENSHOT_IMAGE = 1;
  157. SCREEN_RECORDING = 2;
  158. }
  159. optional ScreenshotType screenshotType = 1;
  160. }
  161. message ExtendedContentMessageWithSear {
  162. optional string searID = 1;
  163. optional bytes payload = 2;
  164. optional string nativeURL = 3;
  165. optional WACommon.SubProtocol searAssociatedMessage = 4;
  166. optional string searSentWithMessageID = 5;
  167. }
  168. message RavenActionNotifMessage {
  169. enum ActionType {
  170. PLAYED = 0;
  171. SCREENSHOT = 1;
  172. FORCE_DISABLE = 2;
  173. }
  174. optional WACommon.MessageKey key = 1;
  175. optional int64 actionTimestamp = 2;
  176. optional ActionType actionType = 3;
  177. }
  178. message RavenMessage {
  179. enum EphemeralType {
  180. VIEW_ONCE = 0;
  181. ALLOW_REPLAY = 1;
  182. KEEP_IN_CHAT = 2;
  183. }
  184. oneof mediaContent {
  185. WACommon.SubProtocol imageMessage = 2;
  186. WACommon.SubProtocol videoMessage = 3;
  187. }
  188. optional EphemeralType ephemeralType = 1;
  189. }
  190. message CommonSticker {
  191. enum StickerType {
  192. SMALL_LIKE = 1;
  193. MEDIUM_LIKE = 2;
  194. LARGE_LIKE = 3;
  195. }
  196. optional StickerType stickerType = 1;
  197. }
  198. oneof content {
  199. CommonSticker commonSticker = 1;
  200. ScreenshotAction screenshotAction = 3;
  201. WAArmadilloXMA.ExtendedContentMessage extendedContentMessage = 4;
  202. RavenMessage ravenMessage = 5;
  203. RavenActionNotifMessage ravenActionNotifMessage = 6;
  204. ExtendedContentMessageWithSear extendedMessageContentWithSear = 7;
  205. ImageGalleryMessage imageGalleryMessage = 8;
  206. PaymentsTransactionMessage paymentsTransactionMessage = 10;
  207. BumpExistingMessage bumpExistingMessage = 11;
  208. NoteReplyMessage noteReplyMessage = 13;
  209. RavenMessage ravenMessageMsgr = 14;
  210. NetworkVerificationMessage networkVerificationMessage = 15;
  211. }
  212. }
  213. optional Payload payload = 1;
  214. optional Metadata metadata = 2;
  215. }