@modzneverdie/baileys 17.1.12 → 17.1.17

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 (113) hide show
  1. package/README.md +364 -0
  2. package/engine-requirements.js +4 -4
  3. package/lib/Defaults/baileys-version.json +1 -1
  4. package/lib/Defaults/index.d.ts +6 -4
  5. package/lib/Defaults/index.js +119 -78
  6. package/lib/Defaults/phonenumber-mcc.json +223 -0
  7. package/lib/Socket/Client/{types.d.ts → abstract-socket-client.d.ts} +2 -1
  8. package/lib/Socket/Client/index.d.ts +3 -2
  9. package/lib/Socket/Client/index.js +3 -2
  10. package/lib/Socket/Client/mobile-socket-client.d.ts +13 -0
  11. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  12. package/lib/Socket/Client/{websocket.d.ts → web-socket-client.d.ts} +1 -2
  13. package/lib/Socket/Client/{websocket.js → web-socket-client.js} +5 -54
  14. package/lib/Socket/business.d.ts +58 -59
  15. package/lib/Socket/chats.d.ts +230 -45
  16. package/lib/Socket/chats.js +238 -139
  17. package/lib/Socket/{setup.ts → dugong.d.ts} +52 -17
  18. package/lib/Socket/dugong.js +484 -0
  19. package/lib/Socket/groups.d.ts +32 -41
  20. package/lib/Socket/groups.js +23 -38
  21. package/lib/Socket/index.d.ts +64 -63
  22. package/lib/Socket/index.js +3 -2
  23. package/lib/Socket/messages-recv.js +65 -9
  24. package/lib/Socket/messages-send.d.ts +47 -49
  25. package/lib/Socket/messages-send.js +399 -415
  26. package/lib/Socket/newsletter.d.ts +37 -39
  27. package/lib/Socket/newsletter.js +136 -71
  28. package/lib/Socket/registration.d.ts +267 -0
  29. package/lib/Socket/registration.js +166 -0
  30. package/lib/Socket/socket.d.ts +10 -10
  31. package/lib/Socket/socket.js +617 -754
  32. package/lib/Socket/usync.d.ts +3 -3
  33. package/lib/Store/index.d.ts +2 -1
  34. package/lib/Store/index.js +3 -1
  35. package/lib/Store/make-cache-manager-store.d.ts +13 -0
  36. package/lib/Store/make-cache-manager-store.js +83 -0
  37. package/lib/Store/make-in-memory-store.d.ts +24 -24
  38. package/lib/Store/make-in-memory-store.js +14 -26
  39. package/lib/Store/make-ordered-dictionary.d.ts +1 -1
  40. package/lib/Store/make-ordered-dictionary.js +2 -2
  41. package/lib/Types/Auth.d.ts +7 -0
  42. package/lib/Types/Call.d.ts +1 -1
  43. package/lib/Types/Chat.d.ts +7 -14
  44. package/lib/Types/Contact.d.ts +1 -5
  45. package/lib/Types/Events.d.ts +2 -44
  46. package/lib/Types/GroupMetadata.d.ts +2 -11
  47. package/lib/Types/Label.js +1 -1
  48. package/lib/Types/LabelAssociation.js +1 -1
  49. package/lib/Types/Message.d.ts +21 -148
  50. package/lib/Types/Message.js +2 -0
  51. package/lib/Types/Newsletter.d.ts +97 -73
  52. package/lib/Types/Newsletter.js +38 -18
  53. package/lib/Types/Socket.d.ts +9 -17
  54. package/lib/Types/index.d.ts +1 -8
  55. package/lib/Types/index.js +2 -2
  56. package/lib/Utils/auth-utils.d.ts +3 -3
  57. package/lib/Utils/auth-utils.js +13 -6
  58. package/lib/Utils/business.js +2 -2
  59. package/lib/Utils/chat-utils.d.ts +16 -15
  60. package/lib/Utils/chat-utils.js +35 -36
  61. package/lib/Utils/crypto.d.ts +16 -15
  62. package/lib/Utils/crypto.js +29 -71
  63. package/lib/Utils/decode-wa-message.d.ts +6 -22
  64. package/lib/Utils/decode-wa-message.js +56 -65
  65. package/lib/Utils/event-buffer.d.ts +2 -2
  66. package/lib/Utils/event-buffer.js +7 -11
  67. package/lib/Utils/generics.d.ts +20 -17
  68. package/lib/Utils/generics.js +84 -102
  69. package/lib/Utils/history.d.ts +0 -4
  70. package/lib/Utils/history.js +6 -4
  71. package/lib/Utils/link-preview.d.ts +2 -2
  72. package/lib/Utils/link-preview.js +1 -34
  73. package/lib/Utils/logger.d.ts +3 -10
  74. package/lib/Utils/lt-hash.d.ts +2 -2
  75. package/lib/Utils/lt-hash.js +6 -6
  76. package/lib/Utils/make-mutex.d.ts +2 -2
  77. package/lib/Utils/messages-media.d.ts +24 -28
  78. package/lib/Utils/messages-media.js +236 -298
  79. package/lib/Utils/messages.d.ts +10 -8
  80. package/lib/Utils/messages.js +60 -304
  81. package/lib/Utils/noise-handler.d.ts +12 -10
  82. package/lib/Utils/noise-handler.js +23 -18
  83. package/lib/Utils/process-message.d.ts +4 -5
  84. package/lib/Utils/process-message.js +25 -89
  85. package/lib/Utils/signal.d.ts +1 -2
  86. package/lib/Utils/signal.js +26 -26
  87. package/lib/Utils/use-multi-file-auth-state.d.ts +1 -0
  88. package/lib/Utils/use-multi-file-auth-state.js +0 -6
  89. package/lib/Utils/validate-connection.d.ts +4 -3
  90. package/lib/Utils/validate-connection.js +76 -20
  91. package/lib/WABinary/constants.d.ts +27 -24
  92. package/lib/WABinary/constants.js +13 -1276
  93. package/lib/WABinary/decode.d.ts +4 -3
  94. package/lib/WABinary/decode.js +13 -26
  95. package/lib/WABinary/encode.d.ts +2 -1
  96. package/lib/WABinary/encode.js +152 -137
  97. package/lib/WABinary/generic-utils.d.ts +4 -1
  98. package/lib/WABinary/generic-utils.js +125 -37
  99. package/lib/WABinary/jid-utils.d.ts +5 -10
  100. package/lib/WABinary/jid-utils.js +5 -26
  101. package/lib/WAM/BinaryInfo.d.ts +11 -2
  102. package/lib/WAM/encode.d.ts +2 -1
  103. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +1 -1
  104. package/lib/index.d.ts +2 -6
  105. package/lib/index.js +6 -20
  106. package/package.json +105 -107
  107. package/WAProto/GenerateStatics.sh +0 -4
  108. package/WAProto/WAProto.proto +0 -4775
  109. package/WAProto/index.d.ts +0 -55057
  110. package/WAProto/index.ts.ts +0 -53473
  111. package/lib/Socket/setup.js +0 -433
  112. package/lib/WABinary/jid-utils.js.bak +0 -83
  113. /package/lib/Socket/Client/{types.js → abstract-socket-client.js} +0 -0
@@ -1,433 +0,0 @@
1
- const WAProto = require('../../WAProto').proto;
2
- const crypto = require('crypto');
3
-
4
- class NotForrAll {
5
- constructor(utils, waUploadToServer, relayMessageFn) {
6
- this.utils = utils;
7
- this.relayMessage = relayMessageFn
8
- this.waUploadToServer = waUploadToServer;
9
- }
10
-
11
- detectType(content) {
12
- if (content.requestPaymentMessage) return 'PAYMENT';
13
- if (content.productMessage) return 'PRODUCT';
14
- if (content.interactiveMessage) return 'INTERACTIVE';
15
- if (content.albumMessage) return 'ALBUM';
16
- if (content.eventMessage) return 'EVENT';
17
- if (content.pollResultMessage) return 'POLL_RESULT'
18
- return null;
19
- }
20
-
21
- async handlePayment(content, quoted) {
22
- const data = content.requestPaymentMessage;
23
- let notes = {};
24
-
25
- if (data.sticker?.stickerMessage) {
26
- notes = {
27
- stickerMessage: {
28
- ...data.sticker.stickerMessage,
29
- contextInfo: {
30
- stanzaId: quoted?.key?.id,
31
- participant: quoted?.key?.participant || content.sender,
32
- quotedMessage: quoted?.message
33
- }
34
- }
35
- };
36
- } else if (data.note) {
37
- notes = {
38
- extendedTextMessage: {
39
- text: data.note,
40
- contextInfo: {
41
- stanzaId: quoted?.key?.id,
42
- participant: quoted?.key?.participant || content.sender,
43
- quotedMessage: quoted?.message
44
- }
45
- }
46
- };
47
- }
48
-
49
- return {
50
- requestPaymentMessage: WAProto.Message.RequestPaymentMessage.fromObject({
51
- expiryTimestamp: data.expiry || 0,
52
- amount1000: data.amount || 0,
53
- currencyCodeIso4217: data.currency || "IDR",
54
- requestFrom: data.from || "0@s.whatsapp.net",
55
- noteMessage: notes,
56
- background: data.background ?? {
57
- id: "DEFAULT",
58
- placeholderArgb: 0xFFF0F0F0
59
- }
60
- })
61
- };
62
- }
63
-
64
- async handleProduct(content, jid, quoted) {
65
- const {
66
- title,
67
- description,
68
- thumbnail,
69
- productId,
70
- retailerId,
71
- url,
72
- body = "",
73
- footer = "",
74
- buttons = [],
75
- } = content.productMessage;
76
-
77
- let productImage;
78
-
79
- if (Buffer.isBuffer(thumbnail)) {
80
- const { imageMessage } = await this.utils.generateWAMessageContent(
81
- { image: thumbnail },
82
- { upload: this.waUploadToServer }
83
- );
84
- productImage = imageMessage;
85
- } else if (typeof thumbnail === 'object' && thumbnail.url) {
86
- const { imageMessage } = await this.utils.generateWAMessageContent(
87
- { image: { url: thumbnail.url }},
88
- { upload: this.waUploadToServer }
89
- );
90
- productImage = imageMessage;
91
- }
92
-
93
- return {
94
- viewOnceMessage: {
95
- message: {
96
- interactiveMessage: {
97
- body: { text: body },
98
- footer: { text: footer },
99
- header: {
100
- title,
101
- hasMediaAttachment: true,
102
- productMessage: {
103
- product: {
104
- productImage,
105
- productId,
106
- title,
107
- description,
108
- retailerId,
109
- url,
110
- productImageCount: 1
111
- },
112
- businessOwnerJid: "0@s.whatsapp.net"
113
- }
114
- },
115
- nativeFlowMessage: { buttons }
116
- }
117
- }
118
- }
119
- };
120
- }
121
-
122
- async handleInteractive(content, jid, quoted) {
123
- const {
124
- title,
125
- footer,
126
- thumbnail,
127
- image,
128
- video,
129
- document,
130
- mimetype,
131
- fileName,
132
- jpegThumbnail,
133
- contextInfo,
134
- externalAdReply,
135
- buttons = [],
136
- nativeFlowMessage
137
- } = content.interactiveMessage;
138
-
139
- let media = null;
140
- let mediaType = null;
141
-
142
- if (thumbnail) {
143
- media = await this.utils.prepareWAMessageMedia(
144
- { image: { url: thumbnail } },
145
- { upload: this.waUploadToServer }
146
- );
147
- mediaType = 'image';
148
- } else if (image) {
149
- if (typeof image === 'object' && image.url) {
150
- media = await this.utils.prepareWAMessageMedia(
151
- { image: { url: image.url } },
152
- { upload: this.waUploadToServer }
153
- );
154
- } else {
155
- media = await this.utils.prepareWAMessageMedia(
156
- { image: image },
157
- { upload: this.waUploadToServer }
158
- );
159
- }
160
- mediaType = 'image';
161
- } else if (video) {
162
- if (typeof video === 'object' && video.url) {
163
- media = await this.utils.prepareWAMessageMedia(
164
- { video: { url: video.url } },
165
- { upload: this.waUploadToServer }
166
- );
167
- } else {
168
- media = await this.utils.prepareWAMessageMedia(
169
- { video: video },
170
- { upload: this.waUploadToServer }
171
- );
172
- }
173
- mediaType = 'video';
174
- } else if (document) {
175
- let documentPayload = { document: document };
176
-
177
- if (jpegThumbnail) {
178
- if (typeof jpegThumbnail === 'object' && jpegThumbnail.url) {
179
- documentPayload.jpegThumbnail = { url: jpegThumbnail.url };
180
- } else {
181
- documentPayload.jpegThumbnail = jpegThumbnail;
182
- }
183
- }
184
-
185
- media = await this.utils.prepareWAMessageMedia(
186
- documentPayload,
187
- { upload: this.waUploadToServer }
188
- );
189
-
190
- if (fileName) {
191
- media.documentMessage.fileName = fileName;
192
- }
193
- if (mimetype) {
194
- media.documentMessage.mimetype = mimetype;
195
- }
196
- mediaType = 'document';
197
- }
198
-
199
- let interactiveMessage = {
200
- body: { text: title || "" },
201
- footer: { text: footer || "" }
202
- };
203
-
204
- if (buttons && buttons.length > 0) {
205
- interactiveMessage.nativeFlowMessage = {
206
- buttons: buttons
207
- };
208
-
209
- if (nativeFlowMessage) {
210
- interactiveMessage.nativeFlowMessage = {
211
- ...interactiveMessage.nativeFlowMessage,
212
- ...nativeFlowMessage
213
- };
214
- }
215
- } else if (nativeFlowMessage) {
216
- interactiveMessage.nativeFlowMessage = nativeFlowMessage;
217
- }
218
-
219
- if (media) {
220
- interactiveMessage.header = {
221
- title: "",
222
- hasMediaAttachment: true,
223
- ...media
224
- };
225
- } else {
226
- interactiveMessage.header = {
227
- title: "",
228
- hasMediaAttachment: false
229
- };
230
- }
231
-
232
- let finalContextInfo = {};
233
-
234
- if (contextInfo) {
235
- finalContextInfo = {
236
- mentionedJid: contextInfo.mentionedJid || [],
237
- forwardingScore: contextInfo.forwardingScore || 0,
238
- isForwarded: contextInfo.isForwarded || false,
239
- ...contextInfo
240
- };
241
- }
242
-
243
- if (externalAdReply) {
244
- finalContextInfo.externalAdReply = {
245
- title: externalAdReply.title || "",
246
- body: externalAdReply.body || "",
247
- mediaType: externalAdReply.mediaType || 1,
248
- thumbnailUrl: externalAdReply.thumbnailUrl || "",
249
- mediaUrl: externalAdReply.mediaUrl || "",
250
- sourceUrl: externalAdReply.sourceUrl || "",
251
- showAdAttribution: externalAdReply.showAdAttribution || false,
252
- renderLargerThumbnail: externalAdReply.renderLargerThumbnail || false,
253
- ...externalAdReply
254
- };
255
- }
256
-
257
- if (Object.keys(finalContextInfo).length > 0) {
258
- interactiveMessage.contextInfo = finalContextInfo;
259
- }
260
-
261
- return {
262
- interactiveMessage: interactiveMessage
263
- };
264
- }
265
-
266
- async handleAlbum(content, jid, quoted) {
267
- const array = content.albumMessage;
268
- const album = await this.utils.generateWAMessageFromContent(jid, {
269
- messageContextInfo: {
270
- messageSecret: crypto.randomBytes(32),
271
- },
272
- albumMessage: {
273
- expectedImageCount: array.filter((a) => a.hasOwnProperty("image")).length,
274
- expectedVideoCount: array.filter((a) => a.hasOwnProperty("video")).length,
275
- },
276
- }, {
277
- userJid: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
278
- quoted,
279
- upload: this.waUploadToServer
280
- });
281
-
282
- await this.relayMessage(jid, album.message, {
283
- messageId: album.key.id,
284
- });
285
-
286
- for (let content of array) {
287
- const img = await this.utils.generateWAMessage(jid, content, {
288
- upload: this.waUploadToServer,
289
- });
290
-
291
- img.message.messageContextInfo = {
292
- messageSecret: crypto.randomBytes(32),
293
- messageAssociation: {
294
- associationType: 1,
295
- parentMessageKey: album.key,
296
- },
297
- participant: "0@s.whatsapp.net",
298
- remoteJid: "status@broadcast",
299
- forwardingScore: 99999,
300
- isForwarded: true,
301
- mentionedJid: [jid],
302
- starred: true,
303
- labels: ["Y", "Important"],
304
- isHighlighted: true,
305
- businessMessageForwardInfo: {
306
- businessOwnerJid: jid,
307
- },
308
- dataSharingContext: {
309
- showMmDisclosure: true,
310
- },
311
- };
312
-
313
- img.message.forwardedNewsletterMessageInfo = {
314
- newsletterJid: "0@newsletter",
315
- serverMessageId: 1,
316
- newsletterName: `WhatsApp`,
317
- contentType: 1,
318
- timestamp: new Date().toISOString(),
319
- senderName: "NotForrAll",
320
- content: "Text Message",
321
- priority: "high",
322
- status: "sent",
323
- };
324
-
325
- img.message.disappearingMode = {
326
- initiator: 3,
327
- trigger: 4,
328
- initiatorDeviceJid: jid,
329
- initiatedByExternalService: true,
330
- initiatedByUserDevice: true,
331
- initiatedBySystem: true,
332
- initiatedByServer: true,
333
- initiatedByAdmin: true,
334
- initiatedByUser: true,
335
- initiatedByApp: true,
336
- initiatedByBot: true,
337
- initiatedByMe: true,
338
- };
339
-
340
- await this.relayMessage(jid, img.message, {
341
- messageId: img.key.id,
342
- quoted: {
343
- key: {
344
- remoteJid: album.key.remoteJid,
345
- id: album.key.id,
346
- fromMe: true,
347
- participant: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
348
- },
349
- message: album.message,
350
- },
351
- });
352
- }
353
- return album;
354
- }
355
-
356
- async handleEvent(content, jid, quoted) {
357
- const eventData = content.eventMessage;
358
-
359
- const msg = await this.utils.generateWAMessageFromContent(jid, {
360
- viewOnceMessage: {
361
- message: {
362
- messageContextInfo: {
363
- deviceListMetadata: {},
364
- deviceListMetadataVersion: 2,
365
- messageSecret: crypto.randomBytes(32),
366
- supportPayload: JSON.stringify({
367
- version: 2,
368
- is_ai_message: true,
369
- should_show_system_message: true,
370
- ticket_id: crypto.randomBytes(16).toString('hex')
371
- })
372
- },
373
- eventMessage: {
374
- contextInfo: {
375
- mentionedJid: [jid],
376
- participant: jid,
377
- remoteJid: "status@broadcast",
378
- forwardedNewsletterMessageInfo: {
379
- newsletterName: "Modz Never Die",
380
- newsletterJid: "120363379975415016@newsletter",
381
- serverMessageId: 1
382
- }
383
- },
384
- isCanceled: eventData.isCanceled || false,
385
- name: eventData.name,
386
- description: eventData.description,
387
- location: eventData.location || {
388
- degreesLatitude: 0,
389
- degreesLongitude: 0,
390
- name: "Location"
391
- },
392
- joinLink: eventData.joinLink || '',
393
- startTime: typeof eventData.startTime === 'string' ? parseInt(eventData.startTime) : eventData.startTime || Date.now(),
394
- endTime: typeof eventData.endTime === 'string' ? parseInt(eventData.endTime) : eventData.endTime || Date.now() + 3600000,
395
- extraGuestsAllowed: eventData.extraGuestsAllowed !== false
396
- }
397
- }
398
- }
399
- }, { quoted });
400
-
401
- await this.relayMessage(jid, msg.message, {
402
- messageId: msg.key.id
403
- });
404
- return msg;
405
- }
406
-
407
- async handlePollResult(content, jid, quoted) {
408
- const pollData = content.pollResultMessage;
409
-
410
- const msg = await this.utils.generateWAMessageFromContent(jid, {
411
- pollResultSnapshotMessage: {
412
- name: pollData.name,
413
- pollVotes: pollData.pollVotes.map(vote => ({
414
- optionName: vote.optionName,
415
- optionVoteCount: typeof vote.optionVoteCount === 'number'
416
- ? vote.optionVoteCount.toString()
417
- : vote.optionVoteCount
418
- }))
419
- }
420
- }, {
421
- userJid: this.utils.generateMessageID().split('@')[0] + '@s.whatsapp.net',
422
- quoted
423
- });
424
-
425
- await this.relayMessage(jid, msg.message, {
426
- messageId: msg.key.id
427
- });
428
-
429
- return msg;
430
- }
431
- }
432
-
433
- module.exports = NotForrAll;
@@ -1,83 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getBotJid = exports.jidNormalizedUser = exports.isJidBot = exports.isJidStatusBroadcast = exports.isJidGroup = exports.isJidNewsletter = exports.isJidBroadcast = exports.isLidUser = exports.isJidUser = exports.isJidMetaAi = exports.areJidsSameUser = exports.jidDecode = exports.jidEncode = exports.META_AI_JID = exports.STORIES_JID = exports.PSA_WID = exports.SERVER_JID = exports.OFFICIAL_BIZ_JID = exports.S_WHATSAPP_NET = void 0;
4
- exports.S_WHATSAPP_NET = '@s.whatsapp.net';
5
- exports.OFFICIAL_BIZ_JID = '16505361212@c.us';
6
- exports.SERVER_JID = 'server@c.us';
7
- exports.PSA_WID = '0@c.us';
8
- exports.STORIES_JID = 'status@broadcast';
9
- exports.META_AI_JID = '13135550002@c.us';
10
- const jidEncode = (user, server, device, agent) => {
11
- return `${user || ''}${!!agent ? `_${agent}` : ''}${!!device ? `:${device}` : ''}@${server}`;
12
- };
13
- exports.jidEncode = jidEncode;
14
- const jidDecode = (jid) => {
15
- const sepIdx = typeof jid === 'string' ? jid.indexOf('@') : -1;
16
- if (sepIdx < 0) {
17
- return undefined;
18
- }
19
- const server = jid.slice(sepIdx + 1);
20
- const userCombined = jid.slice(0, sepIdx);
21
- const [userAgent, device] = userCombined.split(':');
22
- const user = userAgent.split('_')[0];
23
- return {
24
- server: server,
25
- user,
26
- domainType: server === 'lid' ? 1 : 0,
27
- device: device ? +device : undefined
28
- };
29
- };
30
- exports.jidDecode = jidDecode;
31
- /** is the jid a user */
32
- const areJidsSameUser = (jid1, jid2) => {
33
- var _a, _b;
34
- return (((_a = (0, exports.jidDecode)(jid1)) === null || _a === void 0 ? void 0 : _a.user) === ((_b = (0, exports.jidDecode)(jid2)) === null || _b === void 0 ? void 0 : _b.user));
35
- };
36
- exports.areJidsSameUser = areJidsSameUser;
37
- /** is the jid Meta IA */
38
- const isJidMetaAi = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('@bot'));
39
- exports.isJidMetaAi = isJidMetaAi;
40
- /** is the jid a user */
41
- const isJidUser = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('@s.whatsapp.net'));
42
- exports.isJidUser = isJidUser;
43
- /** is the jid a group */
44
- const isLidUser = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('@lid'));
45
- exports.isLidUser = isLidUser;
46
- /** is the jid a broadcast */
47
- const isJidBroadcast = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('@broadcast'));
48
- exports.isJidBroadcast = isJidBroadcast;
49
- /** is the jid a newsletter */
50
- const isJidNewsletter = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('@newsletter'));
51
- exports.isJidNewsletter = isJidNewsletter;
52
- /** is the jid a group */
53
- const isJidGroup = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('@g.us'));
54
- exports.isJidGroup = isJidGroup;
55
- /** is the jid the status broadcast */
56
- const isJidStatusBroadcast = (jid) => jid === 'status@broadcast';
57
- exports.isJidStatusBroadcast = isJidStatusBroadcast;
58
- const botRegexp = /^1313555\d{4}$|^131655500\d{2}$/;
59
- const isJidBot = (jid) => (jid && botRegexp.test(jid.split('@')[0]) && jid.endsWith('@c.us'));
60
- exports.isJidBot = isJidBot;
61
- const jidNormalizedUser = (jid) => {
62
- const result = (0, exports.jidDecode)(jid);
63
- if (!result) {
64
- return '';
65
- }
66
- const { user, server } = result;
67
- return (0, exports.jidEncode)(user, server === 'c.us' ? 's.whatsapp.net' : server);
68
- };
69
- exports.jidNormalizedUser = jidNormalizedUser;
70
- const getBotJid = (jid) => {
71
- const BOT_MAP = new Map([["867051314767696", "13135550002"], ["1061492271844689", "13135550005"], ["245886058483988", "13135550009"], ["3509905702656130", "13135550012"], ["1059680132034576", "13135550013"], ["715681030623646", "13135550014"], ["1644971366323052", "13135550015"], ["582497970646566", "13135550019"], ["645459357769306", "13135550022"], ["294997126699143", "13135550023"], ["1522631578502677", "13135550027"], ["719421926276396", "13135550030"], ["1788488635002167", "13135550031"], ["24232338603080193", "13135550033"], ["689289903143209", "13135550035"], ["871626054177096", "13135550039"], ["362351902849370", "13135550042"], ["1744617646041527", "13135550043"], ["893887762270570", "13135550046"], ["1155032702135830", "13135550047"], ["333931965993883", "13135550048"], ["853748013058752", "13135550049"], ["1559068611564819", "13135550053"], ["890487432705716", "13135550054"], ["240254602395494", "13135550055"], ["1578420349663261", "13135550062"], ["322908887140421", "13135550065"], ["3713961535514771", "13135550067"], ["997884654811738", "13135550070"], ["403157239387035", "13135550081"], ["535242369074963", "13135550082"], ["946293427247659", "13135550083"], ["3664707673802291", "13135550084"], ["1821827464894892", "13135550085"], ["1760312477828757", "13135550086"], ["439480398712216", "13135550087"], ["1876735582800984", "13135550088"], ["984025089825661", "13135550089"], ["1001336351558186", "13135550090"], ["3739346336347061", "13135550091"], ["3632749426974980", "13135550092"], ["427864203481615", "13135550093"], ["1434734570493055", "13135550094"], ["992873449225921", "13135550095"], ["813087747426445", "13135550096"], ["806369104931434", "13135550098"], ["1220982902403148", "13135550099"], ["1365893374104393", "13135550100"], ["686482033622048", "13135550200"], ["1454999838411253", "13135550201"], ["718584497008509", "13135550202"], ["743520384213443", "13135550301"], ["1147715789823789", "13135550302"], ["1173034540372201", "13135550303"], ["974785541030953", "13135550304"], ["1122200255531507", "13135550305"], ["899669714813162", "13135550306"], ["631880108970650", "13135550307"], ["435816149330026", "13135550308"], ["1368717161184556", "13135550309"], ["7849963461784891", "13135550310"], ["3609617065968984", "13135550312"], ["356273980574602", "13135550313"], ["1043447920539760", "13135550314"], ["1052764336525346", "13135550315"], ["2631118843732685", "13135550316"], ["510505411332176", "13135550317"], ["1945664239227513", "13135550318"], ["1518594378764656", "13135550319"], ["1378821579456138", "13135550320"], ["490214716896013", "13135550321"], ["1028577858870699", "13135550322"], ["308915665545959", "13135550323"], ["845884253678900", "13135550324"], ["995031308616442", "13135550325"], ["2787365464763437", "13135550326"], ["1532790990671645", "13135550327"], ["302617036180485", "13135550328"], ["723376723197227", "13135550329"], ["8393570407377966", "13135550330"], ["1931159970680725", "13135550331"], ["401073885688605", "13135550332"], ["2234478453565422", "13135550334"], ["814748673882312", "13135550335"], ["26133635056281592", "13135550336"], ["1439804456676119", "13135550337"], ["889851503172161", "13135550338"], ["1018283232836879", "13135550339"], ["1012781386779537", "13135559000"], ["823280953239532", "13135559001"], ["1597090934573334", "13135559002"], ["485965054020343", "13135559003"], ["1033381648363446", "13135559004"], ["491802010206446", "13135559005"], ["1017139033184870", "13135559006"], ["499638325922174", "13135559008"], ["468946335863664", "13135559009"], ["1570389776875816", "13135559010"], ["1004342694328995", "13135559011"], ["1012240323971229", "13135559012"], ["392171787222419", "13135559013"], ["952081212945019", "13135559016"], ["444507875070178", "13135559017"], ["1274819440594668", "13135559018"], ["1397041101147050", "13135559019"], ["425657699872640", "13135559020"], ["532292852562549", "13135559021"], ["705863241720292", "13135559022"], ["476449815183959", "13135559023"], ["488071553854222", "13135559024"], ["468693832665397", "13135559025"], ["517422564037340", "13135559026"], ["819805466613825", "13135559027"], ["1847708235641382", "13135559028"], ["716282970644228", "13135559029"], ["521655380527741", "13135559030"], ["476193631941905", "13135559031"], ["485600497445562", "13135559032"], ["440217235683910", "13135559033"], ["523342446758478", "13135559034"], ["514784864360240", "13135559035"], ["505790121814530", "13135559036"], ["420008964419580", "13135559037"], ["492141680204555", "13135559038"], ["388462787271952", "13135559039"], ["423473920752072", "13135559040"], ["489574180468229", "13135559041"], ["432360635854105", "13135559042"], ["477878201669248", "13135559043"], ["351656951234045", "13135559044"], ["430178036732582", "13135559045"], ["434537312944552", "13135559046"], ["1240614300631808", "13135559047"], ["473135945605128", "13135559048"], ["423669800729310", "13135559049"], ["3685666705015792", "13135559050"], ["504196509016638", "13135559051"], ["346844785189449", "13135559052"], ["504823088911074", "13135559053"], ["402669415797083", "13135559054"], ["490939640234431", "13135559055"], ["875124128063715", "13135559056"], ["468788962654605", "13135559057"], ["562386196354570", "13135559058"], ["372159285928791", "13135559059"], ["531017479591050", "13135559060"], ["1328873881401826", "13135559061"], ["1608363646390484", "13135559062"], ["1229628561554232", "13135559063"], ["348802211530364", "13135559064"], ["3708535859420184", "13135559065"], ["415517767742187", "13135559066"], ["479330341612638", "13135559067"], ["480785414723083", "13135559068"], ["387299107507991", "13135559069"], ["333389813188944", "13135559070"], ["391794130316996", "13135559071"], ["457893470576314", "13135559072"], ["435550496166469", "13135559073"], ["1620162702100689", "13135559074"], ["867491058616043", "13135559075"], ["816224117357759", "13135559076"], ["334065176362830", "13135559077"], ["489973170554709", "13135559078"], ["473060669049665", "13135559079"], ["1221505815643060", "13135559080"], ["889000703096359", "13135559081"], ["475235961979883", "13135559082"], ["3434445653519934", "13135559084"], ["524503026827421", "13135559085"], ["1179639046403856", "13135559086"], ["471563305859144", "13135559087"], ["533896609192881", "13135559088"], ["365443583168041", "13135559089"], ["836082305329393", "13135559090"], ["1056787705969916", "13135559091"], ["503312598958357", "13135559092"], ["3718606738453460", "13135559093"], ["826066052850902", "13135559094"], ["1033611345091888", "13135559095"], ["3868390816783240", "13135559096"], ["7462677740498860", "13135559097"], ["436288576108573", "13135559098"], ["1047559746718900", "13135559099"], ["1099299455255491", "13135559100"], ["1202037301040633", "13135559101"], ["1720619402074074", "13135559102"], ["1030422235101467", "13135559103"], ["827238979523502", "13135559104"], ["1516443722284921", "13135559105"], ["1174442747196709", "13135559106"], ["1653165225503842", "13135559107"], ["1037648777635013", "13135559108"], ["551617757299900", "13135559109"], ["1158813558718726", "13135559110"], ["2463236450542262", "13135559111"], ["1550393252501466", "13135559112"], ["2057065188042796", "13135559113"], ["506163028760735", "13135559114"], ["2065249100538481", "13135559115"], ["1041382867195858", "13135559116"], ["886500209499603", "13135559117"], ["1491615624892655", "13135559118"], ["486563697299617", "13135559119"], ["1175736513679463", "13135559120"], ["491811473512352", "13165550064"]]);
72
- const sepIdx = typeof jid === 'string' ? jid.indexOf('@') : -1;
73
- if (sepIdx < 0) {
74
- return jid;
75
- }
76
- const server = jid.slice(sepIdx + 1);
77
- if (server !== 'bot')
78
- return jid;
79
- const user = jid.slice(0, sepIdx);
80
- const mappedNumber = BOT_MAP.get(user);
81
- return mappedNumber ? `${mappedNumber}@s.whatsapp.net` : jid;
82
- };
83
- exports.getBotJid = getBotJid;