@d0v3riz/baileys 6.7.19 → 6.7.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 +1263 -4
- package/WAProto/GenerateStatics.sh +3 -0
- package/WAProto/WAProto.proto +4633 -0
- package/WAProto/fix-imports.js +29 -0
- package/WAProto/index.d.ts +3212 -122
- package/WAProto/index.js +13516 -4182
- package/lib/Defaults/baileys-version.json +1 -1
- package/lib/Defaults/index.d.ts +4 -3
- package/lib/Defaults/index.d.ts.map +1 -0
- package/lib/Defaults/index.js +50 -54
- 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 +3 -0
- package/lib/Signal/Group/queue-job.d.ts.map +1 -0
- package/lib/Signal/Group/queue-job.js +57 -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 +41 -61
- 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 +15 -27
- package/lib/Socket/Client/websocket.js.map +1 -0
- package/lib/Socket/business.d.ts +92 -62
- package/lib/Socket/business.d.ts.map +1 -0
- package/lib/Socket/business.js +37 -42
- package/lib/Socket/business.js.map +1 -0
- package/lib/Socket/chats.d.ts +31 -24
- package/lib/Socket/chats.d.ts.map +1 -0
- package/lib/Socket/chats.js +251 -198
- package/lib/Socket/chats.js.map +1 -0
- package/lib/Socket/communities.d.ts +219 -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 +47 -39
- package/lib/Socket/groups.d.ts.map +1 -0
- package/lib/Socket/groups.js +91 -82
- package/lib/Socket/groups.js.map +1 -0
- package/lib/Socket/index.d.ts +128 -68
- package/lib/Socket/index.d.ts.map +1 -0
- package/lib/Socket/index.js +16 -9
- package/lib/Socket/index.js.map +1 -0
- package/lib/Socket/messages-recv.d.ts +79 -49
- package/lib/Socket/messages-recv.d.ts.map +1 -0
- package/lib/Socket/messages-recv.js +364 -200
- package/lib/Socket/messages-recv.js.map +1 -0
- package/lib/Socket/messages-send.d.ts +76 -46
- package/lib/Socket/messages-send.d.ts.map +1 -0
- package/lib/Socket/messages-send.js +144 -120
- 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 +143 -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 +15 -14
- package/lib/Socket/socket.d.ts.map +1 -0
- package/lib/Socket/socket.js +153 -141
- package/lib/Socket/socket.js.map +1 -0
- package/lib/Socket/usync.d.ts +17 -16
- package/lib/Socket/usync.d.ts.map +1 -0
- package/lib/Socket/usync.js +19 -26
- package/lib/Socket/usync.js.map +1 -0
- package/lib/Types/Auth.d.ts +5 -4
- 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 +14 -8
- package/lib/Types/Chat.d.ts.map +1 -0
- package/lib/Types/Chat.js +8 -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 +38 -11
- 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 +10 -4
- 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 +21 -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 +11 -10
- 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 +14 -2
- package/lib/Types/State.d.ts.map +1 -0
- package/lib/Types/State.js +13 -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 +30 -40
- 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 +64 -75
- 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 +195 -194
- 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 +40 -95
- 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 -41
- package/lib/Utils/decode-wa-message.js.map +1 -0
- package/lib/Utils/event-buffer.d.ts +6 -6
- package/lib/Utils/event-buffer.d.ts.map +1 -0
- package/lib/Utils/event-buffer.js +42 -59
- 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 +105 -130
- 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 +14 -55
- package/lib/Utils/link-preview.js.map +1 -0
- package/lib/Utils/logger.d.ts +8 -6
- 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 +23 -26
- 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 +6 -10
- 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 +215 -253
- 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 +259 -228
- 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 +6 -5
- package/lib/Utils/process-message.d.ts.map +1 -0
- package/lib/Utils/process-message.js +109 -123
- 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 +52 -55
- 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 -27
- 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 +64 -75
- 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 +1280 -19
- 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 +15 -52
- 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 +7 -43
- 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 +31 -39
- 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 -38
- 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 +2257 -2366
- 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 +15 -19
- 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 +8 -11
- 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 +11 -14
- 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 +9 -12
- 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 +9 -13
- 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 +20 -22
- 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 +3 -6
- 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 +34 -32
- 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 +36 -31
- 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,48 +1,42 @@
|
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
11
|
+
aix: 'AIX',
|
|
12
|
+
darwin: 'Mac OS',
|
|
13
|
+
win32: 'Windows',
|
|
14
|
+
android: 'Android',
|
|
15
|
+
freebsd: 'FreeBSD',
|
|
16
|
+
openbsd: 'OpenBSD',
|
|
17
|
+
sunos: 'Solaris',
|
|
18
|
+
linux: undefined,
|
|
19
|
+
haiku: undefined,
|
|
20
|
+
cygwin: undefined,
|
|
21
|
+
netbsd: undefined
|
|
27
22
|
};
|
|
28
|
-
|
|
29
|
-
ubuntu:
|
|
30
|
-
macOS:
|
|
31
|
-
baileys:
|
|
32
|
-
windows:
|
|
23
|
+
export const Browsers = {
|
|
24
|
+
ubuntu: browser => ['Ubuntu', browser, '22.04.4'],
|
|
25
|
+
macOS: browser => ['Mac OS', browser, '14.4.1'],
|
|
26
|
+
baileys: browser => ['Baileys', browser, '6.5.0'],
|
|
27
|
+
windows: browser => ['Windows', browser, '10.0.22631'],
|
|
33
28
|
/** The appropriate browser based on your OS & release */
|
|
34
|
-
appropriate:
|
|
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,33 +84,28 @@ 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);
|
|
113
101
|
timeout = undefined;
|
|
114
102
|
},
|
|
115
|
-
setTask: (newTask) => task = newTask,
|
|
116
|
-
setInterval: (newInterval) => intervalMs = newInterval
|
|
103
|
+
setTask: (newTask) => (task = newTask),
|
|
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,58 +124,53 @@ 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
|
}
|
|
156
141
|
})))
|
|
157
142
|
.catch(err => reject(err));
|
|
158
143
|
promise(resolve, reject);
|
|
159
|
-
})
|
|
160
|
-
.finally(cancel);
|
|
144
|
+
}).finally(cancel);
|
|
161
145
|
return p;
|
|
162
146
|
}
|
|
163
147
|
// inspired from whatsmeow code
|
|
164
148
|
// https://github.com/tulir/whatsmeow/blob/64bc969fbe78d31ae0dd443b8d4c80a5d026d07a/send.go#L42
|
|
165
|
-
const generateMessageIDV2 = (userId) => {
|
|
149
|
+
export const generateMessageIDV2 = (userId) => {
|
|
166
150
|
const data = Buffer.alloc(8 + 20 + 16);
|
|
167
151
|
data.writeBigUInt64BE(BigInt(Math.floor(Date.now() / 1000)));
|
|
168
152
|
if (userId) {
|
|
169
|
-
const id =
|
|
170
|
-
if (id
|
|
153
|
+
const id = jidDecode(userId);
|
|
154
|
+
if (id?.user) {
|
|
171
155
|
data.write(id.user, 8);
|
|
172
156
|
data.write('@c.us', 8 + id.user.length);
|
|
173
157
|
}
|
|
174
158
|
}
|
|
175
|
-
const random =
|
|
159
|
+
const random = randomBytes(16);
|
|
176
160
|
random.copy(data, 28);
|
|
177
|
-
const hash =
|
|
161
|
+
const hash = createHash('sha256').update(data).digest();
|
|
178
162
|
return (process.env.WHATSAPP_CONN_IDMSG || 'WHPI') + hash.toString('hex').toUpperCase().substring(0, 18);
|
|
179
163
|
};
|
|
180
|
-
exports.generateMessageIDV2 = generateMessageIDV2;
|
|
181
164
|
// generate a random ID to attach to a message
|
|
182
|
-
const generateMessageID = () => (process.env.WHATSAPP_CONN_IDMSG || 'WHPI') +
|
|
183
|
-
|
|
184
|
-
function bindWaitForEvent(ev, event) {
|
|
165
|
+
export const generateMessageID = () => (process.env.WHATSAPP_CONN_IDMSG || 'WHPI') + randomBytes(18).toString('hex').toUpperCase();
|
|
166
|
+
export function bindWaitForEvent(ev, event) {
|
|
185
167
|
return async (check, timeoutMs) => {
|
|
186
168
|
let listener;
|
|
187
169
|
let closeListener;
|
|
188
|
-
await
|
|
170
|
+
await promiseTimeout(timeoutMs, (resolve, reject) => {
|
|
189
171
|
closeListener = ({ connection, lastDisconnect }) => {
|
|
190
172
|
if (connection === 'close') {
|
|
191
|
-
reject(
|
|
192
|
-
|| new boom_1.Boom('Connection Closed', { statusCode: Types_1.DisconnectReason.connectionClosed }));
|
|
173
|
+
reject(lastDisconnect?.error || new Boom('Connection Closed', { statusCode: DisconnectReason.connectionClosed }));
|
|
193
174
|
}
|
|
194
175
|
};
|
|
195
176
|
ev.on('connection.update', closeListener);
|
|
@@ -199,23 +180,21 @@ function bindWaitForEvent(ev, event) {
|
|
|
199
180
|
}
|
|
200
181
|
};
|
|
201
182
|
ev.on(event, listener);
|
|
202
|
-
})
|
|
203
|
-
.finally(() => {
|
|
183
|
+
}).finally(() => {
|
|
204
184
|
ev.off(event, listener);
|
|
205
185
|
ev.off('connection.update', closeListener);
|
|
206
|
-
})
|
|
186
|
+
});
|
|
207
187
|
};
|
|
208
188
|
}
|
|
209
|
-
const bindWaitForConnectionUpdate = (ev) => bindWaitForEvent(ev, 'connection.update');
|
|
210
|
-
exports.bindWaitForConnectionUpdate = bindWaitForConnectionUpdate;
|
|
189
|
+
export const bindWaitForConnectionUpdate = (ev) => bindWaitForEvent(ev, 'connection.update');
|
|
211
190
|
/**
|
|
212
191
|
* utility that fetches latest baileys version from the master branch.
|
|
213
192
|
* Use to ensure your WA connection is always on the latest version
|
|
214
193
|
*/
|
|
215
|
-
const fetchLatestBaileysVersion = async (options = {}) => {
|
|
194
|
+
export const fetchLatestBaileysVersion = async (options = {}) => {
|
|
216
195
|
const URL = 'https://raw.githubusercontent.com/WhiskeySockets/Baileys/master/src/Defaults/baileys-version.json';
|
|
217
196
|
try {
|
|
218
|
-
const result = await
|
|
197
|
+
const result = await axios.get(URL, {
|
|
219
198
|
...options,
|
|
220
199
|
responseType: 'json'
|
|
221
200
|
});
|
|
@@ -226,28 +205,27 @@ const fetchLatestBaileysVersion = async (options = {}) => {
|
|
|
226
205
|
}
|
|
227
206
|
catch (error) {
|
|
228
207
|
return {
|
|
229
|
-
version:
|
|
208
|
+
version: baileysVersion,
|
|
230
209
|
isLatest: false,
|
|
231
210
|
error
|
|
232
211
|
};
|
|
233
212
|
}
|
|
234
213
|
};
|
|
235
|
-
exports.fetchLatestBaileysVersion = fetchLatestBaileysVersion;
|
|
236
214
|
/**
|
|
237
215
|
* A utility that fetches the latest web version of whatsapp.
|
|
238
216
|
* Use to ensure your WA connection is always on the latest version
|
|
239
217
|
*/
|
|
240
|
-
const fetchLatestWaWebVersion = async (options) => {
|
|
218
|
+
export const fetchLatestWaWebVersion = async (options) => {
|
|
241
219
|
try {
|
|
242
|
-
const { data } = await
|
|
220
|
+
const { data } = await axios.get('https://web.whatsapp.com/sw.js', {
|
|
243
221
|
...options,
|
|
244
222
|
responseType: 'json'
|
|
245
223
|
});
|
|
246
224
|
const regex = /\\?"client_revision\\?":\s*(\d+)/;
|
|
247
225
|
const match = data.match(regex);
|
|
248
|
-
if (!
|
|
226
|
+
if (!match?.[1]) {
|
|
249
227
|
return {
|
|
250
|
-
version:
|
|
228
|
+
version: baileysVersion,
|
|
251
229
|
isLatest: false,
|
|
252
230
|
error: {
|
|
253
231
|
message: 'Could not find client revision in the fetched content'
|
|
@@ -262,49 +240,46 @@ const fetchLatestWaWebVersion = async (options) => {
|
|
|
262
240
|
}
|
|
263
241
|
catch (error) {
|
|
264
242
|
return {
|
|
265
|
-
version:
|
|
243
|
+
version: baileysVersion,
|
|
266
244
|
isLatest: false,
|
|
267
245
|
error
|
|
268
246
|
};
|
|
269
247
|
}
|
|
270
248
|
};
|
|
271
|
-
exports.fetchLatestWaWebVersion = fetchLatestWaWebVersion;
|
|
272
249
|
/** unique message tag prefix for MD clients */
|
|
273
|
-
const generateMdTagPrefix = () => {
|
|
274
|
-
const bytes =
|
|
250
|
+
export const generateMdTagPrefix = () => {
|
|
251
|
+
const bytes = randomBytes(4);
|
|
275
252
|
return `${bytes.readUInt16BE()}.${bytes.readUInt16BE(2)}-`;
|
|
276
253
|
};
|
|
277
|
-
exports.generateMdTagPrefix = generateMdTagPrefix;
|
|
278
254
|
const STATUS_MAP = {
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
'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
|
|
283
259
|
};
|
|
284
260
|
/**
|
|
285
261
|
* Given a type of receipt, returns what the new status of the message should be
|
|
286
262
|
* @param type type from receipt
|
|
287
263
|
*/
|
|
288
|
-
const getStatusFromReceiptType = (type) => {
|
|
264
|
+
export const getStatusFromReceiptType = (type) => {
|
|
289
265
|
const status = STATUS_MAP[type];
|
|
290
266
|
if (typeof type === 'undefined') {
|
|
291
|
-
return
|
|
267
|
+
return proto.WebMessageInfo.Status.DELIVERY_ACK;
|
|
292
268
|
}
|
|
293
269
|
return status;
|
|
294
270
|
};
|
|
295
|
-
exports.getStatusFromReceiptType = getStatusFromReceiptType;
|
|
296
271
|
const CODE_MAP = {
|
|
297
|
-
conflict:
|
|
272
|
+
conflict: DisconnectReason.connectionReplaced
|
|
298
273
|
};
|
|
299
274
|
/**
|
|
300
275
|
* Stream errors generally provide a reason, map that to a baileys DisconnectReason
|
|
301
276
|
* @param reason the string reason given, eg. "conflict"
|
|
302
277
|
*/
|
|
303
|
-
const getErrorCodeFromStreamError = (node) => {
|
|
304
|
-
const [reasonNode] =
|
|
305
|
-
let reason =
|
|
306
|
-
const statusCode = +(node.attrs.code || CODE_MAP[reason] ||
|
|
307
|
-
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) {
|
|
308
283
|
reason = 'restart required';
|
|
309
284
|
}
|
|
310
285
|
return {
|
|
@@ -312,8 +287,7 @@ const getErrorCodeFromStreamError = (node) => {
|
|
|
312
287
|
statusCode
|
|
313
288
|
};
|
|
314
289
|
};
|
|
315
|
-
|
|
316
|
-
const getCallStatusFromNode = ({ tag, attrs }) => {
|
|
290
|
+
export const getCallStatusFromNode = ({ tag, attrs }) => {
|
|
317
291
|
let status;
|
|
318
292
|
switch (tag) {
|
|
319
293
|
case 'offer':
|
|
@@ -341,36 +315,33 @@ const getCallStatusFromNode = ({ tag, attrs }) => {
|
|
|
341
315
|
}
|
|
342
316
|
return status;
|
|
343
317
|
};
|
|
344
|
-
exports.getCallStatusFromNode = getCallStatusFromNode;
|
|
345
318
|
const UNEXPECTED_SERVER_CODE_TEXT = 'Unexpected server response: ';
|
|
346
|
-
const getCodeFromWSError = (error) => {
|
|
347
|
-
var _a, _b, _c;
|
|
319
|
+
export const getCodeFromWSError = (error) => {
|
|
348
320
|
let statusCode = 500;
|
|
349
|
-
if (
|
|
350
|
-
const code = +
|
|
321
|
+
if (error?.message?.includes(UNEXPECTED_SERVER_CODE_TEXT)) {
|
|
322
|
+
const code = +error?.message.slice(UNEXPECTED_SERVER_CODE_TEXT.length);
|
|
351
323
|
if (!Number.isNaN(code) && code >= 400) {
|
|
352
324
|
statusCode = code;
|
|
353
325
|
}
|
|
354
326
|
}
|
|
355
327
|
else if (
|
|
356
328
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
357
|
-
|
|
358
|
-
|
|
329
|
+
error?.code?.startsWith('E') ||
|
|
330
|
+
error?.message?.includes('timed out')) {
|
|
331
|
+
// handle ETIMEOUT, ENOTFOUND etc
|
|
359
332
|
statusCode = 408;
|
|
360
333
|
}
|
|
361
334
|
return statusCode;
|
|
362
335
|
};
|
|
363
|
-
exports.getCodeFromWSError = getCodeFromWSError;
|
|
364
336
|
/**
|
|
365
337
|
* Is the given platform WA business
|
|
366
338
|
* @param platform AuthenticationCreds.platform
|
|
367
339
|
*/
|
|
368
|
-
const isWABusinessPlatform = (platform) => {
|
|
340
|
+
export const isWABusinessPlatform = (platform) => {
|
|
369
341
|
return platform === 'smbi' || platform === 'smba';
|
|
370
342
|
};
|
|
371
|
-
exports.isWABusinessPlatform = isWABusinessPlatform;
|
|
372
343
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
373
|
-
function trimUndefined(obj) {
|
|
344
|
+
export function trimUndefined(obj) {
|
|
374
345
|
for (const key in obj) {
|
|
375
346
|
if (typeof obj[key] === 'undefined') {
|
|
376
347
|
delete obj[key];
|
|
@@ -379,7 +350,7 @@ function trimUndefined(obj) {
|
|
|
379
350
|
return obj;
|
|
380
351
|
}
|
|
381
352
|
const CROCKFORD_CHARACTERS = '123456789ABCDEFGHJKLMNPQRSTVWXYZ';
|
|
382
|
-
function bytesToCrockford(buffer) {
|
|
353
|
+
export function bytesToCrockford(buffer) {
|
|
383
354
|
let value = 0;
|
|
384
355
|
let bitCount = 0;
|
|
385
356
|
const crockford = [];
|
|
@@ -396,3 +367,7 @@ function bytesToCrockford(buffer) {
|
|
|
396
367
|
}
|
|
397
368
|
return crockford.join('');
|
|
398
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
|
-
|
|
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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"}
|