@periskope/baileys 6.7.17-alpha.4 → 6.7.18-13
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 +2 -0
- package/WAProto/WAProto.proto +4633 -0
- package/WAProto/index.d.ts +3212 -122
- package/WAProto/index.js +9635 -299
- package/lib/Defaults/baileys-version.json +1 -1
- package/lib/Defaults/index.d.ts +1 -1
- package/lib/Defaults/index.d.ts.map +1 -0
- package/lib/Defaults/index.js +16 -16
- package/lib/Defaults/index.js.map +1 -0
- package/lib/Signal/Group/ciphertext-message.d.ts +9 -0
- package/lib/Signal/Group/ciphertext-message.d.ts.map +1 -0
- package/lib/Signal/Group/ciphertext-message.js +15 -0
- package/lib/Signal/Group/ciphertext-message.js.map +1 -0
- package/lib/Signal/Group/group-session-builder.d.ts +14 -0
- package/lib/Signal/Group/group-session-builder.d.ts.map +1 -0
- package/lib/Signal/Group/group-session-builder.js +64 -0
- package/lib/Signal/Group/group-session-builder.js.map +1 -0
- package/lib/Signal/Group/group_cipher.d.ts +17 -0
- package/lib/Signal/Group/group_cipher.d.ts.map +1 -0
- package/lib/Signal/Group/group_cipher.js +96 -0
- package/lib/Signal/Group/group_cipher.js.map +1 -0
- package/lib/Signal/Group/index.d.ts +11 -0
- package/lib/Signal/Group/index.d.ts.map +1 -0
- package/lib/Signal/Group/index.js +57 -0
- package/lib/Signal/Group/index.js.map +1 -0
- package/lib/Signal/Group/keyhelper.d.ts +10 -0
- package/lib/Signal/Group/keyhelper.d.ts.map +1 -0
- package/lib/Signal/Group/keyhelper.js +55 -0
- package/lib/Signal/Group/keyhelper.js.map +1 -0
- package/lib/Signal/Group/queue-job.d.ts +1 -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 +13 -0
- package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -0
- package/lib/Signal/Group/sender-chain-key.js +34 -0
- package/lib/Signal/Group/sender-chain-key.js.map +1 -0
- package/lib/Signal/Group/sender-key-distribution-message.d.ts +16 -0
- package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-distribution-message.js +66 -0
- package/lib/Signal/Group/sender-key-distribution-message.js.map +1 -0
- package/lib/Signal/Group/sender-key-message.d.ts +18 -0
- package/lib/Signal/Group/sender-key-message.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-message.js +69 -0
- package/lib/Signal/Group/sender-key-message.js.map +1 -0
- package/lib/Signal/Group/sender-key-name.d.ts +17 -0
- package/lib/Signal/Group/sender-key-name.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-name.js +51 -0
- package/lib/Signal/Group/sender-key-name.js.map +1 -0
- package/lib/Signal/Group/sender-key-record.d.ts +30 -0
- package/lib/Signal/Group/sender-key-record.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-record.js +53 -0
- package/lib/Signal/Group/sender-key-record.js.map +1 -0
- package/lib/Signal/Group/sender-key-state.d.ts +38 -0
- package/lib/Signal/Group/sender-key-state.d.ts.map +1 -0
- package/lib/Signal/Group/sender-key-state.js +99 -0
- package/lib/Signal/Group/sender-key-state.js.map +1 -0
- package/lib/Signal/Group/sender-message-key.d.ts +11 -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} +29 -39
- package/lib/Signal/Group/sender-message-key.js.map +1 -0
- package/lib/Signal/libsignal.d.ts.map +1 -0
- package/lib/Signal/libsignal.js +33 -20
- package/lib/Signal/libsignal.js.map +1 -0
- package/lib/Socket/Client/index.d.ts.map +1 -0
- package/lib/Socket/Client/index.js.map +1 -0
- package/lib/Socket/Client/types.d.ts.map +1 -0
- package/lib/Socket/Client/types.js.map +1 -0
- package/lib/Socket/Client/websocket.d.ts.map +1 -0
- package/lib/Socket/Client/websocket.js +1 -1
- package/lib/Socket/Client/websocket.js.map +1 -0
- package/lib/Socket/business.d.ts +36 -8
- package/lib/Socket/business.d.ts.map +1 -0
- package/lib/Socket/business.js +5 -5
- package/lib/Socket/business.js.map +1 -0
- package/lib/Socket/chats.d.ts +12 -7
- package/lib/Socket/chats.d.ts.map +1 -0
- package/lib/Socket/chats.js +90 -72
- 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 +14 -8
- package/lib/Socket/groups.d.ts.map +1 -0
- package/lib/Socket/groups.js +39 -23
- package/lib/Socket/groups.js.map +1 -0
- package/lib/Socket/index.d.ts +36 -8
- package/lib/Socket/index.d.ts.map +1 -0
- package/lib/Socket/index.js +2 -2
- package/lib/Socket/index.js.map +1 -0
- package/lib/Socket/messages-recv.d.ts +35 -7
- package/lib/Socket/messages-recv.d.ts.map +1 -0
- package/lib/Socket/messages-recv.js +228 -58
- package/lib/Socket/messages-recv.js.map +1 -0
- package/lib/Socket/messages-send.d.ts +35 -7
- package/lib/Socket/messages-send.d.ts.map +1 -0
- package/lib/Socket/messages-send.js +81 -48
- package/lib/Socket/messages-send.js.map +1 -0
- package/lib/Socket/mex.d.ts +2 -0
- package/lib/Socket/mex.d.ts.map +1 -0
- package/lib/Socket/mex.js +46 -0
- package/lib/Socket/mex.js.map +1 -0
- package/lib/Socket/newsletter.d.ts +141 -0
- package/lib/Socket/newsletter.d.ts.map +1 -0
- package/lib/Socket/newsletter.js +183 -0
- package/lib/Socket/newsletter.js.map +1 -0
- package/lib/Socket/socket.d.ts +3 -3
- package/lib/Socket/socket.d.ts.map +1 -0
- package/lib/Socket/socket.js +22 -30
- package/lib/Socket/socket.js.map +1 -0
- package/lib/Socket/usync.d.ts +3 -3
- package/lib/Socket/usync.d.ts.map +1 -0
- package/lib/Socket/usync.js +10 -15
- package/lib/Socket/usync.js.map +1 -0
- package/lib/Types/Auth.d.ts +1 -1
- package/lib/Types/Auth.d.ts.map +1 -0
- package/lib/Types/Auth.js.map +1 -0
- package/lib/Types/Call.d.ts.map +1 -0
- package/lib/Types/Call.js.map +1 -0
- package/lib/Types/Chat.d.ts +4 -1
- package/lib/Types/Chat.d.ts.map +1 -0
- package/lib/Types/Chat.js +7 -1
- package/lib/Types/Chat.js.map +1 -0
- package/lib/Types/Contact.d.ts +4 -0
- package/lib/Types/Contact.d.ts.map +1 -0
- package/lib/Types/Contact.js.map +1 -0
- package/lib/Types/Events.d.ts +34 -1
- package/lib/Types/Events.d.ts.map +1 -0
- package/lib/Types/Events.js.map +1 -0
- package/lib/Types/GroupMetadata.d.ts +10 -3
- package/lib/Types/GroupMetadata.d.ts.map +1 -0
- package/lib/Types/GroupMetadata.js.map +1 -0
- package/lib/Types/Label.d.ts.map +1 -0
- package/lib/Types/Label.js.map +1 -0
- package/lib/Types/LabelAssociation.d.ts.map +1 -0
- package/lib/Types/LabelAssociation.js.map +1 -0
- package/lib/Types/Message.d.ts +12 -2
- package/lib/Types/Message.d.ts.map +1 -0
- package/lib/Types/Message.js.map +1 -0
- package/lib/Types/Newsletter.d.ts +134 -0
- package/lib/Types/Newsletter.d.ts.map +1 -0
- package/lib/Types/Newsletter.js +33 -0
- package/lib/Types/Newsletter.js.map +1 -0
- package/lib/Types/Product.d.ts.map +1 -0
- package/lib/Types/Product.js.map +1 -0
- package/lib/Types/Signal.d.ts.map +1 -0
- package/lib/Types/Signal.js.map +1 -0
- package/lib/Types/Socket.d.ts +3 -3
- package/lib/Types/Socket.d.ts.map +1 -0
- package/lib/Types/Socket.js.map +1 -0
- package/lib/Types/State.d.ts.map +1 -0
- package/lib/Types/State.js.map +1 -0
- package/lib/Types/USync.d.ts.map +1 -0
- package/lib/Types/USync.js.map +1 -0
- package/lib/Types/index.d.ts +1 -0
- package/lib/Types/index.d.ts.map +1 -0
- package/lib/Types/index.js +1 -0
- package/lib/Types/index.js.map +1 -0
- package/lib/Utils/auth-utils.d.ts.map +1 -0
- package/lib/Utils/auth-utils.js +8 -9
- package/lib/Utils/auth-utils.js.map +1 -0
- package/lib/Utils/baileys-event-stream.d.ts.map +1 -0
- package/lib/Utils/baileys-event-stream.js +1 -1
- package/lib/Utils/baileys-event-stream.js.map +1 -0
- package/lib/Utils/business.d.ts.map +1 -0
- package/lib/Utils/business.js +9 -11
- package/lib/Utils/business.js.map +1 -0
- package/lib/Utils/chat-utils.d.ts +4 -4
- package/lib/Utils/chat-utils.d.ts.map +1 -0
- package/lib/Utils/chat-utils.js +78 -70
- package/lib/Utils/chat-utils.js.map +1 -0
- package/lib/Utils/crypto.d.ts.map +1 -0
- package/lib/Utils/crypto.js +4 -10
- package/lib/Utils/crypto.js.map +1 -0
- package/lib/Utils/decode-wa-message.d.ts +3 -4
- package/lib/Utils/decode-wa-message.d.ts.map +1 -0
- package/lib/Utils/decode-wa-message.js +11 -2
- package/lib/Utils/decode-wa-message.js.map +1 -0
- package/lib/Utils/event-buffer.d.ts +2 -2
- package/lib/Utils/event-buffer.d.ts.map +1 -0
- package/lib/Utils/event-buffer.js +9 -13
- package/lib/Utils/event-buffer.js.map +1 -0
- package/lib/Utils/generics.d.ts +2 -1
- package/lib/Utils/generics.d.ts.map +1 -0
- package/lib/Utils/generics.js +32 -30
- package/lib/Utils/generics.js.map +1 -0
- package/lib/Utils/history.d.ts.map +1 -0
- package/lib/Utils/history.js +10 -11
- package/lib/Utils/history.js.map +1 -0
- package/lib/Utils/index.d.ts.map +1 -0
- package/lib/Utils/index.js.map +1 -0
- package/lib/Utils/link-preview.d.ts.map +1 -0
- package/lib/Utils/link-preview.js +9 -10
- package/lib/Utils/link-preview.js.map +1 -0
- package/lib/Utils/logger.d.ts.map +1 -0
- package/lib/Utils/logger.js.map +1 -0
- package/lib/Utils/lt-hash.d.ts.map +1 -0
- package/lib/Utils/lt-hash.js +2 -2
- package/lib/Utils/lt-hash.js.map +1 -0
- package/lib/Utils/make-mutex.d.ts.map +1 -0
- package/lib/Utils/make-mutex.js +1 -1
- package/lib/Utils/make-mutex.js.map +1 -0
- package/lib/Utils/messages-media.d.ts +11 -3
- package/lib/Utils/messages-media.d.ts.map +1 -0
- package/lib/Utils/messages-media.js +108 -90
- package/lib/Utils/messages-media.js.map +1 -0
- package/lib/Utils/messages.d.ts +3 -3
- package/lib/Utils/messages.d.ts.map +1 -0
- package/lib/Utils/messages.js +109 -69
- package/lib/Utils/messages.js.map +1 -0
- package/lib/Utils/noise-handler.d.ts.map +1 -0
- package/lib/Utils/noise-handler.js.map +1 -0
- package/lib/Utils/process-message.d.ts +1 -1
- package/lib/Utils/process-message.d.ts.map +1 -0
- package/lib/Utils/process-message.js +62 -65
- package/lib/Utils/process-message.js.map +1 -0
- package/lib/Utils/signal.d.ts.map +1 -0
- package/lib/Utils/signal.js +9 -7
- package/lib/Utils/signal.js.map +1 -0
- package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -0
- package/lib/Utils/use-multi-file-auth-state.js +2 -3
- package/lib/Utils/use-multi-file-auth-state.js.map +1 -0
- package/lib/Utils/validate-connection.d.ts.map +1 -0
- package/lib/Utils/validate-connection.js +17 -22
- package/lib/Utils/validate-connection.js.map +1 -0
- package/lib/WABinary/constants.d.ts +4 -4
- package/lib/WABinary/constants.d.ts.map +1 -0
- package/lib/WABinary/constants.js +1271 -8
- package/lib/WABinary/constants.js.map +1 -0
- package/lib/WABinary/decode.d.ts.map +1 -0
- package/lib/WABinary/decode.js +2 -1
- package/lib/WABinary/decode.js.map +1 -0
- package/lib/WABinary/encode.d.ts.map +1 -0
- package/lib/WABinary/encode.js +2 -2
- package/lib/WABinary/encode.js.map +1 -0
- package/lib/WABinary/generic-utils.d.ts.map +1 -0
- package/lib/WABinary/generic-utils.js +1 -1
- package/lib/WABinary/generic-utils.js.map +1 -0
- package/lib/WABinary/index.d.ts.map +1 -0
- package/lib/WABinary/index.js.map +1 -0
- package/lib/WABinary/jid-utils.d.ts.map +1 -0
- package/lib/WABinary/jid-utils.js +8 -11
- package/lib/WABinary/jid-utils.js.map +1 -0
- package/lib/WABinary/types.d.ts.map +1 -0
- package/lib/WABinary/types.js.map +1 -0
- package/lib/WAM/BinaryInfo.d.ts.map +1 -0
- package/lib/WAM/BinaryInfo.js.map +1 -0
- package/lib/WAM/constants.d.ts.map +1 -0
- package/lib/WAM/constants.js +2252 -2359
- package/lib/WAM/constants.js.map +1 -0
- package/lib/WAM/encode.d.ts.map +1 -0
- package/lib/WAM/encode.js +5 -7
- package/lib/WAM/encode.js.map +1 -0
- package/lib/WAM/index.d.ts.map +1 -0
- package/lib/WAM/index.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +2 -2
- package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +2 -2
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +3 -3
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +5 -5
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +1 -1
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +1 -1
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/index.js.map +1 -0
- package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
- package/lib/WAUSync/USyncQuery.js +17 -13
- package/lib/WAUSync/USyncQuery.js.map +1 -0
- package/lib/WAUSync/USyncUser.d.ts.map +1 -0
- package/lib/WAUSync/USyncUser.js.map +1 -0
- package/lib/WAUSync/index.d.ts.map +1 -0
- package/lib/WAUSync/index.js.map +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js.map +1 -0
- package/package.json +25 -17
- 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/Socket/chats.js
CHANGED
|
@@ -17,18 +17,19 @@ const WAUSync_1 = require("../WAUSync");
|
|
|
17
17
|
const usync_1 = require("./usync");
|
|
18
18
|
const MAX_SYNC_ATTEMPTS = 2;
|
|
19
19
|
const makeChatsSocket = (config) => {
|
|
20
|
-
const { logger, markOnlineOnConnect, fireInitQueries, appStateMacVerification, shouldIgnoreJid, shouldSyncHistoryMessage
|
|
20
|
+
const { logger, markOnlineOnConnect, fireInitQueries, appStateMacVerification, shouldIgnoreJid, shouldSyncHistoryMessage } = config;
|
|
21
21
|
const sock = (0, usync_1.makeUSyncSocket)(config);
|
|
22
|
-
const { ev, ws, authState, generateMessageTag, sendNode, query, onUnexpectedError
|
|
22
|
+
const { ev, ws, authState, generateMessageTag, sendNode, query, onUnexpectedError } = sock;
|
|
23
23
|
let privacySettings;
|
|
24
24
|
let needToFlushWithAppStateSync = false;
|
|
25
25
|
let pendingAppStateSync = false;
|
|
26
26
|
/** this mutex ensures that the notifications (receipts, messages etc.) are processed in order */
|
|
27
27
|
const processingMutex = (0, make_mutex_1.makeMutex)();
|
|
28
|
-
const placeholderResendCache = config.placeholderResendCache ||
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
const placeholderResendCache = config.placeholderResendCache ||
|
|
29
|
+
new node_cache_1.default({
|
|
30
|
+
stdTTL: Defaults_1.DEFAULT_CACHE_TTLS.MSG_RETRY, // 1 hour
|
|
31
|
+
useClones: false
|
|
32
|
+
});
|
|
32
33
|
if (!config.placeholderResendCache) {
|
|
33
34
|
config.placeholderResendCache = placeholderResendCache;
|
|
34
35
|
}
|
|
@@ -46,9 +47,7 @@ const makeChatsSocket = (config) => {
|
|
|
46
47
|
to: WABinary_1.S_WHATSAPP_NET,
|
|
47
48
|
type: 'get'
|
|
48
49
|
},
|
|
49
|
-
content: [
|
|
50
|
-
{ tag: 'privacy', attrs: {} }
|
|
51
|
-
]
|
|
50
|
+
content: [{ tag: 'privacy', attrs: {} }]
|
|
52
51
|
});
|
|
53
52
|
privacySettings = (0, WABinary_1.reduceBinaryNodeToDictionary)(content === null || content === void 0 ? void 0 : content[0], 'category');
|
|
54
53
|
}
|
|
@@ -63,7 +62,8 @@ const makeChatsSocket = (config) => {
|
|
|
63
62
|
to: WABinary_1.S_WHATSAPP_NET,
|
|
64
63
|
type: 'set'
|
|
65
64
|
},
|
|
66
|
-
content: [
|
|
65
|
+
content: [
|
|
66
|
+
{
|
|
67
67
|
tag: 'privacy',
|
|
68
68
|
attrs: {},
|
|
69
69
|
content: [
|
|
@@ -72,7 +72,8 @@ const makeChatsSocket = (config) => {
|
|
|
72
72
|
attrs: { name, value }
|
|
73
73
|
}
|
|
74
74
|
]
|
|
75
|
-
}
|
|
75
|
+
}
|
|
76
|
+
]
|
|
76
77
|
});
|
|
77
78
|
};
|
|
78
79
|
const updateMessagesPrivacy = async (value) => {
|
|
@@ -107,12 +108,14 @@ const makeChatsSocket = (config) => {
|
|
|
107
108
|
to: WABinary_1.S_WHATSAPP_NET,
|
|
108
109
|
type: 'set'
|
|
109
110
|
},
|
|
110
|
-
content: [
|
|
111
|
+
content: [
|
|
112
|
+
{
|
|
111
113
|
tag: 'disappearing_mode',
|
|
112
114
|
attrs: {
|
|
113
115
|
duration: duration.toString()
|
|
114
116
|
}
|
|
115
|
-
}
|
|
117
|
+
}
|
|
118
|
+
]
|
|
116
119
|
});
|
|
117
120
|
};
|
|
118
121
|
const getBotListV2 = async () => {
|
|
@@ -123,12 +126,14 @@ const makeChatsSocket = (config) => {
|
|
|
123
126
|
to: WABinary_1.S_WHATSAPP_NET,
|
|
124
127
|
type: 'get'
|
|
125
128
|
},
|
|
126
|
-
content: [
|
|
129
|
+
content: [
|
|
130
|
+
{
|
|
127
131
|
tag: 'bot',
|
|
128
132
|
attrs: {
|
|
129
133
|
v: '2'
|
|
130
134
|
}
|
|
131
|
-
}
|
|
135
|
+
}
|
|
136
|
+
]
|
|
132
137
|
});
|
|
133
138
|
const botNode = (0, WABinary_1.getBinaryNodeChild)(resp, 'bot');
|
|
134
139
|
const botList = [];
|
|
@@ -145,21 +150,18 @@ const makeChatsSocket = (config) => {
|
|
|
145
150
|
return botList;
|
|
146
151
|
};
|
|
147
152
|
const onWhatsApp = async (...jids) => {
|
|
148
|
-
const usyncQuery = new WAUSync_1.USyncQuery()
|
|
149
|
-
.withContactProtocol()
|
|
150
|
-
.withLIDProtocol();
|
|
153
|
+
const usyncQuery = new WAUSync_1.USyncQuery().withContactProtocol().withLIDProtocol();
|
|
151
154
|
for (const jid of jids) {
|
|
152
155
|
const phone = `+${jid.replace('+', '').split('@')[0].split(':')[0]}`;
|
|
153
156
|
usyncQuery.withUser(new WAUSync_1.USyncUser().withPhone(phone));
|
|
154
157
|
}
|
|
155
158
|
const results = await sock.executeUSyncQuery(usyncQuery);
|
|
156
159
|
if (results) {
|
|
157
|
-
return results.list.filter(
|
|
160
|
+
return results.list.filter(a => !!a.contact).map(({ contact, id, lid }) => ({ jid: id, exists: contact, lid }));
|
|
158
161
|
}
|
|
159
162
|
};
|
|
160
163
|
const fetchStatus = async (...jids) => {
|
|
161
|
-
const usyncQuery = new WAUSync_1.USyncQuery()
|
|
162
|
-
.withStatusProtocol();
|
|
164
|
+
const usyncQuery = new WAUSync_1.USyncQuery().withStatusProtocol();
|
|
163
165
|
for (const jid of jids) {
|
|
164
166
|
usyncQuery.withUser(new WAUSync_1.USyncUser().withId(jid));
|
|
165
167
|
}
|
|
@@ -169,8 +171,7 @@ const makeChatsSocket = (config) => {
|
|
|
169
171
|
}
|
|
170
172
|
};
|
|
171
173
|
const fetchDisappearingDuration = async (...jids) => {
|
|
172
|
-
const usyncQuery = new WAUSync_1.USyncQuery()
|
|
173
|
-
.withDisappearingModeProtocol();
|
|
174
|
+
const usyncQuery = new WAUSync_1.USyncQuery().withDisappearingModeProtocol();
|
|
174
175
|
for (const jid of jids) {
|
|
175
176
|
usyncQuery.withUser(new WAUSync_1.USyncUser().withId(jid));
|
|
176
177
|
}
|
|
@@ -180,7 +181,7 @@ const makeChatsSocket = (config) => {
|
|
|
180
181
|
}
|
|
181
182
|
};
|
|
182
183
|
/** update the profile picture for yourself or a group */
|
|
183
|
-
const updateProfilePicture = async (jid, content) => {
|
|
184
|
+
const updateProfilePicture = async (jid, content, dimensions) => {
|
|
184
185
|
let targetJid;
|
|
185
186
|
if (!jid) {
|
|
186
187
|
throw new boom_1.Boom('Illegal no-jid profile update. Please specify either your ID or the ID of the chat you wish to update');
|
|
@@ -188,7 +189,7 @@ const makeChatsSocket = (config) => {
|
|
|
188
189
|
if ((0, WABinary_1.jidNormalizedUser)(jid) !== (0, WABinary_1.jidNormalizedUser)(authState.creds.me.id)) {
|
|
189
190
|
targetJid = (0, WABinary_1.jidNormalizedUser)(jid); // in case it is someone other than us
|
|
190
191
|
}
|
|
191
|
-
const { img } = await (0, Utils_1.generateProfilePicture)(content);
|
|
192
|
+
const { img } = await (0, Utils_1.generateProfilePicture)(content, dimensions);
|
|
192
193
|
await query({
|
|
193
194
|
tag: 'iq',
|
|
194
195
|
attrs: {
|
|
@@ -256,8 +257,7 @@ const makeChatsSocket = (config) => {
|
|
|
256
257
|
}
|
|
257
258
|
});
|
|
258
259
|
const listNode = (0, WABinary_1.getBinaryNodeChild)(result, 'list');
|
|
259
|
-
return (0, WABinary_1.getBinaryNodeChildren)(listNode, 'item')
|
|
260
|
-
.map(n => n.attrs.jid);
|
|
260
|
+
return (0, WABinary_1.getBinaryNodeChildren)(listNode, 'item').map(n => n.attrs.jid);
|
|
261
261
|
};
|
|
262
262
|
const updateBlockStatus = async (jid, action) => {
|
|
263
263
|
await query({
|
|
@@ -287,14 +287,18 @@ const makeChatsSocket = (config) => {
|
|
|
287
287
|
xmlns: 'w:biz',
|
|
288
288
|
type: 'get'
|
|
289
289
|
},
|
|
290
|
-
content: [
|
|
290
|
+
content: [
|
|
291
|
+
{
|
|
291
292
|
tag: 'business_profile',
|
|
292
293
|
attrs: { v: '244' },
|
|
293
|
-
content: [
|
|
294
|
+
content: [
|
|
295
|
+
{
|
|
294
296
|
tag: 'profile',
|
|
295
297
|
attrs: { jid }
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
+
}
|
|
299
|
+
]
|
|
300
|
+
}
|
|
301
|
+
]
|
|
298
302
|
});
|
|
299
303
|
const profileNode = (0, WABinary_1.getBinaryNodeChild)(results, 'business_profile');
|
|
300
304
|
const profiles = (0, WABinary_1.getBinaryNodeChild)(profileNode, 'profile');
|
|
@@ -316,9 +320,9 @@ const makeChatsSocket = (config) => {
|
|
|
316
320
|
website: websiteStr ? [websiteStr] : [],
|
|
317
321
|
email: (_e = email === null || email === void 0 ? void 0 : email.content) === null || _e === void 0 ? void 0 : _e.toString(),
|
|
318
322
|
category: (_f = category === null || category === void 0 ? void 0 : category.content) === null || _f === void 0 ? void 0 : _f.toString(),
|
|
319
|
-
|
|
323
|
+
business_hours: {
|
|
320
324
|
timezone: (_g = businessHours === null || businessHours === void 0 ? void 0 : businessHours.attrs) === null || _g === void 0 ? void 0 : _g.timezone,
|
|
321
|
-
|
|
325
|
+
business_config: businessHoursConfig === null || businessHoursConfig === void 0 ? void 0 : businessHoursConfig.map(({ attrs }) => attrs)
|
|
322
326
|
}
|
|
323
327
|
};
|
|
324
328
|
}
|
|
@@ -331,14 +335,14 @@ const makeChatsSocket = (config) => {
|
|
|
331
335
|
to: WABinary_1.S_WHATSAPP_NET,
|
|
332
336
|
type: 'set',
|
|
333
337
|
xmlns: 'urn:xmpp:whatsapp:dirty',
|
|
334
|
-
id: generateMessageTag()
|
|
338
|
+
id: generateMessageTag()
|
|
335
339
|
},
|
|
336
340
|
content: [
|
|
337
341
|
{
|
|
338
342
|
tag: 'clean',
|
|
339
343
|
attrs: {
|
|
340
344
|
type,
|
|
341
|
-
...(fromTimestamp ? { timestamp: fromTimestamp.toString() } : null)
|
|
345
|
+
...(fromTimestamp ? { timestamp: fromTimestamp.toString() } : null)
|
|
342
346
|
}
|
|
343
347
|
}
|
|
344
348
|
]
|
|
@@ -386,7 +390,7 @@ const makeChatsSocket = (config) => {
|
|
|
386
390
|
name,
|
|
387
391
|
version: state.version.toString(),
|
|
388
392
|
// return snapshot if being synced from scratch
|
|
389
|
-
|
|
393
|
+
return_snapshot: (!state.version).toString()
|
|
390
394
|
}
|
|
391
395
|
});
|
|
392
396
|
}
|
|
@@ -429,16 +433,17 @@ const makeChatsSocket = (config) => {
|
|
|
429
433
|
if (hasMorePatches) {
|
|
430
434
|
logger.info(`${name} has more patches...`);
|
|
431
435
|
}
|
|
432
|
-
else {
|
|
436
|
+
else {
|
|
437
|
+
// collection is done with sync
|
|
433
438
|
collectionsToHandle.delete(name);
|
|
434
439
|
}
|
|
435
440
|
}
|
|
436
441
|
catch (error) {
|
|
437
442
|
// if retry attempts overshoot
|
|
438
443
|
// or key not found
|
|
439
|
-
const isIrrecoverableError = attemptsMap[name] >= MAX_SYNC_ATTEMPTS
|
|
440
|
-
|
|
441
|
-
|
|
444
|
+
const isIrrecoverableError = attemptsMap[name] >= MAX_SYNC_ATTEMPTS ||
|
|
445
|
+
((_a = error.output) === null || _a === void 0 ? void 0 : _a.statusCode) === 404 ||
|
|
446
|
+
error.name === 'TypeError';
|
|
442
447
|
logger.info({ name, error: error.stack }, `failed to sync state from version${isIrrecoverableError ? '' : ', removing and trying from scratch'}`);
|
|
443
448
|
await authState.keys.set({ 'app-state-sync-version': { [name]: null } });
|
|
444
449
|
// increment number of retries
|
|
@@ -472,9 +477,7 @@ const makeChatsSocket = (config) => {
|
|
|
472
477
|
type: 'get',
|
|
473
478
|
xmlns: 'w:profile:picture'
|
|
474
479
|
},
|
|
475
|
-
content: [
|
|
476
|
-
{ tag: 'picture', attrs: { type, query: 'url' } }
|
|
477
|
-
]
|
|
480
|
+
content: [{ tag: 'picture', attrs: { type, query: 'url' } }]
|
|
478
481
|
}, timeoutMs);
|
|
479
482
|
const child = (0, WABinary_1.getBinaryNodeChild)(result, 'picture');
|
|
480
483
|
return (_a = child === null || child === void 0 ? void 0 : child.attrs) === null || _a === void 0 ? void 0 : _a.url;
|
|
@@ -490,17 +493,19 @@ const makeChatsSocket = (config) => {
|
|
|
490
493
|
await sendNode({
|
|
491
494
|
tag: 'presence',
|
|
492
495
|
attrs: {
|
|
493
|
-
name: me.name,
|
|
496
|
+
name: me.name.replace(/@/g, ''),
|
|
494
497
|
type
|
|
495
498
|
}
|
|
496
499
|
});
|
|
497
500
|
}
|
|
498
501
|
else {
|
|
502
|
+
const { server } = (0, WABinary_1.jidDecode)(toJid);
|
|
503
|
+
const isLid = server === 'lid';
|
|
499
504
|
await sendNode({
|
|
500
505
|
tag: 'chatstate',
|
|
501
506
|
attrs: {
|
|
502
|
-
from: me.id,
|
|
503
|
-
to: toJid
|
|
507
|
+
from: isLid ? me.lid : me.id,
|
|
508
|
+
to: toJid
|
|
504
509
|
},
|
|
505
510
|
content: [
|
|
506
511
|
{
|
|
@@ -515,7 +520,7 @@ const makeChatsSocket = (config) => {
|
|
|
515
520
|
* @param toJid the jid to subscribe to
|
|
516
521
|
* @param tcToken token for subscription, use if present
|
|
517
522
|
*/
|
|
518
|
-
const presenceSubscribe = (toJid, tcToken) =>
|
|
523
|
+
const presenceSubscribe = (toJid, tcToken) => sendNode({
|
|
519
524
|
tag: 'presence',
|
|
520
525
|
attrs: {
|
|
521
526
|
to: toJid,
|
|
@@ -531,7 +536,7 @@ const makeChatsSocket = (config) => {
|
|
|
531
536
|
}
|
|
532
537
|
]
|
|
533
538
|
: undefined
|
|
534
|
-
})
|
|
539
|
+
});
|
|
535
540
|
const handlePresenceUpdate = ({ tag, attrs, content }) => {
|
|
536
541
|
var _a;
|
|
537
542
|
let presence;
|
|
@@ -597,7 +602,7 @@ const makeChatsSocket = (config) => {
|
|
|
597
602
|
attrs: {
|
|
598
603
|
name,
|
|
599
604
|
version: (state.version - 1).toString(),
|
|
600
|
-
|
|
605
|
+
return_snapshot: 'false'
|
|
601
606
|
},
|
|
602
607
|
content: [
|
|
603
608
|
{
|
|
@@ -617,7 +622,7 @@ const makeChatsSocket = (config) => {
|
|
|
617
622
|
});
|
|
618
623
|
if (config.emitOwnEvents) {
|
|
619
624
|
const { onMutation } = newAppStateChunkHandler(false);
|
|
620
|
-
const { mutationMap } = await (0, Utils_1.decodePatches)(name, [{ ...encodeResult.patch, version: { version: encodeResult.state.version }
|
|
625
|
+
const { mutationMap } = await (0, Utils_1.decodePatches)(name, [{ ...encodeResult.patch, version: { version: encodeResult.state.version } }], initial, getAppStateSyncKey, config.options, undefined, logger);
|
|
621
626
|
for (const key in mutationMap) {
|
|
622
627
|
onMutation(mutationMap[key]);
|
|
623
628
|
}
|
|
@@ -631,19 +636,23 @@ const makeChatsSocket = (config) => {
|
|
|
631
636
|
attrs: {
|
|
632
637
|
to: WABinary_1.S_WHATSAPP_NET,
|
|
633
638
|
xmlns: 'w',
|
|
634
|
-
type: 'get'
|
|
639
|
+
type: 'get'
|
|
635
640
|
},
|
|
636
641
|
content: [
|
|
637
|
-
{
|
|
642
|
+
{
|
|
643
|
+
tag: 'props',
|
|
644
|
+
attrs: {
|
|
638
645
|
protocol: '2',
|
|
639
646
|
hash: ((_a = authState === null || authState === void 0 ? void 0 : authState.creds) === null || _a === void 0 ? void 0 : _a.lastPropHash) || ''
|
|
640
|
-
}
|
|
647
|
+
}
|
|
648
|
+
}
|
|
641
649
|
]
|
|
642
650
|
});
|
|
643
651
|
const propsNode = (0, WABinary_1.getBinaryNodeChild)(resultNode, 'props');
|
|
644
652
|
let props = {};
|
|
645
653
|
if (propsNode) {
|
|
646
|
-
if ((_b = propsNode.attrs) === null || _b === void 0 ? void 0 : _b.hash) {
|
|
654
|
+
if ((_b = propsNode.attrs) === null || _b === void 0 ? void 0 : _b.hash) {
|
|
655
|
+
// on some clients, the hash is returning as undefined
|
|
647
656
|
authState.creds.lastPropHash = (_c = propsNode === null || propsNode === void 0 ? void 0 : propsNode.attrs) === null || _c === void 0 ? void 0 : _c.hash;
|
|
648
657
|
ev.emit('creds.update', authState.creds);
|
|
649
658
|
}
|
|
@@ -656,7 +665,7 @@ const makeChatsSocket = (config) => {
|
|
|
656
665
|
* modify a chat -- mark unread, read etc.
|
|
657
666
|
* lastMessages must be sorted in reverse chronologically
|
|
658
667
|
* requires the last messages till the last message received; required for archive & unread
|
|
659
|
-
|
|
668
|
+
*/
|
|
660
669
|
const chatModify = (mod, jid) => {
|
|
661
670
|
const patch = (0, Utils_1.chatModificationToAppPatch)(mod, jid);
|
|
662
671
|
return appPatch(patch);
|
|
@@ -672,6 +681,22 @@ const makeChatsSocket = (config) => {
|
|
|
672
681
|
}
|
|
673
682
|
}, jid);
|
|
674
683
|
};
|
|
684
|
+
/**
|
|
685
|
+
* Add or Edit Contact
|
|
686
|
+
*/
|
|
687
|
+
const addOrEditContact = (jid, contact) => {
|
|
688
|
+
return chatModify({
|
|
689
|
+
contact
|
|
690
|
+
}, jid);
|
|
691
|
+
};
|
|
692
|
+
/**
|
|
693
|
+
* Remove Contact
|
|
694
|
+
*/
|
|
695
|
+
const removeContact = (jid) => {
|
|
696
|
+
return chatModify({
|
|
697
|
+
contact: null
|
|
698
|
+
}, jid);
|
|
699
|
+
};
|
|
675
700
|
/**
|
|
676
701
|
* Adds label
|
|
677
702
|
*/
|
|
@@ -729,20 +754,16 @@ const makeChatsSocket = (config) => {
|
|
|
729
754
|
* help ensure parity with WA Web
|
|
730
755
|
* */
|
|
731
756
|
const executeInitQueries = async () => {
|
|
732
|
-
await Promise.all([
|
|
733
|
-
fetchProps(),
|
|
734
|
-
fetchBlocklist(),
|
|
735
|
-
fetchPrivacySettings(),
|
|
736
|
-
]);
|
|
757
|
+
await Promise.all([fetchProps(), fetchBlocklist(), fetchPrivacySettings()]);
|
|
737
758
|
};
|
|
738
759
|
const upsertMessage = ev.createBufferedFunction(async (msg, type) => {
|
|
739
760
|
var _a, _b, _c;
|
|
740
761
|
ev.emit('messages.upsert', { messages: [msg], type });
|
|
741
762
|
if (!!msg.pushName) {
|
|
742
|
-
let jid = msg.key.fromMe ? authState.creds.me.id :
|
|
763
|
+
let jid = msg.key.fromMe ? authState.creds.me.id : msg.key.participant || msg.key.remoteJid;
|
|
743
764
|
jid = (0, WABinary_1.jidNormalizedUser)(jid);
|
|
744
765
|
if (!msg.key.fromMe) {
|
|
745
|
-
ev.emit('contacts.update', [{ id: jid, notify: msg.pushName, verifiedName: msg.verifiedBizName }]);
|
|
766
|
+
ev.emit('contacts.update', [{ id: jid, lid: msg.key.participantLid || msg.key.senderLid, notify: msg.pushName, verifiedName: msg.verifiedBizName }]);
|
|
746
767
|
}
|
|
747
768
|
// update our pushname too
|
|
748
769
|
if (msg.key.fromMe && msg.pushName && ((_a = authState.creds.me) === null || _a === void 0 ? void 0 : _a.name) !== msg.pushName) {
|
|
@@ -751,8 +772,7 @@ const makeChatsSocket = (config) => {
|
|
|
751
772
|
}
|
|
752
773
|
const historyMsg = (0, Utils_1.getHistoryMsg)(msg.message);
|
|
753
774
|
const shouldProcessHistoryMsg = historyMsg
|
|
754
|
-
?
|
|
755
|
-
&& Defaults_1.PROCESSABLE_HISTORY_TYPES.includes(historyMsg.syncType))
|
|
775
|
+
? shouldSyncHistoryMessage(historyMsg) && Defaults_1.PROCESSABLE_HISTORY_TYPES.includes(historyMsg.syncType)
|
|
756
776
|
: false;
|
|
757
777
|
if (historyMsg && !authState.creds.myAppStateKeyId) {
|
|
758
778
|
logger.warn('skipping app state sync, as myAppStateKeyId is not set');
|
|
@@ -760,8 +780,7 @@ const makeChatsSocket = (config) => {
|
|
|
760
780
|
}
|
|
761
781
|
await Promise.all([
|
|
762
782
|
(async () => {
|
|
763
|
-
if (historyMsg
|
|
764
|
-
&& authState.creds.myAppStateKeyId) {
|
|
783
|
+
if (historyMsg && authState.creds.myAppStateKeyId) {
|
|
765
784
|
pendingAppStateSync = false;
|
|
766
785
|
await doAppStateSync();
|
|
767
786
|
}
|
|
@@ -777,8 +796,7 @@ const makeChatsSocket = (config) => {
|
|
|
777
796
|
getMessage: config.getMessage
|
|
778
797
|
})
|
|
779
798
|
]);
|
|
780
|
-
if (((_c = (_b = msg.message) === null || _b === void 0 ? void 0 : _b.protocolMessage) === null || _c === void 0 ? void 0 : _c.appStateSyncKeyShare)
|
|
781
|
-
&& pendingAppStateSync) {
|
|
799
|
+
if (((_c = (_b = msg.message) === null || _b === void 0 ? void 0 : _b.protocolMessage) === null || _c === void 0 ? void 0 : _c.appStateSyncKeyShare) && pendingAppStateSync) {
|
|
782
800
|
await doAppStateSync();
|
|
783
801
|
pendingAppStateSync = false;
|
|
784
802
|
}
|
|
@@ -823,11 +841,9 @@ const makeChatsSocket = (config) => {
|
|
|
823
841
|
var _a;
|
|
824
842
|
if (connection === 'open') {
|
|
825
843
|
if (fireInitQueries) {
|
|
826
|
-
executeInitQueries()
|
|
827
|
-
.catch(error => onUnexpectedError(error, 'init queries'));
|
|
844
|
+
executeInitQueries().catch(error => onUnexpectedError(error, 'init queries'));
|
|
828
845
|
}
|
|
829
|
-
sendPresenceUpdate(markOnlineOnConnect ? 'available' : 'unavailable')
|
|
830
|
-
.catch(error => onUnexpectedError(error, 'presence update requests'));
|
|
846
|
+
sendPresenceUpdate(markOnlineOnConnect ? 'available' : 'unavailable').catch(error => onUnexpectedError(error, 'presence update requests'));
|
|
831
847
|
}
|
|
832
848
|
if (receivedPendingNotifications && // if we don't have the app state key
|
|
833
849
|
// we keep buffering events until we finally have
|
|
@@ -870,6 +886,8 @@ const makeChatsSocket = (config) => {
|
|
|
870
886
|
resyncAppState,
|
|
871
887
|
chatModify,
|
|
872
888
|
cleanDirtyBits,
|
|
889
|
+
addOrEditContact,
|
|
890
|
+
removeContact,
|
|
873
891
|
addLabel,
|
|
874
892
|
addChatLabel,
|
|
875
893
|
removeChatLabel,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/Socket/chats.ts"],"names":[],"mappings":"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"}
|