@merajah/baileys 1.0.9 → 4.2.1

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 (204) hide show
  1. package/lib/cache.js +1 -0
  2. package/lib/converter.js +1 -0
  3. package/lib/extra.js +1 -0
  4. package/lib/index.js +32 -22
  5. package/lib/serialize.js +1 -0
  6. package/lib/wrapper.js +1 -0
  7. package/package.json +21 -108
  8. package/readme.md +64 -42
  9. package/WAProto/index.js +0 -169661
  10. package/lib/Defaults/baileys-version.json +0 -3
  11. package/lib/Defaults/index.d.ts +0 -53
  12. package/lib/Defaults/index.js +0 -147
  13. package/lib/Defaults/phonenumber-mcc.json +0 -223
  14. package/lib/Signal/Group/ciphertext-message.d.ts +0 -9
  15. package/lib/Signal/Group/ciphertext-message.js +0 -15
  16. package/lib/Signal/Group/group-session-builder.d.ts +0 -14
  17. package/lib/Signal/Group/group-session-builder.js +0 -64
  18. package/lib/Signal/Group/group_cipher.d.ts +0 -17
  19. package/lib/Signal/Group/group_cipher.js +0 -96
  20. package/lib/Signal/Group/index.d.ts +0 -11
  21. package/lib/Signal/Group/index.js +0 -57
  22. package/lib/Signal/Group/keyhelper.d.ts +0 -10
  23. package/lib/Signal/Group/keyhelper.js +0 -55
  24. package/lib/Signal/Group/queue-job.d.ts +0 -1
  25. package/lib/Signal/Group/queue-job.js +0 -57
  26. package/lib/Signal/Group/sender-chain-key.d.ts +0 -13
  27. package/lib/Signal/Group/sender-chain-key.js +0 -34
  28. package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -16
  29. package/lib/Signal/Group/sender-key-distribution-message.js +0 -66
  30. package/lib/Signal/Group/sender-key-message.d.ts +0 -18
  31. package/lib/Signal/Group/sender-key-message.js +0 -69
  32. package/lib/Signal/Group/sender-key-name.d.ts +0 -17
  33. package/lib/Signal/Group/sender-key-name.js +0 -51
  34. package/lib/Signal/Group/sender-key-record.d.ts +0 -30
  35. package/lib/Signal/Group/sender-key-record.js +0 -53
  36. package/lib/Signal/Group/sender-key-state.d.ts +0 -38
  37. package/lib/Signal/Group/sender-key-state.js +0 -99
  38. package/lib/Signal/Group/sender-message-key.d.ts +0 -11
  39. package/lib/Signal/Group/sender-message-key.js +0 -29
  40. package/lib/Signal/libsignal.d.ts +0 -3
  41. package/lib/Signal/libsignal.js +0 -174
  42. package/lib/Socket/Client/abstract-socket-client.d.ts +0 -17
  43. package/lib/Socket/Client/abstract-socket-client.js +0 -13
  44. package/lib/Socket/Client/index.d.ts +0 -3
  45. package/lib/Socket/Client/index.js +0 -19
  46. package/lib/Socket/Client/mobile-socket-client.d.ts +0 -13
  47. package/lib/Socket/Client/mobile-socket-client.js +0 -65
  48. package/lib/Socket/Client/web-socket-client.d.ts +0 -12
  49. package/lib/Socket/Client/web-socket-client.js +0 -62
  50. package/lib/Socket/business.d.ts +0 -171
  51. package/lib/Socket/business.js +0 -260
  52. package/lib/Socket/chats.d.ts +0 -267
  53. package/lib/Socket/chats.js +0 -970
  54. package/lib/Socket/groups.d.ts +0 -115
  55. package/lib/Socket/groups.js +0 -317
  56. package/lib/Socket/index.d.ts +0 -173
  57. package/lib/Socket/index.js +0 -11
  58. package/lib/Socket/manager.d.ts +0 -253
  59. package/lib/Socket/manager.js +0 -480
  60. package/lib/Socket/messages-recv.d.ts +0 -161
  61. package/lib/Socket/messages-recv.js +0 -1110
  62. package/lib/Socket/messages-send.d.ts +0 -149
  63. package/lib/Socket/messages-send.js +0 -909
  64. package/lib/Socket/newsletter.js +0 -357
  65. package/lib/Socket/registration.d.ts +0 -267
  66. package/lib/Socket/registration.js +0 -166
  67. package/lib/Socket/socket.d.ts +0 -43
  68. package/lib/Socket/socket.js +0 -680
  69. package/lib/Socket/usync.d.ts +0 -36
  70. package/lib/Socket/usync.js +0 -70
  71. package/lib/Store/index.d.ts +0 -3
  72. package/lib/Store/index.js +0 -10
  73. package/lib/Store/make-cache-manager-store.d.ts +0 -13
  74. package/lib/Store/make-cache-manager-store.js +0 -83
  75. package/lib/Store/make-in-memory-store.d.ts +0 -118
  76. package/lib/Store/make-in-memory-store.js +0 -427
  77. package/lib/Store/make-ordered-dictionary.d.ts +0 -13
  78. package/lib/Store/make-ordered-dictionary.js +0 -81
  79. package/lib/Store/object-repository.d.ts +0 -10
  80. package/lib/Store/object-repository.js +0 -27
  81. package/lib/Types/Auth.d.ts +0 -110
  82. package/lib/Types/Auth.js +0 -2
  83. package/lib/Types/Call.d.ts +0 -13
  84. package/lib/Types/Call.js +0 -2
  85. package/lib/Types/Chat.d.ts +0 -102
  86. package/lib/Types/Chat.js +0 -4
  87. package/lib/Types/Contact.d.ts +0 -19
  88. package/lib/Types/Contact.js +0 -2
  89. package/lib/Types/Events.d.ts +0 -157
  90. package/lib/Types/Events.js +0 -2
  91. package/lib/Types/GroupMetadata.d.ts +0 -55
  92. package/lib/Types/GroupMetadata.js +0 -2
  93. package/lib/Types/Label.d.ts +0 -35
  94. package/lib/Types/Label.js +0 -27
  95. package/lib/Types/LabelAssociation.d.ts +0 -29
  96. package/lib/Types/LabelAssociation.js +0 -9
  97. package/lib/Types/Message.d.ts +0 -273
  98. package/lib/Types/Message.js +0 -9
  99. package/lib/Types/Newsletter.d.ts +0 -103
  100. package/lib/Types/Newsletter.js +0 -38
  101. package/lib/Types/Product.d.ts +0 -78
  102. package/lib/Types/Product.js +0 -2
  103. package/lib/Types/Signal.d.ts +0 -57
  104. package/lib/Types/Signal.js +0 -2
  105. package/lib/Types/Socket.d.ts +0 -111
  106. package/lib/Types/Socket.js +0 -2
  107. package/lib/Types/State.d.ts +0 -27
  108. package/lib/Types/State.js +0 -2
  109. package/lib/Types/USync.d.ts +0 -25
  110. package/lib/Types/USync.js +0 -2
  111. package/lib/Types/index.d.ts +0 -57
  112. package/lib/Types/index.js +0 -42
  113. package/lib/Utils/auth-utils.d.ts +0 -18
  114. package/lib/Utils/auth-utils.js +0 -206
  115. package/lib/Utils/baileys-event-stream.d.ts +0 -16
  116. package/lib/Utils/baileys-event-stream.js +0 -63
  117. package/lib/Utils/business.d.ts +0 -22
  118. package/lib/Utils/business.js +0 -234
  119. package/lib/Utils/chat-utils.d.ts +0 -71
  120. package/lib/Utils/chat-utils.js +0 -729
  121. package/lib/Utils/crypto.d.ts +0 -41
  122. package/lib/Utils/crypto.js +0 -151
  123. package/lib/Utils/decode-wa-message.d.ts +0 -19
  124. package/lib/Utils/decode-wa-message.js +0 -198
  125. package/lib/Utils/event-buffer.d.ts +0 -35
  126. package/lib/Utils/event-buffer.js +0 -514
  127. package/lib/Utils/generics.d.ts +0 -92
  128. package/lib/Utils/generics.js +0 -428
  129. package/lib/Utils/history.d.ts +0 -15
  130. package/lib/Utils/history.js +0 -96
  131. package/lib/Utils/index.d.ts +0 -17
  132. package/lib/Utils/index.js +0 -33
  133. package/lib/Utils/link-preview.d.ts +0 -21
  134. package/lib/Utils/link-preview.js +0 -93
  135. package/lib/Utils/logger.d.ts +0 -4
  136. package/lib/Utils/logger.js +0 -7
  137. package/lib/Utils/lt-hash.d.ts +0 -12
  138. package/lib/Utils/lt-hash.js +0 -51
  139. package/lib/Utils/make-mutex.d.ts +0 -7
  140. package/lib/Utils/make-mutex.js +0 -43
  141. package/lib/Utils/messages-media.d.ts +0 -116
  142. package/lib/Utils/messages-media.js +0 -819
  143. package/lib/Utils/messages.d.ts +0 -77
  144. package/lib/Utils/messages.js +0 -816
  145. package/lib/Utils/noise-handler.d.ts +0 -21
  146. package/lib/Utils/noise-handler.js +0 -155
  147. package/lib/Utils/process-message.d.ts +0 -41
  148. package/lib/Utils/process-message.js +0 -321
  149. package/lib/Utils/signal.d.ts +0 -32
  150. package/lib/Utils/signal.js +0 -153
  151. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -13
  152. package/lib/Utils/use-multi-file-auth-state.js +0 -119
  153. package/lib/Utils/validate-connection.d.ts +0 -11
  154. package/lib/Utils/validate-connection.js +0 -231
  155. package/lib/WABinary/constants.d.ts +0 -30
  156. package/lib/WABinary/constants.js +0 -40
  157. package/lib/WABinary/decode.d.ts +0 -7
  158. package/lib/WABinary/decode.js +0 -252
  159. package/lib/WABinary/encode.d.ts +0 -3
  160. package/lib/WABinary/encode.js +0 -265
  161. package/lib/WABinary/generic-utils.d.ts +0 -17
  162. package/lib/WABinary/generic-utils.js +0 -198
  163. package/lib/WABinary/index.d.ts +0 -5
  164. package/lib/WABinary/index.js +0 -21
  165. package/lib/WABinary/jid-utils.d.ts +0 -31
  166. package/lib/WABinary/jid-utils.js +0 -62
  167. package/lib/WABinary/types.d.ts +0 -18
  168. package/lib/WABinary/types.js +0 -2
  169. package/lib/WAM/BinaryInfo.d.ts +0 -17
  170. package/lib/WAM/BinaryInfo.js +0 -13
  171. package/lib/WAM/constants.d.ts +0 -38
  172. package/lib/WAM/constants.js +0 -15350
  173. package/lib/WAM/encode.d.ts +0 -3
  174. package/lib/WAM/encode.js +0 -155
  175. package/lib/WAM/index.d.ts +0 -3
  176. package/lib/WAM/index.js +0 -19
  177. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -9
  178. package/lib/WAUSync/Protocols/USyncContactProtocol.js +0 -32
  179. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -22
  180. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +0 -57
  181. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -12
  182. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +0 -30
  183. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -12
  184. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +0 -42
  185. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +0 -25
  186. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +0 -53
  187. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +0 -8
  188. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +0 -24
  189. package/lib/WAUSync/Protocols/index.d.ts +0 -4
  190. package/lib/WAUSync/Protocols/index.js +0 -20
  191. package/lib/WAUSync/USyncQuery.d.ts +0 -28
  192. package/lib/WAUSync/USyncQuery.js +0 -89
  193. package/lib/WAUSync/USyncUser.d.ts +0 -12
  194. package/lib/WAUSync/USyncUser.js +0 -26
  195. package/lib/WAUSync/index.d.ts +0 -3
  196. package/lib/WAUSync/index.js +0 -19
  197. package/lib/baileys.d.ts +0 -68
  198. package/lib/baileys.js +0 -266
  199. package/lib/extra/loader.d.ts +0 -16
  200. package/lib/extra/loader.js +0 -37
  201. package/lib/extra/raw.d.ts +0 -43
  202. package/lib/extra/raw.js +0 -131
  203. package/lib/index.d.ts +0 -14
  204. package/require.js +0 -13
@@ -1,480 +0,0 @@
1
- const WAProto = require('../../WAProto').proto;
2
- const crypto = require('crypto');
3
- const Utils_1 = require("../Utils");
4
-
5
- class connect {
6
- constructor(utils, waUploadToServer, relayMessageFn) {
7
- this.utils = utils;
8
- this.relayMessage = relayMessageFn
9
- this.waUploadToServer = waUploadToServer;
10
-
11
- this.bail = {
12
- generateWAMessageContent: this.utils.generateWAMessageContent || Utils_1.generateWAMessageContent,
13
- generateMessageID: Utils_1.generateMessageID,
14
- getContentType: (msg) => Object.keys(msg.message || {})[0]
15
- };
16
- }
17
-
18
- detectType(content) {
19
- if (content.requestPaymentMessage) return 'PAYMENT';
20
- if (content.productMessage) return 'PRODUCT';
21
- if (content.interactiveMessage) return 'INTERACTIVE';
22
- if (content.albumMessage) return 'ALBUM';
23
- if (content.eventMessage) return 'EVENT';
24
- if (content.pollResultMessage) return 'POLL_RESULT';
25
- if (content.groupStatusMessage) return 'GROUP_STORY';
26
- return null;
27
- }
28
-
29
- async handlePayment(content, quoted) {
30
- const data = content.requestPaymentMessage;
31
- let notes = {};
32
-
33
- if (data.sticker?.stickerMessage) {
34
- notes = {
35
- stickerMessage: {
36
- ...data.sticker.stickerMessage,
37
- contextInfo: {
38
- stanzaId: quoted?.key?.id,
39
- participant: quoted?.key?.participant || content.sender,
40
- quotedMessage: quoted?.message
41
- }
42
- }
43
- };
44
- } else if (data.note) {
45
- notes = {
46
- extendedTextMessage: {
47
- text: data.note,
48
- contextInfo: {
49
- stanzaId: quoted?.key?.id,
50
- participant: quoted?.key?.participant || content.sender,
51
- quotedMessage: quoted?.message
52
- }
53
- }
54
- };
55
- }
56
-
57
- return {
58
- requestPaymentMessage: WAProto.Message.RequestPaymentMessage.fromObject({
59
- expiryTimestamp: data.expiry || 0,
60
- amount1000: data.amount || 0,
61
- currencyCodeIso4217: data.currency || "IDR",
62
- requestFrom: data.from || "0@s.whatsapp.net",
63
- noteMessage: notes,
64
- background: data.background ?? {
65
- id: "DEFAULT",
66
- placeholderArgb: 0xFFF0F0F0
67
- }
68
- })
69
- };
70
- }
71
-
72
- async handleProduct(content, jid, quoted) {
73
- const {
74
- title,
75
- description,
76
- thumbnail,
77
- productId,
78
- retailerId,
79
- url,
80
- body = "",
81
- footer = "",
82
- buttons = [],
83
- priceAmount1000 = null,
84
- currencyCode = "IDR"
85
- } = content.productMessage;
86
-
87
- let productImage;
88
-
89
- if (Buffer.isBuffer(thumbnail)) {
90
- const { imageMessage } = await this.utils.generateWAMessageContent(
91
- { image: thumbnail },
92
- { upload: this.waUploadToServer }
93
- );
94
- productImage = imageMessage;
95
- } else if (typeof thumbnail === 'object' && thumbnail.url) {
96
- const { imageMessage } = await this.utils.generateWAMessageContent(
97
- { image: { url: thumbnail.url }},
98
- { upload: this.waUploadToServer }
99
- );
100
- productImage = imageMessage;
101
- }
102
-
103
- return {
104
- viewOnceMessage: {
105
- message: {
106
- interactiveMessage: {
107
- body: { text: body },
108
- footer: { text: footer },
109
- header: {
110
- title,
111
- hasMediaAttachment: true,
112
- productMessage: {
113
- product: {
114
- productImage,
115
- productId,
116
- title,
117
- description,
118
- currencyCode,
119
- priceAmount1000,
120
- retailerId,
121
- url,
122
- productImageCount: 1
123
- },
124
- businessOwnerJid: "0@s.whatsapp.net"
125
- }
126
- },
127
- nativeFlowMessage: { buttons }
128
- }
129
- }
130
- }
131
- };
132
- }
133
-
134
- async handleInteractive(content, jid, quoted) {
135
- const {
136
- title,
137
- footer,
138
- thumbnail,
139
- image,
140
- video,
141
- document,
142
- mimetype,
143
- fileName,
144
- jpegThumbnail,
145
- contextInfo,
146
- externalAdReply,
147
- buttons = [],
148
- nativeFlowMessage,
149
- header
150
- } = content.interactiveMessage;
151
-
152
- let media = null;
153
- let mediaType = null;
154
-
155
- if (thumbnail) {
156
- media = await this.utils.prepareWAMessageMedia(
157
- { image: { url: thumbnail } },
158
- { upload: this.waUploadToServer }
159
- );
160
- mediaType = 'image';
161
- } else if (image) {
162
- if (typeof image === 'object' && image.url) {
163
- media = await this.utils.prepareWAMessageMedia(
164
- { image: { url: image.url } },
165
- { upload: this.waUploadToServer }
166
- );
167
- } else {
168
- media = await this.utils.prepareWAMessageMedia(
169
- { image: image },
170
- { upload: this.waUploadToServer }
171
- );
172
- }
173
- mediaType = 'image';
174
- } else if (video) {
175
- if (typeof video === 'object' && video.url) {
176
- media = await this.utils.prepareWAMessageMedia(
177
- { video: { url: video.url } },
178
- { upload: this.waUploadToServer }
179
- );
180
- } else {
181
- media = await this.utils.prepareWAMessageMedia(
182
- { video: video },
183
- { upload: this.waUploadToServer }
184
- );
185
- }
186
- mediaType = 'video';
187
- } else if (document) {
188
- let documentPayload = {
189
- document: document
190
- };
191
- if (jpegThumbnail) {
192
- if (typeof jpegThumbnail === 'object' && jpegThumbnail.url) {
193
- documentPayload.jpegThumbnail = { url: jpegThumbnail.url };
194
- } else {
195
- documentPayload.jpegThumbnail = jpegThumbnail;
196
- }
197
- }
198
-
199
- media = await this.utils.prepareWAMessageMedia(
200
- documentPayload,
201
- { upload: this.waUploadToServer }
202
- );
203
- if (fileName) {
204
- media.documentMessage.fileName = fileName;
205
- }
206
- if (mimetype) {
207
- media.documentMessage.mimetype = mimetype;
208
- }
209
- mediaType = 'document';
210
- }
211
- let interactiveMessage = {
212
- body: { text: title || "" },
213
- footer: { text: footer || "" }
214
- };
215
- if (buttons && buttons.length > 0) {
216
- interactiveMessage.nativeFlowMessage = {
217
- buttons: buttons
218
- };
219
- if (nativeFlowMessage) {
220
- interactiveMessage.nativeFlowMessage = {
221
- ...interactiveMessage.nativeFlowMessage,
222
- ...nativeFlowMessage
223
- };
224
- }
225
- } else if (nativeFlowMessage) {
226
- interactiveMessage.nativeFlowMessage = nativeFlowMessage;
227
- }
228
-
229
- if (media) {
230
- interactiveMessage.header = {
231
- title: header || "",
232
- hasMediaAttachment: true,
233
- ...media
234
- };
235
- } else {
236
- interactiveMessage.header = {
237
- title: header || "",
238
- hasMediaAttachment: false
239
- };
240
- }
241
-
242
- let finalContextInfo = {};
243
- if (contextInfo) {
244
- finalContextInfo = {
245
- mentionedJid: contextInfo.mentionedJid || [],
246
- forwardingScore: contextInfo.forwardingScore || 0,
247
- isForwarded: contextInfo.isForwarded || false,
248
- ...contextInfo
249
- };
250
- }
251
-
252
- if (externalAdReply) {
253
- finalContextInfo.externalAdReply = {
254
- title: externalAdReply.title || "",
255
- body: externalAdReply.body || "",
256
- mediaType: externalAdReply.mediaType || 1,
257
- thumbnailUrl: externalAdReply.thumbnailUrl || "",
258
- mediaUrl: externalAdReply.mediaUrl || "",
259
- sourceUrl: externalAdReply.sourceUrl || "",
260
- showAdAttribution: externalAdReply.showAdAttribution || false,
261
- renderLargerThumbnail: externalAdReply.renderLargerThumbnail || false,
262
- ...externalAdReply
263
- };
264
- }
265
-
266
- if (Object.keys(finalContextInfo).length > 0) {
267
- interactiveMessage.contextInfo = finalContextInfo;
268
- }
269
- return {
270
- interactiveMessage: interactiveMessage
271
- };
272
- }
273
-
274
- async handleAlbum(content, jid, quoted) {
275
- const array = content.albumMessage;
276
- const album = await this.utils.generateWAMessageFromContent(jid, {
277
- messageContextInfo: {
278
- messageSecret: crypto.randomBytes(32),
279
- },
280
- albumMessage: {
281
- expectedImageCount: array.filter((a) => a.hasOwnProperty("image")).length,
282
- expectedVideoCount: array.filter((a) => a.hasOwnProperty("video")).length,
283
- },
284
- }, {
285
- userJid: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
286
- quoted,
287
- upload: this.waUploadToServer
288
- });
289
-
290
- await this.relayMessage(jid, album.message, {
291
- messageId: album.key.id,
292
- });
293
-
294
- for (let content of array) {
295
- const img = await this.utils.generateWAMessage(jid, content, {
296
- upload: this.waUploadToServer,
297
- });
298
-
299
- img.message.messageContextInfo = {
300
- messageSecret: crypto.randomBytes(32),
301
- messageAssociation: {
302
- associationType: 1,
303
- parentMessageKey: album.key,
304
- },
305
- participant: "0@s.whatsapp.net",
306
- remoteJid: "status@broadcast",
307
- forwardingScore: 99999,
308
- isForwarded: true,
309
- mentionedJid: [jid],
310
- starred: true,
311
- labels: ["Y", "Important"],
312
- isHighlighted: true,
313
- businessMessageForwardInfo: {
314
- businessOwnerJid: jid,
315
- },
316
- dataSharingContext: {
317
- showMmDisclosure: true,
318
- },
319
- };
320
-
321
- img.message.forwardedNewsletterMessageInfo = {
322
- newsletterJid: "0@newsletter",
323
- serverMessageId: 1,
324
- newsletterName: `WhatsApp`,
325
- contentType: 1,
326
- timestamp: new Date().toISOString(),
327
- senderName: "Hisoka-Manager",
328
- content: "Text Message",
329
- priority: "high",
330
- status: "sent",
331
- };
332
-
333
- img.message.disappearingMode = {
334
- initiator: 3,
335
- trigger: 4,
336
- initiatorDeviceJid: jid,
337
- initiatedByExternalService: true,
338
- initiatedByUserDevice: true,
339
- initiatedBySystem: true,
340
- initiatedByServer: true,
341
- initiatedByAdmin: true,
342
- initiatedByUser: true,
343
- initiatedByApp: true,
344
- initiatedByBot: true,
345
- initiatedByMe: true,
346
- };
347
-
348
- await this.relayMessage(jid, img.message, {
349
- messageId: img.key.id,
350
- quoted: {
351
- key: {
352
- remoteJid: album.key.remoteJid,
353
- id: album.key.id,
354
- fromMe: true,
355
- participant: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
356
- },
357
- message: album.message,
358
- },
359
- });
360
- }
361
- return album;
362
- }
363
-
364
- async handleEvent(content, jid, quoted) {
365
- const eventData = content.eventMessage;
366
-
367
- const msg = await this.utils.generateWAMessageFromContent(jid, {
368
- viewOnceMessage: {
369
- message: {
370
- messageContextInfo: {
371
- deviceListMetadata: {},
372
- deviceListMetadataVersion: 2,
373
- messageSecret: crypto.randomBytes(32),
374
- supportPayload: JSON.stringify({
375
- version: 2,
376
- is_ai_message: true,
377
- should_show_system_message: true,
378
- ticket_id: crypto.randomBytes(16).toString('hex')
379
- })
380
- },
381
- eventMessage: {
382
- contextInfo: {
383
- mentionedJid: [jid],
384
- participant: jid,
385
- remoteJid: "status@broadcast",
386
- forwardedNewsletterMessageInfo: {
387
- newsletterName: "Hisoka-Baileys",
388
- newsletterJid: "120363390846847825@newsletter",
389
- serverMessageId: 1
390
- }
391
- },
392
- isCanceled: eventData.isCanceled || false,
393
- name: eventData.name,
394
- description: eventData.description,
395
- location: eventData.location || {
396
- degreesLatitude: 0,
397
- degreesLongitude: 0,
398
- name: "Location"
399
- },
400
- joinLink: eventData.joinLink || '',
401
- startTime: typeof eventData.startTime === 'string' ? parseInt(eventData.startTime) : eventData.startTime || Date.now(),
402
- endTime: typeof eventData.endTime === 'string' ? parseInt(eventData.endTime) : eventData.endTime || Date.now() + 3600000,
403
- extraGuestsAllowed: eventData.extraGuestsAllowed !== false
404
- }
405
- }
406
- }
407
- }, { quoted });
408
-
409
- await this.relayMessage(jid, msg.message, {
410
- messageId: msg.key.id
411
- });
412
- return msg;
413
- }
414
-
415
- async handlePollResult(content, jid, quoted) {
416
- const pollData = content.pollResultMessage;
417
-
418
- const msg = await this.utils.generateWAMessageFromContent(jid, {
419
- pollResultSnapshotMessage: {
420
- name: pollData.name,
421
- pollVotes: pollData.pollVotes.map(vote => ({
422
- optionName: vote.optionName,
423
- optionVoteCount: typeof vote.optionVoteCount === 'number'
424
- ? vote.optionVoteCount.toString()
425
- : vote.optionVoteCount
426
- }))
427
- }
428
- }, {
429
- userJid: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
430
- quoted
431
- });
432
-
433
- await this.relayMessage(jid, msg.message, {
434
- messageId: msg.key.id
435
- });
436
-
437
- return msg;
438
- }
439
-
440
- async handleGroupStory(content, jid, quoted) {
441
- const storyData = content.groupStatusMessage;
442
- let waMsgContent;
443
-
444
- if (storyData.message) {
445
- waMsgContent = storyData;
446
- } else {
447
- if (typeof this.bail?.generateWAMessageContent === "function") {
448
- waMsgContent = await this.bail.generateWAMessageContent(storyData, {
449
- upload: this.waUploadToServer
450
- });
451
- } else if (typeof this.utils?.generateWAMessageContent === "function") {
452
- waMsgContent = await this.utils.generateWAMessageContent(storyData, {
453
- upload: this.waUploadToServer
454
- });
455
- } else if (typeof this.utils?.prepareMessageContent === "function") {
456
- waMsgContent = await this.utils.prepareMessageContent(storyData, {
457
- upload: this.waUploadToServer
458
- });
459
- } else {
460
- waMsgContent = await Utils_1.generateWAMessageContent(storyData, {
461
- upload: this.waUploadToServer
462
- });
463
- }
464
- }
465
-
466
- let msg = {
467
- message: {
468
- groupStatusMessageV2: {
469
- message: waMsgContent.message || waMsgContent
470
- }
471
- }
472
- };
473
-
474
- return await this.relayMessage(jid, msg.message, {
475
- messageId: this.bail.generateMessageID()
476
- });
477
- }
478
- }
479
-
480
- module.exports = connect;
@@ -1,161 +0,0 @@
1
- import Long = require('long');
2
- import { Boom } from '@hapi/boom';
3
- import { proto } from '../../WAProto';
4
- import { MessageReceiptType, MessageRelayOptions, SocketConfig, WAMessageKey } from '../Types';
5
- import { BinaryNode } from '../WABinary';
6
- export declare const makeMessagesRecvSocket: (config: SocketConfig) => {
7
- sendMessageAck: ({ tag, attrs, content }: BinaryNode, errorCode?: number) => Promise<void>;
8
- sendRetryRequest: (node: BinaryNode, forceIncludeKeys?: boolean) => Promise<void>;
9
- rejectCall: (callId: string, callFrom: string) => Promise<void>;
10
- offerCall: (toJid: string, isVideo?: boolean) => Promise<{
11
- callId: string;
12
- toJid: string;
13
- isVideo: boolean;
14
- }>;
15
- fetchMessageHistory: (count: number, oldestMsgKey: WAMessageKey, oldestMsgTimestamp: number | Long) => Promise<string>;
16
- requestPlaceholderResend: (messageKey: WAMessageKey) => Promise<string | undefined>;
17
- getPrivacyTokens: (jids: string[]) => Promise<any>;
18
- assertSessions: (jids: string[], force: boolean) => Promise<boolean>;
19
- relayMessage: (jid: string, message: proto.IMessage, { messageId: msgId, participant, additionalAttributes, additionalNodes, useUserDevicesCache, useCachedGroupMetadata, statusJidList }: MessageRelayOptions) => Promise<string>;
20
- sendReceipt: (jid: string, participant: string | undefined, messageIds: string[], type: MessageReceiptType) => Promise<void>;
21
- sendReceipts: (keys: WAMessageKey[], type: MessageReceiptType) => Promise<void>;
22
- readMessages: (keys: WAMessageKey[]) => Promise<void>;
23
- refreshMediaConn: (forceGet?: boolean) => Promise<import("../Types").MediaConnInfo>;
24
- waUploadToServer: import("../Types").WAMediaUploadFunction;
25
- fetchPrivacySettings: (force?: boolean) => Promise<{
26
- [_: string]: string;
27
- }>;
28
- getUSyncDevices: (jids: string[], useCache: boolean, ignoreZeroDevices: boolean) => Promise<import("../WABinary").JidWithDevice[]>;
29
- createParticipantNodes: (jids: string[], message: proto.IMessage, extraAttrs?: BinaryNode["attrs"]) => Promise<{
30
- nodes: BinaryNode[];
31
- shouldIncludeDeviceIdentity: boolean;
32
- }>;
33
- sendPeerDataOperationMessage: (pdoMessage: proto.Message.IPeerDataOperationRequestMessage) => Promise<string>;
34
- updateMediaMessage: (message: proto.IWebMessageInfo) => Promise<proto.IWebMessageInfo>;
35
- sendMessage: (jid: string, content: import("../Types").AnyMessageContent, options?: import("../Types").MiscMessageGenerationOptions) => Promise<proto.WebMessageInfo>;
36
- subscribeNewsletterUpdates: (jid: string) => Promise<{
37
- duration: string;
38
- }>;
39
- newsletterReactionMode: (jid: string, mode: import("../Types").NewsletterReactionMode) => Promise<void>;
40
- newsletterUpdateDescription: (jid: string, description?: string) => Promise<void>;
41
- newsletterUpdateName: (jid: string, name: string) => Promise<void>;
42
- newsletterUpdatePicture: (jid: string, content: import("../Types").WAMediaUpload) => Promise<void>;
43
- newsletterRemovePicture: (jid: string) => Promise<void>;
44
- newsletterUnfollow: (jid: string) => Promise<void>;
45
- newsletterFollow: (jid: string) => Promise<void>;
46
- newsletterUnmute: (jid: string) => Promise<void>;
47
- newsletterMute: (jid: string) => Promise<void>;
48
- newsletterCreate: (name: string, description?: string, picture?: import("../Types").WAMediaUpload) => Promise<import("../Types").NewsletterMetadata>;
49
- newsletterMetadata: (type: "invite" | "jid", key: string, role?: import("../Types").NewsletterViewRole) => Promise<import("../Types").NewsletterMetadata>;
50
- newsletterAdminCount: (jid: string) => Promise<number>;
51
- newsletterChangeOwner: (jid: string, user: string) => Promise<void>;
52
- newsletterDemote: (jid: string, user: string) => Promise<void>;
53
- newsletterDelete: (jid: string) => Promise<void>;
54
- newsletterReactMessage: (jid: string, server_id: string, code?: string) => Promise<void>;
55
- newsletterFetchMessages: (type: "invite" | "jid", key: string, count: number, after?: number) => Promise<import("../Types").NewsletterFetchedUpdate[]>;
56
- newsletterFetchUpdates: (jid: string, count: number, after?: number, since?: number) => Promise<import("../Types").NewsletterFetchedUpdate[]>;
57
- groupQuery: (jid: string, type: "get" | "set", content: BinaryNode[]) => Promise<any>;
58
- groupMetadata: (jid: string) => Promise<import("../Types").GroupMetadata>;
59
- groupCreate: (subject: string, participants: string[]) => Promise<import("../Types").GroupMetadata>;
60
- groupLeave: (id: string) => Promise<void>;
61
- groupUpdateSubject: (jid: string, subject: string) => Promise<void>;
62
- groupRequestParticipantsList: (jid: string) => Promise<{
63
- [key: string]: string;
64
- }[]>;
65
- groupRequestParticipantsUpdate: (jid: string, participants: string[], action: "approve" | "reject") => Promise<{
66
- status: string;
67
- jid: string;
68
- }[]>;
69
- groupParticipantsUpdate: (jid: string, participants: string[], action: import("../Types").ParticipantAction) => Promise<{
70
- status: string;
71
- jid: string;
72
- content: BinaryNode;
73
- }[]>;
74
- groupUpdateDescription: (jid: string, description?: string) => Promise<void>;
75
- groupInviteCode: (jid: string) => Promise<string | undefined>;
76
- groupRevokeInvite: (jid: string) => Promise<string | undefined>;
77
- groupAcceptInvite: (code: string) => Promise<string | undefined>;
78
- groupRevokeInviteV4: (groupJid: string, invitedJid: string) => Promise<boolean>;
79
- groupAcceptInviteV4: (key: string | WAMessageKey, inviteMessage: proto.Message.IGroupInviteMessage) => Promise<any>;
80
- groupGetInviteInfo: (code: string) => Promise<import("../Types").GroupMetadata>;
81
- groupToggleEphemeral: (jid: string, ephemeralExpiration: number) => Promise<void>;
82
- groupSettingUpdate: (jid: string, setting: "announcement" | "not_announcement" | "locked" | "unlocked") => Promise<void>;
83
- groupMemberAddMode: (jid: string, mode: "admin_add" | "all_member_add") => Promise<void>;
84
- groupJoinApprovalMode: (jid: string, mode: "on" | "off") => Promise<void>;
85
- groupFetchAllParticipating: () => Promise<{
86
- [_: string]: import("../Types").GroupMetadata;
87
- }>;
88
- getBotListV2: () => Promise<import("../Types").BotListInfo[]>;
89
- processingMutex: {
90
- mutex<T>(code: () => Promise<T> | T): Promise<T>;
91
- };
92
- upsertMessage: (msg: import("../Types").WAMessage, type: import("../Types").MessageUpsertType) => Promise<void>;
93
- appPatch: (patchCreate: import("../Types").WAPatchCreate) => Promise<void>;
94
- sendPresenceUpdate: (type: import("../Types").WAPresence, toJid?: string) => Promise<void>;
95
- presenceSubscribe: (toJid: string, tcToken?: Buffer) => Promise<void>;
96
- profilePictureUrl: (jid: string, type?: "preview" | "image", timeoutMs?: number) => Promise<string | undefined>;
97
- onWhatsApp: (...jids: string[]) => Promise<{
98
- jid: string;
99
- exists: unknown;
100
- lid: unknown;
101
- }[] | undefined>;
102
- fetchBlocklist: () => Promise<string[]>;
103
- fetchDisappearingDuration: (...jids: string[]) => Promise<import("..").USyncQueryResultList[] | undefined>;
104
- fetchStatus: (...jids: string[]) => Promise<import("..").USyncQueryResultList[] | undefined>;
105
- updateProfilePicture: (jid: string, content: import("../Types").WAMediaUpload) => Promise<void>;
106
- removeProfilePicture: (jid: string) => Promise<void>;
107
- updateProfileStatus: (status: string) => Promise<void>;
108
- updateProfileName: (name: string) => Promise<void>;
109
- updateBlockStatus: (jid: string, action: "block" | "unblock") => Promise<void>;
110
- updateCallPrivacy: (value: import("../Types").WAPrivacyCallValue) => Promise<void>;
111
- updateMessagesPrivacy: (value: import("../Types").WAPrivacyMessagesValue) => Promise<void>;
112
- updateLastSeenPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
113
- updateOnlinePrivacy: (value: import("../Types").WAPrivacyOnlineValue) => Promise<void>;
114
- updateProfilePicturePrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
115
- updateStatusPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
116
- updateReadReceiptsPrivacy: (value: import("../Types").WAReadReceiptsValue) => Promise<void>;
117
- updateGroupsAddPrivacy: (value: import("../Types").WAPrivacyGroupAddValue) => Promise<void>;
118
- updateDefaultDisappearingMode: (duration: number) => Promise<void>;
119
- getBusinessProfile: (jid: string) => Promise<import("../Types").WABusinessProfile | void>;
120
- resyncAppState: (collections: readonly ("critical_unblock_low" | "regular_high" | "regular_low" | "critical_block" | "regular")[], isInitialSync: boolean) => Promise<void>;
121
- chatModify: (mod: import("../Types").ChatModification, jid: string) => Promise<void>;
122
- cleanDirtyBits: (type: "account_sync" | "groups", fromTimestamp?: number | string) => Promise<void>;
123
- addChatLabel: (jid: string, labelId: string) => Promise<void>;
124
- removeChatLabel: (jid: string, labelId: string) => Promise<void>;
125
- addMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
126
- removeMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
127
- star: (jid: string, messages: {
128
- id: string;
129
- fromMe?: boolean;
130
- }[], star: boolean) => Promise<void>;
131
- executeUSyncQuery: (usyncQuery: import("..").USyncQuery) => Promise<import("..").USyncQueryResult | undefined>;
132
- type: "md";
133
- ws: import("./Client").WebSocketClient;
134
- ev: import("../Types").BaileysEventEmitter & {
135
- process(handler: (events: Partial<import("../Types").BaileysEventMap>) => void | Promise<void>): (() => void);
136
- buffer(): void;
137
- createBufferedFunction<A extends any[], T>(work: (...args: A) => Promise<T>): ((...args: A) => Promise<T>);
138
- flush(force?: boolean): boolean;
139
- isBuffering(): boolean;
140
- };
141
- authState: {
142
- creds: import("../Types").AuthenticationCreds;
143
- keys: import("../Types").SignalKeyStoreWithTransaction;
144
- };
145
- signalRepository: import("../Types").SignalRepository;
146
- user: import("../Types").Contact | undefined;
147
- generateMessageTag: () => string;
148
- query: (node: BinaryNode, timeoutMs?: number) => Promise<any>;
149
- waitForMessage: <T>(msgId: string, timeoutMs?: number | undefined) => Promise<any>;
150
- waitForSocketOpen: () => Promise<void>;
151
- sendRawMessage: (data: Uint8Array | Buffer) => Promise<void>;
152
- sendNode: (frame: BinaryNode) => Promise<void>;
153
- logout: (msg?: string) => Promise<void>;
154
- end: (error: Error | undefined) => void;
155
- onUnexpectedError: (err: Error | Boom, msg: string) => void;
156
- uploadPreKeys: (count?: number) => Promise<void>;
157
- uploadPreKeysToServerIfRequired: () => Promise<void>;
158
- requestPairingCode: (phoneNumber: any, pairKey?: string) => Promise<string>;
159
- waitForConnectionUpdate: (check: (u: Partial<import("../Types").ConnectionState>) => Promise<boolean | undefined>, timeoutMs?: number) => Promise<void>;
160
- sendWAMBuffer: (wamBuffer: Buffer) => Promise<any>;
161
- };