@badzz88/baileys 8.5.5 → 8.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/README.md +2 -2
  2. package/WAProto/WAProto.proto +1256 -75
  3. package/WAProto/fix-imports.js +69 -79
  4. package/WAProto/index.d.ts +15254 -71491
  5. package/WAProto/index.js +19816 -126438
  6. package/engine-requirements.js +3 -4
  7. package/package.json +4 -4
  8. package/src/Defaults/index.js +186 -0
  9. package/src/Signal/Group/ciphertext-message.js +15 -0
  10. package/src/Signal/Group/group-session-builder.js +86 -0
  11. package/src/Signal/Group/group_cipher.js +82 -0
  12. package/src/Signal/Group/index.js +140 -0
  13. package/src/Signal/Group/keyhelper.js +77 -0
  14. package/src/Signal/Group/sender-chain-key.js +29 -0
  15. package/src/Signal/Group/sender-key-distribution-message.js +66 -0
  16. package/src/Signal/Group/sender-key-message.js +69 -0
  17. package/src/Signal/Group/sender-key-name.js +51 -0
  18. package/src/Signal/Group/sender-key-record.js +44 -0
  19. package/src/Signal/Group/sender-key-state.js +87 -0
  20. package/src/Signal/Group/sender-message-key.js +29 -0
  21. package/src/Signal/libsignal.js +455 -0
  22. package/src/Signal/lid-mapping.js +273 -0
  23. package/src/Socket/Client/index.js +31 -0
  24. package/src/Socket/Client/types.js +13 -0
  25. package/src/Socket/Client/websocket.js +61 -0
  26. package/src/Socket/aigroups.js +221 -0
  27. package/src/Socket/business.js +411 -0
  28. package/src/Socket/chats.js +1449 -0
  29. package/src/Socket/communities.js +463 -0
  30. package/src/Socket/graphql.js +523 -0
  31. package/src/Socket/groups.js +516 -0
  32. package/src/Socket/index.js +31 -0
  33. package/src/Socket/interactive-handler.js +527 -0
  34. package/src/Socket/interop.js +339 -0
  35. package/{lib → src}/Socket/luxu.js +82 -120
  36. package/src/Socket/managed-account.js +98 -0
  37. package/src/Socket/messages-recv.js +2685 -0
  38. package/src/Socket/messages-send.js +2047 -0
  39. package/src/Socket/mex.js +57 -0
  40. package/src/Socket/newsletter.js +455 -0
  41. package/src/Socket/privacy.js +125 -0
  42. package/src/Socket/registration.js +236 -0
  43. package/src/Socket/socket.js +983 -0
  44. package/src/Socket/text-router.js +65 -0
  45. package/src/Socket/username.js +130 -0
  46. package/src/Store/index.js +33 -0
  47. package/{lib → src}/Store/keyed-db.js +21 -11
  48. package/src/Store/make-cache-manager-store.js +84 -0
  49. package/src/Store/make-in-memory-store.js +551 -0
  50. package/src/Store/make-ordered-dictionary.js +81 -0
  51. package/src/Store/object-repository.js +26 -0
  52. package/src/Types/Auth.js +31 -0
  53. package/src/Types/Bussines.js +2 -0
  54. package/src/Types/Call.js +2 -0
  55. package/src/Types/Chat.js +4 -0
  56. package/src/Types/Contact.js +2 -0
  57. package/src/Types/Events.js +2 -0
  58. package/src/Types/GroupMetadata.js +2 -0
  59. package/src/Types/Label.js +26 -0
  60. package/src/Types/LabelAssociation.js +8 -0
  61. package/src/Types/Message.js +93 -0
  62. package/src/Types/Mex.js +112 -0
  63. package/src/Types/Newsletter.js +109 -0
  64. package/src/Types/Product.js +2 -0
  65. package/src/Types/Signal.js +2 -0
  66. package/src/Types/Socket.js +2 -0
  67. package/src/Types/State.js +62 -0
  68. package/src/Types/USync.js +2 -0
  69. package/src/Types/index.js +56 -0
  70. package/src/Utils/auth-utils.js +254 -0
  71. package/src/Utils/browser-utils.js +112 -0
  72. package/src/Utils/business.js +240 -0
  73. package/src/Utils/chat-utils.js +1230 -0
  74. package/src/Utils/command-loader.d.ts +27 -0
  75. package/src/Utils/command-loader.js +89 -0
  76. package/src/Utils/companion-reg-client-utils.js +40 -0
  77. package/src/Utils/consumer-application.js +105 -0
  78. package/src/Utils/crypto.js +118 -0
  79. package/src/Utils/curve25519-js.js +242 -0
  80. package/src/Utils/decode-wa-message.js +529 -0
  81. package/src/Utils/event-buffer.js +580 -0
  82. package/src/Utils/generics.js +483 -0
  83. package/src/Utils/group-history.js +44 -0
  84. package/src/Utils/history.js +232 -0
  85. package/src/Utils/identity-change-handler.js +52 -0
  86. package/src/Utils/index.js +58 -0
  87. package/src/Utils/jid-display-normalization.js +195 -0
  88. package/src/Utils/link-preview.js +135 -0
  89. package/src/Utils/logger.js +8 -0
  90. package/src/Utils/lt-hash.js +25 -0
  91. package/src/Utils/make-mutex.js +36 -0
  92. package/src/Utils/message-composer.js +471 -0
  93. package/src/Utils/message-retry-manager.js +217 -0
  94. package/src/Utils/messages-media.js +843 -0
  95. package/src/Utils/messages.js +2817 -0
  96. package/src/Utils/meta-ai-msmsg.js +222 -0
  97. package/src/Utils/native-bridge.js +68 -0
  98. package/src/Utils/noise-handler.js +169 -0
  99. package/src/Utils/offline-node-processor.js +34 -0
  100. package/src/Utils/pre-key-manager.js +90 -0
  101. package/src/Utils/process-message.js +950 -0
  102. package/src/Utils/reporting-utils.js +261 -0
  103. package/src/Utils/session-pool.d.ts +14 -0
  104. package/src/Utils/session-pool.js +70 -0
  105. package/src/Utils/signal.js +217 -0
  106. package/src/Utils/stanza-ack.js +30 -0
  107. package/src/Utils/sticker.d.ts +13 -0
  108. package/src/Utils/sticker.js +123 -0
  109. package/src/Utils/sync-action-utils.js +45 -0
  110. package/src/Utils/tc-token-utils.js +158 -0
  111. package/src/Utils/use-multi-file-auth-state.js +111 -0
  112. package/src/Utils/validate-connection.js +209 -0
  113. package/src/Utils/view-once-cache.d.ts +12 -0
  114. package/src/Utils/view-once-cache.js +63 -0
  115. package/src/Utils/voip-rekey.js +22 -0
  116. package/src/WABinary/constants.js +1304 -0
  117. package/src/WABinary/decode.js +342 -0
  118. package/{lib → src}/WABinary/encode.js +9 -12
  119. package/src/WABinary/generic-utils.js +238 -0
  120. package/src/WABinary/index.js +34 -0
  121. package/src/WABinary/jid-utils.js +351 -0
  122. package/src/WABinary/types.js +2 -0
  123. package/src/WAM/BinaryInfo.js +13 -0
  124. package/src/WAM/constants.js +39484 -0
  125. package/src/WAM/encode.js +149 -0
  126. package/src/WAM/index.js +32 -0
  127. package/src/WAUSync/Protocols/USyncBotProfileProtocol.js +53 -0
  128. package/src/WAUSync/Protocols/USyncBusinessProtocol.js +44 -0
  129. package/src/WAUSync/Protocols/USyncContactProtocol.js +55 -0
  130. package/src/WAUSync/Protocols/USyncDeviceProtocol.js +55 -0
  131. package/src/WAUSync/Protocols/USyncDisappearingModeProtocol.js +31 -0
  132. package/src/WAUSync/Protocols/USyncFeatureProtocol.js +54 -0
  133. package/src/WAUSync/Protocols/USyncLIDProtocol.js +32 -0
  134. package/src/WAUSync/Protocols/USyncNewsletterProtocol.js +473 -0
  135. package/src/WAUSync/Protocols/USyncPictureProtocol.js +34 -0
  136. package/src/WAUSync/Protocols/USyncSidelistProtocol.js +29 -0
  137. package/src/WAUSync/Protocols/USyncStatusProtocol.js +42 -0
  138. package/src/WAUSync/Protocols/USyncTextStatusProtocol.js +38 -0
  139. package/src/WAUSync/Protocols/USyncUsernameProtocol.js +28 -0
  140. package/src/WAUSync/Protocols/index.js +40 -0
  141. package/src/WAUSync/USyncQuery.js +126 -0
  142. package/src/WAUSync/USyncUser.js +50 -0
  143. package/src/WAUSync/index.js +32 -0
  144. package/src/antiban.js +4152 -0
  145. package/{lib → src}/index.js +51 -49
  146. package/lib/Defaults/index.js +0 -187
  147. package/lib/Signal/Group/ciphertext-message.js +0 -15
  148. package/lib/Signal/Group/group-session-builder.js +0 -92
  149. package/lib/Signal/Group/group_cipher.js +0 -89
  150. package/lib/Signal/Group/index.js +0 -136
  151. package/lib/Signal/Group/keyhelper.js +0 -73
  152. package/lib/Signal/Group/sender-chain-key.js +0 -32
  153. package/lib/Signal/Group/sender-key-distribution-message.js +0 -66
  154. package/lib/Signal/Group/sender-key-message.js +0 -69
  155. package/lib/Signal/Group/sender-key-name.js +0 -50
  156. package/lib/Signal/Group/sender-key-record.js +0 -44
  157. package/lib/Signal/Group/sender-key-state.js +0 -97
  158. package/lib/Signal/Group/sender-message-key.js +0 -30
  159. package/lib/Signal/libsignal.js +0 -459
  160. package/lib/Signal/lid-mapping.js +0 -260
  161. package/lib/Socket/Client/index.js +0 -30
  162. package/lib/Socket/Client/types.js +0 -13
  163. package/lib/Socket/Client/websocket.js +0 -62
  164. package/lib/Socket/aigroups.js +0 -240
  165. package/lib/Socket/business.js +0 -422
  166. package/lib/Socket/chats.js +0 -1816
  167. package/lib/Socket/communities.js +0 -549
  168. package/lib/Socket/graphql.js +0 -656
  169. package/lib/Socket/groups.js +0 -764
  170. package/lib/Socket/index.js +0 -39
  171. package/lib/Socket/interactive-handler.js +0 -522
  172. package/lib/Socket/interop.js +0 -549
  173. package/lib/Socket/managed-account.js +0 -183
  174. package/lib/Socket/messages-recv.js +0 -2442
  175. package/lib/Socket/messages-send.js +0 -1853
  176. package/lib/Socket/mex.js +0 -60
  177. package/lib/Socket/newsletter.js +0 -818
  178. package/lib/Socket/privacy.js +0 -449
  179. package/lib/Socket/registration.js +0 -427
  180. package/lib/Socket/socket.js +0 -1092
  181. package/lib/Socket/text-router.js +0 -83
  182. package/lib/Socket/username.js +0 -243
  183. package/lib/Store/index.js +0 -36
  184. package/lib/Store/make-cache-manager-store.js +0 -90
  185. package/lib/Store/make-in-memory-store.js +0 -604
  186. package/lib/Store/make-ordered-dictionary.js +0 -81
  187. package/lib/Store/object-repository.js +0 -29
  188. package/lib/Types/Auth.js +0 -38
  189. package/lib/Types/Bussines.js +0 -2
  190. package/lib/Types/Call.js +0 -2
  191. package/lib/Types/Chat.js +0 -4
  192. package/lib/Types/Contact.js +0 -2
  193. package/lib/Types/Events.js +0 -2
  194. package/lib/Types/GroupMetadata.js +0 -2
  195. package/lib/Types/Label.js +0 -27
  196. package/lib/Types/LabelAssociation.js +0 -9
  197. package/lib/Types/Message.js +0 -95
  198. package/lib/Types/Mex.js +0 -112
  199. package/lib/Types/Newsletter.js +0 -121
  200. package/lib/Types/Product.js +0 -2
  201. package/lib/Types/Signal.js +0 -2
  202. package/lib/Types/Socket.js +0 -2
  203. package/lib/Types/State.js +0 -70
  204. package/lib/Types/USync.js +0 -2
  205. package/lib/Types/index.js +0 -55
  206. package/lib/Utils/auth-utils.js +0 -306
  207. package/lib/Utils/browser-utils.js +0 -114
  208. package/lib/Utils/business.js +0 -247
  209. package/lib/Utils/chat-utils.js +0 -1208
  210. package/lib/Utils/command-loader.d.ts +0 -31
  211. package/lib/Utils/command-loader.js +0 -100
  212. package/lib/Utils/companion-reg-client-utils.js +0 -42
  213. package/lib/Utils/consumer-application.js +0 -107
  214. package/lib/Utils/crypto.js +0 -155
  215. package/lib/Utils/curve25519-js.js +0 -275
  216. package/lib/Utils/decode-wa-message.js +0 -560
  217. package/lib/Utils/event-buffer.js +0 -607
  218. package/lib/Utils/generics.js +0 -563
  219. package/lib/Utils/group-history.js +0 -60
  220. package/lib/Utils/history.js +0 -244
  221. package/lib/Utils/identity-change-handler.js +0 -52
  222. package/lib/Utils/index.js +0 -57
  223. package/lib/Utils/jid-display-normalization.js +0 -218
  224. package/lib/Utils/link-preview.js +0 -143
  225. package/lib/Utils/logger.js +0 -9
  226. package/lib/Utils/lt-hash.js +0 -39
  227. package/lib/Utils/make-mutex.js +0 -36
  228. package/lib/Utils/message-composer.js +0 -479
  229. package/lib/Utils/message-inspect.js +0 -393
  230. package/lib/Utils/message-retry-manager.js +0 -270
  231. package/lib/Utils/messages-media.js +0 -896
  232. package/lib/Utils/messages.js +0 -2904
  233. package/lib/Utils/meta-ai-msmsg.js +0 -262
  234. package/lib/Utils/native-bridge.js +0 -82
  235. package/lib/Utils/noise-handler.js +0 -196
  236. package/lib/Utils/offline-node-processor.js +0 -42
  237. package/lib/Utils/pre-key-manager.js +0 -107
  238. package/lib/Utils/process-message.js +0 -1048
  239. package/lib/Utils/reporting-utils.js +0 -262
  240. package/lib/Utils/session-pool.d.ts +0 -16
  241. package/lib/Utils/session-pool.js +0 -94
  242. package/lib/Utils/signal.js +0 -224
  243. package/lib/Utils/stanza-ack.js +0 -40
  244. package/lib/Utils/sticker.d.ts +0 -17
  245. package/lib/Utils/sticker.js +0 -145
  246. package/lib/Utils/sync-action-utils.js +0 -54
  247. package/lib/Utils/tc-token-utils.js +0 -161
  248. package/lib/Utils/use-multi-file-auth-state.js +0 -121
  249. package/lib/Utils/validate-connection.js +0 -219
  250. package/lib/Utils/view-once-cache.d.ts +0 -9
  251. package/lib/Utils/view-once-cache.js +0 -79
  252. package/lib/Utils/voip-rekey.js +0 -22
  253. package/lib/WABinary/constants.js +0 -1304
  254. package/lib/WABinary/decode.js +0 -343
  255. package/lib/WABinary/generic-utils.js +0 -240
  256. package/lib/WABinary/index.js +0 -33
  257. package/lib/WABinary/jid-utils.js +0 -361
  258. package/lib/WABinary/types.js +0 -2
  259. package/lib/WAM/BinaryInfo.js +0 -13
  260. package/lib/WAM/constants.js +0 -39486
  261. package/lib/WAM/encode.js +0 -142
  262. package/lib/WAM/index.js +0 -31
  263. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +0 -55
  264. package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +0 -43
  265. package/lib/WAUSync/Protocols/USyncContactProtocol.js +0 -54
  266. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +0 -57
  267. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +0 -30
  268. package/lib/WAUSync/Protocols/USyncFeatureProtocol.js +0 -59
  269. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +0 -31
  270. package/lib/WAUSync/Protocols/USyncNewsletterProtocol.js +0 -865
  271. package/lib/WAUSync/Protocols/USyncPictureProtocol.js +0 -32
  272. package/lib/WAUSync/Protocols/USyncSidelistProtocol.js +0 -29
  273. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +0 -39
  274. package/lib/WAUSync/Protocols/USyncTextStatusProtocol.js +0 -38
  275. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +0 -27
  276. package/lib/WAUSync/Protocols/index.js +0 -39
  277. package/lib/WAUSync/USyncBackoff.js +0 -26
  278. package/lib/WAUSync/USyncQuery.js +0 -133
  279. package/lib/WAUSync/USyncUser.js +0 -50
  280. package/lib/WAUSync/index.js +0 -31
  281. package/lib/antiban.js +0 -4637
  282. /package/{lib → src}/Defaults/phonenumber-mcc.json +0 -0
@@ -1,42 +1,47 @@
1
- import { proto } from '../../WAProto/index.js'
2
- import * as Utils from '../Utils/index.js'
3
- import crypto from 'crypto'
4
-
1
+ import { proto } from '../../WAProto/index.js';
2
+ import * as Utils from '../Utils/index.js';
3
+ import crypto from 'crypto';
5
4
  export default class imup {
6
5
  constructor(utils, waUploadToServer, relayMessageFn) {
7
- this.utils = utils
8
- this.relayMessage = relayMessageFn
9
- this.waUploadToServer = waUploadToServer
6
+ this.utils = utils;
7
+ this.relayMessage = relayMessageFn;
8
+ this.waUploadToServer = waUploadToServer;
10
9
  }
11
-
12
10
  detectType(content) {
13
- if (content.requestPaymentMessage) return 'PAYMENT'
14
- if (content.productMessage) return 'PRODUCT'
15
- if (content.albumMessage) return 'ALBUM'
16
- if (content.eventMessage) return 'EVENT'
17
- if (content.pollResultMessage) return 'POLL_RESULT'
18
- if (content.orderMessage) return 'ORDER'
19
- if (content.groupStatus) return 'GROUP_STATUS'
20
- if (content.groupLabel) return 'GROUP_LABEL'
21
- return null
11
+ if (content.requestPaymentMessage)
12
+ return 'PAYMENT';
13
+ if (content.productMessage)
14
+ return 'PRODUCT';
15
+ if (content.albumMessage)
16
+ return 'ALBUM';
17
+ if (content.eventMessage)
18
+ return 'EVENT';
19
+ if (content.pollResultMessage)
20
+ return 'POLL_RESULT';
21
+ if (content.orderMessage)
22
+ return 'ORDER';
23
+ if (content.groupStatus)
24
+ return 'GROUP_STATUS';
25
+ if (content.groupLabel)
26
+ return 'GROUP_LABEL';
27
+ return null;
22
28
  }
23
-
24
29
  async handlePayment(content, quoted) {
25
- const data = content.requestPaymentMessage
26
- let notes = {}
27
-
30
+ const data = content.requestPaymentMessage;
31
+ let notes = {};
28
32
  if (data.sticker?.stickerMessage) {
29
33
  notes = {
30
34
  stickerMessage: {
31
- ...data.sticker.stickerMessage,
35
+ ...data.sticker.stickerMessage,
32
36
  contextInfo: {
33
37
  stanzaId: quoted?.key?.id,
34
38
  participant: quoted?.key?.participant || content.sender,
35
39
  quotedMessage: quoted?.message
36
40
  }
37
41
  }
38
- }
39
- } else if (data.note) {
42
+ };
43
+ }
44
+ else if (data.note) {
40
45
  notes = {
41
46
  extendedTextMessage: {
42
47
  text: data.note,
@@ -46,9 +51,8 @@ export default class imup {
46
51
  quotedMessage: quoted?.message
47
52
  }
48
53
  }
49
- }
54
+ };
50
55
  }
51
-
52
56
  return {
53
57
  requestPaymentMessage: proto.Message.RequestPaymentMessage.fromObject({
54
58
  expiryTimestamp: data.expiry || 0,
@@ -56,45 +60,24 @@ export default class imup {
56
60
  currencyCodeIso4217: data.currency || "IDR",
57
61
  requestFrom: data.from || "0@s.whatsapp.net",
58
62
  noteMessage: notes,
59
- background: data.background?? {
63
+ background: data.background ?? {
60
64
  id: "DEFAULT",
61
65
  placeholderArgb: 0xFFF0F0F0
62
66
  }
63
67
  })
64
- }
68
+ };
65
69
  }
66
-
67
70
  async handleProduct(content, jid, quoted) {
68
- const {
69
- title,
70
- description,
71
- thumbnail,
72
- productId,
73
- retailerId,
74
- url,
75
- body = "",
76
- footer = "",
77
- buttons = [],
78
- priceAmount1000 = null,
79
- currencyCode = "IDR"
80
- } = content.productMessage
81
-
82
- let productImage
83
-
71
+ const { title, description, thumbnail, productId, retailerId, url, body = "", footer = "", buttons = [], priceAmount1000 = null, currencyCode = "IDR" } = content.productMessage;
72
+ let productImage;
84
73
  if (Buffer.isBuffer(thumbnail)) {
85
- const { imageMessage } = await this.utils.generateWAMessageContent(
86
- { image: thumbnail },
87
- { upload: this.waUploadToServer }
88
- )
89
- productImage = imageMessage
90
- } else if (typeof thumbnail === 'object' && thumbnail.url) {
91
- const { imageMessage } = await this.utils.generateWAMessageContent(
92
- { image: { url: thumbnail.url } },
93
- { upload: this.waUploadToServer }
94
- )
95
- productImage = imageMessage
74
+ const { imageMessage } = await this.utils.generateWAMessageContent({ image: thumbnail }, { upload: this.waUploadToServer });
75
+ productImage = imageMessage;
76
+ }
77
+ else if (typeof thumbnail === 'object' && thumbnail.url) {
78
+ const { imageMessage } = await this.utils.generateWAMessageContent({ image: { url: thumbnail.url } }, { upload: this.waUploadToServer });
79
+ productImage = imageMessage;
96
80
  }
97
-
98
81
  return {
99
82
  viewOnceMessage: {
100
83
  message: {
@@ -123,11 +106,10 @@ export default class imup {
123
106
  }
124
107
  }
125
108
  }
126
- }
109
+ };
127
110
  }
128
-
129
111
  async handleAlbum(content, jid, quoted) {
130
- const array = content.albumMessage
112
+ const array = content.albumMessage;
131
113
  const album = await this.utils.generateWAMessageFromContent(jid, {
132
114
  messageContextInfo: {
133
115
  messageSecret: crypto.randomBytes(32),
@@ -140,17 +122,14 @@ export default class imup {
140
122
  userJid: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
141
123
  quoted,
142
124
  upload: this.waUploadToServer
143
- })
144
-
125
+ });
145
126
  await this.relayMessage(jid, album.message, {
146
127
  messageId: album.key.id,
147
- })
148
-
128
+ });
149
129
  for (let content of array) {
150
130
  const img = await this.utils.generateWAMessage(jid, content, {
151
131
  upload: this.waUploadToServer,
152
- })
153
-
132
+ });
154
133
  img.message.messageContextInfo = {
155
134
  messageSecret: crypto.randomBytes(32),
156
135
  messageAssociation: {
@@ -171,8 +150,7 @@ export default class imup {
171
150
  dataSharingContext: {
172
151
  showMmDisclosure: true,
173
152
  },
174
- }
175
-
153
+ };
176
154
  img.message.forwardedNewsletterMessageInfo = {
177
155
  newsletterJid: "0@newsletter",
178
156
  serverMessageId: 1,
@@ -183,8 +161,7 @@ export default class imup {
183
161
  contentType: "UPDATE_CARD",
184
162
  priority: "high",
185
163
  status: "sent",
186
- }
187
-
164
+ };
188
165
  img.message.disappearingMode = {
189
166
  initiator: 3,
190
167
  trigger: 4,
@@ -198,8 +175,7 @@ export default class imup {
198
175
  initiatedByApp: true,
199
176
  initiatedByBot: true,
200
177
  initiatedByMe: true,
201
- }
202
-
178
+ };
203
179
  await this.relayMessage(jid, img.message, {
204
180
  messageId: img.key.id,
205
181
  quoted: {
@@ -211,14 +187,12 @@ export default class imup {
211
187
  },
212
188
  message: album.message,
213
189
  },
214
- })
190
+ });
215
191
  }
216
- return album
192
+ return album;
217
193
  }
218
-
219
194
  async handleEvent(content, jid, quoted) {
220
- const eventData = content.eventMessage
221
-
195
+ const eventData = content.eventMessage;
222
196
  const msg = await this.utils.generateWAMessageFromContent(jid, {
223
197
  viewOnceMessage: {
224
198
  message: {
@@ -253,29 +227,27 @@ export default class imup {
253
227
  name: "Location"
254
228
  },
255
229
  joinLink: eventData.joinLink || '',
256
- startTime: typeof eventData.startTime === 'string'? parseInt(eventData.startTime) : eventData.startTime || Date.now(),
257
- endTime: typeof eventData.endTime === 'string'? parseInt(eventData.endTime) : eventData.endTime || Date.now() + 3600000,
258
- extraGuestsAllowed: eventData.extraGuestsAllowed!== false
230
+ startTime: typeof eventData.startTime === 'string' ? parseInt(eventData.startTime) : eventData.startTime || Date.now(),
231
+ endTime: typeof eventData.endTime === 'string' ? parseInt(eventData.endTime) : eventData.endTime || Date.now() + 3600000,
232
+ extraGuestsAllowed: eventData.extraGuestsAllowed !== false
259
233
  }
260
234
  }
261
235
  }
262
- }, { quoted })
263
-
236
+ }, { quoted });
264
237
  await this.relayMessage(jid, msg.message, {
265
238
  messageId: msg.key.id
266
- })
267
- return msg
239
+ });
240
+ return msg;
268
241
  }
269
-
270
242
  async handlePollResult(content, jid, quoted) {
271
- const pollData = content.pollResultMessage
243
+ const pollData = content.pollResultMessage;
272
244
  const msg = await this.utils.generateWAMessageFromContent(jid, {
273
245
  pollResultSnapshotMessage: {
274
246
  name: pollData.name,
275
247
  pollVotes: pollData.pollVotes.map(vote => ({
276
248
  optionName: vote.optionName,
277
249
  optionVoteCount: typeof vote.optionVoteCount === 'number'
278
- ? vote.optionVoteCount.toString()
250
+ ? vote.optionVoteCount.toString()
279
251
  : vote.optionVoteCount
280
252
  })),
281
253
  contextInfo: {
@@ -292,18 +264,14 @@ export default class imup {
292
264
  }, {
293
265
  userJid: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
294
266
  quoted
295
- })
296
-
267
+ });
297
268
  await this.relayMessage(jid, msg.message, {
298
269
  messageId: msg.key.id
299
- })
300
-
301
- return msg
270
+ });
271
+ return msg;
302
272
  }
303
-
304
273
  async handleOrderMessage(content, jid, quoted) {
305
- const orderData = content.orderMessage
306
-
274
+ const orderData = content.orderMessage;
307
275
  const Haha = await this.utils.generateWAMessageFromContent(jid, {
308
276
  orderMessage: {
309
277
  orderId: "7EPPELI25022008",
@@ -319,49 +287,44 @@ export default class imup {
319
287
  totalCurrencyCode: orderData.totalCurrencyCode || "IDR",
320
288
  messageVersion: 2
321
289
  }
322
- }, { quoted: quoted })
323
-
324
- await this.relayMessage(jid, Haha.message, {})
325
- return Haha
290
+ }, { quoted: quoted });
291
+ await this.relayMessage(jid, Haha.message, {});
292
+ return Haha;
326
293
  }
327
-
328
294
  async handleGroupStory(content, jid, quoted) {
329
- const storyData = content.groupStatus
330
- let messageContent
331
-
295
+ const storyData = content.groupStatus;
296
+ let messageContent;
332
297
  if (storyData.message) {
333
- messageContent = storyData
334
- } else {
298
+ messageContent = storyData;
299
+ }
300
+ else {
335
301
  if (typeof this.utils?.generateWAMessageContent === "function") {
336
302
  messageContent = await this.utils.generateWAMessageContent(storyData, {
337
303
  upload: this.waUploadToServer
338
- })
339
- } else {
304
+ });
305
+ }
306
+ else {
340
307
  messageContent = await Utils.generateWAMessageContent(storyData, {
341
308
  upload: this.waUploadToServer
342
- })
309
+ });
343
310
  }
344
311
  }
345
-
346
312
  let msg = {
347
313
  message: {
348
314
  groupStatusMessageV2: {
349
315
  message: messageContent.message || messageContent
350
316
  }
351
317
  }
352
- }
353
-
318
+ };
354
319
  return await this.relayMessage(jid, msg.message, {
355
320
  messageId: this.utils.generateMessageID()
356
- })
321
+ });
357
322
  }
358
-
359
323
  async handleGbLabel(content, jid) {
360
- const x = content.groupLabel
324
+ const x = content.groupLabel;
361
325
  if (!jid.endsWith('@g.us')) {
362
- throw new Error('group required!')
326
+ throw new Error('group required!');
363
327
  }
364
-
365
328
  const msg = this.utils.generateWAMessageFromContent(jid, {
366
329
  protocolMessage: {
367
330
  type: "GROUP_MEMBER_LABEL_CHANGE",
@@ -369,8 +332,7 @@ export default class imup {
369
332
  label: x.labelText.slice(0, 30)
370
333
  }
371
334
  }
372
- }, {})
373
-
335
+ }, {});
374
336
  await this.relayMessage(jid, msg.message, {
375
337
  additionalNodes: [
376
338
  {
@@ -382,6 +344,6 @@ export default class imup {
382
344
  content: undefined
383
345
  }
384
346
  ]
385
- })
347
+ });
386
348
  }
387
- }
349
+ }
@@ -0,0 +1,98 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ exports.makeManagedAccountSocket = void 0;
4
+ const { executeWMexQuery } = require('./mex');
5
+ const MANAGED_ACCOUNT_MEX_IDS = {
6
+ QUERY: '27232244463035264',
7
+ INITIATE_LINKING: '26671873552498548',
8
+ VALIDATE_LINKING: '35449808311284430',
9
+ ACCEPT_LINKING: '26708926155457676',
10
+ COMPLETE_LINKING: '26866501363013204',
11
+ REVOKE_LINKING: '27435058196100676',
12
+ SYNC_ACTIVITIES: '26594352680227840',
13
+ UPDATE_PIN: '27653949584193080',
14
+ GET_SPONSOR_AGE_VERIFICATION: '26433623289634520',
15
+ PAYMENTS_PASSKEY_HAS_CREDENTIAL: '26328228500182424',
16
+ PAYMENTS_PASSKEY_ENROLL_CHALLENGE: '25233109079721000',
17
+ PAYMENTS_PASSKEY_ENROLL_VERIFY: '26563835863283056',
18
+ PAYMENTS_PASSKEY_REGISTER_FINISH: '26658791263822236',
19
+ PAYMENTS_PASSKEY_AUTH_CHALLENGE: '26425370627105628',
20
+ PAYMENTS_PASSKEY_TOGGLE_ON: '25841989828834576',
21
+ PAYMENTS_PASSKEY_TOGGLE_OFF: '26267673096201390',
22
+ PAYMENTS_PASSKEY_TOGGLE_CHALLENGE: '26133062322993190',
23
+ PAYMENTS_PASSKEY_TOGGLE_CLEANUP: '26492078607084840',
24
+ PAYMENTS_PASSKEY_CLEANUP: '26538338805859092',
25
+ PAYMENTS_IS_RECOVERABLE: '26524118810513490',
26
+ UPI_SEND_OTP: '25829794080022468',
27
+ UPI_VERIFY_OTP: '34104109149204668',
28
+ IPLS_HANDSHAKE_INIT: '25523747957257184',
29
+ IPLS_CLIENT_HELLO: '25376330595367716',
30
+ IPLSD_CLIENT_HELLO_V2: '26561780580105680',
31
+ IPLSD_CLIENT_INIT_V2: '26547193874915344'
32
+ };
33
+ const makeManagedAccountSocket = sock => {
34
+ const { query, generateMessageTag } = sock;
35
+ const mexQuery = (variables, queryId, dataPath) => executeWMexQuery(variables, queryId, dataPath, query, generateMessageTag);
36
+ const managedAccountQuery = jid => mexQuery({ jid }, MANAGED_ACCOUNT_MEX_IDS.QUERY, 'xwa2_managed_account');
37
+ const managedAccountInitiateLinking = phoneNumber => mexQuery({ phone_number: phoneNumber }, MANAGED_ACCOUNT_MEX_IDS.INITIATE_LINKING, 'xwa2_managed_account_initiate_linking');
38
+ const managedAccountValidateLinking = (linkingToken, sponsorJid) => mexQuery({ linking_token: linkingToken, sponsor_jid: sponsorJid }, MANAGED_ACCOUNT_MEX_IDS.VALIDATE_LINKING, 'xwa2_managed_account_validate_linking');
39
+ const managedAccountAcceptLinking = linkingToken => mexQuery({ linking_token: linkingToken }, MANAGED_ACCOUNT_MEX_IDS.ACCEPT_LINKING, 'xwa2_managed_account_accept_linking');
40
+ const managedAccountCompleteLinking = linkingToken => mexQuery({ linking_token: linkingToken }, MANAGED_ACCOUNT_MEX_IDS.COMPLETE_LINKING, 'xwa2_managed_account_complete_linking');
41
+ const managedAccountRevokeLinking = sponsoredJid => mexQuery({ sponsored_jid: sponsoredJid }, MANAGED_ACCOUNT_MEX_IDS.REVOKE_LINKING, 'xwa2_managed_account_revoke_linking');
42
+ const managedAccountSyncActivities = (jid, lastSyncTime = null) => {
43
+ const variables = { jid };
44
+ if (lastSyncTime != null)
45
+ variables.last_sync_time = lastSyncTime;
46
+ return mexQuery(variables, MANAGED_ACCOUNT_MEX_IDS.SYNC_ACTIVITIES, 'xwa2_managed_account_sync_activities');
47
+ };
48
+ const managedAccountUpdatePin = (oldPin, newPin) => mexQuery({ input: { old_pin: oldPin, new_pin: newPin } }, MANAGED_ACCOUNT_MEX_IDS.UPDATE_PIN, 'xwa2_managed_account_update_pin');
49
+ const managedAccountGetSponsorAgeVerification = sponsorJid => mexQuery({ sponsor_jid: sponsorJid }, MANAGED_ACCOUNT_MEX_IDS.GET_SPONSOR_AGE_VERIFICATION, 'xwa2_managed_account_sponsor_age_verification');
50
+ const paymentsPasskeyHasCredential = () => mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_HAS_CREDENTIAL, 'xwa2_payments_passkey_has_credential');
51
+ const paymentsPasskeyEnrollChallenge = () => mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_ENROLL_CHALLENGE, 'xwa2_payments_passkey_enroll_challenge');
52
+ const paymentsPasskeyEnrollVerify = (credentialId, attestationObject, clientDataJson) => mexQuery({ credential_id: credentialId, attestation_object: attestationObject, client_data_json: clientDataJson }, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_ENROLL_VERIFY, 'xwa2_payments_passkey_enroll_verify');
53
+ const paymentsPasskeyRegisterFinish = (credentialId, attestationObject, clientDataJson) => mexQuery({ credential_id: credentialId, attestation_object: attestationObject, client_data_json: clientDataJson }, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_REGISTER_FINISH, 'xwa2_payments_passkey_register_finish');
54
+ const paymentsPasskeyAuthChallenge = credentialId => mexQuery({ credential_id: credentialId }, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_AUTH_CHALLENGE, 'xwa2_payments_passkey_auth_challenge');
55
+ const paymentsPasskeyToggleOn = () => mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_TOGGLE_ON, 'xwa2_payments_passkey_toggle_on');
56
+ const paymentsPasskeyToggleOff = () => mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_TOGGLE_OFF, 'xwa2_payments_passkey_toggle_off');
57
+ const paymentsPasskeyToggleChallenge = credentialId => mexQuery({ credential_id: credentialId }, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_TOGGLE_CHALLENGE, 'xwa2_payments_passkey_toggle_challenge');
58
+ const paymentsPasskeyToggleCleanup = () => mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_TOGGLE_CLEANUP, 'xwa2_payments_passkey_toggle_cleanup');
59
+ const paymentsPasskeyCleanup = () => mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_PASSKEY_CLEANUP, 'xwa2_payments_passkey_cleanup');
60
+ const paymentsIsAccountRecoverable = () => mexQuery({}, MANAGED_ACCOUNT_MEX_IDS.PAYMENTS_IS_RECOVERABLE, 'xwa2_payments_is_account_recoverable');
61
+ const upiSendOtp = phoneNumber => mexQuery({ phone_number: phoneNumber }, MANAGED_ACCOUNT_MEX_IDS.UPI_SEND_OTP, 'xwa2_upi_send_otp');
62
+ const upiVerifyOtp = (phoneNumber, otp) => mexQuery({ phone_number: phoneNumber, otp }, MANAGED_ACCOUNT_MEX_IDS.UPI_VERIFY_OTP, 'xwa2_upi_verify_otp');
63
+ const iplsHandshakeInit = payload => mexQuery({ payload }, MANAGED_ACCOUNT_MEX_IDS.IPLS_HANDSHAKE_INIT, 'xwa2_ipls_handshake_init');
64
+ const iplsClientHello = payload => mexQuery({ payload }, MANAGED_ACCOUNT_MEX_IDS.IPLS_CLIENT_HELLO, 'xwa2_ipls_client_hello');
65
+ const iplsdClientHelloV2 = payload => mexQuery({ payload }, MANAGED_ACCOUNT_MEX_IDS.IPLSD_CLIENT_HELLO_V2, 'xwa2_iplsd_client_hello_v2');
66
+ const iplsdClientInitV2 = payload => mexQuery({ payload }, MANAGED_ACCOUNT_MEX_IDS.IPLSD_CLIENT_INIT_V2, 'xwa2_iplsd_client_init_v2');
67
+ return {
68
+ ...sock,
69
+ managedAccountQuery,
70
+ managedAccountInitiateLinking,
71
+ managedAccountValidateLinking,
72
+ managedAccountAcceptLinking,
73
+ managedAccountCompleteLinking,
74
+ managedAccountRevokeLinking,
75
+ managedAccountSyncActivities,
76
+ managedAccountUpdatePin,
77
+ managedAccountGetSponsorAgeVerification,
78
+ paymentsPasskeyHasCredential,
79
+ paymentsPasskeyEnrollChallenge,
80
+ paymentsPasskeyEnrollVerify,
81
+ paymentsPasskeyRegisterFinish,
82
+ paymentsPasskeyAuthChallenge,
83
+ paymentsPasskeyToggleOn,
84
+ paymentsPasskeyToggleOff,
85
+ paymentsPasskeyToggleChallenge,
86
+ paymentsPasskeyToggleCleanup,
87
+ paymentsPasskeyCleanup,
88
+ paymentsIsAccountRecoverable,
89
+ upiSendOtp,
90
+ upiVerifyOtp,
91
+ iplsHandshakeInit,
92
+ iplsClientHello,
93
+ iplsdClientHelloV2,
94
+ iplsdClientInitV2,
95
+ MANAGED_ACCOUNT_MEX_IDS
96
+ };
97
+ };
98
+ exports.makeManagedAccountSocket = makeManagedAccountSocket;