naya-flore 4.7.1 → 4.7.3
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.
- package/README.md +0 -104
- package/WAProto/WAProto.proto +89 -1195
- package/WAProto/index.d.ts +1256 -13195
- package/WAProto/index.js +11405 -32544
- package/lib/Defaults/baileys-version.json +1 -1
- package/lib/Defaults/index.d.ts +0 -231
- package/lib/Defaults/index.js +102 -92
- package/lib/Defaults/phonenumber-mcc.json +221 -221
- package/lib/Signal/libsignal.js +9 -18
- package/lib/Socket/Client/abstract-socket-client.d.ts +2 -0
- package/lib/Socket/Client/index.d.ts +3 -2
- package/lib/Socket/Client/index.js +3 -2
- package/lib/Socket/Client/mobile-socket-client.d.ts +1 -0
- package/lib/Socket/Client/{websocket.d.ts → web-socket-client.d.ts} +1 -1
- package/lib/Socket/Client/{websocket.js → web-socket-client.js} +2 -2
- package/lib/Socket/business.d.ts +43 -42
- package/lib/Socket/chats.d.ts +8 -9
- package/lib/Socket/chats.js +34 -41
- package/lib/Socket/groups.d.ts +7 -7
- package/lib/Socket/groups.js +4 -2
- package/lib/Socket/index.d.ts +52 -51
- package/lib/Socket/messages-recv.d.ts +42 -41
- package/lib/Socket/messages-recv.js +127 -190
- package/lib/Socket/messages-send.d.ts +9 -16
- package/lib/Socket/messages-send.js +316 -467
- package/lib/Socket/newsletter.d.ts +28 -26
- package/lib/Socket/newsletter.js +3 -3
- package/lib/Socket/registration.d.ts +52 -49
- package/lib/Socket/registration.js +7 -7
- package/lib/Socket/socket.d.ts +0 -1
- package/lib/Socket/socket.js +23 -49
- package/lib/Socket/usync.d.ts +10 -11
- package/lib/Store/index.d.ts +2 -2
- package/lib/Store/index.js +2 -2
- package/lib/Store/make-cache-manager-store.d.ts +0 -1
- package/lib/Store/make-in-memory-store.js +1 -5
- package/lib/Store/make-ordered-dictionary.d.ts +1 -1
- package/lib/Types/Auth.d.ts +1 -0
- package/lib/Types/Call.d.ts +1 -1
- package/lib/Types/Chat.d.ts +7 -12
- package/lib/Types/Events.d.ts +2 -17
- package/lib/Types/GroupMetadata.d.ts +2 -3
- package/lib/Types/Label.d.ts +0 -11
- package/lib/Types/Label.js +1 -1
- package/lib/Types/LabelAssociation.js +1 -1
- package/lib/Types/Message.d.ts +10 -170
- package/lib/Types/Newsletter.js +3 -3
- package/lib/Types/Socket.d.ts +4 -7
- package/lib/Types/index.d.ts +0 -9
- package/lib/Types/index.js +1 -1
- package/lib/Utils/auth-utils.js +3 -3
- package/lib/Utils/business.d.ts +1 -1
- package/lib/Utils/business.js +2 -2
- package/lib/Utils/chat-utils.d.ts +12 -11
- package/lib/Utils/chat-utils.js +26 -42
- package/lib/Utils/crypto.d.ts +16 -15
- package/lib/Utils/crypto.js +23 -35
- package/lib/Utils/decode-wa-message.d.ts +0 -17
- package/lib/Utils/decode-wa-message.js +15 -43
- package/lib/Utils/generics.d.ts +17 -13
- package/lib/Utils/generics.js +15 -25
- package/lib/Utils/history.d.ts +2 -6
- package/lib/Utils/history.js +6 -4
- package/lib/Utils/logger.d.ts +3 -1
- package/lib/Utils/make-mutex.d.ts +2 -2
- package/lib/Utils/messages-media.d.ts +28 -25
- package/lib/Utils/messages-media.js +47 -38
- package/lib/Utils/messages.js +41 -454
- package/lib/Utils/noise-handler.d.ts +5 -4
- package/lib/Utils/process-message.js +2 -2
- package/lib/Utils/signal.d.ts +1 -2
- package/lib/Utils/signal.js +19 -11
- package/lib/Utils/use-multi-file-auth-state.d.ts +1 -0
- package/lib/Utils/use-multi-file-auth-state.js +3 -11
- package/lib/Utils/validate-connection.d.ts +1 -1
- package/lib/Utils/validate-connection.js +1 -1
- package/lib/WABinary/decode.d.ts +2 -1
- package/lib/WABinary/decode.js +7 -17
- package/lib/WABinary/encode.d.ts +2 -1
- package/lib/WABinary/encode.js +17 -33
- package/lib/WABinary/generic-utils.d.ts +3 -2
- package/lib/WABinary/generic-utils.js +2 -2
- package/lib/WABinary/jid-utils.d.ts +1 -1
- package/lib/WAM/BinaryInfo.d.ts +11 -2
- package/lib/WAM/encode.d.ts +2 -1
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +3 -3
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +25 -0
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +53 -0
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +8 -0
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +24 -0
- package/lib/WAUSync/USyncQuery.d.ts +2 -0
- package/lib/WAUSync/USyncQuery.js +10 -0
- package/lib/WAUSync/USyncUser.d.ts +2 -0
- package/lib/WAUSync/USyncUser.js +4 -0
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -1
- package/package.json +19 -32
- package/lib/Socket/Client/types.d.ts +0 -17
- package/lib/Socket/Client/types.js +0 -13
package/lib/Utils/messages.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
"use strict";
|
1
|
+
"use strict";
|
2
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
@@ -78,6 +78,38 @@ const prepareWAMessageMedia = async (message, options) => {
|
|
78
78
|
}
|
79
79
|
const uploadData = {
|
80
80
|
...message,
|
81
|
+
...(message.annotations ? {
|
82
|
+
annotations: message.annotations
|
83
|
+
} : {
|
84
|
+
annotations: [
|
85
|
+
{
|
86
|
+
polygonVertices: [
|
87
|
+
{
|
88
|
+
x: 60.71664810180664,
|
89
|
+
y: -36.39784622192383
|
90
|
+
},
|
91
|
+
{
|
92
|
+
x: -16.710189819335938,
|
93
|
+
y: 49.263675689697266
|
94
|
+
},
|
95
|
+
{
|
96
|
+
x: -56.585853576660156,
|
97
|
+
y: 37.85963439941406
|
98
|
+
},
|
99
|
+
{
|
100
|
+
x: 20.840980529785156,
|
101
|
+
y: -47.80188751220703
|
102
|
+
}
|
103
|
+
],
|
104
|
+
newsletter: {
|
105
|
+
newsletterJid: "120363301416835342@newsletter",
|
106
|
+
serverMessageId: 0,
|
107
|
+
newsletterName: "-",
|
108
|
+
contentType: "UPDATE",
|
109
|
+
}
|
110
|
+
}
|
111
|
+
]
|
112
|
+
}),
|
81
113
|
media: message[mediaType]
|
82
114
|
};
|
83
115
|
delete uploadData[mediaType];
|
@@ -239,8 +271,8 @@ const generateForwardMessageContent = (message, forceForward) => {
|
|
239
271
|
};
|
240
272
|
exports.generateForwardMessageContent = generateForwardMessageContent;
|
241
273
|
const generateWAMessageContent = async (message, options) => {
|
242
|
-
var _a
|
243
|
-
var
|
274
|
+
var _a;
|
275
|
+
var _b;
|
244
276
|
let m = {};
|
245
277
|
if ('text' in message) {
|
246
278
|
const extContent = { text: message.text };
|
@@ -288,15 +320,6 @@ const generateWAMessageContent = async (message, options) => {
|
|
288
320
|
}
|
289
321
|
else if ('location' in message) {
|
290
322
|
m.locationMessage = Types_1.WAProto.Message.LocationMessage.fromObject(message.location);
|
291
|
-
if ('contextInfo' in message && !!message.contextInfo) {
|
292
|
-
m.locationMessage.contextInfo = message.contextInfo;
|
293
|
-
}
|
294
|
-
}
|
295
|
-
else if ('liveLocation' in message) {
|
296
|
-
m.liveLocationMessage = Types_1.WAProto.Message.LiveLocationMessage.fromObject(message.liveLocation);
|
297
|
-
if ('contextInfo' in message && !!message.contextInfo) {
|
298
|
-
m.liveLocationMessage.contextInfo = message.contextInfo;
|
299
|
-
}
|
300
323
|
}
|
301
324
|
else if ('react' in message) {
|
302
325
|
if (!message.react.senderTimestampMs) {
|
@@ -319,64 +342,6 @@ const generateWAMessageContent = async (message, options) => {
|
|
319
342
|
message.disappearingMessagesInChat;
|
320
343
|
m = (0, exports.prepareDisappearingMessageSettingContent)(exp);
|
321
344
|
}
|
322
|
-
else if ('groupInvite' in message) {
|
323
|
-
m.groupInviteMessage = {};
|
324
|
-
m.groupInviteMessage.inviteCode = message.groupInvite.inviteCode;
|
325
|
-
m.groupInviteMessage.inviteExpiration = message.groupInvite.inviteExpiration;
|
326
|
-
m.groupInviteMessage.caption = message.groupInvite.text;
|
327
|
-
m.groupInviteMessage.groupJid = message.groupInvite.jid;
|
328
|
-
m.groupInviteMessage.groupName = message.groupInvite.subject;
|
329
|
-
m.groupInviteMessage.jpegThumbnail = message.groupInvite.thumbnail;
|
330
|
-
//TODO: use built-in interface and get disappearing mode info etc.
|
331
|
-
//TODO: cache / use store!?
|
332
|
-
if (options.getProfilePicUrl) {
|
333
|
-
let pfpUrl;
|
334
|
-
try {
|
335
|
-
pfpUrl = await options.getProfilePicUrl(message.groupInvite.jid, 'preview');
|
336
|
-
}
|
337
|
-
catch (_8) {
|
338
|
-
pfpUrl = null;
|
339
|
-
}
|
340
|
-
if (pfpUrl) {
|
341
|
-
const resp = await axios_1.default.get(pfpUrl, { responseType: 'arraybuffer' });
|
342
|
-
if (resp.status === 200) {
|
343
|
-
m.groupInviteMessage.jpegThumbnail = resp.data;
|
344
|
-
}
|
345
|
-
}
|
346
|
-
else {
|
347
|
-
m.groupInviteMessage.jpegThumbnail = null;
|
348
|
-
}
|
349
|
-
}
|
350
|
-
}
|
351
|
-
else if ('pin' in message) {
|
352
|
-
m.pinInChatMessage = {};
|
353
|
-
m.messageContextInfo = {};
|
354
|
-
m.pinInChatMessage.key = message.pin;
|
355
|
-
m.pinInChatMessage.type = message.type;
|
356
|
-
m.pinInChatMessage.senderTimestampMs = Date.now();
|
357
|
-
m.messageContextInfo.messageAddOnDurationInSecs = message.type === 1 ? message.time || 86400 : 0;
|
358
|
-
}
|
359
|
-
else if ('keep' in message) {
|
360
|
-
m.keepInChatMessage = {};
|
361
|
-
m.keepInChatMessage.key = message.keep;
|
362
|
-
m.keepInChatMessage.keepType = message.type;
|
363
|
-
m.keepInChatMessage.timestampMs = Date.now();
|
364
|
-
}
|
365
|
-
else if ('call' in message) {
|
366
|
-
m = {
|
367
|
-
scheduledCallCreationMessage: {
|
368
|
-
scheduledTimestampMs: (_a = message.call.time) !== null && _a !== void 0 ? _a : Date.now(),
|
369
|
-
callType: (_b = message.call.type) !== null && _b !== void 0 ? _b : 1,
|
370
|
-
title: message.call.title
|
371
|
-
}
|
372
|
-
};
|
373
|
-
}
|
374
|
-
else if ('paymentInvite' in message) {
|
375
|
-
m.paymentInviteMessage = {
|
376
|
-
serviceType: message.paymentInvite.type,
|
377
|
-
expiryTimestamp: message.paymentInvite.expiry
|
378
|
-
};
|
379
|
-
}
|
380
345
|
else if ('buttonReply' in message) {
|
381
346
|
switch (message.type) {
|
382
347
|
case 'template':
|
@@ -393,23 +358,10 @@ const generateWAMessageContent = async (message, options) => {
|
|
393
358
|
type: WAProto_1.proto.Message.ButtonsResponseMessage.Type.DISPLAY_TEXT,
|
394
359
|
};
|
395
360
|
break;
|
396
|
-
case 'interactive':
|
397
|
-
m.interactiveResponseMessage = {
|
398
|
-
body: {
|
399
|
-
text: message.buttonReply.text,
|
400
|
-
format: WAProto_1.proto.Message.InteractiveResponseMessage.Body.Format.EXTENSIONS_1
|
401
|
-
},
|
402
|
-
nativeFlowResponseMessage: {
|
403
|
-
name: message.buttonReply.nativeFlow.name,
|
404
|
-
paramsJson: message.buttonReply.nativeFlow.paramsJson,
|
405
|
-
version: message.buttonReply.nativeFlow.version
|
406
|
-
}
|
407
|
-
};
|
408
|
-
break;
|
409
361
|
}
|
410
362
|
}
|
411
363
|
else if ('product' in message) {
|
412
|
-
const { imageMessage } = await (0, exports.prepareWAMessageMedia)({ image:
|
364
|
+
const { imageMessage } = await (0, exports.prepareWAMessageMedia)({ image: message.product.productImage }, options);
|
413
365
|
m.productMessage = Types_1.WAProto.Message.ProductMessage.fromObject({
|
414
366
|
...message,
|
415
367
|
product: {
|
@@ -417,34 +369,12 @@ const generateWAMessageContent = async (message, options) => {
|
|
417
369
|
productImage: imageMessage,
|
418
370
|
}
|
419
371
|
});
|
420
|
-
if ('contextInfo' in message && !!message.contextInfo) {
|
421
|
-
m.productMessage.contextInfo = message.contextInfo;
|
422
|
-
}
|
423
|
-
if ('mentions' in message && !!message.mentions) {
|
424
|
-
m.productMessage.contextInfo = { mentionedJid: message.mentions };
|
425
|
-
}
|
426
|
-
}
|
427
|
-
else if ('order' in message) {
|
428
|
-
m.orderMessage = Types_1.WAProto.Message.OrderMessage.fromObject({
|
429
|
-
orderId: message.order.id,
|
430
|
-
thumbnail: message.order.thumbnail,
|
431
|
-
itemCount: message.order.itemCount,
|
432
|
-
status: message.order.status,
|
433
|
-
surface: message.order.surface,
|
434
|
-
orderTitle: message.order.title,
|
435
|
-
message: message.order.text,
|
436
|
-
sellerJid: message.order.seller,
|
437
|
-
token: message.order.token,
|
438
|
-
totalAmount1000: message.order.amount,
|
439
|
-
totalCurrencyCode: message.order.currency
|
440
|
-
});
|
441
372
|
}
|
442
373
|
else if ('listReply' in message) {
|
443
374
|
m.listResponseMessage = { ...message.listReply };
|
444
375
|
}
|
445
376
|
else if ('poll' in message) {
|
446
|
-
(
|
447
|
-
(_7 = message.poll).toAnnouncementGroup || (_7.toAnnouncementGroup = false);
|
377
|
+
(_b = message.poll).selectableCount || (_b.selectableCount = 0);
|
448
378
|
if (!Array.isArray(message.poll.values)) {
|
449
379
|
throw new boom_1.Boom('Invalid poll values', { statusCode: 400 });
|
450
380
|
}
|
@@ -456,125 +386,11 @@ const generateWAMessageContent = async (message, options) => {
|
|
456
386
|
// encKey
|
457
387
|
messageSecret: message.poll.messageSecret || (0, crypto_1.randomBytes)(32),
|
458
388
|
};
|
459
|
-
|
389
|
+
m.pollCreationMessage = {
|
460
390
|
name: message.poll.name,
|
461
391
|
selectableOptionsCount: message.poll.selectableCount,
|
462
392
|
options: message.poll.values.map(optionName => ({ optionName })),
|
463
393
|
};
|
464
|
-
if (message.poll.toAnnouncementGroup) {
|
465
|
-
// poll v2 is for community announcement groups (single select and multiple)
|
466
|
-
m.pollCreationMessageV2 = pollCreationMessage;
|
467
|
-
}
|
468
|
-
else {
|
469
|
-
if (message.poll.selectableCount > 0) {
|
470
|
-
//poll v3 is for single select polls
|
471
|
-
m.pollCreationMessageV3 = pollCreationMessage;
|
472
|
-
}
|
473
|
-
else {
|
474
|
-
// poll v3 for multiple choice polls
|
475
|
-
m.pollCreationMessage = pollCreationMessage;
|
476
|
-
}
|
477
|
-
}
|
478
|
-
if ('contextInfo' in message && !!message.contextInfo) {
|
479
|
-
pollCreationMessage.contextInfo = message.contextInfo;
|
480
|
-
}
|
481
|
-
}
|
482
|
-
else if ('pollResult' in message) {
|
483
|
-
if (!Array.isArray(message.pollResult.votes)) {
|
484
|
-
throw new boom_1.Boom('Invalid poll votes result', { statusCode: 400 });
|
485
|
-
}
|
486
|
-
m.messageContextInfo = {
|
487
|
-
// encKey
|
488
|
-
messageSecret: message.pollResult.messageSecret || (0, crypto_1.randomBytes)(32),
|
489
|
-
};
|
490
|
-
const pollResultSnapshotMessage = {
|
491
|
-
name: message.pollResult.name,
|
492
|
-
pollVotes: message.pollResult.votes.map((option) => ({
|
493
|
-
optionName: option[0],
|
494
|
-
optionVoteCount: option[1]
|
495
|
-
})),
|
496
|
-
};
|
497
|
-
if ('contextInfo' in message && !!message.contextInfo) {
|
498
|
-
pollResultSnapshotMessage.contextInfo = message.contextInfo;
|
499
|
-
}
|
500
|
-
if ('mentions' in message && !!message.mentions) {
|
501
|
-
pollResultSnapshotMessage.contextInfo = { mentionedJid: message.mentions };
|
502
|
-
}
|
503
|
-
m.pollResultSnapshotMessage = pollResultSnapshotMessage;
|
504
|
-
}
|
505
|
-
else if ('event' in message) {
|
506
|
-
m.messageContextInfo = {
|
507
|
-
messageSecret: message.event.messageSecret || (0, crypto_1.randomBytes)(32),
|
508
|
-
};
|
509
|
-
m.eventMessage = { ...message.event };
|
510
|
-
}
|
511
|
-
else if ('inviteAdmin' in message) {
|
512
|
-
m.newsletterAdminInviteMessage = {};
|
513
|
-
m.newsletterAdminInviteMessage.inviteExpiration = message.inviteAdmin.inviteExpiration;
|
514
|
-
m.newsletterAdminInviteMessage.caption = message.inviteAdmin.text;
|
515
|
-
m.newsletterAdminInviteMessage.newsletterJid = message.inviteAdmin.jid;
|
516
|
-
m.newsletterAdminInviteMessage.newsletterName = message.inviteAdmin.subject;
|
517
|
-
m.newsletterAdminInviteMessage.jpegThumbnail = message.inviteAdmin.thumbnail;
|
518
|
-
//TODO: use built-in interface and get disappearing mode info etc.
|
519
|
-
//TODO: cache / use store!?
|
520
|
-
if (options.getProfilePicUrl) {
|
521
|
-
let pfpUrl;
|
522
|
-
try {
|
523
|
-
pfpUrl = await options.getProfilePicUrl(message.inviteAdmin.jid, 'preview');
|
524
|
-
}
|
525
|
-
catch (_9) {
|
526
|
-
pfpUrl = null;
|
527
|
-
}
|
528
|
-
if (pfpUrl) {
|
529
|
-
const resp = await axios_1.default.get(pfpUrl, { responseType: 'arraybuffer' });
|
530
|
-
if (resp.status === 200) {
|
531
|
-
m.newsletterAdminInviteMessage.jpegThumbnail = resp.data;
|
532
|
-
}
|
533
|
-
}
|
534
|
-
else {
|
535
|
-
m.newsletterAdminInviteMessage.jpegThumbnail = null;
|
536
|
-
}
|
537
|
-
}
|
538
|
-
}
|
539
|
-
else if ('requestPayment' in message) {
|
540
|
-
const sticker = ((_d = message === null || message === void 0 ? void 0 : message.requestPayment) === null || _d === void 0 ? void 0 : _d.sticker) ?
|
541
|
-
await (0, exports.prepareWAMessageMedia)({ sticker: (_e = message === null || message === void 0 ? void 0 : message.requestPayment) === null || _e === void 0 ? void 0 : _e.sticker, ...options }, options)
|
542
|
-
: null;
|
543
|
-
let notes = {};
|
544
|
-
if ((_f = message === null || message === void 0 ? void 0 : message.requestPayment) === null || _f === void 0 ? void 0 : _f.sticker) {
|
545
|
-
notes = {
|
546
|
-
stickerMessage: {
|
547
|
-
...sticker === null || sticker === void 0 ? void 0 : sticker.stickerMessage,
|
548
|
-
contextInfo: {
|
549
|
-
stanzaId: (_h = (_g = options === null || options === void 0 ? void 0 : options.quoted) === null || _g === void 0 ? void 0 : _g.key) === null || _h === void 0 ? void 0 : _h.id,
|
550
|
-
participant: (_k = (_j = options === null || options === void 0 ? void 0 : options.quoted) === null || _j === void 0 ? void 0 : _j.key) === null || _k === void 0 ? void 0 : _k.participant,
|
551
|
-
quotedMessage: (_l = options === null || options === void 0 ? void 0 : options.quoted) === null || _l === void 0 ? void 0 : _l.message,
|
552
|
-
...(_m = message === null || message === void 0 ? void 0 : message.requestPayment) === null || _m === void 0 ? void 0 : _m.contextInfo,
|
553
|
-
}
|
554
|
-
}
|
555
|
-
};
|
556
|
-
}
|
557
|
-
else if (message.requestPayment.note) {
|
558
|
-
notes = {
|
559
|
-
extendedTextMessage: {
|
560
|
-
text: message.requestPayment.note,
|
561
|
-
contextInfo: {
|
562
|
-
stanzaId: (_p = (_o = options === null || options === void 0 ? void 0 : options.quoted) === null || _o === void 0 ? void 0 : _o.key) === null || _p === void 0 ? void 0 : _p.id,
|
563
|
-
participant: (_r = (_q = options === null || options === void 0 ? void 0 : options.quoted) === null || _q === void 0 ? void 0 : _q.key) === null || _r === void 0 ? void 0 : _r.participant,
|
564
|
-
quotedMessage: (_s = options === null || options === void 0 ? void 0 : options.quoted) === null || _s === void 0 ? void 0 : _s.message,
|
565
|
-
...(_t = message === null || message === void 0 ? void 0 : message.requestPayment) === null || _t === void 0 ? void 0 : _t.contextInfo,
|
566
|
-
}
|
567
|
-
}
|
568
|
-
};
|
569
|
-
}
|
570
|
-
m.requestPaymentMessage = Types_1.WAProto.Message.RequestPaymentMessage.fromObject({
|
571
|
-
expiryTimestamp: message.requestPayment.expiry,
|
572
|
-
amount1000: message.requestPayment.amount,
|
573
|
-
currencyCodeIso4217: message.requestPayment.currency,
|
574
|
-
requestFrom: message.requestPayment.from,
|
575
|
-
noteMessage: { ...notes },
|
576
|
-
background: (_u = message.requestPayment.background) !== null && _u !== void 0 ? _u : null,
|
577
|
-
});
|
578
394
|
}
|
579
395
|
else if ('sharePhoneNumber' in message) {
|
580
396
|
m.protocolMessage = {
|
@@ -606,21 +422,11 @@ const generateWAMessageContent = async (message, options) => {
|
|
606
422
|
if ('footer' in message && !!message.footer) {
|
607
423
|
buttonsMessage.footerText = message.footer;
|
608
424
|
}
|
609
|
-
if ('title' in message && !!message.title) {
|
610
|
-
buttonsMessage.text = message.title,
|
611
|
-
buttonsMessage.headerType = ButtonType.TEXT;
|
612
|
-
}
|
613
|
-
if ('contextInfo' in message && !!message.contextInfo) {
|
614
|
-
buttonsMessage.contextInfo = message.contextInfo;
|
615
|
-
}
|
616
|
-
if ('mentions' in message && !!message.mentions) {
|
617
|
-
buttonsMessage.contextInfo = { mentionedJid: message.mentions };
|
618
|
-
}
|
619
425
|
m = { buttonsMessage };
|
620
426
|
}
|
621
427
|
else if ('templateButtons' in message && !!message.templateButtons) {
|
622
428
|
const msg = {
|
623
|
-
hydratedButtons: message.
|
429
|
+
hydratedButtons: message.templateButtons
|
624
430
|
};
|
625
431
|
if ('text' in message) {
|
626
432
|
msg.hydratedContentText = message.text;
|
@@ -641,203 +447,6 @@ const generateWAMessageContent = async (message, options) => {
|
|
641
447
|
}
|
642
448
|
};
|
643
449
|
}
|
644
|
-
if ('interactiveButtons' in message && !!message.interactiveButtons) {
|
645
|
-
const interactiveMessage = {
|
646
|
-
nativeFlowMessage: Types_1.WAProto.Message.InteractiveMessage.NativeFlowMessage.fromObject({
|
647
|
-
buttons: message.interactiveButtons,
|
648
|
-
})
|
649
|
-
};
|
650
|
-
if ('text' in message) {
|
651
|
-
body: interactiveMessage.body = {
|
652
|
-
text: message.text
|
653
|
-
};
|
654
|
-
header: interactiveMessage.header = {
|
655
|
-
title: message.title,
|
656
|
-
subtitle: message.subtitle,
|
657
|
-
hasMediaAttachment: (_v = message === null || message === void 0 ? void 0 : message.media) !== null && _v !== void 0 ? _v : false,
|
658
|
-
};
|
659
|
-
}
|
660
|
-
else {
|
661
|
-
if ('caption' in message) {
|
662
|
-
body: interactiveMessage.body = {
|
663
|
-
text: message.caption
|
664
|
-
};
|
665
|
-
header: interactiveMessage.header = {
|
666
|
-
title: message.title,
|
667
|
-
subtitle: message.subtitle,
|
668
|
-
hasMediaAttachment: (_w = message === null || message === void 0 ? void 0 : message.media) !== null && _w !== void 0 ? _w : false,
|
669
|
-
};
|
670
|
-
Object.assign(interactiveMessage.header, m);
|
671
|
-
}
|
672
|
-
}
|
673
|
-
if ('footer' in message && !!message.footer) {
|
674
|
-
footer: interactiveMessage.footer = {
|
675
|
-
text: message.footer
|
676
|
-
};
|
677
|
-
}
|
678
|
-
if ('contextInfo' in message && !!message.contextInfo) {
|
679
|
-
interactiveMessage.contextInfo = message.contextInfo;
|
680
|
-
}
|
681
|
-
if ('mentions' in message && !!message.mentions) {
|
682
|
-
interactiveMessage.contextInfo = { mentionedJid: message.mentions };
|
683
|
-
}
|
684
|
-
m = { interactiveMessage };
|
685
|
-
}
|
686
|
-
if ('shop' in message && !!message.shop) {
|
687
|
-
const interactiveMessage = {
|
688
|
-
shopStorefrontMessage: Types_1.WAProto.Message.InteractiveMessage.ShopMessage.fromObject({
|
689
|
-
surface: message.shop,
|
690
|
-
id: message.id
|
691
|
-
})
|
692
|
-
};
|
693
|
-
if ('text' in message) {
|
694
|
-
body: interactiveMessage.body = {
|
695
|
-
text: message.text
|
696
|
-
};
|
697
|
-
header: interactiveMessage.header = {
|
698
|
-
title: message.title,
|
699
|
-
subtitle: message.subtitle,
|
700
|
-
hasMediaAttachment: (_x = message === null || message === void 0 ? void 0 : message.media) !== null && _x !== void 0 ? _x : false,
|
701
|
-
};
|
702
|
-
}
|
703
|
-
else {
|
704
|
-
if ('caption' in message) {
|
705
|
-
body: interactiveMessage.body = {
|
706
|
-
text: message.caption
|
707
|
-
};
|
708
|
-
header: interactiveMessage.header = {
|
709
|
-
title: message.title,
|
710
|
-
subtitle: message.subtitle,
|
711
|
-
hasMediaAttachment: (_y = message === null || message === void 0 ? void 0 : message.media) !== null && _y !== void 0 ? _y : false,
|
712
|
-
};
|
713
|
-
Object.assign(interactiveMessage.header, m);
|
714
|
-
}
|
715
|
-
}
|
716
|
-
if ('footer' in message && !!message.footer) {
|
717
|
-
footer: interactiveMessage.footer = {
|
718
|
-
text: message.footer
|
719
|
-
};
|
720
|
-
}
|
721
|
-
if ('contextInfo' in message && !!message.contextInfo) {
|
722
|
-
interactiveMessage.contextInfo = message.contextInfo;
|
723
|
-
}
|
724
|
-
if ('mentions' in message && !!message.mentions) {
|
725
|
-
interactiveMessage.contextInfo = { mentionedJid: message.mentions };
|
726
|
-
}
|
727
|
-
m = { interactiveMessage };
|
728
|
-
}
|
729
|
-
if ('collection' in message && !!message.shop) {
|
730
|
-
const interactiveMessage = {
|
731
|
-
collectionMessage: Types_1.WAProto.Message.InteractiveMessage.CollectionMessage.fromObject({
|
732
|
-
bizJid: (_z = message === null || message === void 0 ? void 0 : message.collection) === null || _z === void 0 ? void 0 : _z.bizJid,
|
733
|
-
id: (_0 = message === null || message === void 0 ? void 0 : message.collection) === null || _0 === void 0 ? void 0 : _0.id,
|
734
|
-
messageVersion: (_1 = message === null || message === void 0 ? void 0 : message.collection) === null || _1 === void 0 ? void 0 : _1.version
|
735
|
-
})
|
736
|
-
};
|
737
|
-
if ('text' in message) {
|
738
|
-
body: interactiveMessage.body = {
|
739
|
-
text: message.text
|
740
|
-
};
|
741
|
-
header: interactiveMessage.header = {
|
742
|
-
title: message.title,
|
743
|
-
subtitle: message.subtitle,
|
744
|
-
hasMediaAttachment: (_2 = message === null || message === void 0 ? void 0 : message.media) !== null && _2 !== void 0 ? _2 : false,
|
745
|
-
};
|
746
|
-
}
|
747
|
-
else {
|
748
|
-
if ('caption' in message) {
|
749
|
-
body: interactiveMessage.body = {
|
750
|
-
text: message.caption
|
751
|
-
};
|
752
|
-
header: interactiveMessage.header = {
|
753
|
-
title: message.title,
|
754
|
-
subtitle: message.subtitle,
|
755
|
-
hasMediaAttachment: (_3 = message === null || message === void 0 ? void 0 : message.media) !== null && _3 !== void 0 ? _3 : false,
|
756
|
-
};
|
757
|
-
Object.assign(interactiveMessage.header, m);
|
758
|
-
}
|
759
|
-
}
|
760
|
-
if ('footer' in message && !!message.footer) {
|
761
|
-
footer: interactiveMessage.footer = {
|
762
|
-
text: message.footer
|
763
|
-
};
|
764
|
-
}
|
765
|
-
if ('contextInfo' in message && !!message.contextInfo) {
|
766
|
-
interactiveMessage.contextInfo = message.contextInfo;
|
767
|
-
}
|
768
|
-
if ('mentions' in message && !!message.mentions) {
|
769
|
-
interactiveMessage.contextInfo = { mentionedJid: message.mentions };
|
770
|
-
}
|
771
|
-
m = { interactiveMessage };
|
772
|
-
}
|
773
|
-
if ('cards' in message && !!message.cards) {
|
774
|
-
const slides = await Promise.all(message.cards.map(async (slide) => {
|
775
|
-
const { image, video, product, title, caption, footer, buttons } = slide;
|
776
|
-
let header;
|
777
|
-
if (product) {
|
778
|
-
const { imageMessage } = await (0, exports.prepareWAMessageMedia)({ image: product.productImage, ...options }, options);
|
779
|
-
header = {
|
780
|
-
productMesage: Types_1.WAProto.Message.ProductMessage.fromObject({
|
781
|
-
product: {
|
782
|
-
...product,
|
783
|
-
productImage: imageMessage,
|
784
|
-
},
|
785
|
-
...slide
|
786
|
-
})
|
787
|
-
};
|
788
|
-
}
|
789
|
-
else if (image) {
|
790
|
-
header = await (0, exports.prepareWAMessageMedia)({ image: image, ...options }, options);
|
791
|
-
}
|
792
|
-
else if (video) {
|
793
|
-
header = await (0, exports.prepareWAMessageMedia)({ video: video, ...options }, options);
|
794
|
-
}
|
795
|
-
const msg = {
|
796
|
-
header: {
|
797
|
-
title,
|
798
|
-
hasMediaAttachment: true,
|
799
|
-
...header
|
800
|
-
},
|
801
|
-
body: {
|
802
|
-
text: caption
|
803
|
-
},
|
804
|
-
footer: {
|
805
|
-
text: footer
|
806
|
-
},
|
807
|
-
nativeFlowMessage: {
|
808
|
-
buttons,
|
809
|
-
},
|
810
|
-
};
|
811
|
-
return msg;
|
812
|
-
}));
|
813
|
-
const interactiveMessage = {
|
814
|
-
carouselMessage: Types_1.WAProto.Message.InteractiveMessage.CarouselMessage.fromObject({
|
815
|
-
cards: slides
|
816
|
-
})
|
817
|
-
};
|
818
|
-
if ('text' in message) {
|
819
|
-
body: interactiveMessage.body = {
|
820
|
-
text: message.text
|
821
|
-
};
|
822
|
-
header: interactiveMessage.header = {
|
823
|
-
title: message.title,
|
824
|
-
subtitle: message.subtitle,
|
825
|
-
hasMediaAttachment: (_4 = message === null || message === void 0 ? void 0 : message.media) !== null && _4 !== void 0 ? _4 : false,
|
826
|
-
};
|
827
|
-
}
|
828
|
-
if ('footer' in message && !!message.footer) {
|
829
|
-
footer: interactiveMessage.footer = {
|
830
|
-
text: message.footer
|
831
|
-
};
|
832
|
-
}
|
833
|
-
if ('contextInfo' in message && !!message.contextInfo) {
|
834
|
-
interactiveMessage.contextInfo = message.contextInfo;
|
835
|
-
}
|
836
|
-
if ('mentions' in message && !!message.mentions) {
|
837
|
-
interactiveMessage.contextInfo = { mentionedJid: message.mentions };
|
838
|
-
}
|
839
|
-
m = { interactiveMessage };
|
840
|
-
}
|
841
450
|
if ('sections' in message && !!message.sections) {
|
842
451
|
const listMessage = {
|
843
452
|
sections: message.sections,
|
@@ -852,19 +461,7 @@ const generateWAMessageContent = async (message, options) => {
|
|
852
461
|
if ('viewOnce' in message && !!message.viewOnce) {
|
853
462
|
m = { viewOnceMessage: { message: m } };
|
854
463
|
}
|
855
|
-
if ('
|
856
|
-
m = { viewOnceMessageV2: { message: m } };
|
857
|
-
}
|
858
|
-
if ('viewOnceV2Extension' in message && !!message.viewOnceV2Extension) {
|
859
|
-
m = { viewOnceMessageV2Extension: { message: m } };
|
860
|
-
}
|
861
|
-
if ('ephemeral' in message && !!message.ephemeral) {
|
862
|
-
m = { ephemeralMessage: { message: m } };
|
863
|
-
}
|
864
|
-
if ('lottie' in message && !!message.lottie) {
|
865
|
-
m = { lottieStickerMessage: { message: m } };
|
866
|
-
}
|
867
|
-
if ('mentions' in message && ((_5 = message.mentions) === null || _5 === void 0 ? void 0 : _5.length)) {
|
464
|
+
if ('mentions' in message && ((_a = message.mentions) === null || _a === void 0 ? void 0 : _a.length)) {
|
868
465
|
const [messageType] = Object.keys(m);
|
869
466
|
m[messageType].contextInfo = m[messageType] || {};
|
870
467
|
m[messageType].contextInfo.mentionedJid = message.mentions;
|
@@ -888,7 +485,6 @@ const generateWAMessageContent = async (message, options) => {
|
|
888
485
|
};
|
889
486
|
exports.generateWAMessageContent = generateWAMessageContent;
|
890
487
|
const generateWAMessageFromContent = (jid, message, options) => {
|
891
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
892
488
|
// set timestamp to now
|
893
489
|
// if not specified
|
894
490
|
if (!options.timestamp) {
|
@@ -908,16 +504,7 @@ const generateWAMessageFromContent = (jid, message, options) => {
|
|
908
504
|
if (typeof quotedContent === 'object' && quotedContent && 'contextInfo' in quotedContent) {
|
909
505
|
delete quotedContent.contextInfo;
|
910
506
|
}
|
911
|
-
|
912
|
-
if (key === 'requestPaymentMessage') {
|
913
|
-
if (((_a = innerMessage === null || innerMessage === void 0 ? void 0 : innerMessage.requestPaymentMessage) === null || _a === void 0 ? void 0 : _a.noteMessage) && ((_c = (_b = innerMessage === null || innerMessage === void 0 ? void 0 : innerMessage.requestPaymentMessage) === null || _b === void 0 ? void 0 : _b.noteMessage) === null || _c === void 0 ? void 0 : _c.extendedTextMessage)) {
|
914
|
-
requestPayment = (_e = (_d = innerMessage === null || innerMessage === void 0 ? void 0 : innerMessage.requestPaymentMessage) === null || _d === void 0 ? void 0 : _d.noteMessage) === null || _e === void 0 ? void 0 : _e.extendedTextMessage;
|
915
|
-
}
|
916
|
-
else if (((_f = innerMessage === null || innerMessage === void 0 ? void 0 : innerMessage.requestPaymentMessage) === null || _f === void 0 ? void 0 : _f.noteMessage) && ((_h = (_g = innerMessage === null || innerMessage === void 0 ? void 0 : innerMessage.requestPaymentMessage) === null || _g === void 0 ? void 0 : _g.noteMessage) === null || _h === void 0 ? void 0 : _h.stickerMessage)) {
|
917
|
-
requestPayment = (_k = (_j = innerMessage.requestPaymentMessage) === null || _j === void 0 ? void 0 : _j.noteMessage) === null || _k === void 0 ? void 0 : _k.stickerMessage;
|
918
|
-
}
|
919
|
-
}
|
920
|
-
const contextInfo = (key === 'requestPaymentMessage' ? requestPayment.contextInfo : innerMessage[key].contextInfo) || {};
|
507
|
+
const contextInfo = innerMessage[key].contextInfo || {};
|
921
508
|
contextInfo.participant = (0, WABinary_1.jidNormalizedUser)(participant);
|
922
509
|
contextInfo.stanzaId = quoted.key.id;
|
923
510
|
contextInfo.quotedMessage = quotedMsg;
|
@@ -1,3 +1,4 @@
|
|
1
|
+
/// <reference types="node" />
|
1
2
|
import { Logger } from 'pino';
|
2
3
|
import { proto } from '../../WAProto';
|
3
4
|
import { KeyPair } from '../Types';
|
@@ -9,12 +10,12 @@ export declare const makeNoiseHandler: ({ keyPair: { private: privateKey, public
|
|
9
10
|
logger: Logger;
|
10
11
|
routingInfo?: Buffer | undefined;
|
11
12
|
}) => {
|
12
|
-
encrypt: (plaintext: Uint8Array) =>
|
13
|
-
decrypt: (ciphertext: Uint8Array) =>
|
13
|
+
encrypt: (plaintext: Uint8Array) => Buffer;
|
14
|
+
decrypt: (ciphertext: Uint8Array) => Buffer;
|
14
15
|
authenticate: (data: Uint8Array) => void;
|
15
16
|
mixIntoKey: (data: Uint8Array) => void;
|
16
17
|
finishInit: () => void;
|
17
|
-
processHandshake: ({ serverHello }: proto.HandshakeMessage, noiseKey: KeyPair) =>
|
18
|
-
encodeFrame: (data: Buffer | Uint8Array) =>
|
18
|
+
processHandshake: ({ serverHello }: proto.HandshakeMessage, noiseKey: KeyPair) => Buffer;
|
19
|
+
encodeFrame: (data: Buffer | Uint8Array) => Buffer;
|
19
20
|
decodeFrame: (newData: Buffer | Uint8Array, onFrame: (buff: Uint8Array | BinaryNode) => void) => void;
|
20
21
|
};
|
@@ -1,7 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getChatId = exports.shouldIncrementChatUnread = exports.isRealMessage = exports.cleanMessage = void 0;
|
4
|
-
exports.decryptPollVote = decryptPollVote;
|
3
|
+
exports.decryptPollVote = exports.getChatId = exports.shouldIncrementChatUnread = exports.isRealMessage = exports.cleanMessage = void 0;
|
5
4
|
const WAProto_1 = require("../../WAProto");
|
6
5
|
const Types_1 = require("../Types");
|
7
6
|
const messages_1 = require("../Utils/messages");
|
@@ -102,6 +101,7 @@ function decryptPollVote({ encPayload, encIv }, { pollCreatorJid, pollMsgId, pol
|
|
102
101
|
return Buffer.from(txt);
|
103
102
|
}
|
104
103
|
}
|
104
|
+
exports.decryptPollVote = decryptPollVote;
|
105
105
|
const processMessage = async (message, { shouldProcessHistoryMsg, ev, creds, keyStore, logger, options, getMessage }) => {
|
106
106
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
107
107
|
const meId = creds.me.id;
|
package/lib/Utils/signal.d.ts
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
import { SignalRepository } from '../Types';
|
2
2
|
import { AuthenticationCreds, AuthenticationState, KeyPair, SignalIdentity, SignalKeyStore, SignedKeyPair } from '../Types/Auth';
|
3
3
|
import { BinaryNode, JidWithDevice } from '../WABinary';
|
4
|
-
import { USyncQueryResultList } from '../WAUSync';
|
5
4
|
export declare const createSignalIdentity: (wid: string, accountSignatureKey: Uint8Array) => SignalIdentity;
|
6
5
|
export declare const getPreKeys: ({ get }: SignalKeyStore, min: number, limit: number) => Promise<{
|
7
6
|
[id: string]: KeyPair;
|
@@ -16,7 +15,7 @@ export declare const generateOrGetPreKeys: (creds: AuthenticationCreds, range: n
|
|
16
15
|
export declare const xmppSignedPreKey: (key: SignedKeyPair) => BinaryNode;
|
17
16
|
export declare const xmppPreKey: (pair: KeyPair, id: number) => BinaryNode;
|
18
17
|
export declare const parseAndInjectE2ESessions: (node: BinaryNode, repository: SignalRepository) => Promise<void>;
|
19
|
-
export declare const extractDeviceJids: (result:
|
18
|
+
export declare const extractDeviceJids: (result: BinaryNode, myJid: string, excludeZeroDevices: boolean) => JidWithDevice[];
|
20
19
|
/**
|
21
20
|
* get the next N keys for upload or processing
|
22
21
|
* @param count number of pre-keys to get or generate
|