@periskope/baileys 6.7.18-alpha.2 → 6.7.18-alpha.21
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 +1 -1
- package/WAProto/GenerateStatics.sh +3 -0
- package/WAProto/WAProto.proto +4633 -0
- package/WAProto/fix-imports.js +29 -0
- package/WAProto/index.js +4136 -4138
- package/lib/Defaults/index.d.ts +4 -3
- package/lib/Defaults/index.d.ts.map +1 -0
- package/lib/Defaults/index.js +36 -40
- package/lib/Defaults/index.js.map +1 -0
- package/lib/Signal/Group/ciphertext-message.d.ts +10 -0
- package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
- package/lib/Signal/Group/ciphertext-message.js +12 -0
- package/lib/Signal/Group/ciphertext-message.js.map +1 -0
- package/lib/Signal/Group/group-session-builder.d.ts +15 -0
- package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
- package/lib/Signal/Group/group-session-builder.js +30 -0
- package/lib/Signal/Group/group-session-builder.js.map +1 -0
- package/lib/Signal/Group/group_cipher.d.ts +18 -0
- package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
- package/lib/Signal/Group/group_cipher.js +94 -0
- package/lib/Signal/Group/group_cipher.js.map +1 -0
- package/lib/Signal/Group/index.d.ts +12 -0
- package/lib/Signal/Group/index.d.ts.map +1 -0
- package/lib/Signal/Group/index.js +12 -0
- package/lib/Signal/Group/index.js.map +1 -0
- package/lib/Signal/Group/keyhelper.d.ts +11 -0
- package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
- package/lib/Signal/Group/keyhelper.js +19 -0
- package/lib/Signal/Group/keyhelper.js.map +1 -0
- package/lib/Signal/Group/queue-job.d.ts +2 -0
- package/lib/Signal/Group/queue-job.d.ts.map +1 -0
- package/lib/Signal/Group/queue-job.js +54 -0
- package/lib/Signal/Group/queue-job.js.map +1 -0
- package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
- package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
- package/lib/Signal/Group/sender-chain-key.js +32 -0
- package/lib/Signal/Group/sender-chain-key.js.map +1 -0
- package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
- package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-distribution-message.js +63 -0
- package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
- package/lib/Signal/Group/sender-key-message.d.ts +19 -0
- package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-message.js +67 -0
- package/lib/Signal/Group/sender-key-message.js.map +1 -0
- package/lib/Signal/Group/sender-key-name.d.ts +18 -0
- package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-name.js +48 -0
- package/lib/Signal/Group/sender-key-name.js.map +1 -0
- package/lib/Signal/Group/sender-key-record.d.ts +31 -0
- package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-record.js +50 -0
- package/lib/Signal/Group/sender-key-record.js.map +1 -0
- package/lib/Signal/Group/sender-key-state.d.ts +39 -0
- package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-state.js +96 -0
- package/lib/Signal/Group/sender-key-state.js.map +1 -0
- package/lib/Signal/Group/sender-message-key.d.ts +12 -0
- package/lib/Signal/Group/sender-message-key.d.ts.map +1 -0
- package/{WASignalGroup/sender_message_key.js → lib/Signal/Group/sender-message-key.js} +27 -39
- package/lib/Signal/Group/sender-message-key.js.map +1 -0
- package/lib/Signal/libsignal.d.ts +3 -2
- package/lib/Signal/libsignal.d.ts.map +1 -0
- package/lib/Signal/libsignal.js +37 -57
- package/lib/Signal/libsignal.js.map +1 -0
- package/lib/Socket/Client/index.d.ts +3 -2
- package/lib/Socket/Client/index.d.ts.map +1 -0
- package/lib/Socket/Client/index.js +3 -18
- package/lib/Socket/Client/index.js.map +1 -0
- package/lib/Socket/Client/types.d.ts +2 -1
- package/lib/Socket/Client/types.d.ts.map +1 -0
- package/lib/Socket/Client/types.js +4 -6
- package/lib/Socket/Client/types.js.map +1 -0
- package/lib/Socket/Client/websocket.d.ts +2 -1
- package/lib/Socket/Client/websocket.d.ts.map +1 -0
- package/lib/Socket/Client/websocket.js +14 -26
- package/lib/Socket/Client/websocket.js.map +1 -0
- package/lib/Socket/business.d.ts +88 -59
- package/lib/Socket/business.d.ts.map +1 -0
- package/lib/Socket/business.js +32 -37
- package/lib/Socket/business.js.map +1 -0
- package/lib/Socket/chats.d.ts +27 -21
- package/lib/Socket/chats.d.ts.map +1 -0
- package/lib/Socket/chats.js +132 -119
- package/lib/Socket/chats.js.map +1 -0
- package/lib/Socket/communities.d.ts +218 -0
- package/lib/Socket/communities.d.ts.map +1 -0
- package/lib/Socket/communities.js +351 -0
- package/lib/Socket/communities.js.map +1 -0
- package/lib/Socket/groups.d.ts +42 -35
- package/lib/Socket/groups.d.ts.map +1 -0
- package/lib/Socket/groups.js +57 -63
- package/lib/Socket/groups.js.map +1 -0
- package/lib/Socket/index.d.ts +124 -65
- package/lib/Socket/index.d.ts.map +1 -0
- package/lib/Socket/index.js +6 -7
- package/lib/Socket/index.js.map +1 -0
- package/lib/Socket/messages-recv.d.ts +74 -45
- package/lib/Socket/messages-recv.d.ts.map +1 -0
- package/lib/Socket/messages-recv.js +294 -164
- package/lib/Socket/messages-recv.js.map +1 -0
- package/lib/Socket/messages-send.d.ts +71 -42
- package/lib/Socket/messages-send.d.ts.map +1 -0
- package/lib/Socket/messages-send.js +100 -83
- package/lib/Socket/messages-send.js.map +1 -0
- package/lib/Socket/mex.d.ts +3 -0
- package/lib/Socket/mex.d.ts.map +1 -0
- package/lib/Socket/mex.js +42 -0
- package/lib/Socket/mex.js.map +1 -0
- package/lib/Socket/newsletter.d.ts +142 -0
- package/lib/Socket/newsletter.d.ts.map +1 -0
- package/lib/Socket/newsletter.js +179 -0
- package/lib/Socket/newsletter.js.map +1 -0
- package/lib/Socket/socket.d.ts +12 -11
- package/lib/Socket/socket.d.ts.map +1 -0
- package/lib/Socket/socket.js +100 -106
- package/lib/Socket/socket.js.map +1 -0
- package/lib/Socket/usync.d.ts +14 -13
- package/lib/Socket/usync.d.ts.map +1 -0
- package/lib/Socket/usync.js +9 -11
- package/lib/Socket/usync.js.map +1 -0
- package/lib/Types/Auth.d.ts +4 -3
- package/lib/Types/Auth.d.ts.map +1 -0
- package/lib/Types/Auth.js +2 -2
- package/lib/Types/Auth.js.map +1 -0
- package/lib/Types/Call.d.ts +1 -0
- package/lib/Types/Call.d.ts.map +1 -0
- package/lib/Types/Call.js +2 -2
- package/lib/Types/Call.js.map +1 -0
- package/lib/Types/Chat.d.ts +11 -7
- package/lib/Types/Chat.d.ts.map +1 -0
- package/lib/Types/Chat.js +2 -4
- package/lib/Types/Chat.js.map +1 -0
- package/lib/Types/Contact.d.ts +5 -0
- package/lib/Types/Contact.d.ts.map +1 -0
- package/lib/Types/Contact.js +2 -2
- package/lib/Types/Contact.js.map +1 -0
- package/lib/Types/Events.d.ts +44 -10
- package/lib/Types/Events.d.ts.map +1 -0
- package/lib/Types/Events.js +2 -2
- package/lib/Types/Events.js.map +1 -0
- package/lib/Types/GroupMetadata.d.ts +3 -1
- package/lib/Types/GroupMetadata.d.ts.map +1 -0
- package/lib/Types/GroupMetadata.js +2 -2
- package/lib/Types/GroupMetadata.js.map +1 -0
- package/lib/Types/Label.d.ts +1 -0
- package/lib/Types/Label.d.ts.map +1 -0
- package/lib/Types/Label.js +3 -5
- package/lib/Types/Label.js.map +1 -0
- package/lib/Types/LabelAssociation.d.ts +1 -0
- package/lib/Types/LabelAssociation.d.ts.map +1 -0
- package/lib/Types/LabelAssociation.js +3 -5
- package/lib/Types/LabelAssociation.js.map +1 -0
- package/lib/Types/Message.d.ts +17 -9
- package/lib/Types/Message.d.ts.map +1 -0
- package/lib/Types/Message.js +7 -7
- package/lib/Types/Message.js.map +1 -0
- package/lib/Types/Newsletter.d.ts +135 -0
- package/lib/Types/Newsletter.d.ts.map +1 -0
- package/lib/Types/Newsletter.js +31 -0
- package/lib/Types/Newsletter.js.map +1 -0
- package/lib/Types/Product.d.ts +2 -1
- package/lib/Types/Product.d.ts.map +1 -0
- package/lib/Types/Product.js +2 -2
- package/lib/Types/Product.js.map +1 -0
- package/lib/Types/Signal.d.ts +2 -1
- package/lib/Types/Signal.d.ts.map +1 -0
- package/lib/Types/Signal.js +2 -2
- package/lib/Types/Signal.js.map +1 -0
- package/lib/Types/Socket.d.ts +8 -7
- package/lib/Types/Socket.d.ts.map +1 -0
- package/lib/Types/Socket.js +3 -2
- package/lib/Types/Socket.js.map +1 -0
- package/lib/Types/State.d.ts +4 -2
- package/lib/Types/State.d.ts.map +1 -0
- package/lib/Types/State.js +2 -2
- package/lib/Types/State.js.map +1 -0
- package/lib/Types/USync.d.ts +3 -2
- package/lib/Types/USync.d.ts.map +1 -0
- package/lib/Types/USync.js +2 -2
- package/lib/Types/USync.js.map +1 -0
- package/lib/Types/index.d.ts +15 -13
- package/lib/Types/index.d.ts.map +1 -0
- package/lib/Types/index.js +15 -30
- package/lib/Types/index.js.map +1 -0
- package/lib/Utils/auth-utils.d.ts +3 -2
- package/lib/Utils/auth-utils.d.ts.map +1 -0
- package/lib/Utils/auth-utils.js +24 -33
- package/lib/Utils/auth-utils.js.map +1 -0
- package/lib/Utils/baileys-event-stream.d.ts +2 -1
- package/lib/Utils/baileys-event-stream.d.ts.map +1 -0
- package/lib/Utils/baileys-event-stream.js +15 -22
- package/lib/Utils/baileys-event-stream.js.map +1 -0
- package/lib/Utils/business.d.ts +3 -2
- package/lib/Utils/business.d.ts.map +1 -0
- package/lib/Utils/business.js +61 -70
- package/lib/Utils/business.js.map +1 -0
- package/lib/Utils/chat-utils.d.ts +12 -11
- package/lib/Utils/chat-utils.d.ts.map +1 -0
- package/lib/Utils/chat-utils.js +141 -139
- package/lib/Utils/chat-utils.js.map +1 -0
- package/lib/Utils/crypto.d.ts +2 -1
- package/lib/Utils/crypto.d.ts.map +1 -0
- package/lib/Utils/crypto.js +37 -86
- package/lib/Utils/crypto.js.map +1 -0
- package/lib/Utils/decode-wa-message.d.ts +7 -7
- package/lib/Utils/decode-wa-message.d.ts.map +1 -0
- package/lib/Utils/decode-wa-message.js +43 -43
- package/lib/Utils/decode-wa-message.js.map +1 -0
- package/lib/Utils/event-buffer.d.ts +3 -2
- package/lib/Utils/event-buffer.d.ts.map +1 -0
- package/lib/Utils/event-buffer.js +24 -30
- package/lib/Utils/event-buffer.js.map +1 -0
- package/lib/Utils/generics.d.ts +11 -9
- package/lib/Utils/generics.d.ts.map +1 -0
- package/lib/Utils/generics.js +88 -111
- package/lib/Utils/generics.js.map +1 -0
- package/lib/Utils/history.d.ts +4 -3
- package/lib/Utils/history.d.ts.map +1 -0
- package/lib/Utils/history.js +37 -46
- package/lib/Utils/history.js.map +1 -0
- package/lib/Utils/index.d.ts +18 -17
- package/lib/Utils/index.d.ts.map +1 -0
- package/lib/Utils/index.js +18 -33
- package/lib/Utils/index.js.map +1 -0
- package/lib/Utils/link-preview.d.ts +4 -3
- package/lib/Utils/link-preview.d.ts.map +1 -0
- package/lib/Utils/link-preview.js +11 -48
- package/lib/Utils/link-preview.js.map +1 -0
- package/lib/Utils/logger.d.ts +6 -5
- package/lib/Utils/logger.d.ts.map +1 -0
- package/lib/Utils/logger.js +3 -7
- package/lib/Utils/logger.js.map +1 -0
- package/lib/Utils/lt-hash.d.ts +9 -8
- package/lib/Utils/lt-hash.d.ts.map +1 -0
- package/lib/Utils/lt-hash.js +21 -24
- package/lib/Utils/lt-hash.js.map +1 -0
- package/lib/Utils/make-mutex.d.ts +1 -0
- package/lib/Utils/make-mutex.d.ts.map +1 -0
- package/lib/Utils/make-mutex.js +5 -9
- package/lib/Utils/make-mutex.js.map +1 -0
- package/lib/Utils/messages-media.d.ts +20 -11
- package/lib/Utils/messages-media.d.ts.map +1 -0
- package/lib/Utils/messages-media.js +200 -234
- package/lib/Utils/messages-media.js.map +1 -0
- package/lib/Utils/messages.d.ts +9 -8
- package/lib/Utils/messages.d.ts.map +1 -0
- package/lib/Utils/messages.js +217 -199
- package/lib/Utils/messages.js.map +1 -0
- package/lib/Utils/noise-handler.d.ts +5 -4
- package/lib/Utils/noise-handler.d.ts.map +1 -0
- package/lib/Utils/noise-handler.js +22 -26
- package/lib/Utils/noise-handler.js.map +1 -0
- package/lib/Utils/process-message.d.ts +5 -4
- package/lib/Utils/process-message.d.ts.map +1 -0
- package/lib/Utils/process-message.js +125 -130
- package/lib/Utils/process-message.js.map +1 -0
- package/lib/Utils/signal.d.ts +5 -4
- package/lib/Utils/signal.d.ts.map +1 -0
- package/lib/Utils/signal.js +47 -52
- package/lib/Utils/signal.js.map +1 -0
- package/lib/Utils/use-multi-file-auth-state.d.ts +2 -1
- package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
- package/lib/Utils/use-multi-file-auth-state.js +23 -26
- package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
- package/lib/Utils/validate-connection.d.ts +4 -3
- package/lib/Utils/validate-connection.d.ts.map +1 -0
- package/lib/Utils/validate-connection.js +55 -61
- package/lib/Utils/validate-connection.js.map +1 -0
- package/lib/WABinary/constants.d.ts +5 -4
- package/lib/WABinary/constants.d.ts.map +1 -0
- package/lib/WABinary/constants.js +1174 -1176
- package/lib/WABinary/constants.js.map +1 -0
- package/lib/WABinary/decode.d.ts +2 -1
- package/lib/WABinary/decode.d.ts.map +1 -0
- package/lib/WABinary/decode.js +13 -51
- package/lib/WABinary/decode.js.map +1 -0
- package/lib/WABinary/encode.d.ts +2 -1
- package/lib/WABinary/encode.d.ts.map +1 -0
- package/lib/WABinary/encode.js +5 -41
- package/lib/WABinary/encode.js.map +1 -0
- package/lib/WABinary/generic-utils.d.ts +4 -3
- package/lib/WABinary/generic-utils.d.ts.map +1 -0
- package/lib/WABinary/generic-utils.js +30 -38
- package/lib/WABinary/generic-utils.js.map +1 -0
- package/lib/WABinary/index.d.ts +6 -5
- package/lib/WABinary/index.d.ts.map +1 -0
- package/lib/WABinary/index.js +6 -21
- package/lib/WABinary/index.js.map +1 -0
- package/lib/WABinary/jid-utils.d.ts +1 -0
- package/lib/WABinary/jid-utils.d.ts.map +1 -0
- package/lib/WABinary/jid-utils.js +21 -35
- package/lib/WABinary/jid-utils.js.map +1 -0
- package/lib/WABinary/types.d.ts +2 -1
- package/lib/WABinary/types.d.ts.map +1 -0
- package/lib/WABinary/types.js +2 -2
- package/lib/WABinary/types.js.map +1 -0
- package/lib/WAM/BinaryInfo.d.ts +2 -1
- package/lib/WAM/BinaryInfo.d.ts.map +1 -0
- package/lib/WAM/BinaryInfo.js +2 -5
- package/lib/WAM/BinaryInfo.js.map +1 -0
- package/lib/WAM/constants.d.ts +1 -0
- package/lib/WAM/constants.d.ts.map +1 -0
- package/lib/WAM/constants.js +4 -6
- package/lib/WAM/constants.js.map +1 -0
- package/lib/WAM/encode.d.ts +2 -1
- package/lib/WAM/encode.d.ts.map +1 -0
- package/lib/WAM/encode.js +12 -14
- package/lib/WAM/encode.js.map +1 -0
- package/lib/WAM/index.d.ts +4 -3
- package/lib/WAM/index.d.ts.map +1 -0
- package/lib/WAM/index.js +4 -19
- package/lib/WAM/index.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +4 -3
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +6 -9
- package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +3 -2
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +9 -12
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +3 -2
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +7 -10
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +3 -2
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +7 -11
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +4 -3
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +19 -21
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +3 -2
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +2 -5
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/index.d.ts +5 -4
- package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/index.js +5 -20
- package/lib/WAUSync/Protocols/index.js.map +1 -0
- package/lib/WAUSync/USyncQuery.d.ts +4 -3
- package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
- package/lib/WAUSync/USyncQuery.js +18 -20
- package/lib/WAUSync/USyncQuery.js.map +1 -0
- package/lib/WAUSync/USyncUser.d.ts +6 -5
- package/lib/WAUSync/USyncUser.d.ts.map +1 -0
- package/lib/WAUSync/USyncUser.js +2 -5
- package/lib/WAUSync/USyncUser.js.map +1 -0
- package/lib/WAUSync/index.d.ts +4 -3
- package/lib/WAUSync/index.d.ts.map +1 -0
- package/lib/WAUSync/index.js +4 -19
- package/lib/WAUSync/index.js.map +1 -0
- package/lib/index.d.ts +9 -8
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +11 -30
- package/lib/index.js.map +1 -0
- package/package.json +26 -28
- package/WASignalGroup/GroupProtocol.js +0 -1697
- package/WASignalGroup/ciphertext_message.js +0 -16
- package/WASignalGroup/group_cipher.js +0 -120
- package/WASignalGroup/group_session_builder.js +0 -46
- package/WASignalGroup/index.js +0 -5
- package/WASignalGroup/keyhelper.js +0 -21
- package/WASignalGroup/protobufs.js +0 -3
- package/WASignalGroup/queue_job.js +0 -69
- package/WASignalGroup/sender_chain_key.js +0 -50
- package/WASignalGroup/sender_key_distribution_message.js +0 -78
- package/WASignalGroup/sender_key_message.js +0 -92
- package/WASignalGroup/sender_key_name.js +0 -70
- package/WASignalGroup/sender_key_record.js +0 -56
- package/WASignalGroup/sender_key_state.js +0 -129
|
@@ -1,25 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const link_preview_1 = require("../Utils/link-preview");
|
|
13
|
-
const WABinary_1 = require("../WABinary");
|
|
14
|
-
const WAUSync_1 = require("../WAUSync");
|
|
15
|
-
const groups_1 = require("./groups");
|
|
16
|
-
const makeMessagesSocket = (config) => {
|
|
1
|
+
import NodeCache from '@cacheable/node-cache';
|
|
2
|
+
import { Boom } from '@hapi/boom';
|
|
3
|
+
import { proto } from '../../WAProto/index.js';
|
|
4
|
+
import { DEFAULT_CACHE_TTLS, WA_DEFAULT_EPHEMERAL } from '../Defaults/index.js';
|
|
5
|
+
import { aggregateMessageKeysNotFromMe, assertMediaContent, bindWaitForEvent, decryptMediaRetryData, encodeNewsletterMessage, encodeSignedDeviceIdentity, encodeWAMessage, encryptMediaRetryRequest, extractDeviceJids, generateMessageIDV2, generateWAMessage, getStatusCodeForMediaRetry, getUrlFromDirectPath, getWAUploadToServer, normalizeMessageContent, parseAndInjectE2ESessions, unixTimestampSeconds } from '../Utils/index.js';
|
|
6
|
+
import { getUrlInfo } from '../Utils/link-preview.js';
|
|
7
|
+
import { areJidsSameUser, getBinaryNodeChild, getBinaryNodeChildren, isJidGroup, isJidUser, jidDecode, jidEncode, jidNormalizedUser, S_WHATSAPP_NET } from '../WABinary/index.js';
|
|
8
|
+
import { USyncQuery, USyncUser } from '../WAUSync/index.js';
|
|
9
|
+
import { makeGroupsSocket } from './groups.js';
|
|
10
|
+
import { makeNewsletterSocket } from './newsletter.js';
|
|
11
|
+
export const makeMessagesSocket = (config) => {
|
|
17
12
|
const { logger, linkPreviewImageThumbnailWidth, generateHighQualityLinkPreview, options: axiosOptions, patchMessageBeforeSending, cachedGroupMetadata } = config;
|
|
18
|
-
const sock = (
|
|
13
|
+
const sock = makeNewsletterSocket(makeGroupsSocket(config));
|
|
19
14
|
const { ev, authState, processingMutex, signalRepository, upsertMessage, query, fetchPrivacySettings, sendNode, groupMetadata, groupToggleEphemeral } = sock;
|
|
20
15
|
const userDevicesCache = config.userDevicesCache ||
|
|
21
|
-
new
|
|
22
|
-
stdTTL:
|
|
16
|
+
new NodeCache({
|
|
17
|
+
stdTTL: DEFAULT_CACHE_TTLS.USER_DEVICES, // 5 minutes
|
|
23
18
|
useClones: false
|
|
24
19
|
});
|
|
25
20
|
let mediaConn;
|
|
@@ -32,13 +27,13 @@ const makeMessagesSocket = (config) => {
|
|
|
32
27
|
attrs: {
|
|
33
28
|
type: 'set',
|
|
34
29
|
xmlns: 'w:m',
|
|
35
|
-
to:
|
|
30
|
+
to: S_WHATSAPP_NET
|
|
36
31
|
},
|
|
37
32
|
content: [{ tag: 'media_conn', attrs: {} }]
|
|
38
33
|
});
|
|
39
|
-
const mediaConnNode =
|
|
34
|
+
const mediaConnNode = getBinaryNodeChild(result, 'media_conn');
|
|
40
35
|
const node = {
|
|
41
|
-
hosts:
|
|
36
|
+
hosts: getBinaryNodeChildren(mediaConnNode, 'host').map(({ attrs }) => ({
|
|
42
37
|
hostname: attrs.hostname,
|
|
43
38
|
maxContentLengthBytes: +attrs.maxContentLengthBytes
|
|
44
39
|
})),
|
|
@@ -57,6 +52,9 @@ const makeMessagesSocket = (config) => {
|
|
|
57
52
|
* used for receipts of phone call, read, delivery etc.
|
|
58
53
|
* */
|
|
59
54
|
const sendReceipt = async (jid, participant, messageIds, type) => {
|
|
55
|
+
if (!messageIds || messageIds.length === 0) {
|
|
56
|
+
throw new Boom('missing ids in receipt');
|
|
57
|
+
}
|
|
60
58
|
const node = {
|
|
61
59
|
tag: 'receipt',
|
|
62
60
|
attrs: {
|
|
@@ -65,9 +63,9 @@ const makeMessagesSocket = (config) => {
|
|
|
65
63
|
};
|
|
66
64
|
const isReadReceipt = type === 'read' || type === 'read-self';
|
|
67
65
|
if (isReadReceipt) {
|
|
68
|
-
node.attrs.t =
|
|
66
|
+
node.attrs.t = unixTimestampSeconds().toString();
|
|
69
67
|
}
|
|
70
|
-
if (type === 'sender' &&
|
|
68
|
+
if (type === 'sender' && isJidUser(jid)) {
|
|
71
69
|
node.attrs.recipient = jid;
|
|
72
70
|
node.attrs.to = participant;
|
|
73
71
|
}
|
|
@@ -98,7 +96,7 @@ const makeMessagesSocket = (config) => {
|
|
|
98
96
|
};
|
|
99
97
|
/** Correctly bulk send receipts to multiple chats, participants */
|
|
100
98
|
const sendReceipts = async (keys, type) => {
|
|
101
|
-
const recps =
|
|
99
|
+
const recps = aggregateMessageKeysNotFromMe(keys);
|
|
102
100
|
for (const { jid, participant, messageIds } of recps) {
|
|
103
101
|
await sendReceipt(jid, participant, messageIds, type);
|
|
104
102
|
}
|
|
@@ -112,7 +110,6 @@ const makeMessagesSocket = (config) => {
|
|
|
112
110
|
};
|
|
113
111
|
/** Fetch all the devices we've to send a message to */
|
|
114
112
|
const getUSyncDevices = async (jids, useCache, ignoreZeroDevices) => {
|
|
115
|
-
var _a;
|
|
116
113
|
const deviceResults = [];
|
|
117
114
|
if (!useCache) {
|
|
118
115
|
logger.debug('not using cache for devices');
|
|
@@ -120,8 +117,8 @@ const makeMessagesSocket = (config) => {
|
|
|
120
117
|
const toFetch = [];
|
|
121
118
|
jids = Array.from(new Set(jids));
|
|
122
119
|
for (let jid of jids) {
|
|
123
|
-
const user =
|
|
124
|
-
jid =
|
|
120
|
+
const user = jidDecode(jid)?.user;
|
|
121
|
+
jid = jidNormalizedUser(jid);
|
|
125
122
|
if (useCache) {
|
|
126
123
|
const devices = userDevicesCache.get(user);
|
|
127
124
|
if (devices) {
|
|
@@ -139,17 +136,17 @@ const makeMessagesSocket = (config) => {
|
|
|
139
136
|
if (!toFetch.length) {
|
|
140
137
|
return deviceResults;
|
|
141
138
|
}
|
|
142
|
-
const query = new
|
|
139
|
+
const query = new USyncQuery().withContext('message').withDeviceProtocol();
|
|
143
140
|
for (const jid of toFetch) {
|
|
144
|
-
query.withUser(new
|
|
141
|
+
query.withUser(new USyncUser().withId(jid));
|
|
145
142
|
}
|
|
146
143
|
const result = await sock.executeUSyncQuery(query);
|
|
147
144
|
if (result) {
|
|
148
|
-
const extracted =
|
|
145
|
+
const extracted = extractDeviceJids(result?.list, authState.creds.me.id, ignoreZeroDevices);
|
|
149
146
|
const deviceMap = {};
|
|
150
147
|
for (const item of extracted) {
|
|
151
148
|
deviceMap[item.user] = deviceMap[item.user] || [];
|
|
152
|
-
deviceMap[item.user]
|
|
149
|
+
deviceMap[item.user]?.push(item);
|
|
153
150
|
deviceResults.push(item);
|
|
154
151
|
}
|
|
155
152
|
for (const key in deviceMap) {
|
|
@@ -181,7 +178,7 @@ const makeMessagesSocket = (config) => {
|
|
|
181
178
|
attrs: {
|
|
182
179
|
xmlns: 'encrypt',
|
|
183
180
|
type: 'get',
|
|
184
|
-
to:
|
|
181
|
+
to: S_WHATSAPP_NET
|
|
185
182
|
},
|
|
186
183
|
content: [
|
|
187
184
|
{
|
|
@@ -194,28 +191,26 @@ const makeMessagesSocket = (config) => {
|
|
|
194
191
|
}
|
|
195
192
|
]
|
|
196
193
|
});
|
|
197
|
-
await
|
|
194
|
+
await parseAndInjectE2ESessions(result, signalRepository);
|
|
198
195
|
didFetchNewSession = true;
|
|
199
196
|
}
|
|
200
197
|
return didFetchNewSession;
|
|
201
198
|
};
|
|
202
199
|
const sendPeerDataOperationMessage = async (pdoMessage) => {
|
|
203
|
-
var _a;
|
|
204
200
|
//TODO: for later, abstract the logic to send a Peer Message instead of just PDO - useful for App State Key Resync with phone
|
|
205
|
-
if (!
|
|
206
|
-
throw new
|
|
201
|
+
if (!authState.creds.me?.id) {
|
|
202
|
+
throw new Boom('Not authenticated');
|
|
207
203
|
}
|
|
208
204
|
const protocolMessage = {
|
|
209
205
|
protocolMessage: {
|
|
210
206
|
peerDataOperationRequestMessage: pdoMessage,
|
|
211
|
-
type:
|
|
207
|
+
type: proto.Message.ProtocolMessage.Type.PEER_DATA_OPERATION_REQUEST_MESSAGE
|
|
212
208
|
}
|
|
213
209
|
};
|
|
214
|
-
const meJid =
|
|
210
|
+
const meJid = jidNormalizedUser(authState.creds.me.id);
|
|
215
211
|
const msgId = await relayMessage(meJid, protocolMessage, {
|
|
216
212
|
additionalAttributes: {
|
|
217
213
|
category: 'peer',
|
|
218
|
-
// eslint-disable-next-line camelcase
|
|
219
214
|
push_priority: 'high_force'
|
|
220
215
|
}
|
|
221
216
|
});
|
|
@@ -232,7 +227,7 @@ const makeMessagesSocket = (config) => {
|
|
|
232
227
|
if (!jid) {
|
|
233
228
|
return {};
|
|
234
229
|
}
|
|
235
|
-
const bytes =
|
|
230
|
+
const bytes = encodeWAMessage(patchedMessage);
|
|
236
231
|
const { type, ciphertext } = await signalRepository.encryptMessage({ jid, data: bytes });
|
|
237
232
|
if (type === 'pkmsg') {
|
|
238
233
|
shouldIncludeDeviceIdentity = true;
|
|
@@ -257,26 +252,27 @@ const makeMessagesSocket = (config) => {
|
|
|
257
252
|
return { nodes, shouldIncludeDeviceIdentity };
|
|
258
253
|
};
|
|
259
254
|
const relayMessage = async (jid, message, { messageId: msgId, participant, additionalAttributes, additionalNodes, useUserDevicesCache, useCachedGroupMetadata, statusJidList }) => {
|
|
260
|
-
var _a;
|
|
261
255
|
const meId = authState.creds.me.id;
|
|
262
256
|
let shouldIncludeDeviceIdentity = false;
|
|
263
|
-
const { user, server } =
|
|
257
|
+
const { user, server } = jidDecode(jid);
|
|
264
258
|
const statusJid = 'status@broadcast';
|
|
265
259
|
const isGroup = server === 'g.us';
|
|
266
260
|
const isStatus = jid === statusJid;
|
|
267
261
|
const isLid = server === 'lid';
|
|
268
|
-
|
|
262
|
+
const isNewsletter = server === 'newsletter';
|
|
263
|
+
msgId = msgId || generateMessageIDV2(sock.user?.id);
|
|
269
264
|
useUserDevicesCache = useUserDevicesCache !== false;
|
|
270
265
|
useCachedGroupMetadata = useCachedGroupMetadata !== false && !isStatus;
|
|
271
266
|
const participants = [];
|
|
272
|
-
const destinationJid = !isStatus ?
|
|
267
|
+
const destinationJid = !isStatus ? jidEncode(user, isLid ? 'lid' : isGroup ? 'g.us' : 's.whatsapp.net') : statusJid;
|
|
273
268
|
const binaryNodeContent = [];
|
|
274
269
|
const devices = [];
|
|
275
270
|
const meMsg = {
|
|
276
271
|
deviceSentMessage: {
|
|
277
272
|
destinationJid,
|
|
278
273
|
message
|
|
279
|
-
}
|
|
274
|
+
},
|
|
275
|
+
messageContextInfo: message.messageContextInfo
|
|
280
276
|
};
|
|
281
277
|
const extraAttrs = {};
|
|
282
278
|
if (participant) {
|
|
@@ -286,23 +282,45 @@ const makeMessagesSocket = (config) => {
|
|
|
286
282
|
if (!isGroup && !isStatus) {
|
|
287
283
|
additionalAttributes = { ...additionalAttributes, device_fanout: 'false' };
|
|
288
284
|
}
|
|
289
|
-
const { user, device } =
|
|
285
|
+
const { user, device } = jidDecode(participant.jid);
|
|
290
286
|
devices.push({ user, device });
|
|
291
287
|
}
|
|
292
288
|
await authState.keys.transaction(async () => {
|
|
293
|
-
var _a, _b, _c, _d, _e;
|
|
294
289
|
const mediaType = getMediaType(message);
|
|
295
290
|
if (mediaType) {
|
|
296
291
|
extraAttrs['mediatype'] = mediaType;
|
|
297
292
|
}
|
|
298
|
-
if (
|
|
293
|
+
if (isNewsletter) {
|
|
294
|
+
// Patch message if needed, then encode as plaintext
|
|
295
|
+
const patched = patchMessageBeforeSending ? await patchMessageBeforeSending(message, []) : message;
|
|
296
|
+
const bytes = encodeNewsletterMessage(patched);
|
|
297
|
+
binaryNodeContent.push({
|
|
298
|
+
tag: 'plaintext',
|
|
299
|
+
attrs: {},
|
|
300
|
+
content: bytes
|
|
301
|
+
});
|
|
302
|
+
const stanza = {
|
|
303
|
+
tag: 'message',
|
|
304
|
+
attrs: {
|
|
305
|
+
to: jid,
|
|
306
|
+
id: msgId,
|
|
307
|
+
type: getMessageType(message),
|
|
308
|
+
...(additionalAttributes || {})
|
|
309
|
+
},
|
|
310
|
+
content: binaryNodeContent
|
|
311
|
+
};
|
|
312
|
+
logger.debug({ msgId }, `sending newsletter message to ${jid}`);
|
|
313
|
+
await sendNode(stanza);
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
316
|
+
if (normalizeMessageContent(message)?.pinInChatMessage) {
|
|
299
317
|
extraAttrs['decrypt-fail'] = 'hide';
|
|
300
318
|
}
|
|
301
319
|
if (isGroup || isStatus) {
|
|
302
320
|
const [groupData, senderKeyMap] = await Promise.all([
|
|
303
321
|
(async () => {
|
|
304
322
|
let groupData = useCachedGroupMetadata && cachedGroupMetadata ? await cachedGroupMetadata(jid) : undefined;
|
|
305
|
-
if (groupData && Array.isArray(groupData
|
|
323
|
+
if (groupData && Array.isArray(groupData?.participants)) {
|
|
306
324
|
logger.trace({ jid, participants: groupData.participants.length }, 'using cached group metadata');
|
|
307
325
|
}
|
|
308
326
|
else if (!isStatus) {
|
|
@@ -326,7 +344,7 @@ const makeMessagesSocket = (config) => {
|
|
|
326
344
|
if (!isStatus) {
|
|
327
345
|
additionalAttributes = {
|
|
328
346
|
...additionalAttributes,
|
|
329
|
-
addressing_mode:
|
|
347
|
+
addressing_mode: groupData?.addressingMode || 'pn'
|
|
330
348
|
};
|
|
331
349
|
}
|
|
332
350
|
const additionalDevices = await getUSyncDevices(participantsList, !!useUserDevicesCache, false);
|
|
@@ -334,9 +352,9 @@ const makeMessagesSocket = (config) => {
|
|
|
334
352
|
}
|
|
335
353
|
const patched = await patchMessageBeforeSending(message);
|
|
336
354
|
if (Array.isArray(patched)) {
|
|
337
|
-
throw new
|
|
355
|
+
throw new Boom('Per-jid patching is not supported in groups');
|
|
338
356
|
}
|
|
339
|
-
const bytes =
|
|
357
|
+
const bytes = encodeWAMessage(patched);
|
|
340
358
|
const { ciphertext, senderKeyDistributionMessage } = await signalRepository.encryptGroupMessage({
|
|
341
359
|
group: destinationJid,
|
|
342
360
|
data: bytes,
|
|
@@ -345,7 +363,7 @@ const makeMessagesSocket = (config) => {
|
|
|
345
363
|
const senderKeyJids = [];
|
|
346
364
|
// ensure a connection is established with every device
|
|
347
365
|
for (const { user, device } of devices) {
|
|
348
|
-
const jid =
|
|
366
|
+
const jid = jidEncode(user, groupData?.addressingMode === 'lid' ? 'lid' : 's.whatsapp.net', device);
|
|
349
367
|
if (!senderKeyMap[jid] || !!participant) {
|
|
350
368
|
senderKeyJids.push(jid);
|
|
351
369
|
// store that this person has had the sender keys sent to them
|
|
@@ -375,13 +393,13 @@ const makeMessagesSocket = (config) => {
|
|
|
375
393
|
await authState.keys.set({ 'sender-key-memory': { [jid]: senderKeyMap } });
|
|
376
394
|
}
|
|
377
395
|
else {
|
|
378
|
-
const { user: meUser } =
|
|
396
|
+
const { user: meUser } = jidDecode(meId);
|
|
379
397
|
if (!participant) {
|
|
380
398
|
devices.push({ user });
|
|
381
399
|
if (user !== meUser) {
|
|
382
400
|
devices.push({ user: meUser });
|
|
383
401
|
}
|
|
384
|
-
if (
|
|
402
|
+
if (additionalAttributes?.['category'] !== 'peer') {
|
|
385
403
|
const additionalDevices = await getUSyncDevices([meId, jid], !!useUserDevicesCache, true);
|
|
386
404
|
devices.push(...additionalDevices);
|
|
387
405
|
}
|
|
@@ -391,7 +409,7 @@ const makeMessagesSocket = (config) => {
|
|
|
391
409
|
const otherJids = [];
|
|
392
410
|
for (const { user, device } of devices) {
|
|
393
411
|
const isMe = user === meUser;
|
|
394
|
-
const jid =
|
|
412
|
+
const jid = jidEncode(isMe && isLid ? authState.creds?.me?.lid.split(':')[0] || user : user, isLid ? 'lid' : 's.whatsapp.net', device);
|
|
395
413
|
if (isMe) {
|
|
396
414
|
meJids.push(jid);
|
|
397
415
|
}
|
|
@@ -410,8 +428,8 @@ const makeMessagesSocket = (config) => {
|
|
|
410
428
|
shouldIncludeDeviceIdentity = shouldIncludeDeviceIdentity || s1 || s2;
|
|
411
429
|
}
|
|
412
430
|
if (participants.length) {
|
|
413
|
-
if (
|
|
414
|
-
const peerNode =
|
|
431
|
+
if (additionalAttributes?.['category'] === 'peer') {
|
|
432
|
+
const peerNode = participants[0]?.content?.[0];
|
|
415
433
|
if (peerNode) {
|
|
416
434
|
binaryNodeContent.push(peerNode); // push only enc
|
|
417
435
|
}
|
|
@@ -437,11 +455,11 @@ const makeMessagesSocket = (config) => {
|
|
|
437
455
|
// ensure the message is only sent to that person
|
|
438
456
|
// if a retry receipt is sent to everyone -- it'll fail decryption for everyone else who received the msg
|
|
439
457
|
if (participant) {
|
|
440
|
-
if (
|
|
458
|
+
if (isJidGroup(destinationJid)) {
|
|
441
459
|
stanza.attrs.to = destinationJid;
|
|
442
460
|
stanza.attrs.participant = participant.jid;
|
|
443
461
|
}
|
|
444
|
-
else if (
|
|
462
|
+
else if (areJidsSameUser(participant.jid, meId)) {
|
|
445
463
|
stanza.attrs.to = participant.jid;
|
|
446
464
|
stanza.attrs.recipient = destinationJid;
|
|
447
465
|
}
|
|
@@ -457,7 +475,7 @@ const makeMessagesSocket = (config) => {
|
|
|
457
475
|
stanza.content.push({
|
|
458
476
|
tag: 'device-identity',
|
|
459
477
|
attrs: {},
|
|
460
|
-
content:
|
|
478
|
+
content: encodeSignedDeviceIdentity(authState.creds.account, true)
|
|
461
479
|
});
|
|
462
480
|
logger.debug({ jid }, 'adding device identity');
|
|
463
481
|
}
|
|
@@ -524,11 +542,11 @@ const makeMessagesSocket = (config) => {
|
|
|
524
542
|
}
|
|
525
543
|
};
|
|
526
544
|
const getPrivacyTokens = async (jids) => {
|
|
527
|
-
const t =
|
|
545
|
+
const t = unixTimestampSeconds().toString();
|
|
528
546
|
const result = await query({
|
|
529
547
|
tag: 'iq',
|
|
530
548
|
attrs: {
|
|
531
|
-
to:
|
|
549
|
+
to: S_WHATSAPP_NET,
|
|
532
550
|
type: 'set',
|
|
533
551
|
xmlns: 'privacy'
|
|
534
552
|
},
|
|
@@ -539,7 +557,7 @@ const makeMessagesSocket = (config) => {
|
|
|
539
557
|
content: jids.map(jid => ({
|
|
540
558
|
tag: 'token',
|
|
541
559
|
attrs: {
|
|
542
|
-
jid:
|
|
560
|
+
jid: jidNormalizedUser(jid),
|
|
543
561
|
t,
|
|
544
562
|
type: 'trusted_contact'
|
|
545
563
|
}
|
|
@@ -549,8 +567,8 @@ const makeMessagesSocket = (config) => {
|
|
|
549
567
|
});
|
|
550
568
|
return result;
|
|
551
569
|
};
|
|
552
|
-
const waUploadToServer =
|
|
553
|
-
const waitForMsgMediaUpdate =
|
|
570
|
+
const waUploadToServer = getWAUploadToServer(config, refreshMediaConn);
|
|
571
|
+
const waitForMsgMediaUpdate = bindWaitForEvent(ev, 'messages.media-update');
|
|
554
572
|
return {
|
|
555
573
|
...sock,
|
|
556
574
|
getPrivacyTokens,
|
|
@@ -566,10 +584,10 @@ const makeMessagesSocket = (config) => {
|
|
|
566
584
|
createParticipantNodes,
|
|
567
585
|
getUSyncDevices,
|
|
568
586
|
updateMediaMessage: async (message) => {
|
|
569
|
-
const content =
|
|
587
|
+
const content = assertMediaContent(message.message);
|
|
570
588
|
const mediaKey = content.mediaKey;
|
|
571
589
|
const meId = authState.creds.me.id;
|
|
572
|
-
const node = await
|
|
590
|
+
const node = await encryptMediaRetryRequest(message.key, mediaKey, meId);
|
|
573
591
|
let error = undefined;
|
|
574
592
|
await Promise.all([
|
|
575
593
|
sendNode(node),
|
|
@@ -581,16 +599,16 @@ const makeMessagesSocket = (config) => {
|
|
|
581
599
|
}
|
|
582
600
|
else {
|
|
583
601
|
try {
|
|
584
|
-
const media = await
|
|
585
|
-
if (media.result !==
|
|
586
|
-
const resultStr =
|
|
587
|
-
throw new
|
|
602
|
+
const media = await decryptMediaRetryData(result.media, mediaKey, result.key.id);
|
|
603
|
+
if (media.result !== proto.MediaRetryNotification.ResultType.SUCCESS) {
|
|
604
|
+
const resultStr = proto.MediaRetryNotification.ResultType[media.result];
|
|
605
|
+
throw new Boom(`Media re-upload failed by device (${resultStr})`, {
|
|
588
606
|
data: media,
|
|
589
|
-
statusCode:
|
|
607
|
+
statusCode: getStatusCodeForMediaRetry(media.result) || 404
|
|
590
608
|
});
|
|
591
609
|
}
|
|
592
610
|
content.directPath = media.directPath;
|
|
593
|
-
content.url =
|
|
611
|
+
content.url = getUrlFromDirectPath(content.directPath);
|
|
594
612
|
logger.debug({ directPath: media.directPath, key: result.key }, 'media update successful');
|
|
595
613
|
}
|
|
596
614
|
catch (err) {
|
|
@@ -608,25 +626,24 @@ const makeMessagesSocket = (config) => {
|
|
|
608
626
|
return message;
|
|
609
627
|
},
|
|
610
628
|
sendMessage: async (jid, content, options = {}) => {
|
|
611
|
-
var _a, _b, _c;
|
|
612
629
|
const userJid = authState.creds.me.id;
|
|
613
630
|
if (typeof content === 'object' &&
|
|
614
631
|
'disappearingMessagesInChat' in content &&
|
|
615
632
|
typeof content['disappearingMessagesInChat'] !== 'undefined' &&
|
|
616
|
-
|
|
633
|
+
isJidGroup(jid)) {
|
|
617
634
|
const { disappearingMessagesInChat } = content;
|
|
618
635
|
const value = typeof disappearingMessagesInChat === 'boolean'
|
|
619
636
|
? disappearingMessagesInChat
|
|
620
|
-
?
|
|
637
|
+
? WA_DEFAULT_EPHEMERAL
|
|
621
638
|
: 0
|
|
622
639
|
: disappearingMessagesInChat;
|
|
623
640
|
await groupToggleEphemeral(jid, value);
|
|
624
641
|
}
|
|
625
642
|
else {
|
|
626
|
-
const fullMsg = await
|
|
643
|
+
const fullMsg = await generateWAMessage(jid, content, {
|
|
627
644
|
logger,
|
|
628
645
|
userJid,
|
|
629
|
-
getUrlInfo: text =>
|
|
646
|
+
getUrlInfo: text => getUrlInfo(text, {
|
|
630
647
|
thumbnailWidth: linkPreviewImageThumbnailWidth,
|
|
631
648
|
fetchOpts: {
|
|
632
649
|
timeout: 3000,
|
|
@@ -640,7 +657,7 @@ const makeMessagesSocket = (config) => {
|
|
|
640
657
|
upload: waUploadToServer,
|
|
641
658
|
mediaCache: config.mediaCache,
|
|
642
659
|
options: config.options,
|
|
643
|
-
messageId:
|
|
660
|
+
messageId: generateMessageIDV2(sock.user?.id),
|
|
644
661
|
...options
|
|
645
662
|
});
|
|
646
663
|
const isDeleteMsg = 'delete' in content && !!content.delete;
|
|
@@ -652,7 +669,7 @@ const makeMessagesSocket = (config) => {
|
|
|
652
669
|
// required for delete
|
|
653
670
|
if (isDeleteMsg) {
|
|
654
671
|
// if the chat is a group, and I am not the author, then delete the message as an admin
|
|
655
|
-
if (
|
|
672
|
+
if (isJidGroup(content.delete?.remoteJid) && !content.delete?.fromMe) {
|
|
656
673
|
additionalAttributes.edit = '8';
|
|
657
674
|
}
|
|
658
675
|
else {
|
|
@@ -693,4 +710,4 @@ const makeMessagesSocket = (config) => {
|
|
|
693
710
|
}
|
|
694
711
|
};
|
|
695
712
|
};
|
|
696
|
-
|
|
713
|
+
//# sourceMappingURL=messages-send.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages-send.js","sourceRoot":"","sources":["../../src/Socket/messages-send.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { BinaryNode } from '../WABinary/index.js';
|
|
2
|
+
export declare const executeWMexQuery: <T>(variables: Record<string, unknown>, queryId: string, dataPath: string, query: (node: BinaryNode) => Promise<BinaryNode>, generateMessageTag: () => string) => Promise<T>;
|
|
3
|
+
//# sourceMappingURL=mex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mex.d.ts","sourceRoot":"","sources":["../../src/Socket/mex.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AA2B7C,eAAO,MAAM,gBAAgB,GAAU,CAAC,EACvC,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,OAAO,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,EAChD,oBAAoB,MAAM,MAAM,KAC9B,OAAO,CAAC,CAAC,CAuBX,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Boom } from '@hapi/boom';
|
|
2
|
+
import { getBinaryNodeChild, S_WHATSAPP_NET } from '../WABinary/index.js';
|
|
3
|
+
const wMexQuery = (variables, queryId, query, generateMessageTag) => {
|
|
4
|
+
return query({
|
|
5
|
+
tag: 'iq',
|
|
6
|
+
attrs: {
|
|
7
|
+
id: generateMessageTag(),
|
|
8
|
+
type: 'get',
|
|
9
|
+
to: S_WHATSAPP_NET,
|
|
10
|
+
xmlns: 'w:mex'
|
|
11
|
+
},
|
|
12
|
+
content: [
|
|
13
|
+
{
|
|
14
|
+
tag: 'query',
|
|
15
|
+
attrs: { query_id: queryId },
|
|
16
|
+
content: Buffer.from(JSON.stringify({ variables }), 'utf-8')
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
export const executeWMexQuery = async (variables, queryId, dataPath, query, generateMessageTag) => {
|
|
22
|
+
const result = await wMexQuery(variables, queryId, query, generateMessageTag);
|
|
23
|
+
const child = getBinaryNodeChild(result, 'result');
|
|
24
|
+
if (child?.content) {
|
|
25
|
+
const data = JSON.parse(child.content.toString());
|
|
26
|
+
if (data.errors && data.errors.length > 0) {
|
|
27
|
+
const errorMessages = data.errors.map((err) => err.message || 'Unknown error').join(', ');
|
|
28
|
+
const firstError = data.errors[0];
|
|
29
|
+
const errorCode = firstError.extensions?.error_code || 400;
|
|
30
|
+
throw new Boom(`GraphQL server error: ${errorMessages}`, { statusCode: errorCode, data: firstError });
|
|
31
|
+
}
|
|
32
|
+
const response = dataPath ? data?.data?.[dataPath] : data?.data;
|
|
33
|
+
if (typeof response !== 'undefined') {
|
|
34
|
+
return response;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const action = (dataPath || '').startsWith('xwa2_')
|
|
38
|
+
? dataPath.substring(5).replace(/_/g, ' ')
|
|
39
|
+
: dataPath?.replace(/_/g, ' ');
|
|
40
|
+
throw new Boom(`Failed to ${action}, unexpected response structure.`, { statusCode: 400, data: result });
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=mex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mex.js","sourceRoot":"","sources":["../../src/Socket/mex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEhE,MAAM,SAAS,GAAG,CACjB,SAAkC,EAClC,OAAe,EACf,KAAgD,EAChD,kBAAgC,EAC/B,EAAE;IACH,OAAO,KAAK,CAAC;QACZ,GAAG,EAAE,IAAI;QACT,KAAK,EAAE;YACN,EAAE,EAAE,kBAAkB,EAAE;YACxB,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,OAAO;SACd;QACD,OAAO,EAAE;YACR;gBACC,GAAG,EAAE,OAAO;gBACZ,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;gBAC5B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC;aAC5D;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACpC,SAAkC,EAClC,OAAe,EACf,QAAgB,EAChB,KAAgD,EAChD,kBAAgC,EACnB,EAAE;IACf,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAA;IAC7E,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAClD,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEjD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAU,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAChG,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACjC,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,EAAE,UAAU,IAAI,GAAG,CAAA;YAC1D,MAAM,IAAI,IAAI,CAAC,yBAAyB,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;QACtG,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAA;QAC/D,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACrC,OAAO,QAAa,CAAA;QACrB,CAAC;IACF,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QAClD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QAC1C,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,MAAM,IAAI,IAAI,CAAC,aAAa,MAAM,kCAAkC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;AACzG,CAAC,CAAA"}
|