@d0v3riz/baileys 6.7.19 → 6.7.20
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.js +16 -16
- package/lib/Signal/Group/ciphertext-message.d.ts +9 -0
- package/lib/Signal/Group/ciphertext-message.js +15 -0
- package/lib/Signal/Group/group-session-builder.d.ts +14 -0
- package/lib/Signal/Group/group-session-builder.js +64 -0
- package/lib/Signal/Group/group_cipher.d.ts +17 -0
- package/lib/Signal/Group/group_cipher.js +96 -0
- package/lib/Signal/Group/index.d.ts +11 -0
- package/lib/Signal/Group/index.js +57 -0
- package/lib/Signal/Group/keyhelper.d.ts +10 -0
- package/lib/Signal/Group/keyhelper.js +55 -0
- package/lib/Signal/Group/queue-job.d.ts +1 -0
- package/lib/Signal/Group/queue-job.js +57 -0
- package/lib/Signal/Group/sender-chain-key.d.ts +13 -0
- package/lib/Signal/Group/sender-chain-key.js +34 -0
- package/lib/Signal/Group/sender-key-distribution-message.d.ts +16 -0
- package/lib/Signal/Group/sender-key-distribution-message.js +66 -0
- package/lib/Signal/Group/sender-key-message.d.ts +18 -0
- package/lib/Signal/Group/sender-key-message.js +69 -0
- package/lib/Signal/Group/sender-key-name.d.ts +17 -0
- package/lib/Signal/Group/sender-key-name.js +51 -0
- package/lib/Signal/Group/sender-key-record.d.ts +30 -0
- package/lib/Signal/Group/sender-key-record.js +53 -0
- package/lib/Signal/Group/sender-key-state.d.ts +38 -0
- package/lib/Signal/Group/sender-key-state.js +99 -0
- package/lib/Signal/Group/sender-message-key.d.ts +11 -0
- package/{WASignalGroup/sender_message_key.js → lib/Signal/Group/sender-message-key.js} +29 -39
- package/lib/Signal/libsignal.js +33 -20
- package/lib/Socket/Client/websocket.js +1 -1
- package/lib/Socket/business.d.ts +5 -5
- package/lib/Socket/business.js +5 -5
- package/lib/Socket/chats.d.ts +4 -4
- package/lib/Socket/chats.js +70 -70
- package/lib/Socket/groups.d.ts +6 -6
- package/lib/Socket/groups.js +39 -24
- package/lib/Socket/index.d.ts +5 -5
- package/lib/Socket/index.js +2 -2
- package/lib/Socket/messages-recv.d.ts +5 -5
- package/lib/Socket/messages-recv.js +73 -56
- package/lib/Socket/messages-send.d.ts +5 -5
- package/lib/Socket/messages-send.js +53 -46
- package/lib/Socket/socket.d.ts +3 -3
- package/lib/Socket/socket.js +22 -29
- package/lib/Socket/usync.d.ts +3 -3
- package/lib/Socket/usync.js +10 -15
- package/lib/Types/Auth.d.ts +1 -1
- package/lib/Types/Chat.d.ts +1 -1
- package/lib/Types/Chat.js +7 -1
- package/lib/Types/Contact.d.ts +4 -0
- package/lib/Types/Events.d.ts +1 -1
- package/lib/Types/GroupMetadata.d.ts +7 -3
- package/lib/Types/Message.d.ts +6 -1
- package/lib/Types/Socket.d.ts +3 -3
- package/lib/Utils/auth-utils.js +8 -9
- package/lib/Utils/baileys-event-stream.js +1 -1
- package/lib/Utils/business.js +9 -11
- package/lib/Utils/chat-utils.d.ts +4 -4
- package/lib/Utils/chat-utils.js +64 -69
- package/lib/Utils/crypto.js +4 -10
- package/lib/Utils/decode-wa-message.js +6 -2
- package/lib/Utils/event-buffer.d.ts +2 -2
- package/lib/Utils/event-buffer.js +9 -13
- package/lib/Utils/generics.d.ts +1 -1
- package/lib/Utils/generics.js +28 -30
- package/lib/Utils/history.js +10 -5
- package/lib/Utils/link-preview.js +5 -9
- package/lib/Utils/lt-hash.js +2 -2
- package/lib/Utils/make-mutex.js +1 -1
- package/lib/Utils/messages-media.js +40 -55
- package/lib/Utils/messages.d.ts +1 -1
- package/lib/Utils/messages.js +71 -61
- package/lib/Utils/process-message.d.ts +1 -1
- package/lib/Utils/process-message.js +25 -30
- package/lib/Utils/signal.js +9 -7
- package/lib/Utils/use-multi-file-auth-state.js +2 -3
- package/lib/Utils/validate-connection.js +17 -22
- package/lib/WABinary/constants.d.ts +4 -4
- package/lib/WABinary/constants.js +1271 -8
- package/lib/WABinary/decode.js +2 -1
- package/lib/WABinary/encode.js +2 -2
- package/lib/WABinary/generic-utils.js +1 -1
- package/lib/WABinary/jid-utils.js +8 -11
- package/lib/WAM/constants.js +2252 -2359
- package/lib/WAM/encode.js +5 -7
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +2 -2
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +2 -2
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +2 -2
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +5 -5
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +1 -1
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +1 -1
- package/lib/WAUSync/USyncQuery.js +17 -13
- package/package.json +11 -6
- 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/WAM/encode.js
CHANGED
|
@@ -8,9 +8,7 @@ const encodeWAM = (binaryInfo) => {
|
|
|
8
8
|
encodeWAMHeader(binaryInfo);
|
|
9
9
|
encodeEvents(binaryInfo);
|
|
10
10
|
console.log(binaryInfo.buffer);
|
|
11
|
-
const totalSize = binaryInfo.buffer
|
|
12
|
-
.map((a) => a.length)
|
|
13
|
-
.reduce((a, b) => a + b);
|
|
11
|
+
const totalSize = binaryInfo.buffer.map(a => a.length).reduce((a, b) => a + b);
|
|
14
12
|
const buffer = Buffer.alloc(totalSize);
|
|
15
13
|
let offset = 0;
|
|
16
14
|
for (const buffer_ of binaryInfo.buffer) {
|
|
@@ -40,9 +38,9 @@ function encodeGlobalAttributes(binaryInfo, globals) {
|
|
|
40
38
|
}
|
|
41
39
|
}
|
|
42
40
|
function encodeEvents(binaryInfo) {
|
|
43
|
-
for (const [name, { props, globals }
|
|
41
|
+
for (const [name, { props, globals }] of binaryInfo.events.map(a => Object.entries(a)[0])) {
|
|
44
42
|
encodeGlobalAttributes(binaryInfo, globals);
|
|
45
|
-
const event = constants_1.WEB_EVENTS.find(
|
|
43
|
+
const event = constants_1.WEB_EVENTS.find(a => a.name === name);
|
|
46
44
|
const props_ = Object.entries(props);
|
|
47
45
|
let extended = false;
|
|
48
46
|
for (const [, value] of props_) {
|
|
@@ -52,8 +50,8 @@ function encodeEvents(binaryInfo) {
|
|
|
52
50
|
binaryInfo.buffer.push(serializeData(event.id, -event.weight, eventFlag));
|
|
53
51
|
for (let i = 0; i < props_.length; i++) {
|
|
54
52
|
const [key, _value] = props_[i];
|
|
55
|
-
const id =
|
|
56
|
-
extended = i <
|
|
53
|
+
const id = event.props[key][0];
|
|
54
|
+
extended = i < props_.length - 1;
|
|
57
55
|
let value = _value;
|
|
58
56
|
if (typeof value === 'boolean') {
|
|
59
57
|
value = value ? 1 : 0;
|
|
@@ -9,7 +9,7 @@ class USyncContactProtocol {
|
|
|
9
9
|
getQueryElement() {
|
|
10
10
|
return {
|
|
11
11
|
tag: 'contact',
|
|
12
|
-
attrs: {}
|
|
12
|
+
attrs: {}
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
getUserElement(user) {
|
|
@@ -17,7 +17,7 @@ class USyncContactProtocol {
|
|
|
17
17
|
return {
|
|
18
18
|
tag: 'contact',
|
|
19
19
|
attrs: {},
|
|
20
|
-
content: user.phone
|
|
20
|
+
content: user.phone
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
parser(node) {
|
|
@@ -9,7 +9,7 @@ class USyncDisappearingModeProtocol {
|
|
|
9
9
|
getQueryElement() {
|
|
10
10
|
return {
|
|
11
11
|
tag: 'disappearing_mode',
|
|
12
|
-
attrs: {}
|
|
12
|
+
attrs: {}
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
getUserElement() {
|
|
@@ -22,7 +22,7 @@ class USyncDisappearingModeProtocol {
|
|
|
22
22
|
const setAt = new Date(+((node === null || node === void 0 ? void 0 : node.attrs.t) || 0) * 1000);
|
|
23
23
|
return {
|
|
24
24
|
duration,
|
|
25
|
-
setAt
|
|
25
|
+
setAt
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -9,20 +9,20 @@ class USyncStatusProtocol {
|
|
|
9
9
|
getQueryElement() {
|
|
10
10
|
return {
|
|
11
11
|
tag: 'status',
|
|
12
|
-
attrs: {}
|
|
12
|
+
attrs: {}
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
getUserElement() {
|
|
16
16
|
return null;
|
|
17
17
|
}
|
|
18
18
|
parser(node) {
|
|
19
|
-
var _a;
|
|
19
|
+
var _a, _b, _c;
|
|
20
20
|
if (node.tag === 'status') {
|
|
21
21
|
(0, WABinary_1.assertNodeErrorFree)(node);
|
|
22
|
-
let status = node === null || node === void 0 ? void 0 : node.content.toString();
|
|
22
|
+
let status = (_b = (_a = node === null || node === void 0 ? void 0 : node.content) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : null;
|
|
23
23
|
const setAt = new Date(+((node === null || node === void 0 ? void 0 : node.attrs.t) || 0) * 1000);
|
|
24
24
|
if (!status) {
|
|
25
|
-
if (+((
|
|
25
|
+
if (+((_c = node.attrs) === null || _c === void 0 ? void 0 : _c.code) === 401) {
|
|
26
26
|
status = '';
|
|
27
27
|
}
|
|
28
28
|
else {
|
|
@@ -34,7 +34,7 @@ class USyncStatusProtocol {
|
|
|
34
34
|
}
|
|
35
35
|
return {
|
|
36
36
|
status,
|
|
37
|
-
setAt
|
|
37
|
+
setAt
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -28,13 +28,13 @@ class USyncQuery {
|
|
|
28
28
|
if (result.attrs.type !== 'result') {
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
|
-
const protocolMap = Object.fromEntries(this.protocols.map(
|
|
31
|
+
const protocolMap = Object.fromEntries(this.protocols.map(protocol => {
|
|
32
32
|
return [protocol.name, protocol.parser];
|
|
33
33
|
}));
|
|
34
34
|
const queryResult = {
|
|
35
35
|
// TODO: implement errors etc.
|
|
36
36
|
list: [],
|
|
37
|
-
sideList: []
|
|
37
|
+
sideList: []
|
|
38
38
|
};
|
|
39
39
|
const usyncNode = (0, WABinary_1.getBinaryNodeChild)(result, 'usync');
|
|
40
40
|
//TODO: implement error backoff, refresh etc.
|
|
@@ -42,18 +42,22 @@ class USyncQuery {
|
|
|
42
42
|
//const resultNode = getBinaryNodeChild(usyncNode, 'result')
|
|
43
43
|
const listNode = (0, WABinary_1.getBinaryNodeChild)(usyncNode, 'list');
|
|
44
44
|
if (Array.isArray(listNode === null || listNode === void 0 ? void 0 : listNode.content) && typeof listNode !== 'undefined') {
|
|
45
|
-
queryResult.list = listNode.content.map(
|
|
45
|
+
queryResult.list = listNode.content.map(node => {
|
|
46
46
|
const id = node === null || node === void 0 ? void 0 : node.attrs.jid;
|
|
47
|
-
const data = Array.isArray(node === null || node === void 0 ? void 0 : node.content)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
const data = Array.isArray(node === null || node === void 0 ? void 0 : node.content)
|
|
48
|
+
? Object.fromEntries(node.content
|
|
49
|
+
.map(content => {
|
|
50
|
+
const protocol = content.tag;
|
|
51
|
+
const parser = protocolMap[protocol];
|
|
52
|
+
if (parser) {
|
|
53
|
+
return [protocol, parser(content)];
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return [protocol, null];
|
|
57
|
+
}
|
|
58
|
+
})
|
|
59
|
+
.filter(([, b]) => b !== null))
|
|
60
|
+
: {};
|
|
57
61
|
return { ...data, id };
|
|
58
62
|
});
|
|
59
63
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@d0v3riz/baileys",
|
|
3
|
-
"version": "6.7.
|
|
3
|
+
"version": "6.7.20",
|
|
4
4
|
"description": "A WebSockets library for interacting with WhatsApp Web",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"whatsapp",
|
|
@@ -16,9 +16,7 @@
|
|
|
16
16
|
"types": "lib/index.d.ts",
|
|
17
17
|
"files": [
|
|
18
18
|
"lib/*",
|
|
19
|
-
"WAProto
|
|
20
|
-
"WAProto/*.js",
|
|
21
|
-
"WASignalGroup/*.js",
|
|
19
|
+
"WAProto/*",
|
|
22
20
|
"engine-requirements.js"
|
|
23
21
|
],
|
|
24
22
|
"scripts": {
|
|
@@ -30,8 +28,9 @@
|
|
|
30
28
|
"changelog:update": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
|
|
31
29
|
"example": "node --inspect -r ts-node/register Example/example.ts",
|
|
32
30
|
"gen:protobuf": "sh WAProto/GenerateStatics.sh",
|
|
31
|
+
"format": "prettier --write \"src/**/*.{ts,js,json,md}\"",
|
|
33
32
|
"lint": "eslint src --ext .js,.ts",
|
|
34
|
-
"lint:fix": "yarn lint --fix",
|
|
33
|
+
"lint:fix": "yarn format && yarn lint --fix",
|
|
35
34
|
"prepack": "tsc",
|
|
36
35
|
"prepare": "tsc",
|
|
37
36
|
"preinstall": "node ./engine-requirements.js",
|
|
@@ -42,7 +41,6 @@
|
|
|
42
41
|
"@cacheable/node-cache": "^1.4.0",
|
|
43
42
|
"@d0v3riz/ws": "^8.13.0",
|
|
44
43
|
"@hapi/boom": "^9.1.3",
|
|
45
|
-
"@whiskeysockets/eslint-config": "github:whiskeysockets/eslint-config",
|
|
46
44
|
"async-mutex": "^0.5.0",
|
|
47
45
|
"axios": "^1.8.4",
|
|
48
46
|
"libsignal": "github:d0v3riz/libsignal-node",
|
|
@@ -56,13 +54,20 @@
|
|
|
56
54
|
"@types/jest": "^27.5.1",
|
|
57
55
|
"@types/node": "^16.0.0",
|
|
58
56
|
"@types/ws": "^8.0.0",
|
|
57
|
+
"@typescript-eslint/eslint-plugin": "^8.32.0",
|
|
58
|
+
"@typescript-eslint/parser": "^8.32.0",
|
|
59
|
+
"@whiskeysockets/eslint-config": "github:whiskeysockets/eslint-config",
|
|
59
60
|
"conventional-changelog-cli": "^2.2.2",
|
|
60
61
|
"eslint": "^8.0.0",
|
|
62
|
+
"eslint-config-prettier": "^10.1.2",
|
|
63
|
+
"eslint-plugin-prettier": "^5.4.0",
|
|
61
64
|
"jest": "^29.7.0",
|
|
62
65
|
"jimp": "^0.16.1",
|
|
63
66
|
"json": "^11.0.0",
|
|
64
67
|
"link-preview-js": "^3.0.0",
|
|
65
68
|
"open": "^8.4.2",
|
|
69
|
+
"prettier": "^3.5.3",
|
|
70
|
+
"protobufjs-cli": "^1.1.3",
|
|
66
71
|
"release-it": "^15.10.3",
|
|
67
72
|
"sharp": "^0.32.6",
|
|
68
73
|
"ts-jest": "^29.3.2",
|