@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
package/lib/Utils/generics.js
CHANGED
|
@@ -1,21 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exports.bytesToCrockford = bytesToCrockford;
|
|
11
|
-
const boom_1 = require("@hapi/boom");
|
|
12
|
-
const axios_1 = __importDefault(require("axios"));
|
|
13
|
-
const crypto_1 = require("crypto");
|
|
14
|
-
const os_1 = require("os");
|
|
15
|
-
const WAProto_1 = require("../../WAProto");
|
|
16
|
-
const baileys_version_json_1 = require("../Defaults/baileys-version.json");
|
|
17
|
-
const Types_1 = require("../Types");
|
|
18
|
-
const WABinary_1 = require("../WABinary");
|
|
1
|
+
import { Boom } from '@hapi/boom';
|
|
2
|
+
import axios, {} from 'axios';
|
|
3
|
+
import { createHash, randomBytes } from 'crypto';
|
|
4
|
+
import { platform, release } from 'os';
|
|
5
|
+
import { proto } from '../../WAProto/index.js';
|
|
6
|
+
import version from '../Defaults/baileys-version.json' with { type: 'json' };
|
|
7
|
+
const baileysVersion = version.version;
|
|
8
|
+
import { DisconnectReason } from '../Types/index.js';
|
|
9
|
+
import { getAllBinaryNodeChildren, jidDecode } from '../WABinary/index.js';
|
|
19
10
|
const PLATFORM_MAP = {
|
|
20
11
|
aix: 'AIX',
|
|
21
12
|
darwin: 'Mac OS',
|
|
@@ -23,26 +14,29 @@ const PLATFORM_MAP = {
|
|
|
23
14
|
android: 'Android',
|
|
24
15
|
freebsd: 'FreeBSD',
|
|
25
16
|
openbsd: 'OpenBSD',
|
|
26
|
-
sunos: 'Solaris'
|
|
17
|
+
sunos: 'Solaris',
|
|
18
|
+
linux: undefined,
|
|
19
|
+
haiku: undefined,
|
|
20
|
+
cygwin: undefined,
|
|
21
|
+
netbsd: undefined
|
|
27
22
|
};
|
|
28
|
-
|
|
23
|
+
export const Browsers = {
|
|
29
24
|
ubuntu: browser => ['Ubuntu', browser, '22.04.4'],
|
|
30
25
|
macOS: browser => ['Mac OS', browser, '14.4.1'],
|
|
31
26
|
baileys: browser => ['Baileys', browser, '6.5.0'],
|
|
32
27
|
windows: browser => ['Windows', browser, '10.0.22631'],
|
|
33
28
|
/** The appropriate browser based on your OS & release */
|
|
34
|
-
appropriate: browser => [PLATFORM_MAP[
|
|
29
|
+
appropriate: browser => [PLATFORM_MAP[platform()] || 'Ubuntu', browser, release()]
|
|
35
30
|
};
|
|
36
|
-
const getPlatformId = (browser) => {
|
|
37
|
-
const platformType =
|
|
31
|
+
export const getPlatformId = (browser) => {
|
|
32
|
+
const platformType = proto.DeviceProps.PlatformType[browser.toUpperCase()];
|
|
38
33
|
return platformType ? platformType.toString() : '1'; //chrome
|
|
39
34
|
};
|
|
40
|
-
|
|
41
|
-
exports.BufferJSON = {
|
|
35
|
+
export const BufferJSON = {
|
|
42
36
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
37
|
replacer: (k, value) => {
|
|
44
|
-
if (Buffer.isBuffer(value) || value instanceof Uint8Array ||
|
|
45
|
-
return { type: 'Buffer', data: Buffer.from(
|
|
38
|
+
if (Buffer.isBuffer(value) || value instanceof Uint8Array || value?.type === 'Buffer') {
|
|
39
|
+
return { type: 'Buffer', data: Buffer.from(value?.data || value).toString('base64') };
|
|
46
40
|
}
|
|
47
41
|
return value;
|
|
48
42
|
},
|
|
@@ -55,18 +49,18 @@ exports.BufferJSON = {
|
|
|
55
49
|
return value;
|
|
56
50
|
}
|
|
57
51
|
};
|
|
58
|
-
const getKeyAuthor = (key, meId = 'me') => (
|
|
59
|
-
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
52
|
+
export const getKeyAuthor = (key, meId = 'me') => (key?.fromMe ? meId : key?.participant || key?.remoteJid) || '';
|
|
53
|
+
export const writeRandomPadMax16 = (msg) => {
|
|
54
|
+
const pad = randomBytes(1);
|
|
55
|
+
if (pad[0]) {
|
|
56
|
+
pad[0] &= 0xf;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
64
59
|
pad[0] = 0xf;
|
|
65
60
|
}
|
|
66
61
|
return Buffer.concat([msg, Buffer.alloc(pad[0], pad[0])]);
|
|
67
62
|
};
|
|
68
|
-
|
|
69
|
-
const unpadRandomMax16 = (e) => {
|
|
63
|
+
export const unpadRandomMax16 = (e) => {
|
|
70
64
|
const t = new Uint8Array(e);
|
|
71
65
|
if (0 === t.length) {
|
|
72
66
|
throw new Error('unpadPkcs7 given empty bytes');
|
|
@@ -77,14 +71,11 @@ const unpadRandomMax16 = (e) => {
|
|
|
77
71
|
}
|
|
78
72
|
return new Uint8Array(t.buffer, t.byteOffset, t.length - r);
|
|
79
73
|
};
|
|
80
|
-
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
const generateRegistrationId = () => {
|
|
84
|
-
return Uint16Array.from((0, crypto_1.randomBytes)(2))[0] & 16383;
|
|
74
|
+
export const encodeWAMessage = (message) => writeRandomPadMax16(proto.Message.encode(message).finish());
|
|
75
|
+
export const generateRegistrationId = () => {
|
|
76
|
+
return Uint16Array.from(randomBytes(2))[0] & 16383;
|
|
85
77
|
};
|
|
86
|
-
|
|
87
|
-
const encodeBigEndian = (e, t = 4) => {
|
|
78
|
+
export const encodeBigEndian = (e, t = 4) => {
|
|
88
79
|
let r = e;
|
|
89
80
|
const a = new Uint8Array(t);
|
|
90
81
|
for (let i = t - 1; i >= 0; i--) {
|
|
@@ -93,20 +84,17 @@ const encodeBigEndian = (e, t = 4) => {
|
|
|
93
84
|
}
|
|
94
85
|
return a;
|
|
95
86
|
};
|
|
96
|
-
|
|
97
|
-
const toNumber = (t) => typeof t === 'object' && t ? ('toNumber' in t ? t.toNumber() : t.low) : t || 0;
|
|
98
|
-
exports.toNumber = toNumber;
|
|
87
|
+
export const toNumber = (t) => typeof t === 'object' && t ? ('toNumber' in t ? t.toNumber() : t.low) : t || 0;
|
|
99
88
|
/** unix timestamp of a date in seconds */
|
|
100
|
-
const unixTimestampSeconds = (date = new Date()) => Math.floor(date.getTime() / 1000);
|
|
101
|
-
|
|
102
|
-
const debouncedTimeout = (intervalMs = 1000, task) => {
|
|
89
|
+
export const unixTimestampSeconds = (date = new Date()) => Math.floor(date.getTime() / 1000);
|
|
90
|
+
export const debouncedTimeout = (intervalMs = 1000, task) => {
|
|
103
91
|
let timeout;
|
|
104
92
|
return {
|
|
105
93
|
start: (newIntervalMs, newTask) => {
|
|
106
94
|
task = newTask || task;
|
|
107
95
|
intervalMs = newIntervalMs || intervalMs;
|
|
108
96
|
timeout && clearTimeout(timeout);
|
|
109
|
-
timeout = setTimeout(() => task
|
|
97
|
+
timeout = setTimeout(() => task?.(), intervalMs);
|
|
110
98
|
},
|
|
111
99
|
cancel: () => {
|
|
112
100
|
timeout && clearTimeout(timeout);
|
|
@@ -116,10 +104,8 @@ const debouncedTimeout = (intervalMs = 1000, task) => {
|
|
|
116
104
|
setInterval: (newInterval) => (intervalMs = newInterval)
|
|
117
105
|
};
|
|
118
106
|
};
|
|
119
|
-
|
|
120
|
-
const
|
|
121
|
-
exports.delay = delay;
|
|
122
|
-
const delayCancellable = (ms) => {
|
|
107
|
+
export const delay = (ms) => delayCancellable(ms).delay;
|
|
108
|
+
export const delayCancellable = (ms) => {
|
|
123
109
|
const stack = new Error().stack;
|
|
124
110
|
let timeout;
|
|
125
111
|
let reject;
|
|
@@ -129,7 +115,7 @@ const delayCancellable = (ms) => {
|
|
|
129
115
|
});
|
|
130
116
|
const cancel = () => {
|
|
131
117
|
clearTimeout(timeout);
|
|
132
|
-
reject(new
|
|
118
|
+
reject(new Boom('Cancelled', {
|
|
133
119
|
statusCode: 500,
|
|
134
120
|
data: {
|
|
135
121
|
stack
|
|
@@ -138,18 +124,17 @@ const delayCancellable = (ms) => {
|
|
|
138
124
|
};
|
|
139
125
|
return { delay, cancel };
|
|
140
126
|
};
|
|
141
|
-
|
|
142
|
-
async function promiseTimeout(ms, promise) {
|
|
127
|
+
export async function promiseTimeout(ms, promise) {
|
|
143
128
|
if (!ms) {
|
|
144
129
|
return new Promise(promise);
|
|
145
130
|
}
|
|
146
131
|
const stack = new Error().stack;
|
|
147
132
|
// Create a promise that rejects in <ms> milliseconds
|
|
148
|
-
const { delay, cancel } =
|
|
133
|
+
const { delay, cancel } = delayCancellable(ms);
|
|
149
134
|
const p = new Promise((resolve, reject) => {
|
|
150
135
|
delay
|
|
151
|
-
.then(() => reject(new
|
|
152
|
-
statusCode:
|
|
136
|
+
.then(() => reject(new Boom('Timed Out', {
|
|
137
|
+
statusCode: DisconnectReason.timedOut,
|
|
153
138
|
data: {
|
|
154
139
|
stack
|
|
155
140
|
}
|
|
@@ -161,33 +146,31 @@ async function promiseTimeout(ms, promise) {
|
|
|
161
146
|
}
|
|
162
147
|
// inspired from whatsmeow code
|
|
163
148
|
// https://github.com/tulir/whatsmeow/blob/64bc969fbe78d31ae0dd443b8d4c80a5d026d07a/send.go#L42
|
|
164
|
-
const generateMessageIDV2 = (userId) => {
|
|
149
|
+
export const generateMessageIDV2 = (userId) => {
|
|
165
150
|
const data = Buffer.alloc(8 + 20 + 16);
|
|
166
151
|
data.writeBigUInt64BE(BigInt(Math.floor(Date.now() / 1000)));
|
|
167
152
|
if (userId) {
|
|
168
|
-
const id =
|
|
169
|
-
if (id
|
|
153
|
+
const id = jidDecode(userId);
|
|
154
|
+
if (id?.user) {
|
|
170
155
|
data.write(id.user, 8);
|
|
171
156
|
data.write('@c.us', 8 + id.user.length);
|
|
172
157
|
}
|
|
173
158
|
}
|
|
174
|
-
const random =
|
|
159
|
+
const random = randomBytes(16);
|
|
175
160
|
random.copy(data, 28);
|
|
176
|
-
const hash =
|
|
161
|
+
const hash = createHash('sha256').update(data).digest();
|
|
177
162
|
return '3EB0' + hash.toString('hex').toUpperCase().substring(0, 18);
|
|
178
163
|
};
|
|
179
|
-
exports.generateMessageIDV2 = generateMessageIDV2;
|
|
180
164
|
// generate a random ID to attach to a message
|
|
181
|
-
const generateMessageID = () => '3EB0' +
|
|
182
|
-
|
|
183
|
-
function bindWaitForEvent(ev, event) {
|
|
165
|
+
export const generateMessageID = () => '3EB0' + randomBytes(18).toString('hex').toUpperCase();
|
|
166
|
+
export function bindWaitForEvent(ev, event) {
|
|
184
167
|
return async (check, timeoutMs) => {
|
|
185
168
|
let listener;
|
|
186
169
|
let closeListener;
|
|
187
170
|
await promiseTimeout(timeoutMs, (resolve, reject) => {
|
|
188
171
|
closeListener = ({ connection, lastDisconnect }) => {
|
|
189
172
|
if (connection === 'close') {
|
|
190
|
-
reject(
|
|
173
|
+
reject(lastDisconnect?.error || new Boom('Connection Closed', { statusCode: DisconnectReason.connectionClosed }));
|
|
191
174
|
}
|
|
192
175
|
};
|
|
193
176
|
ev.on('connection.update', closeListener);
|
|
@@ -203,16 +186,15 @@ function bindWaitForEvent(ev, event) {
|
|
|
203
186
|
});
|
|
204
187
|
};
|
|
205
188
|
}
|
|
206
|
-
const bindWaitForConnectionUpdate = (ev) => bindWaitForEvent(ev, 'connection.update');
|
|
207
|
-
exports.bindWaitForConnectionUpdate = bindWaitForConnectionUpdate;
|
|
189
|
+
export const bindWaitForConnectionUpdate = (ev) => bindWaitForEvent(ev, 'connection.update');
|
|
208
190
|
/**
|
|
209
191
|
* utility that fetches latest baileys version from the master branch.
|
|
210
192
|
* Use to ensure your WA connection is always on the latest version
|
|
211
193
|
*/
|
|
212
|
-
const fetchLatestBaileysVersion = async (options = {}) => {
|
|
194
|
+
export const fetchLatestBaileysVersion = async (options = {}) => {
|
|
213
195
|
const URL = 'https://raw.githubusercontent.com/WhiskeySockets/Baileys/master/src/Defaults/baileys-version.json';
|
|
214
196
|
try {
|
|
215
|
-
const result = await
|
|
197
|
+
const result = await axios.get(URL, {
|
|
216
198
|
...options,
|
|
217
199
|
responseType: 'json'
|
|
218
200
|
});
|
|
@@ -223,28 +205,27 @@ const fetchLatestBaileysVersion = async (options = {}) => {
|
|
|
223
205
|
}
|
|
224
206
|
catch (error) {
|
|
225
207
|
return {
|
|
226
|
-
version:
|
|
208
|
+
version: baileysVersion,
|
|
227
209
|
isLatest: false,
|
|
228
210
|
error
|
|
229
211
|
};
|
|
230
212
|
}
|
|
231
213
|
};
|
|
232
|
-
exports.fetchLatestBaileysVersion = fetchLatestBaileysVersion;
|
|
233
214
|
/**
|
|
234
215
|
* A utility that fetches the latest web version of whatsapp.
|
|
235
216
|
* Use to ensure your WA connection is always on the latest version
|
|
236
217
|
*/
|
|
237
|
-
const fetchLatestWaWebVersion = async (options) => {
|
|
218
|
+
export const fetchLatestWaWebVersion = async (options) => {
|
|
238
219
|
try {
|
|
239
|
-
const { data } = await
|
|
220
|
+
const { data } = await axios.get('https://web.whatsapp.com/sw.js', {
|
|
240
221
|
...options,
|
|
241
222
|
responseType: 'json'
|
|
242
223
|
});
|
|
243
224
|
const regex = /\\?"client_revision\\?":\s*(\d+)/;
|
|
244
225
|
const match = data.match(regex);
|
|
245
|
-
if (!
|
|
226
|
+
if (!match?.[1]) {
|
|
246
227
|
return {
|
|
247
|
-
version:
|
|
228
|
+
version: baileysVersion,
|
|
248
229
|
isLatest: false,
|
|
249
230
|
error: {
|
|
250
231
|
message: 'Could not find client revision in the fetched content'
|
|
@@ -259,49 +240,46 @@ const fetchLatestWaWebVersion = async (options) => {
|
|
|
259
240
|
}
|
|
260
241
|
catch (error) {
|
|
261
242
|
return {
|
|
262
|
-
version:
|
|
243
|
+
version: baileysVersion,
|
|
263
244
|
isLatest: false,
|
|
264
245
|
error
|
|
265
246
|
};
|
|
266
247
|
}
|
|
267
248
|
};
|
|
268
|
-
exports.fetchLatestWaWebVersion = fetchLatestWaWebVersion;
|
|
269
249
|
/** unique message tag prefix for MD clients */
|
|
270
|
-
const generateMdTagPrefix = () => {
|
|
271
|
-
const bytes =
|
|
250
|
+
export const generateMdTagPrefix = () => {
|
|
251
|
+
const bytes = randomBytes(4);
|
|
272
252
|
return `${bytes.readUInt16BE()}.${bytes.readUInt16BE(2)}-`;
|
|
273
253
|
};
|
|
274
|
-
exports.generateMdTagPrefix = generateMdTagPrefix;
|
|
275
254
|
const STATUS_MAP = {
|
|
276
|
-
sender:
|
|
277
|
-
played:
|
|
278
|
-
read:
|
|
279
|
-
'read-self':
|
|
255
|
+
sender: proto.WebMessageInfo.Status.SERVER_ACK,
|
|
256
|
+
played: proto.WebMessageInfo.Status.PLAYED,
|
|
257
|
+
read: proto.WebMessageInfo.Status.READ,
|
|
258
|
+
'read-self': proto.WebMessageInfo.Status.READ
|
|
280
259
|
};
|
|
281
260
|
/**
|
|
282
261
|
* Given a type of receipt, returns what the new status of the message should be
|
|
283
262
|
* @param type type from receipt
|
|
284
263
|
*/
|
|
285
|
-
const getStatusFromReceiptType = (type) => {
|
|
264
|
+
export const getStatusFromReceiptType = (type) => {
|
|
286
265
|
const status = STATUS_MAP[type];
|
|
287
266
|
if (typeof type === 'undefined') {
|
|
288
|
-
return
|
|
267
|
+
return proto.WebMessageInfo.Status.DELIVERY_ACK;
|
|
289
268
|
}
|
|
290
269
|
return status;
|
|
291
270
|
};
|
|
292
|
-
exports.getStatusFromReceiptType = getStatusFromReceiptType;
|
|
293
271
|
const CODE_MAP = {
|
|
294
|
-
conflict:
|
|
272
|
+
conflict: DisconnectReason.connectionReplaced
|
|
295
273
|
};
|
|
296
274
|
/**
|
|
297
275
|
* Stream errors generally provide a reason, map that to a baileys DisconnectReason
|
|
298
276
|
* @param reason the string reason given, eg. "conflict"
|
|
299
277
|
*/
|
|
300
|
-
const getErrorCodeFromStreamError = (node) => {
|
|
301
|
-
const [reasonNode] =
|
|
302
|
-
let reason =
|
|
303
|
-
const statusCode = +(node.attrs.code || CODE_MAP[reason] ||
|
|
304
|
-
if (statusCode ===
|
|
278
|
+
export const getErrorCodeFromStreamError = (node) => {
|
|
279
|
+
const [reasonNode] = getAllBinaryNodeChildren(node);
|
|
280
|
+
let reason = reasonNode?.tag || 'unknown';
|
|
281
|
+
const statusCode = +(node.attrs.code || CODE_MAP[reason] || DisconnectReason.badSession);
|
|
282
|
+
if (statusCode === DisconnectReason.restartRequired) {
|
|
305
283
|
reason = 'restart required';
|
|
306
284
|
}
|
|
307
285
|
return {
|
|
@@ -309,8 +287,7 @@ const getErrorCodeFromStreamError = (node) => {
|
|
|
309
287
|
statusCode
|
|
310
288
|
};
|
|
311
289
|
};
|
|
312
|
-
|
|
313
|
-
const getCallStatusFromNode = ({ tag, attrs }) => {
|
|
290
|
+
export const getCallStatusFromNode = ({ tag, attrs }) => {
|
|
314
291
|
let status;
|
|
315
292
|
switch (tag) {
|
|
316
293
|
case 'offer':
|
|
@@ -338,37 +315,33 @@ const getCallStatusFromNode = ({ tag, attrs }) => {
|
|
|
338
315
|
}
|
|
339
316
|
return status;
|
|
340
317
|
};
|
|
341
|
-
exports.getCallStatusFromNode = getCallStatusFromNode;
|
|
342
318
|
const UNEXPECTED_SERVER_CODE_TEXT = 'Unexpected server response: ';
|
|
343
|
-
const getCodeFromWSError = (error) => {
|
|
344
|
-
var _a, _b, _c;
|
|
319
|
+
export const getCodeFromWSError = (error) => {
|
|
345
320
|
let statusCode = 500;
|
|
346
|
-
if (
|
|
347
|
-
const code = +
|
|
321
|
+
if (error?.message?.includes(UNEXPECTED_SERVER_CODE_TEXT)) {
|
|
322
|
+
const code = +error?.message.slice(UNEXPECTED_SERVER_CODE_TEXT.length);
|
|
348
323
|
if (!Number.isNaN(code) && code >= 400) {
|
|
349
324
|
statusCode = code;
|
|
350
325
|
}
|
|
351
326
|
}
|
|
352
327
|
else if (
|
|
353
328
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
354
|
-
|
|
355
|
-
|
|
329
|
+
error?.code?.startsWith('E') ||
|
|
330
|
+
error?.message?.includes('timed out')) {
|
|
356
331
|
// handle ETIMEOUT, ENOTFOUND etc
|
|
357
332
|
statusCode = 408;
|
|
358
333
|
}
|
|
359
334
|
return statusCode;
|
|
360
335
|
};
|
|
361
|
-
exports.getCodeFromWSError = getCodeFromWSError;
|
|
362
336
|
/**
|
|
363
337
|
* Is the given platform WA business
|
|
364
338
|
* @param platform AuthenticationCreds.platform
|
|
365
339
|
*/
|
|
366
|
-
const isWABusinessPlatform = (platform) => {
|
|
340
|
+
export const isWABusinessPlatform = (platform) => {
|
|
367
341
|
return platform === 'smbi' || platform === 'smba';
|
|
368
342
|
};
|
|
369
|
-
exports.isWABusinessPlatform = isWABusinessPlatform;
|
|
370
343
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
371
|
-
function trimUndefined(obj) {
|
|
344
|
+
export function trimUndefined(obj) {
|
|
372
345
|
for (const key in obj) {
|
|
373
346
|
if (typeof obj[key] === 'undefined') {
|
|
374
347
|
delete obj[key];
|
|
@@ -377,7 +350,7 @@ function trimUndefined(obj) {
|
|
|
377
350
|
return obj;
|
|
378
351
|
}
|
|
379
352
|
const CROCKFORD_CHARACTERS = '123456789ABCDEFGHJKLMNPQRSTVWXYZ';
|
|
380
|
-
function bytesToCrockford(buffer) {
|
|
353
|
+
export function bytesToCrockford(buffer) {
|
|
381
354
|
let value = 0;
|
|
382
355
|
let bitCount = 0;
|
|
383
356
|
const crockford = [];
|
|
@@ -394,3 +367,7 @@ function bytesToCrockford(buffer) {
|
|
|
394
367
|
}
|
|
395
368
|
return crockford.join('');
|
|
396
369
|
}
|
|
370
|
+
export function encodeNewsletterMessage(message) {
|
|
371
|
+
return proto.Message.encode(message).finish();
|
|
372
|
+
}
|
|
373
|
+
//# sourceMappingURL=generics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generics.js","sourceRoot":"","sources":["../../src/Utils/generics.ts"],"names":[],"mappings":"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"}
|
package/lib/Utils/history.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AxiosRequestConfig } from 'axios';
|
|
2
|
-
import { proto } from '../../WAProto';
|
|
3
|
-
import { Chat, Contact } from '../Types';
|
|
1
|
+
import type { AxiosRequestConfig } from 'axios';
|
|
2
|
+
import { proto } from '../../WAProto/index.js';
|
|
3
|
+
import type { Chat, Contact } from '../Types/index.js';
|
|
4
4
|
export declare const downloadHistory: (msg: proto.Message.IHistorySyncNotification, options: AxiosRequestConfig<{}>) => Promise<proto.HistorySync>;
|
|
5
5
|
export declare const processHistoryMessage: (item: proto.IHistorySync) => {
|
|
6
6
|
chats: Chat[];
|
|
@@ -17,3 +17,4 @@ export declare const downloadAndProcessHistorySyncNotification: (msg: proto.Mess
|
|
|
17
17
|
progress: number | null | undefined;
|
|
18
18
|
}>;
|
|
19
19
|
export declare const getHistoryMsg: (message: proto.IMessage) => proto.Message.IHistorySyncNotification | null | undefined;
|
|
20
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/Utils/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAS7C,eAAO,MAAM,eAAe,GAAU,KAAK,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,+BAcjH,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,MAAM,KAAK,CAAC,YAAY;;;;;;CAiE7D,CAAA;AAED,eAAO,MAAM,yCAAyC,GACrD,KAAK,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAC3C,SAAS,kBAAkB,CAAC,EAAE,CAAC;;;;;;EAI/B,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,SAAS,KAAK,CAAC,QAAQ,8DAKpD,CAAA"}
|
package/lib/Utils/history.js
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const inflatePromise = (0, util_1.promisify)(zlib_1.inflate);
|
|
13
|
-
const downloadHistory = async (msg, options) => {
|
|
14
|
-
const stream = await (0, messages_media_1.downloadContentFromMessage)(msg, 'md-msg-hist', { options });
|
|
1
|
+
import { promisify } from 'util';
|
|
2
|
+
import { inflate } from 'zlib';
|
|
3
|
+
import { proto } from '../../WAProto/index.js';
|
|
4
|
+
import { WAMessageStubType } from '../Types/index.js';
|
|
5
|
+
import { isJidUser } from '../WABinary/index.js';
|
|
6
|
+
import { toNumber } from './generics.js';
|
|
7
|
+
import { normalizeMessageContent } from './messages.js';
|
|
8
|
+
import { downloadContentFromMessage } from './messages-media.js';
|
|
9
|
+
const inflatePromise = promisify(inflate);
|
|
10
|
+
export const downloadHistory = async (msg, options) => {
|
|
11
|
+
const stream = await downloadContentFromMessage(msg, 'md-msg-hist', { options });
|
|
15
12
|
const bufferArray = [];
|
|
16
13
|
for await (const chunk of stream) {
|
|
17
14
|
bufferArray.push(chunk);
|
|
@@ -19,53 +16,50 @@ const downloadHistory = async (msg, options) => {
|
|
|
19
16
|
let buffer = Buffer.concat(bufferArray);
|
|
20
17
|
// decompress buffer
|
|
21
18
|
buffer = await inflatePromise(buffer);
|
|
22
|
-
const syncData =
|
|
19
|
+
const syncData = proto.HistorySync.decode(buffer);
|
|
23
20
|
return syncData;
|
|
24
21
|
};
|
|
25
|
-
|
|
26
|
-
const processHistoryMessage = (item) => {
|
|
27
|
-
var _a, _b, _c;
|
|
22
|
+
export const processHistoryMessage = (item) => {
|
|
28
23
|
const messages = [];
|
|
29
24
|
const contacts = [];
|
|
30
25
|
const chats = [];
|
|
31
26
|
switch (item.syncType) {
|
|
32
|
-
case
|
|
33
|
-
case
|
|
34
|
-
case
|
|
35
|
-
case
|
|
27
|
+
case proto.HistorySync.HistorySyncType.INITIAL_BOOTSTRAP:
|
|
28
|
+
case proto.HistorySync.HistorySyncType.RECENT:
|
|
29
|
+
case proto.HistorySync.HistorySyncType.FULL:
|
|
30
|
+
case proto.HistorySync.HistorySyncType.ON_DEMAND:
|
|
36
31
|
for (const chat of item.conversations) {
|
|
37
|
-
contacts.push({
|
|
32
|
+
contacts.push({
|
|
33
|
+
id: chat.id,
|
|
34
|
+
name: chat.name || undefined,
|
|
35
|
+
lid: chat.lidJid || undefined,
|
|
36
|
+
jid: isJidUser(chat.id) ? chat.id : undefined
|
|
37
|
+
});
|
|
38
38
|
const msgs = chat.messages || [];
|
|
39
39
|
delete chat.messages;
|
|
40
|
-
delete chat.archived;
|
|
41
|
-
delete chat.muteEndTime;
|
|
42
|
-
delete chat.pinned;
|
|
43
40
|
for (const item of msgs) {
|
|
44
41
|
const message = item.message;
|
|
45
42
|
messages.push(message);
|
|
46
|
-
if (!
|
|
43
|
+
if (!chat.messages?.length) {
|
|
47
44
|
// keep only the most recent message in the chat array
|
|
48
45
|
chat.messages = [{ message }];
|
|
49
46
|
}
|
|
50
47
|
if (!message.key.fromMe && !chat.lastMessageRecvTimestamp) {
|
|
51
|
-
chat.lastMessageRecvTimestamp =
|
|
48
|
+
chat.lastMessageRecvTimestamp = toNumber(message.messageTimestamp);
|
|
52
49
|
}
|
|
53
|
-
if ((message.messageStubType ===
|
|
54
|
-
message.messageStubType ===
|
|
55
|
-
|
|
50
|
+
if ((message.messageStubType === WAMessageStubType.BIZ_PRIVACY_MODE_TO_BSP ||
|
|
51
|
+
message.messageStubType === WAMessageStubType.BIZ_PRIVACY_MODE_TO_FB) &&
|
|
52
|
+
message.messageStubParameters?.[0]) {
|
|
56
53
|
contacts.push({
|
|
57
54
|
id: message.key.participant || message.key.remoteJid,
|
|
58
|
-
verifiedName:
|
|
55
|
+
verifiedName: message.messageStubParameters?.[0]
|
|
59
56
|
});
|
|
60
57
|
}
|
|
61
58
|
}
|
|
62
|
-
if ((0, WABinary_1.isJidUser)(chat.id) && chat.readOnly && chat.archived) {
|
|
63
|
-
delete chat.readOnly;
|
|
64
|
-
}
|
|
65
59
|
chats.push({ ...chat });
|
|
66
60
|
}
|
|
67
61
|
break;
|
|
68
|
-
case
|
|
62
|
+
case proto.HistorySync.HistorySyncType.PUSH_NAME:
|
|
69
63
|
for (const c of item.pushnames) {
|
|
70
64
|
contacts.push({ id: c.id, notify: c.pushname });
|
|
71
65
|
}
|
|
@@ -79,16 +73,13 @@ const processHistoryMessage = (item) => {
|
|
|
79
73
|
progress: item.progress
|
|
80
74
|
};
|
|
81
75
|
};
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
return (0, exports.processHistoryMessage)(historyMsg);
|
|
76
|
+
export const downloadAndProcessHistorySyncNotification = async (msg, options) => {
|
|
77
|
+
const historyMsg = await downloadHistory(msg, options);
|
|
78
|
+
return processHistoryMessage(historyMsg);
|
|
86
79
|
};
|
|
87
|
-
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
const normalizedContent = !!message ? (0, messages_1.normalizeMessageContent)(message) : undefined;
|
|
91
|
-
const anyHistoryMsg = (_a = normalizedContent === null || normalizedContent === void 0 ? void 0 : normalizedContent.protocolMessage) === null || _a === void 0 ? void 0 : _a.historySyncNotification;
|
|
80
|
+
export const getHistoryMsg = (message) => {
|
|
81
|
+
const normalizedContent = !!message ? normalizeMessageContent(message) : undefined;
|
|
82
|
+
const anyHistoryMsg = normalizedContent?.protocolMessage?.historySyncNotification;
|
|
92
83
|
return anyHistoryMsg;
|
|
93
84
|
};
|
|
94
|
-
|
|
85
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/Utils/history.ts"],"names":[],"mappings":"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"}
|
package/lib/Utils/index.d.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
export * from './generics';
|
|
2
|
-
export * from './decode-wa-message';
|
|
3
|
-
export * from './messages';
|
|
4
|
-
export * from './messages-media';
|
|
5
|
-
export * from './validate-connection';
|
|
6
|
-
export * from './crypto';
|
|
7
|
-
export * from './signal';
|
|
8
|
-
export * from './noise-handler';
|
|
9
|
-
export * from './history';
|
|
10
|
-
export * from './chat-utils';
|
|
11
|
-
export * from './lt-hash';
|
|
12
|
-
export * from './auth-utils';
|
|
13
|
-
export * from './baileys-event-stream';
|
|
14
|
-
export * from './use-multi-file-auth-state';
|
|
15
|
-
export * from './link-preview';
|
|
16
|
-
export * from './event-buffer';
|
|
17
|
-
export * from './process-message';
|
|
1
|
+
export * from './generics.js';
|
|
2
|
+
export * from './decode-wa-message.js';
|
|
3
|
+
export * from './messages.js';
|
|
4
|
+
export * from './messages-media.js';
|
|
5
|
+
export * from './validate-connection.js';
|
|
6
|
+
export * from './crypto.js';
|
|
7
|
+
export * from './signal.js';
|
|
8
|
+
export * from './noise-handler.js';
|
|
9
|
+
export * from './history.js';
|
|
10
|
+
export * from './chat-utils.js';
|
|
11
|
+
export * from './lt-hash.js';
|
|
12
|
+
export * from './auth-utils.js';
|
|
13
|
+
export * from './baileys-event-stream.js';
|
|
14
|
+
export * from './use-multi-file-auth-state.js';
|
|
15
|
+
export * from './link-preview.js';
|
|
16
|
+
export * from './event-buffer.js';
|
|
17
|
+
export * from './process-message.js';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA"}
|