@badzz88/baileys 8.5.7 → 8.5.9
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 +337 -1055
- package/WAProto/WAProto.proto +284 -264
- package/WAProto/index.js +5 -5
- package/engine-requirements.js +7 -15
- package/lib/Defaults/index.js +130 -187
- package/lib/Signal/Group/ciphertext-message.js +11 -14
- package/lib/Signal/Group/group-session-builder.js +29 -91
- package/lib/Signal/Group/group_cipher.js +81 -88
- package/lib/Signal/Group/index.js +12 -136
- package/lib/Signal/Group/keyhelper.js +15 -70
- package/lib/Signal/Group/sender-chain-key.js +25 -31
- package/lib/Signal/Group/sender-key-distribution-message.js +62 -65
- package/lib/Signal/Group/sender-key-message.js +65 -68
- package/lib/Signal/Group/sender-key-name.js +41 -43
- package/lib/Signal/Group/sender-key-record.js +40 -43
- package/lib/Signal/Group/sender-key-state.js +83 -96
- package/lib/Signal/Group/sender-message-key.js +25 -29
- package/lib/Signal/libsignal.js +425 -453
- package/lib/Signal/lid-mapping.js +276 -259
- package/lib/Socket/Client/index.js +3 -30
- package/lib/Socket/Client/types.js +10 -12
- package/lib/Socket/Client/websocket.js +53 -61
- package/lib/Socket/business.js +379 -422
- package/lib/Socket/chats.js +1193 -1816
- package/lib/Socket/communities.js +431 -549
- package/lib/Socket/graphql.js +672 -612
- package/lib/Socket/groups.js +374 -764
- package/lib/Socket/index.js +17 -38
- package/lib/Socket/interop.js +417 -503
- package/lib/Socket/messages-recv.js +1915 -2441
- package/lib/Socket/messages-send.js +1213 -1630
- package/lib/Socket/mex.js +9 -15
- package/lib/Socket/newsletter.js +746 -808
- package/lib/Socket/privacy.js +310 -441
- package/lib/Socket/socket.js +1025 -1022
- package/lib/Socket/username.js +8 -15
- package/lib/Store/index.js +10 -36
- package/lib/Store/make-cache-manager-store.js +80 -85
- package/lib/Store/make-in-memory-store.js +231 -591
- package/lib/Store/make-ordered-dictionary.js +72 -78
- package/lib/Store/object-repository.js +28 -25
- package/lib/Types/Auth.js +2 -38
- package/lib/Types/Bussines.js +2 -2
- package/lib/Types/Call.js +2 -2
- package/lib/Types/Chat.js +8 -4
- package/lib/Types/Contact.js +2 -2
- package/lib/Types/Events.js +2 -2
- package/lib/Types/GroupMetadata.js +2 -2
- package/lib/Types/Label.js +24 -26
- package/lib/Types/LabelAssociation.js +6 -8
- package/lib/Types/Message.js +11 -95
- package/lib/Types/Mex.js +111 -112
- package/lib/Types/Product.js +2 -2
- package/lib/Types/Signal.js +2 -2
- package/lib/Types/Socket.js +3 -2
- package/lib/Types/State.js +56 -70
- package/lib/Types/USync.js +2 -2
- package/lib/Types/index.js +26 -55
- package/lib/Utils/auth-utils.js +288 -292
- package/lib/Utils/browser-utils.js +47 -113
- package/lib/Utils/business.js +224 -240
- package/lib/Utils/chat-utils.js +869 -1205
- package/lib/Utils/companion-reg-client-utils.js +34 -41
- package/lib/Utils/crypto.js +107 -144
- package/lib/Utils/decode-wa-message.js +308 -518
- package/lib/Utils/event-buffer.js +611 -596
- package/lib/Utils/generics.js +355 -515
- package/lib/Utils/history.js +134 -244
- package/lib/Utils/identity-change-handler.js +49 -51
- package/lib/Utils/index.js +23 -57
- package/lib/Utils/link-preview.js +77 -135
- package/lib/Utils/logger.js +3 -9
- package/lib/Utils/lt-hash.js +6 -37
- package/lib/Utils/make-mutex.js +33 -36
- package/lib/Utils/message-composer.js +233 -439
- package/lib/Utils/message-retry-manager.js +260 -265
- package/lib/Utils/messages-media.js +829 -855
- package/lib/Utils/messages.js +961 -2528
- package/lib/Utils/noise-handler.js +200 -195
- package/lib/Utils/offline-node-processor.js +33 -35
- package/lib/Utils/pre-key-manager.js +102 -103
- package/lib/Utils/process-message.js +560 -978
- package/lib/Utils/reporting-utils.js +253 -257
- package/lib/Utils/signal.js +195 -218
- package/lib/Utils/stanza-ack.js +29 -31
- package/lib/Utils/sticker.js +109 -144
- package/lib/Utils/sync-action-utils.js +45 -50
- package/lib/Utils/tc-token-utils.js +139 -137
- package/lib/Utils/use-multi-file-auth-state.js +109 -109
- package/lib/Utils/validate-connection.js +202 -218
- package/lib/WABinary/constants.js +1299 -1302
- package/lib/WABinary/decode.js +262 -343
- package/lib/WABinary/encode.js +4 -12
- package/lib/WABinary/generic-utils.js +187 -223
- package/lib/WABinary/index.js +6 -33
- package/lib/WABinary/jid-utils.js +88 -351
- package/lib/WABinary/types.js +2 -2
- package/lib/WAM/BinaryInfo.js +9 -12
- package/lib/WAM/constants.js +22853 -39486
- package/lib/WAM/encode.js +140 -132
- package/lib/WAM/index.js +4 -31
- package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +21 -23
- package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +9 -9
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +7 -7
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +10 -10
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +7 -7
- package/lib/WAUSync/Protocols/USyncFeatureProtocol.js +11 -12
- package/lib/WAUSync/Protocols/USyncLIDProtocol.js +4 -5
- package/lib/WAUSync/Protocols/USyncPictureProtocol.js +7 -7
- package/lib/WAUSync/Protocols/USyncSidelistProtocol.js +7 -8
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +7 -7
- package/lib/WAUSync/Protocols/USyncTextStatusProtocol.js +8 -8
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +7 -7
- package/lib/WAUSync/Protocols/index.js +12 -39
- package/lib/WAUSync/USyncQuery.js +67 -49
- package/lib/WAUSync/USyncUser.js +11 -5
- package/lib/WAUSync/index.js +3 -31
- package/lib/index.js +15 -48
- package/package.json +129 -99
- package/LICENSE +0 -21
- package/lib/Defaults/phonenumber-mcc.json +0 -223
- package/lib/Socket/aigroups.js +0 -240
- package/lib/Socket/interactive-handler.js +0 -522
- package/lib/Socket/managed-account.js +0 -183
- package/lib/Socket/registration.js +0 -427
- package/lib/Socket/text-router.js +0 -83
- package/lib/Types/Newsletter.js +0 -121
- package/lib/Utils/command-loader.d.ts +0 -31
- package/lib/Utils/command-loader.js +0 -100
- package/lib/Utils/consumer-application.js +0 -107
- package/lib/Utils/curve25519-js.js +0 -275
- package/lib/Utils/group-history.js +0 -60
- package/lib/Utils/jid-display-normalization.js +0 -218
- package/lib/Utils/meta-ai-msmsg.js +0 -262
- package/lib/Utils/native-bridge.js +0 -82
- package/lib/Utils/session-pool.d.ts +0 -16
- package/lib/Utils/session-pool.js +0 -94
- package/lib/Utils/sticker.d.ts +0 -17
- package/lib/Utils/view-once-cache.d.ts +0 -9
- package/lib/Utils/view-once-cache.js +0 -79
- package/lib/Utils/voip-rekey.js +0 -22
- package/lib/antiban.js +0 -4637
package/lib/Socket/username.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const { executeWMexQuery } = require('./mex.js')
|
|
6
|
-
const { USyncQuery, USyncUser } = require('../WAUSync/index.js')
|
|
7
|
-
const { makeNewsletterSocket } = require('./newsletter.js')
|
|
8
|
-
const crypto = require('crypto')
|
|
1
|
+
import { executeWMexQuery } from './mex.js'
|
|
2
|
+
import { USyncQuery, USyncUser } from '../WAUSync/index.js'
|
|
3
|
+
import { makeNewsletterSocket } from './newsletter.js'
|
|
4
|
+
import crypto from 'crypto'
|
|
9
5
|
/**
|
|
10
6
|
* w:mex query IDs for username operations.
|
|
11
7
|
*
|
|
@@ -37,7 +33,7 @@ const USERNAME_SOURCE = {
|
|
|
37
33
|
SUGGESTION: 'SUGGESTION'
|
|
38
34
|
}
|
|
39
35
|
|
|
40
|
-
const makeUsernameSocket = config => {
|
|
36
|
+
export const makeUsernameSocket = config => {
|
|
41
37
|
const sock = makeNewsletterSocket(config)
|
|
42
38
|
const { query, generateMessageTag, executeUSyncQuery } = sock
|
|
43
39
|
|
|
@@ -113,9 +109,9 @@ const makeUsernameSocket = config => {
|
|
|
113
109
|
}
|
|
114
110
|
return mexQuery(variables, USERNAME_QUERY_IDS.SET, 'xwa2_username_set')
|
|
115
111
|
}
|
|
116
|
-
|
|
112
|
+
|
|
117
113
|
const checkAndSetUsername = async (username) => {
|
|
118
|
-
const r = await checkUsername(username)
|
|
114
|
+
const r = await checkUsername(username);
|
|
119
115
|
if (r.available) {
|
|
120
116
|
return await setUsername(username)
|
|
121
117
|
}
|
|
@@ -233,11 +229,8 @@ const makeUsernameSocket = config => {
|
|
|
233
229
|
setUsernamePin,
|
|
234
230
|
findUserByUsername,
|
|
235
231
|
fetchContactUsernames,
|
|
236
|
-
checkAndSetUsername,
|
|
237
232
|
USERNAME_QUERY_IDS,
|
|
238
233
|
USERNAME_CHECK_RESULT,
|
|
239
234
|
USERNAME_SOURCE
|
|
240
235
|
}
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
exports.makeUsernameSocket = makeUsernameSocket
|
|
236
|
+
}
|
package/lib/Store/index.js
CHANGED
|
@@ -1,36 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () {
|
|
13
|
-
return m[k]
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
Object.defineProperty(o, k2, desc)
|
|
18
|
-
}
|
|
19
|
-
: function (o, m, k, k2) {
|
|
20
|
-
if (k2 === undefined) k2 = k
|
|
21
|
-
o[k2] = m[k]
|
|
22
|
-
})
|
|
23
|
-
|
|
24
|
-
var __exportStar =
|
|
25
|
-
(this && this.__exportStar) ||
|
|
26
|
-
function (m, exports) {
|
|
27
|
-
for (var p in m)
|
|
28
|
-
if (p !== 'default' && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
Object.defineProperty(exports, '__esModule', { value: true })
|
|
32
|
-
|
|
33
|
-
__exportStar(require('./make-cache-manager-store'), exports)
|
|
34
|
-
__exportStar(require('./make-in-memory-store'), exports)
|
|
35
|
-
__exportStar(require('./make-ordered-dictionary'), exports)
|
|
36
|
-
__exportStar(require('./object-repository'), exports)
|
|
1
|
+
export * from './make-cache-manager-store.js';
|
|
2
|
+
export * from './make-in-memory-store.js';
|
|
3
|
+
export * from './make-ordered-dictionary.js';
|
|
4
|
+
export * from './object-repository.js';
|
|
5
|
+
export * from './keyed-db.js';
|
|
6
|
+
export { default as makeCacheManagerStore } from './make-cache-manager-store.js';
|
|
7
|
+
export { default as makeInMemoryStore } from './make-in-memory-store.js';
|
|
8
|
+
export { default as makeOrderedDictionary } from './make-ordered-dictionary.js';
|
|
9
|
+
export { default as objectRepository } from './object-repository.js';
|
|
10
|
+
export { default as keyedDB } from './keyed-db.js';
|
|
@@ -1,90 +1,85 @@
|
|
|
1
|
-
|
|
1
|
+
import { createRequire } from "module";
|
|
2
|
+
const require = createRequire(import.meta.url);
|
|
3
|
+
const cacheManager = require("cache-manager");
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
return mod && mod.__esModule ? mod : { default: mod }
|
|
7
|
-
}
|
|
5
|
+
import * as WAProto_1 from "../../WAProto/index.js";
|
|
6
|
+
import * as Utils_1 from "../Utils/index.js";
|
|
7
|
+
import logger from "../Utils/logger.js";
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
export default async function makeCacheManagerAuthState(store, sessionKey) {
|
|
10
|
+
const defaultKey = (file) => `${sessionKey}:${file}`;
|
|
11
|
+
const databaseConn = await cacheManager.caching(store);
|
|
10
12
|
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const writeData = async (file, data) => {
|
|
14
|
+
let ttl = undefined;
|
|
15
|
+
if (file === "creds") ttl = 63115200; // 2 years
|
|
16
|
+
await databaseConn.set(
|
|
17
|
+
defaultKey(file),
|
|
18
|
+
JSON.stringify(data, Utils_1.BufferJSON.replacer),
|
|
19
|
+
ttl
|
|
20
|
+
);
|
|
21
|
+
};
|
|
15
22
|
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const readData = async file => {
|
|
27
|
-
try {
|
|
28
|
-
const data = await databaseConn.get(defaultKey(file))
|
|
29
|
-
if (data) {
|
|
30
|
-
return JSON.parse(data, Utils_1.BufferJSON.reviver)
|
|
31
|
-
}
|
|
32
|
-
return null
|
|
33
|
-
} catch (error) {
|
|
34
|
-
logger_1.default.error(error)
|
|
35
|
-
return null
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
const removeData = async file => {
|
|
39
|
-
try {
|
|
40
|
-
return await databaseConn.del(defaultKey(file))
|
|
41
|
-
} catch (err) {
|
|
42
|
-
logger_1.default.error({ err }, `Error removing ${file} from session ${sessionKey}`)
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const clearState = async () => {
|
|
46
|
-
try {
|
|
47
|
-
const result = await databaseConn.store.keys(`${sessionKey}*`)
|
|
48
|
-
await Promise.all(result.map(async key => await databaseConn.del(key)))
|
|
49
|
-
} catch (err) {
|
|
50
|
-
logger_1.default.warn({ err }, 'clearState failed')
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
const creds = (await readData('creds')) || (0, Utils_1.initAuthCreds)()
|
|
54
|
-
return {
|
|
55
|
-
clearState,
|
|
56
|
-
saveCreds: () => writeData('creds', creds),
|
|
57
|
-
state: {
|
|
58
|
-
creds,
|
|
59
|
-
keys: {
|
|
60
|
-
get: async (type, ids) => {
|
|
61
|
-
const data = {}
|
|
62
|
-
await Promise.all(
|
|
63
|
-
ids.map(async id => {
|
|
64
|
-
let value = await readData(`${type}-${id}`)
|
|
65
|
-
if (type === 'app-state-sync-key' && value) {
|
|
66
|
-
value = WAProto_1.proto.Message.AppStateSyncKeyData.fromObject(value)
|
|
67
|
-
}
|
|
68
|
-
data[id] = value
|
|
69
|
-
})
|
|
70
|
-
)
|
|
71
|
-
return data
|
|
72
|
-
},
|
|
73
|
-
set: async data => {
|
|
74
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
75
|
-
const tasks = []
|
|
76
|
-
for (const category in data) {
|
|
77
|
-
for (const id in data[category]) {
|
|
78
|
-
const value = data[category][id]
|
|
79
|
-
const key = `${category}-${id}`
|
|
80
|
-
tasks.push(value ? writeData(key, value) : removeData(key))
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
await Promise.all(tasks)
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
23
|
+
const readData = async (file) => {
|
|
24
|
+
try {
|
|
25
|
+
const data = await databaseConn.get(defaultKey(file));
|
|
26
|
+
if (data) return JSON.parse(data, Utils_1.BufferJSON.reviver);
|
|
27
|
+
return null;
|
|
28
|
+
} catch (error) {
|
|
29
|
+
logger.error(error);
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
89
33
|
|
|
90
|
-
|
|
34
|
+
const removeData = async (file) => {
|
|
35
|
+
try {
|
|
36
|
+
return await databaseConn.del(defaultKey(file));
|
|
37
|
+
} catch {
|
|
38
|
+
logger.error(`Error removing ${file} from session ${sessionKey}`);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const clearState = async () => {
|
|
43
|
+
try {
|
|
44
|
+
const result = await databaseConn.store.keys(`${sessionKey}*`);
|
|
45
|
+
await Promise.all(result.map(async (key) => databaseConn.del(key)));
|
|
46
|
+
} catch {}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const creds = (await readData("creds")) || Utils_1.initAuthCreds();
|
|
50
|
+
|
|
51
|
+
return {
|
|
52
|
+
clearState,
|
|
53
|
+
saveCreds: () => writeData("creds", creds),
|
|
54
|
+
state: {
|
|
55
|
+
creds,
|
|
56
|
+
keys: {
|
|
57
|
+
get: async (type, ids) => {
|
|
58
|
+
const data = {};
|
|
59
|
+
await Promise.all(
|
|
60
|
+
ids.map(async (id) => {
|
|
61
|
+
let value = await readData(`${type}-${id}`);
|
|
62
|
+
if (type === "app-state-sync-key" && value) {
|
|
63
|
+
value =
|
|
64
|
+
WAProto_1.proto.Message.AppStateSyncKeyData.fromObject(value);
|
|
65
|
+
}
|
|
66
|
+
data[id] = value;
|
|
67
|
+
})
|
|
68
|
+
);
|
|
69
|
+
return data;
|
|
70
|
+
},
|
|
71
|
+
set: async (data) => {
|
|
72
|
+
const tasks = [];
|
|
73
|
+
for (const category in data) {
|
|
74
|
+
for (const id in data[category]) {
|
|
75
|
+
const value = data[category][id];
|
|
76
|
+
const key = `${category}-${id}`;
|
|
77
|
+
tasks.push(value ? writeData(key, value) : removeData(key));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
await Promise.all(tasks);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|