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