@badzz88/baileys 8.4.6 → 8.4.9

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 (250) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1055 -337
  3. package/WAProto/WAProto.proto +850 -32
  4. package/WAProto/index.d.ts +4913 -25
  5. package/WAProto/index.js +14074 -98
  6. package/package.json +96 -131
  7. package/src/Defaults/index.js +201 -0
  8. package/src/Defaults/phonenumber-mcc.json +223 -0
  9. package/src/Signal/Group/ciphertext-message.js +15 -0
  10. package/src/Signal/Group/group-session-builder.js +92 -0
  11. package/src/Signal/Group/group_cipher.js +89 -0
  12. package/src/Signal/Group/index.js +136 -0
  13. package/src/Signal/Group/keyhelper.js +73 -0
  14. package/src/Signal/Group/sender-chain-key.js +32 -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 +50 -0
  18. package/src/Signal/Group/sender-key-record.js +44 -0
  19. package/src/Signal/Group/sender-key-state.js +97 -0
  20. package/src/Signal/Group/sender-message-key.js +30 -0
  21. package/src/Signal/libsignal.js +470 -0
  22. package/src/Signal/lid-mapping.js +262 -0
  23. package/src/Socket/Client/index.js +30 -0
  24. package/src/Socket/Client/types.js +13 -0
  25. package/src/Socket/Client/websocket.js +62 -0
  26. package/src/Socket/aigroups.js +240 -0
  27. package/src/Socket/business.js +422 -0
  28. package/src/Socket/chats.js +2374 -0
  29. package/src/Socket/communities.js +580 -0
  30. package/src/Socket/graphql.js +915 -0
  31. package/src/Socket/groups.js +812 -0
  32. package/src/Socket/index.js +37 -0
  33. package/src/Socket/interactive-handler.js +579 -0
  34. package/src/Socket/interop.js +566 -0
  35. package/src/Socket/managed-account.js +214 -0
  36. package/src/Socket/messages-recv.js +3012 -0
  37. package/src/Socket/messages-send.js +2163 -0
  38. package/{lib → src}/Socket/mex.js +11 -5
  39. package/src/Socket/newsletter.js +1057 -0
  40. package/src/Socket/privacy.js +452 -0
  41. package/src/Socket/registration.js +434 -0
  42. package/src/Socket/socket.js +1079 -0
  43. package/src/Socket/text-router.js +67 -0
  44. package/src/Socket/username.js +234 -0
  45. package/src/Store/index.js +36 -0
  46. package/src/Store/make-cache-manager-store.js +90 -0
  47. package/src/Store/make-in-memory-store.js +506 -0
  48. package/src/Store/make-ordered-dictionary.js +81 -0
  49. package/src/Store/object-repository.js +29 -0
  50. package/src/Types/Auth.js +38 -0
  51. package/src/Types/Bussines.js +2 -0
  52. package/src/Types/Call.js +2 -0
  53. package/src/Types/Chat.js +4 -0
  54. package/src/Types/Contact.js +2 -0
  55. package/src/Types/Events.js +2 -0
  56. package/src/Types/GroupMetadata.js +2 -0
  57. package/src/Types/Label.js +27 -0
  58. package/src/Types/LabelAssociation.js +9 -0
  59. package/src/Types/Message.js +95 -0
  60. package/src/Types/Newsletter.js +152 -0
  61. package/src/Types/Product.js +2 -0
  62. package/src/Types/Signal.js +2 -0
  63. package/src/Types/Socket.js +2 -0
  64. package/src/Types/State.js +70 -0
  65. package/src/Types/USync.js +2 -0
  66. package/src/Types/index.js +54 -0
  67. package/src/Utils/auth-utils.js +306 -0
  68. package/src/Utils/browser-utils.js +114 -0
  69. package/src/Utils/business.js +247 -0
  70. package/src/Utils/chat-utils.js +1272 -0
  71. package/src/Utils/consumer-application.js +107 -0
  72. package/src/Utils/crypto.js +125 -0
  73. package/src/Utils/decode-wa-message.js +808 -0
  74. package/src/Utils/event-buffer.js +586 -0
  75. package/src/Utils/generics.js +640 -0
  76. package/src/Utils/group-history.js +60 -0
  77. package/src/Utils/history.js +244 -0
  78. package/src/Utils/identity-change-handler.js +52 -0
  79. package/src/Utils/index.js +53 -0
  80. package/src/Utils/jid-display-normalization.js +218 -0
  81. package/src/Utils/link-preview.js +143 -0
  82. package/src/Utils/logger.js +9 -0
  83. package/src/Utils/lt-hash.js +10 -0
  84. package/src/Utils/make-mutex.js +36 -0
  85. package/src/Utils/message-composer.js +479 -0
  86. package/src/Utils/message-inspect.js +400 -0
  87. package/src/Utils/message-retry-manager.js +231 -0
  88. package/src/Utils/messages-media.js +943 -0
  89. package/src/Utils/messages.js +2490 -0
  90. package/src/Utils/meta-ai-msmsg.js +133 -0
  91. package/src/Utils/noise-handler.js +194 -0
  92. package/src/Utils/offline-node-processor.js +42 -0
  93. package/src/Utils/pre-key-manager.js +107 -0
  94. package/src/Utils/process-message.js +1047 -0
  95. package/src/Utils/reporting-utils.js +262 -0
  96. package/src/Utils/signal.js +192 -0
  97. package/src/Utils/stanza-ack.js +74 -0
  98. package/src/Utils/sync-action-utils.js +54 -0
  99. package/src/Utils/tc-token-utils.js +161 -0
  100. package/src/Utils/use-multi-file-auth-state.js +121 -0
  101. package/src/Utils/validate-connection.js +248 -0
  102. package/src/Utils/voip-rekey.js +22 -0
  103. package/src/WABinary/constants.js +1304 -0
  104. package/src/WABinary/decode.js +377 -0
  105. package/src/WABinary/encode.js +58 -0
  106. package/src/WABinary/generic-utils.js +148 -0
  107. package/src/WABinary/index.js +33 -0
  108. package/src/WABinary/jid-utils.js +374 -0
  109. package/src/WABinary/types.js +2 -0
  110. package/src/WAM/BinaryInfo.js +13 -0
  111. package/src/WAM/constants.js +39486 -0
  112. package/src/WAM/encode.js +142 -0
  113. package/src/WAM/index.js +31 -0
  114. package/src/WAUSync/Protocols/USyncBotProfileProtocol.js +55 -0
  115. package/src/WAUSync/Protocols/USyncBusinessProtocol.js +100 -0
  116. package/src/WAUSync/Protocols/USyncContactProtocol.js +60 -0
  117. package/src/WAUSync/Protocols/USyncDeviceProtocol.js +65 -0
  118. package/src/WAUSync/Protocols/USyncDisappearingModeProtocol.js +27 -0
  119. package/src/WAUSync/Protocols/USyncFeatureProtocol.js +74 -0
  120. package/src/WAUSync/Protocols/USyncLIDProtocol.js +31 -0
  121. package/src/WAUSync/Protocols/USyncPictureProtocol.js +32 -0
  122. package/src/WAUSync/Protocols/USyncSidelistProtocol.js +29 -0
  123. package/src/WAUSync/Protocols/USyncStatusProtocol.js +44 -0
  124. package/src/WAUSync/Protocols/USyncTextStatusProtocol.js +38 -0
  125. package/src/WAUSync/Protocols/USyncUsernameProtocol.js +28 -0
  126. package/src/WAUSync/Protocols/index.js +40 -0
  127. package/src/WAUSync/USyncBackoff.js +31 -0
  128. package/src/WAUSync/USyncQuery.js +204 -0
  129. package/src/WAUSync/USyncUser.js +58 -0
  130. package/src/WAUSync/index.js +32 -0
  131. package/src/antiban.js +4726 -0
  132. package/{lib → src}/index.js +48 -16
  133. package/lib/Defaults/baileys-version.json +0 -3
  134. package/lib/Defaults/index.js +0 -137
  135. package/lib/Defaults/phonenumber-mcc.json +0 -223
  136. package/lib/Signal/Group/Protocols.js +0 -269
  137. package/lib/Signal/Group/ciphertext-message.js +0 -12
  138. package/lib/Signal/Group/group-session-builder.js +0 -30
  139. package/lib/Signal/Group/group_cipher.js +0 -82
  140. package/lib/Signal/Group/index.js +0 -12
  141. package/lib/Signal/Group/keyhelper.js +0 -18
  142. package/lib/Signal/Group/queue-job.js +0 -57
  143. package/lib/Signal/Group/sender-chain-key.js +0 -26
  144. package/lib/Signal/Group/sender-key-distribution-message.js +0 -63
  145. package/lib/Signal/Group/sender-key-message.js +0 -66
  146. package/lib/Signal/Group/sender-key-name.js +0 -48
  147. package/lib/Signal/Group/sender-key-record.js +0 -41
  148. package/lib/Signal/Group/sender-key-state.js +0 -84
  149. package/lib/Signal/Group/sender-message-key.js +0 -26
  150. package/lib/Signal/libsignal.js +0 -432
  151. package/lib/Signal/lid-mapping.js +0 -277
  152. package/lib/Socket/Client/abstract-socket-client.js +0 -13
  153. package/lib/Socket/Client/index.js +0 -3
  154. package/lib/Socket/Client/mobile-socket-client.js +0 -65
  155. package/lib/Socket/Client/types.js +0 -11
  156. package/lib/Socket/Client/web-socket-client.js +0 -62
  157. package/lib/Socket/Client/websocket.js +0 -54
  158. package/lib/Socket/business.js +0 -379
  159. package/lib/Socket/chats.js +0 -1193
  160. package/lib/Socket/communities.js +0 -431
  161. package/lib/Socket/community.js +0 -392
  162. package/lib/Socket/dugong.js +0 -637
  163. package/lib/Socket/groups.js +0 -374
  164. package/lib/Socket/index.js +0 -12
  165. package/lib/Socket/luxu.js +0 -387
  166. package/lib/Socket/messages-recv.js +0 -1916
  167. package/lib/Socket/messages-send.js +0 -1459
  168. package/lib/Socket/newsletter.js +0 -253
  169. package/lib/Socket/registration.js +0 -167
  170. package/lib/Socket/socket.js +0 -950
  171. package/lib/Socket/username.js +0 -146
  172. package/lib/Socket/usync.js +0 -69
  173. package/lib/Store/index.js +0 -10
  174. package/lib/Store/keyed-db.js +0 -108
  175. package/lib/Store/make-cache-manager-store.js +0 -85
  176. package/lib/Store/make-in-memory-store.js +0 -198
  177. package/lib/Store/make-ordered-dictionary.js +0 -75
  178. package/lib/Store/object-repository.js +0 -32
  179. package/lib/Types/Auth.js +0 -2
  180. package/lib/Types/Bussines.js +0 -2
  181. package/lib/Types/Call.js +0 -2
  182. package/lib/Types/Chat.js +0 -8
  183. package/lib/Types/Contact.js +0 -2
  184. package/lib/Types/Events.js +0 -2
  185. package/lib/Types/GroupMetadata.js +0 -2
  186. package/lib/Types/Label.js +0 -25
  187. package/lib/Types/LabelAssociation.js +0 -7
  188. package/lib/Types/Message.js +0 -11
  189. package/lib/Types/Mex.js +0 -37
  190. package/lib/Types/Newsletter.js +0 -38
  191. package/lib/Types/Product.js +0 -2
  192. package/lib/Types/Signal.js +0 -2
  193. package/lib/Types/Socket.js +0 -3
  194. package/lib/Types/State.js +0 -56
  195. package/lib/Types/USync.js +0 -2
  196. package/lib/Types/index.js +0 -26
  197. package/lib/Utils/auth-utils.js +0 -302
  198. package/lib/Utils/baileys-event-stream.js +0 -63
  199. package/lib/Utils/browser-utils.js +0 -48
  200. package/lib/Utils/business.js +0 -231
  201. package/lib/Utils/chat-utils.js +0 -873
  202. package/lib/Utils/companion-reg-client-utils.js +0 -35
  203. package/lib/Utils/crypto.js +0 -118
  204. package/lib/Utils/decode-wa-message.js +0 -350
  205. package/lib/Utils/event-buffer.js +0 -622
  206. package/lib/Utils/generics.js +0 -399
  207. package/lib/Utils/history.js +0 -134
  208. package/lib/Utils/identity-change-handler.js +0 -50
  209. package/lib/Utils/index.js +0 -23
  210. package/lib/Utils/link-preview.js +0 -85
  211. package/lib/Utils/logger.js +0 -3
  212. package/lib/Utils/lt-hash.js +0 -8
  213. package/lib/Utils/make-mutex.js +0 -33
  214. package/lib/Utils/message-composer.js +0 -273
  215. package/lib/Utils/message-retry-manager.js +0 -265
  216. package/lib/Utils/messages-media.js +0 -788
  217. package/lib/Utils/messages.js +0 -1260
  218. package/lib/Utils/noise-handler.js +0 -201
  219. package/lib/Utils/offline-node-processor.js +0 -40
  220. package/lib/Utils/pre-key-manager.js +0 -106
  221. package/lib/Utils/process-message.js +0 -630
  222. package/lib/Utils/reporting-utils.js +0 -258
  223. package/lib/Utils/signal.js +0 -202
  224. package/lib/Utils/stanza-ack.js +0 -38
  225. package/lib/Utils/sync-action-utils.js +0 -49
  226. package/lib/Utils/tc-token-utils.js +0 -163
  227. package/lib/Utils/use-multi-file-auth-state.js +0 -121
  228. package/lib/Utils/validate-connection.js +0 -204
  229. package/lib/WABinary/constants.js +0 -1301
  230. package/lib/WABinary/decode.js +0 -262
  231. package/lib/WABinary/encode.js +0 -220
  232. package/lib/WABinary/generic-utils.js +0 -204
  233. package/lib/WABinary/index.js +0 -6
  234. package/lib/WABinary/jid-utils.js +0 -98
  235. package/lib/WABinary/types.js +0 -2
  236. package/lib/WAM/BinaryInfo.js +0 -10
  237. package/lib/WAM/constants.js +0 -22853
  238. package/lib/WAM/encode.js +0 -150
  239. package/lib/WAM/index.js +0 -4
  240. package/lib/WAUSync/Protocols/USyncContactProtocol.js +0 -52
  241. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +0 -54
  242. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +0 -27
  243. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +0 -38
  244. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +0 -25
  245. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +0 -51
  246. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +0 -29
  247. package/lib/WAUSync/Protocols/index.js +0 -6
  248. package/lib/WAUSync/USyncQuery.js +0 -98
  249. package/lib/WAUSync/USyncUser.js +0 -31
  250. package/lib/WAUSync/index.js +0 -4
@@ -1,387 +0,0 @@
1
- import { proto } from '../../WAProto/index.js'
2
- import * as Utils from '../Utils/index.js'
3
- import crypto from 'crypto'
4
-
5
- export default class imup {
6
- constructor(utils, waUploadToServer, relayMessageFn) {
7
- this.utils = utils
8
- this.relayMessage = relayMessageFn
9
- this.waUploadToServer = waUploadToServer
10
- }
11
-
12
- 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
22
- }
23
-
24
- async handlePayment(content, quoted) {
25
- const data = content.requestPaymentMessage
26
- let notes = {}
27
-
28
- if (data.sticker?.stickerMessage) {
29
- notes = {
30
- stickerMessage: {
31
- ...data.sticker.stickerMessage,
32
- contextInfo: {
33
- stanzaId: quoted?.key?.id,
34
- participant: quoted?.key?.participant || content.sender,
35
- quotedMessage: quoted?.message
36
- }
37
- }
38
- }
39
- } else if (data.note) {
40
- notes = {
41
- extendedTextMessage: {
42
- text: data.note,
43
- contextInfo: {
44
- stanzaId: quoted?.key?.id,
45
- participant: quoted?.key?.participant || content.sender,
46
- quotedMessage: quoted?.message
47
- }
48
- }
49
- }
50
- }
51
-
52
- return {
53
- requestPaymentMessage: proto.Message.RequestPaymentMessage.fromObject({
54
- expiryTimestamp: data.expiry || 0,
55
- amount1000: data.amount || 0,
56
- currencyCodeIso4217: data.currency || "IDR",
57
- requestFrom: data.from || "0@s.whatsapp.net",
58
- noteMessage: notes,
59
- background: data.background?? {
60
- id: "DEFAULT",
61
- placeholderArgb: 0xFFF0F0F0
62
- }
63
- })
64
- }
65
- }
66
-
67
- 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
-
84
- 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
96
- }
97
-
98
- return {
99
- viewOnceMessage: {
100
- message: {
101
- interactiveMessage: {
102
- body: { text: body },
103
- footer: { text: footer },
104
- header: {
105
- title,
106
- hasMediaAttachment: true,
107
- productMessage: {
108
- product: {
109
- productImage,
110
- productId,
111
- title,
112
- description,
113
- currencyCode,
114
- priceAmount1000,
115
- retailerId,
116
- url,
117
- productImageCount: 1
118
- },
119
- businessOwnerJid: "0@s.whatsapp.net"
120
- }
121
- },
122
- nativeFlowMessage: { buttons }
123
- }
124
- }
125
- }
126
- }
127
- }
128
-
129
- async handleAlbum(content, jid, quoted) {
130
- const array = content.albumMessage
131
- const album = await this.utils.generateWAMessageFromContent(jid, {
132
- messageContextInfo: {
133
- messageSecret: crypto.randomBytes(32),
134
- },
135
- albumMessage: {
136
- expectedImageCount: array.filter((a) => a.hasOwnProperty("image")).length,
137
- expectedVideoCount: array.filter((a) => a.hasOwnProperty("video")).length,
138
- },
139
- }, {
140
- userJid: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
141
- quoted,
142
- upload: this.waUploadToServer
143
- })
144
-
145
- await this.relayMessage(jid, album.message, {
146
- messageId: album.key.id,
147
- })
148
-
149
- for (let content of array) {
150
- const img = await this.utils.generateWAMessage(jid, content, {
151
- upload: this.waUploadToServer,
152
- })
153
-
154
- img.message.messageContextInfo = {
155
- messageSecret: crypto.randomBytes(32),
156
- messageAssociation: {
157
- associationType: 1,
158
- parentMessageKey: album.key,
159
- },
160
- participant: "0@s.whatsapp.net",
161
- remoteJid: "status@broadcast",
162
- forwardingScore: 99999,
163
- isForwarded: true,
164
- mentionedJid: [jid],
165
- starred: true,
166
- labels: ["Y", "Important"],
167
- isHighlighted: true,
168
- businessMessageForwardInfo: {
169
- businessOwnerJid: jid,
170
- },
171
- dataSharingContext: {
172
- showMmDisclosure: true,
173
- },
174
- }
175
-
176
- img.message.forwardedNewsletterMessageInfo = {
177
- newsletterJid: "0@newsletter",
178
- serverMessageId: 1,
179
- newsletterName: `WhatsApp`,
180
- contentType: 1,
181
- timestamp: new Date().toISOString(),
182
- senderName: "7-Yuukey",
183
- contentType: "UPDATE_CARD",
184
- priority: "high",
185
- status: "sent",
186
- }
187
-
188
- img.message.disappearingMode = {
189
- initiator: 3,
190
- trigger: 4,
191
- initiatorDeviceJid: jid,
192
- initiatedByExternalService: true,
193
- initiatedByUserDevice: true,
194
- initiatedBySystem: true,
195
- initiatedByServer: true,
196
- initiatedByAdmin: true,
197
- initiatedByUser: true,
198
- initiatedByApp: true,
199
- initiatedByBot: true,
200
- initiatedByMe: true,
201
- }
202
-
203
- await this.relayMessage(jid, img.message, {
204
- messageId: img.key.id,
205
- quoted: {
206
- key: {
207
- remoteJid: album.key.remoteJid,
208
- id: album.key.id,
209
- fromMe: true,
210
- participant: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
211
- },
212
- message: album.message,
213
- },
214
- })
215
- }
216
- return album
217
- }
218
-
219
- async handleEvent(content, jid, quoted) {
220
- const eventData = content.eventMessage
221
-
222
- const msg = await this.utils.generateWAMessageFromContent(jid, {
223
- viewOnceMessage: {
224
- message: {
225
- messageContextInfo: {
226
- deviceListMetadata: {},
227
- deviceListMetadataVersion: 2,
228
- messageSecret: crypto.randomBytes(32),
229
- supportPayload: JSON.stringify({
230
- version: 2,
231
- is_ai_message: true,
232
- should_show_system_message: true,
233
- ticket_id: crypto.randomBytes(16).toString('hex')
234
- })
235
- },
236
- eventMessage: {
237
- contextInfo: {
238
- mentionedJid: [jid],
239
- participant: jid,
240
- remoteJid: "status@broadcast",
241
- forwardedNewsletterMessageInfo: {
242
- newsletterName: "D | 7eppeli-Exloration",
243
- newsletterJid: "120363421563597486@newsletter",
244
- serverMessageId: 1
245
- }
246
- },
247
- isCanceled: eventData.isCanceled || false,
248
- name: eventData.name,
249
- description: eventData.description,
250
- location: eventData.location || {
251
- degreesLatitude: 0,
252
- degreesLongitude: 0,
253
- name: "Location"
254
- },
255
- 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
259
- }
260
- }
261
- }
262
- }, { quoted })
263
-
264
- await this.relayMessage(jid, msg.message, {
265
- messageId: msg.key.id
266
- })
267
- return msg
268
- }
269
-
270
- async handlePollResult(content, jid, quoted) {
271
- const pollData = content.pollResultMessage
272
- const msg = await this.utils.generateWAMessageFromContent(jid, {
273
- pollResultSnapshotMessage: {
274
- name: pollData.name,
275
- pollVotes: pollData.pollVotes.map(vote => ({
276
- optionName: vote.optionName,
277
- optionVoteCount: typeof vote.optionVoteCount === 'number'
278
- ? vote.optionVoteCount.toString()
279
- : vote.optionVoteCount
280
- })),
281
- contextInfo: {
282
- isForwarded: true,
283
- forwardingScore: 1,
284
- forwardedNewsletterMessageInfo: {
285
- newsletterName: pollData.newsletter.newsletterName || "120363399602691477@newsletter",
286
- newsletterJid: pollData.newsletter.newsletterJid || "Newsletter",
287
- serverMessageId: 1000,
288
- contentType: "UPDATE"
289
- }
290
- }
291
- }
292
- }, {
293
- userJid: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
294
- quoted
295
- })
296
-
297
- await this.relayMessage(jid, msg.message, {
298
- messageId: msg.key.id
299
- })
300
-
301
- return msg
302
- }
303
-
304
- async handleOrderMessage(content, jid, quoted) {
305
- const orderData = content.orderMessage
306
-
307
- const Haha = await this.utils.generateWAMessageFromContent(jid, {
308
- orderMessage: {
309
- orderId: "7EPPELI25022008",
310
- thumbnail: orderData.thumbnail || null,
311
- itemCount: orderData.itemCount || 0,
312
- status: "ACCEPTED",
313
- surface: "CATALOG",
314
- message: orderData.message,
315
- orderTitle: orderData.orderTitle,
316
- sellerJid: "0@whatsapp.net",
317
- token: "7EPPELI_EXAMPLE_TOKEN",
318
- totalAmount1000: orderData.totalAmount1000 || 0,
319
- totalCurrencyCode: orderData.totalCurrencyCode || "IDR",
320
- messageVersion: 2
321
- }
322
- }, { quoted: quoted })
323
-
324
- await this.relayMessage(jid, Haha.message, {})
325
- return Haha
326
- }
327
-
328
- async handleGroupStory(content, jid, quoted) {
329
- const storyData = content.groupStatus
330
- let messageContent
331
-
332
- if (storyData.message) {
333
- messageContent = storyData
334
- } else {
335
- if (typeof this.utils?.generateWAMessageContent === "function") {
336
- messageContent = await this.utils.generateWAMessageContent(storyData, {
337
- upload: this.waUploadToServer
338
- })
339
- } else {
340
- messageContent = await Utils.generateWAMessageContent(storyData, {
341
- upload: this.waUploadToServer
342
- })
343
- }
344
- }
345
-
346
- let msg = {
347
- message: {
348
- groupStatusMessageV2: {
349
- message: messageContent.message || messageContent
350
- }
351
- }
352
- }
353
-
354
- return await this.relayMessage(jid, msg.message, {
355
- messageId: this.utils.generateMessageID()
356
- })
357
- }
358
-
359
- async handleGbLabel(content, jid) {
360
- const x = content.groupLabel
361
- if (!jid.endsWith('@g.us')) {
362
- throw new Error('group required!')
363
- }
364
-
365
- const msg = this.utils.generateWAMessageFromContent(jid, {
366
- protocolMessage: {
367
- type: "GROUP_MEMBER_LABEL_CHANGE",
368
- memberLabel: {
369
- label: x.labelText.slice(0, 30)
370
- }
371
- }
372
- }, {})
373
-
374
- await this.relayMessage(jid, msg.message, {
375
- additionalNodes: [
376
- {
377
- tag: 'meta',
378
- attrs: {
379
- tag_reason: 'user_update',
380
- appdata: 'member_tag'
381
- },
382
- content: undefined
383
- }
384
- ]
385
- })
386
- }
387
- }