@baileys-md/baileys 12.0.0 → 12.2.0
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/LICENSE +21 -13
- package/WAProto/WAProto.proto +769 -233
- package/WAProto/index.js +65813 -141372
- package/lib/Defaults/index.js +128 -113
- package/lib/KeyDB/BinarySearch.js +30 -0
- package/lib/KeyDB/KeyedDB.js +178 -0
- package/lib/KeyDB/index.js +14 -0
- package/lib/Signal/Group/ciphertext-message.js +22 -14
- package/lib/Signal/Group/group-session-builder.js +21 -42
- package/lib/Signal/Group/group_cipher.js +85 -87
- package/lib/Signal/Group/index.js +23 -57
- package/lib/Signal/Group/keyhelper.js +28 -52
- package/lib/Signal/Group/sender-chain-key.js +37 -33
- package/lib/Signal/Group/sender-key-distribution-message.js +73 -63
- package/lib/Signal/Group/sender-key-message.js +75 -66
- package/lib/Signal/Group/sender-key-name.js +55 -44
- package/lib/Signal/Group/sender-key-record.js +49 -49
- package/lib/Signal/Group/sender-key-state.js +90 -93
- package/lib/Signal/Group/sender-message-key.js +37 -28
- package/lib/Signal/libsignal.js +324 -163
- package/lib/Signal/lid-mapping.js +166 -0
- package/lib/Socket/Client/index.js +14 -18
- package/lib/Socket/Client/types.js +12 -12
- package/lib/Socket/Client/websocket.js +60 -109
- package/lib/Socket/business.js +359 -242
- package/lib/Socket/chats.js +857 -898
- package/lib/Socket/communities.js +413 -0
- package/lib/Socket/groups.js +304 -324
- package/lib/Socket/index.js +25 -9
- package/lib/Socket/messages-recv.js +1109 -1000
- package/lib/Socket/messages-send.js +615 -387
- package/lib/Socket/mex.js +45 -0
- package/lib/Socket/newsletter.js +231 -227
- package/lib/Socket/socket.js +803 -628
- package/lib/Store/index.js +18 -8
- package/lib/Store/make-cache-manager-store.js +75 -0
- package/lib/Store/make-in-memory-store.js +286 -435
- package/lib/Store/make-ordered-dictionary.js +77 -79
- package/lib/Store/object-repository.js +24 -26
- package/lib/Types/Auth.js +13 -2
- package/lib/Types/Bussines.js +13 -0
- package/lib/Types/Call.js +13 -2
- package/lib/Types/Chat.js +19 -4
- package/lib/Types/Contact.js +13 -2
- package/lib/Types/Events.js +13 -2
- package/lib/Types/GroupMetadata.js +13 -2
- package/lib/Types/Label.js +43 -26
- package/lib/Types/LabelAssociation.js +16 -8
- package/lib/Types/Message.js +22 -7
- package/lib/Types/Newsletter.js +42 -17
- package/lib/Types/Product.js +13 -2
- package/lib/Types/Signal.js +13 -2
- package/lib/Types/Socket.js +14 -2
- package/lib/Types/State.js +21 -2
- package/lib/Types/USync.js +13 -2
- package/lib/Types/index.js +37 -41
- package/lib/Utils/auth-utils.js +219 -189
- package/lib/Utils/baileys-event-stream.js +54 -0
- package/lib/Utils/browser-utils.js +21 -31
- package/lib/Utils/business.js +213 -214
- package/lib/Utils/chat-utils.js +711 -689
- package/lib/Utils/crypto.js +112 -175
- package/lib/Utils/decode-wa-message.js +254 -194
- package/lib/Utils/event-buffer.js +510 -500
- package/lib/Utils/generics.js +318 -430
- package/lib/Utils/history.js +83 -90
- package/lib/Utils/index.js +31 -35
- package/lib/Utils/link-preview.js +71 -116
- package/lib/Utils/logger.js +5 -7
- package/lib/Utils/lt-hash.js +40 -46
- package/lib/Utils/make-mutex.js +34 -41
- package/lib/Utils/message-retry-manager.js +33 -48
- package/lib/Utils/messages-media.js +516 -784
- package/lib/Utils/messages.js +347 -489
- package/lib/Utils/noise-handler.js +138 -144
- package/lib/Utils/pre-key-manager.js +95 -0
- package/lib/Utils/process-message.js +331 -384
- package/lib/Utils/signal.js +157 -139
- package/lib/Utils/use-multi-file-auth-state.js +119 -91
- package/lib/Utils/validate-connection.js +184 -203
- package/lib/WABinary/constants.js +1308 -1298
- package/lib/WABinary/decode.js +241 -256
- package/lib/WABinary/encode.js +217 -239
- package/lib/WABinary/generic-utils.js +131 -40
- package/lib/WABinary/index.js +17 -21
- package/lib/WABinary/jid-utils.js +97 -79
- package/lib/WABinary/types.js +13 -2
- package/lib/WAM/BinaryInfo.js +20 -12
- package/lib/WAM/constants.js +22863 -15348
- package/lib/WAM/encode.js +145 -136
- package/lib/WAM/index.js +15 -19
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +39 -31
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +61 -54
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +39 -29
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +48 -40
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +62 -51
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +38 -21
- package/lib/WAUSync/Protocols/index.js +17 -20
- package/lib/WAUSync/USyncQuery.js +98 -86
- package/lib/WAUSync/USyncUser.js +35 -26
- package/lib/WAUSync/index.js +16 -19
- package/lib/index.js +23 -41
- package/package.json +46 -56
- package/README.md +0 -113
- package/WAProto/GenerateStatics.sh +0 -4
- package/lib/Defaults/wileys-version.json +0 -3
- package/lib/Signal/Group/queue-job.js +0 -57
- package/lib/Socket/usync.js +0 -70
- package/lib/Utils/wileys-event-stream.js +0 -63
|
@@ -1,41 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
//========================================//
|
|
2
|
+
/**
|
|
3
|
+
* @project @sixcore/baileys
|
|
4
|
+
* @author Sixx.js </>🌿
|
|
5
|
+
* @version 1.0.3
|
|
6
|
+
* @license MIT
|
|
7
|
+
* @country Mozambique 🇲🇿♥️
|
|
8
|
+
* @chamadas || sms +258860817689
|
|
9
|
+
* @whatsApp +55889616-2417 || +258851907875
|
|
10
|
+
* @description Biblioteca Node.js para integração e automação no WhatsApp usando Baileys
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { Boom } from '@hapi/boom';
|
|
14
|
+
import { proto } from '../../WAProto/index.js';
|
|
15
|
+
import {} from './types.js';
|
|
16
|
+
import { unixTimestampSeconds } from '../Utils/index.js';
|
|
17
|
+
|
|
18
|
+
export const getBinaryNodeChildren = (node, childTag) => {
|
|
19
|
+
if (Array.isArray(node?.content)) {
|
|
10
20
|
return node.content.filter(item => item.tag === childTag);
|
|
11
21
|
}
|
|
12
22
|
return [];
|
|
13
23
|
};
|
|
14
|
-
|
|
15
|
-
const getAllBinaryNodeChildren = ({ content }) => {
|
|
24
|
+
export const getAllBinaryNodeChildren = ({ content }) => {
|
|
16
25
|
if (Array.isArray(content)) {
|
|
17
26
|
return content;
|
|
18
27
|
}
|
|
19
28
|
return [];
|
|
20
29
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return node === null || node === void 0 ? void 0 : node.content.find(item => item.tag === childTag);
|
|
30
|
+
export const getBinaryNodeChild = (node, childTag) => {
|
|
31
|
+
if (Array.isArray(node?.content)) {
|
|
32
|
+
return node?.content.find(item => item.tag === childTag);
|
|
25
33
|
}
|
|
26
34
|
};
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
var _a;
|
|
30
|
-
const child = (_a = (0, exports.getBinaryNodeChild)(node, childTag)) === null || _a === void 0 ? void 0 : _a.content;
|
|
35
|
+
export const getBinaryNodeChildBuffer = (node, childTag) => {
|
|
36
|
+
const child = getBinaryNodeChild(node, childTag)?.content;
|
|
31
37
|
if (Buffer.isBuffer(child) || child instanceof Uint8Array) {
|
|
32
38
|
return child;
|
|
33
39
|
}
|
|
34
40
|
};
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
var _a;
|
|
38
|
-
const child = (_a = (0, exports.getBinaryNodeChild)(node, childTag)) === null || _a === void 0 ? void 0 : _a.content;
|
|
41
|
+
export const getBinaryNodeChildString = (node, childTag) => {
|
|
42
|
+
const child = getBinaryNodeChild(node, childTag)?.content;
|
|
39
43
|
if (Buffer.isBuffer(child) || child instanceof Uint8Array) {
|
|
40
44
|
return Buffer.from(child).toString('utf-8');
|
|
41
45
|
}
|
|
@@ -43,42 +47,42 @@ const getBinaryNodeChildString = (node, childTag) => {
|
|
|
43
47
|
return child;
|
|
44
48
|
}
|
|
45
49
|
};
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
const buff = (0, exports.getBinaryNodeChildBuffer)(node, childTag);
|
|
50
|
+
export const getBinaryNodeChildUInt = (node, childTag, length) => {
|
|
51
|
+
const buff = getBinaryNodeChildBuffer(node, childTag);
|
|
49
52
|
if (buff) {
|
|
50
53
|
return bufferToUInt(buff, length);
|
|
51
54
|
}
|
|
52
55
|
};
|
|
53
|
-
|
|
54
|
-
const
|
|
55
|
-
const errNode = (0, exports.getBinaryNodeChild)(node, 'error');
|
|
56
|
+
export const assertNodeErrorFree = (node) => {
|
|
57
|
+
const errNode = getBinaryNodeChild(node, 'error');
|
|
56
58
|
if (errNode) {
|
|
57
|
-
throw new
|
|
59
|
+
throw new Boom(errNode.attrs.text || 'Erro desconhecido', { data: +errNode.attrs.code });
|
|
58
60
|
}
|
|
59
61
|
};
|
|
60
|
-
|
|
61
|
-
const
|
|
62
|
-
const nodes = (0, exports.getBinaryNodeChildren)(node, tag);
|
|
62
|
+
export const reduceBinaryNodeToDictionary = (node, tag) => {
|
|
63
|
+
const nodes = getBinaryNodeChildren(node, tag);
|
|
63
64
|
const dict = nodes.reduce((dict, { attrs }) => {
|
|
64
|
-
|
|
65
|
+
if (typeof attrs.name === 'string') {
|
|
66
|
+
dict[attrs.name] = attrs.value || attrs.config_value;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
dict[attrs.config_code] = attrs.value || attrs.config_value;
|
|
70
|
+
}
|
|
65
71
|
return dict;
|
|
66
72
|
}, {});
|
|
67
73
|
return dict;
|
|
68
74
|
};
|
|
69
|
-
|
|
70
|
-
const getBinaryNodeMessages = ({ content }) => {
|
|
75
|
+
export const getBinaryNodeMessages = ({ content }) => {
|
|
71
76
|
const msgs = [];
|
|
72
77
|
if (Array.isArray(content)) {
|
|
73
78
|
for (const item of content) {
|
|
74
79
|
if (item.tag === 'message') {
|
|
75
|
-
msgs.push(
|
|
80
|
+
msgs.push(proto.WebMessageInfo.decode(item.content));
|
|
76
81
|
}
|
|
77
82
|
}
|
|
78
83
|
}
|
|
79
84
|
return msgs;
|
|
80
85
|
};
|
|
81
|
-
exports.getBinaryNodeMessages = getBinaryNodeMessages;
|
|
82
86
|
function bufferToUInt(e, t) {
|
|
83
87
|
let a = 0;
|
|
84
88
|
for (let i = 0; i < t; i++) {
|
|
@@ -87,7 +91,7 @@ function bufferToUInt(e, t) {
|
|
|
87
91
|
return a;
|
|
88
92
|
}
|
|
89
93
|
const tabs = (n) => '\t'.repeat(n);
|
|
90
|
-
function binaryNodeToString(node, i = 0) {
|
|
94
|
+
export function binaryNodeToString(node, i = 0) {
|
|
91
95
|
if (!node) {
|
|
92
96
|
return node;
|
|
93
97
|
}
|
|
@@ -98,7 +102,7 @@ function binaryNodeToString(node, i = 0) {
|
|
|
98
102
|
return tabs(i) + Buffer.from(node).toString('hex');
|
|
99
103
|
}
|
|
100
104
|
if (Array.isArray(node)) {
|
|
101
|
-
return node.map(
|
|
105
|
+
return node.map(x => tabs(i + 1) + binaryNodeToString(x, i + 1)).join('\n');
|
|
102
106
|
}
|
|
103
107
|
const children = binaryNodeToString(node.content, i + 1);
|
|
104
108
|
const tag = `<${node.tag} ${Object.entries(node.attrs || {})
|
|
@@ -108,3 +112,90 @@ function binaryNodeToString(node, i = 0) {
|
|
|
108
112
|
const content = children ? `>\n${children}\n${tabs(i)}</${node.tag}>` : '/>';
|
|
109
113
|
return tag + content;
|
|
110
114
|
}
|
|
115
|
+
export const getBinaryNodeFilter = (node) => {
|
|
116
|
+
if (!Array.isArray(node)) return false
|
|
117
|
+
|
|
118
|
+
return node.some(item =>
|
|
119
|
+
['native_flow'].includes(item?.content?.[0]?.content?.[0]?.tag) ||
|
|
120
|
+
['interactive', 'buttons', 'list'].includes(item?.content?.[0]?.tag) ||
|
|
121
|
+
['hsm', 'biz'].includes(item?.tag) ||
|
|
122
|
+
['bot'].includes(item?.tag) && item?.attrs?.biz_bot === '1'
|
|
123
|
+
)
|
|
124
|
+
}
|
|
125
|
+
export const getAdditionalNode = (name) => {
|
|
126
|
+
if (name) name = name.toLowerCase()
|
|
127
|
+
const ts = unixTimestampSeconds(new Date()) - 77980457
|
|
128
|
+
|
|
129
|
+
const order_response_name = {
|
|
130
|
+
review_and_pay: 'order_details',
|
|
131
|
+
review_order: 'order_status',
|
|
132
|
+
payment_info: 'payment_info',
|
|
133
|
+
payment_status: 'payment_status',
|
|
134
|
+
payment_method: 'payment_method'
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
const flow_name = {
|
|
138
|
+
cta_catalog: 'cta_catalog',
|
|
139
|
+
mpm: 'mpm',
|
|
140
|
+
call_request: 'call_permission_request',
|
|
141
|
+
view_catalog: 'automated_greeting_message_view_catalog',
|
|
142
|
+
wa_pay_detail: 'wa_payment_transaction_details',
|
|
143
|
+
send_location: 'send_location',
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
if(order_response_name[name]) {
|
|
147
|
+
return [{
|
|
148
|
+
tag: 'biz',
|
|
149
|
+
attrs: {
|
|
150
|
+
native_flow_name: order_response_name[name]
|
|
151
|
+
},
|
|
152
|
+
content: []
|
|
153
|
+
}]
|
|
154
|
+
} else if (flow_name[name] || name === 'interactive' || name === 'buttons') {
|
|
155
|
+
return [{
|
|
156
|
+
tag: 'biz',
|
|
157
|
+
attrs: {
|
|
158
|
+
actual_actors: '2',
|
|
159
|
+
host_storage: '2',
|
|
160
|
+
privacy_mode_ts: `${ts}`
|
|
161
|
+
},
|
|
162
|
+
content: [{
|
|
163
|
+
tag: 'engagement',
|
|
164
|
+
attrs: {
|
|
165
|
+
customer_service_state: 'open',
|
|
166
|
+
conversation_state: 'open'
|
|
167
|
+
}
|
|
168
|
+
}, {
|
|
169
|
+
tag: 'interactive',
|
|
170
|
+
attrs: {
|
|
171
|
+
type: 'native_flow',
|
|
172
|
+
v: '1'
|
|
173
|
+
},
|
|
174
|
+
content: [{
|
|
175
|
+
tag: 'native_flow',
|
|
176
|
+
attrs: {
|
|
177
|
+
v: '9',
|
|
178
|
+
name: flow_name[name] ?? 'mixed',
|
|
179
|
+
},
|
|
180
|
+
content: []
|
|
181
|
+
}]
|
|
182
|
+
}]
|
|
183
|
+
}]
|
|
184
|
+
} else {
|
|
185
|
+
return [{
|
|
186
|
+
tag: 'biz',
|
|
187
|
+
attrs: {
|
|
188
|
+
actual_actors: '2',
|
|
189
|
+
host_storage: '2',
|
|
190
|
+
privacy_mode_ts: `${ts}`
|
|
191
|
+
},
|
|
192
|
+
content: [{
|
|
193
|
+
tag: 'engagement',
|
|
194
|
+
attrs: {
|
|
195
|
+
customer_service_state: 'open',
|
|
196
|
+
conversation_state: 'open'
|
|
197
|
+
}
|
|
198
|
+
}]
|
|
199
|
+
}]
|
|
200
|
+
}
|
|
201
|
+
}
|
package/lib/WABinary/index.js
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
__exportStar(require("./decode"), exports);
|
|
19
|
-
__exportStar(require("./generic-utils"), exports);
|
|
20
|
-
__exportStar(require("./jid-utils"), exports);
|
|
21
|
-
__exportStar(require("./types"), exports);
|
|
1
|
+
//========================================//
|
|
2
|
+
/**
|
|
3
|
+
* @project @sixcore/baileys
|
|
4
|
+
* @author Sixx.js </>🌿
|
|
5
|
+
* @version 1.0.3
|
|
6
|
+
* @license MIT
|
|
7
|
+
* @country Mozambique 🇲🇿♥️
|
|
8
|
+
* @chamadas || sms +258860817689
|
|
9
|
+
* @whatsApp +55889616-2417 || +258851907875
|
|
10
|
+
* @description Biblioteca Node.js para integração e automação no WhatsApp usando Baileys
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export * from "./generic-utils.js";
|
|
14
|
+
export * from "./jid-utils.js";
|
|
15
|
+
export * from "./encode.js";
|
|
16
|
+
export * from "./decode.js";
|
|
17
|
+
export * from "./types.js";
|
|
@@ -1,85 +1,103 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
//========================================//
|
|
2
|
+
/**
|
|
3
|
+
* @project @sixcore/baileys
|
|
4
|
+
* @author Sixx.js </>🌿
|
|
5
|
+
* @version 1.0.3
|
|
6
|
+
* @license MIT
|
|
7
|
+
* @country Mozambique 🇲🇿♥️
|
|
8
|
+
* @chamadas || sms +258860817689
|
|
9
|
+
* @whatsApp +55889616-2417 || +258851907875
|
|
10
|
+
* @description Biblioteca Node.js para integração e automação no WhatsApp usando Baileys
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export const OFFICIAL_BIZ_JID = "16505361212@c.us";
|
|
14
|
+
export const S_WHATSAPP_NET = "@s.whatsapp.net";
|
|
15
|
+
export const STORIES_JID = "status@broadcast";
|
|
16
|
+
export const META_AI_JID = "13135550002@c.us";
|
|
17
|
+
export const SERVER_JID = "server@c.us";
|
|
18
|
+
export const PSA_WID = "0@c.us";
|
|
19
|
+
|
|
20
|
+
export var WAJIDDomains;
|
|
21
|
+
(function (WAJIDDomains) {
|
|
22
|
+
WAJIDDomains[WAJIDDomains["WHATSAPP"] = 0] = "WHATSAPP";
|
|
23
|
+
WAJIDDomains[WAJIDDomains["LID"] = 1] = "LID";
|
|
24
|
+
WAJIDDomains[WAJIDDomains["HOSTED"] = 128] = "HOSTED";
|
|
25
|
+
WAJIDDomains[WAJIDDomains["HOSTED_LID"] = 129] = "HOSTED_LID";
|
|
26
|
+
})(WAJIDDomains || (WAJIDDomains = {}));
|
|
27
|
+
export const getServerFromDomainType = (initialServer, domainType) => {
|
|
28
|
+
switch (domainType) {
|
|
29
|
+
case WAJIDDomains.LID:
|
|
30
|
+
return "lid";
|
|
31
|
+
case WAJIDDomains.HOSTED:
|
|
32
|
+
return "hosted";
|
|
33
|
+
case WAJIDDomains.HOSTED_LID:
|
|
34
|
+
return "hosted.lid";
|
|
35
|
+
case WAJIDDomains.WHATSAPP:
|
|
36
|
+
default:
|
|
37
|
+
return initialServer;
|
|
38
|
+
}
|
|
12
39
|
};
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
if (sepIdx < 0) {
|
|
17
|
-
return undefined;
|
|
18
|
-
}
|
|
19
|
-
const server = jid.slice(sepIdx + 1);
|
|
20
|
-
const userCombined = jid.slice(0, sepIdx);
|
|
21
|
-
const [userAgent, device] = userCombined.split(':');
|
|
22
|
-
const user = userAgent.split('_')[0];
|
|
23
|
-
return {
|
|
24
|
-
server: server,
|
|
25
|
-
user,
|
|
26
|
-
domainType: server === 'lid' ? 1 : 0,
|
|
27
|
-
device: device ? +device : undefined
|
|
28
|
-
};
|
|
40
|
+
|
|
41
|
+
export const jidEncode = (user, server, device, agent) => {
|
|
42
|
+
return `${user || ""}${!!agent ? `_${agent}` : ""}${!!device ? `:${device}` : ""}@${server}`;
|
|
29
43
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
return
|
|
44
|
+
|
|
45
|
+
export const jidDecode = (jid) => {
|
|
46
|
+
const sepIdx = typeof jid === "string" ? jid.indexOf("@") : -1;
|
|
47
|
+
if (sepIdx < 0) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
const server = jid.slice(sepIdx + 1);
|
|
51
|
+
const userCombined = jid.slice(0, sepIdx);
|
|
52
|
+
const [userAgent, device] = userCombined.split(":");
|
|
53
|
+
const [user, agent] = userAgent.split("_");
|
|
54
|
+
let domainType = WAJIDDomains.WHATSAPP;
|
|
55
|
+
if (server === "lid") {
|
|
56
|
+
domainType = WAJIDDomains.LID;
|
|
57
|
+
}
|
|
58
|
+
else if (server === "hosted") {
|
|
59
|
+
domainType = WAJIDDomains.HOSTED;
|
|
60
|
+
}
|
|
61
|
+
else if (server === "hosted.lid") {
|
|
62
|
+
domainType = WAJIDDomains.HOSTED_LID;
|
|
63
|
+
}
|
|
64
|
+
else if (agent) {
|
|
65
|
+
domainType = parseInt(agent);
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
server: server,
|
|
69
|
+
user: user,
|
|
70
|
+
domainType,
|
|
71
|
+
device: device ? +device : undefined
|
|
72
|
+
};
|
|
35
73
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
exports.isJidBroadcast = isJidBroadcast;
|
|
49
|
-
/** is the jid a newsletter */
|
|
50
|
-
const isJidNewsletter = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('@newsletter'));
|
|
51
|
-
exports.isJidNewsletter = isJidNewsletter;
|
|
52
|
-
/** is the jid a group */
|
|
53
|
-
const isJidGroup = (jid) => (jid === null || jid === void 0 ? void 0 : jid.endsWith('@g.us'));
|
|
54
|
-
exports.isJidGroup = isJidGroup;
|
|
55
|
-
/** is the jid the status broadcast */
|
|
56
|
-
const isJidStatusBroadcast = (jid) => jid === 'status@broadcast';
|
|
57
|
-
exports.isJidStatusBroadcast = isJidStatusBroadcast;
|
|
74
|
+
|
|
75
|
+
export const areJidsSameUser = (jid1, jid2) => jidDecode(jid1)?.user === jidDecode(jid2)?.user;
|
|
76
|
+
export const isJidMetaAI = (jid) => jid?.endsWith("@bot");
|
|
77
|
+
export const isPnUser = (jid) => jid?.endsWith("@s.whatsapp.net");
|
|
78
|
+
export const isLidUser = (jid) => jid?.endsWith("@lid");
|
|
79
|
+
export const isJidBroadcast = (jid) => jid?.endsWith("@broadcast");
|
|
80
|
+
export const isJidGroup = (jid) => jid?.endsWith("@g.us");
|
|
81
|
+
export const isJidStatusBroadcast = (jid) => jid === "status@broadcast";
|
|
82
|
+
export const isJidNewsletter = (jid) => jid?.endsWith("@newsletter");
|
|
83
|
+
export const isHostedPnUser = (jid) => jid?.endsWith("@hosted");
|
|
84
|
+
export const isHostedLidUser = (jid) => jid?.endsWith("@hosted.lid");
|
|
85
|
+
|
|
58
86
|
const botRegexp = /^1313555\d{4}$|^131655500\d{2}$/;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
const jidNormalizedUser = (jid) => {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
87
|
+
|
|
88
|
+
export const isJidBot = (jid) => jid && botRegexp.test(jid.split("@")[0]) && jid.endsWith("@c.us");
|
|
89
|
+
export const jidNormalizedUser = (jid) => {
|
|
90
|
+
const result = jidDecode(jid);
|
|
91
|
+
if (!result) {
|
|
92
|
+
return "";
|
|
93
|
+
}
|
|
94
|
+
const { user, server } = result;
|
|
95
|
+
return jidEncode(user, server === "c.us" ? "s.whatsapp.net" : server);
|
|
68
96
|
};
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (sepIdx < 0) {
|
|
76
|
-
return jid;
|
|
77
|
-
}
|
|
78
|
-
const server = jid.slice(sepIdx + 1);
|
|
79
|
-
if (server !== 'bot')
|
|
80
|
-
return jid;
|
|
81
|
-
const user = jid.slice(0, sepIdx);
|
|
82
|
-
const mappedNumber = BOT_MAP.get(user);
|
|
83
|
-
return mappedNumber ? `${mappedNumber}@s.whatsapp.net` : jid;
|
|
97
|
+
|
|
98
|
+
export const transferDevice = (fromJid, toJid) => {
|
|
99
|
+
const fromDecoded = jidDecode(fromJid);
|
|
100
|
+
const deviceId = fromDecoded?.device || 0;
|
|
101
|
+
const { server, user } = jidDecode(toJid);
|
|
102
|
+
return jidEncode(user, server, deviceId);
|
|
84
103
|
};
|
|
85
|
-
exports.getBotJid = getBotJid;
|
package/lib/WABinary/types.js
CHANGED
|
@@ -1,2 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//========================================//
|
|
2
|
+
/**
|
|
3
|
+
* @project @sixcore/baileys
|
|
4
|
+
* @author Sixx.js </>🌿
|
|
5
|
+
* @version 1.0.3
|
|
6
|
+
* @license MIT
|
|
7
|
+
* @country Mozambique 🇲🇿♥️
|
|
8
|
+
* @chamadas || sms +258860817689
|
|
9
|
+
* @whatsApp +55889616-2417 || +258851907875
|
|
10
|
+
* @description Biblioteca Node.js para integração e automação no WhatsApp usando Baileys
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import * as constants from "./constants.js";
|
package/lib/WAM/BinaryInfo.js
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
//========================================//
|
|
2
|
+
/**
|
|
3
|
+
* @project @sixcore/baileys
|
|
4
|
+
* @author Sixx.js </>🌿
|
|
5
|
+
* @version 1.0.3
|
|
6
|
+
* @license MIT
|
|
7
|
+
* @country Mozambique 🇲🇿♥️
|
|
8
|
+
* @chamadas || sms +258860817689
|
|
9
|
+
* @whatsApp +55889616-2417 || +258851907875
|
|
10
|
+
* @description Biblioteca Node.js para integração e automação no WhatsApp usando Baileys
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export class BinaryInfo {
|
|
14
|
+
constructor(options = {}) {
|
|
15
|
+
this.protocolVersion = 5;
|
|
16
|
+
this.sequence = 0;
|
|
17
|
+
this.events = [];
|
|
18
|
+
this.buffer = [];
|
|
19
|
+
Object.assign(this, options);
|
|
20
|
+
}
|
|
12
21
|
}
|
|
13
|
-
exports.BinaryInfo = BinaryInfo;
|