@queenanya/baileys 7.4.7 → 7.4.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 +26 -26
- package/WAProto/index.js +97194 -67957
- package/lib/Defaults/baileys-version.json +1 -1
- package/lib/Defaults/index.d.ts +231 -1
- package/lib/Defaults/index.js +23 -11
- package/lib/Defaults/phonenumber-mcc.json +223 -0
- package/lib/Socket/Client/index.d.ts +3 -2
- package/lib/Socket/Client/index.js +3 -2
- package/lib/Socket/Client/mobile-socket-client.d.ts +13 -0
- package/lib/Socket/Client/mobile-socket-client.js +65 -0
- package/lib/Socket/Client/{websocket.d.ts → web-socket-client.d.ts} +1 -1
- package/lib/Socket/Client/{websocket.js → web-socket-client.js} +2 -2
- package/lib/Socket/business.d.ts +22 -29
- package/lib/Socket/chats.d.ts +3 -14
- package/lib/Socket/chats.js +48 -76
- package/lib/Socket/groups.d.ts +4 -21
- package/lib/Socket/groups.js +1 -12
- package/lib/Socket/index.d.ts +32 -37
- package/lib/Socket/index.js +2 -2
- package/lib/Socket/messages-recv.d.ts +22 -28
- package/lib/Socket/messages-recv.js +180 -291
- package/lib/Socket/messages-send.d.ts +13 -23
- package/lib/Socket/messages-send.js +76 -110
- package/lib/Socket/newsletter.d.ts +7 -17
- package/lib/Socket/newsletter.js +54 -67
- package/lib/Socket/registration.d.ts +267 -0
- package/lib/Socket/registration.js +166 -0
- package/lib/Socket/socket.d.ts +1 -3
- package/lib/Socket/socket.js +17 -15
- package/lib/Store/make-cache-manager-store.d.ts +1 -2
- package/lib/Store/make-in-memory-store.js +11 -13
- package/lib/Store/make-ordered-dictionary.js +2 -2
- package/lib/Types/Auth.d.ts +6 -1
- package/lib/Types/Call.d.ts +1 -1
- package/lib/Types/Chat.d.ts +7 -12
- package/lib/Types/Contact.d.ts +1 -1
- package/lib/Types/Events.d.ts +2 -44
- package/lib/Types/GroupMetadata.d.ts +1 -3
- package/lib/Types/Label.d.ts +0 -11
- package/lib/Types/Message.d.ts +30 -37
- package/lib/Types/Newsletter.d.ts +13 -0
- package/lib/Types/Newsletter.js +15 -1
- package/lib/Types/Socket.d.ts +3 -10
- package/lib/Types/index.d.ts +0 -8
- package/lib/Utils/auth-utils.js +7 -1
- package/lib/Utils/chat-utils.d.ts +4 -5
- package/lib/Utils/chat-utils.js +20 -41
- package/lib/Utils/crypto.d.ts +1 -2
- package/lib/Utils/crypto.js +2 -4
- package/lib/Utils/decode-wa-message.d.ts +0 -1
- package/lib/Utils/decode-wa-message.js +14 -34
- package/lib/Utils/event-buffer.js +8 -14
- package/lib/Utils/generics.d.ts +13 -37
- package/lib/Utils/generics.js +18 -102
- package/lib/Utils/history.d.ts +2 -6
- package/lib/Utils/history.js +0 -3
- package/lib/Utils/index.d.ts +0 -1
- package/lib/Utils/index.js +0 -1
- package/lib/Utils/link-preview.js +1 -24
- package/lib/Utils/logger.d.ts +3 -1
- package/lib/Utils/make-mutex.js +0 -1
- package/lib/Utils/messages-media.d.ts +2 -3
- package/lib/Utils/messages-media.js +32 -17
- package/lib/Utils/messages.d.ts +0 -1
- package/lib/Utils/messages.js +72 -67
- package/lib/Utils/noise-handler.d.ts +3 -3
- package/lib/Utils/noise-handler.js +12 -7
- package/lib/Utils/process-message.d.ts +2 -3
- package/lib/Utils/process-message.js +21 -55
- package/lib/Utils/signal.js +16 -23
- package/lib/Utils/use-multi-file-auth-state.js +3 -17
- package/lib/Utils/validate-connection.d.ts +1 -0
- package/lib/Utils/validate-connection.js +44 -10
- package/lib/WABinary/constants.js +5 -5
- package/lib/WABinary/decode.d.ts +2 -3
- package/lib/WABinary/decode.js +4 -6
- package/lib/WABinary/encode.d.ts +2 -1
- package/lib/WABinary/encode.js +6 -8
- package/lib/WABinary/generic-utils.d.ts +0 -1
- package/lib/WABinary/jid-utils.d.ts +3 -3
- package/lib/WABinary/jid-utils.js +5 -5
- package/lib/WAM/BinaryInfo.d.ts +2 -3
- package/lib/WAM/constants.d.ts +2 -3
- package/lib/WAM/encode.d.ts +0 -1
- package/lib/WAM/encode.js +2 -2
- package/package.json +37 -39
- /package/lib/Socket/Client/{types.d.ts → abstract-socket-client.d.ts} +0 -0
- /package/lib/Socket/Client/{types.js → abstract-socket-client.js} +0 -0
package/lib/Socket/newsletter.js
CHANGED
|
@@ -5,20 +5,6 @@ const Types_1 = require("../Types");
|
|
|
5
5
|
const Utils_1 = require("../Utils");
|
|
6
6
|
const WABinary_1 = require("../WABinary");
|
|
7
7
|
const groups_1 = require("./groups");
|
|
8
|
-
var QueryIds;
|
|
9
|
-
(function (QueryIds) {
|
|
10
|
-
QueryIds["JOB_MUTATION"] = "7150902998257522";
|
|
11
|
-
QueryIds["METADATA"] = "6620195908089573";
|
|
12
|
-
QueryIds["UNFOLLOW"] = "7238632346214362";
|
|
13
|
-
QueryIds["FOLLOW"] = "7871414976211147";
|
|
14
|
-
QueryIds["UNMUTE"] = "7337137176362961";
|
|
15
|
-
QueryIds["MUTE"] = "25151904754424642";
|
|
16
|
-
QueryIds["CREATE"] = "6996806640408138";
|
|
17
|
-
QueryIds["ADMIN_COUNT"] = "7130823597031706";
|
|
18
|
-
QueryIds["CHANGE_OWNER"] = "7341777602580933";
|
|
19
|
-
QueryIds["DELETE"] = "8316537688363079";
|
|
20
|
-
QueryIds["DEMOTE"] = "6551828931592903";
|
|
21
|
-
})(QueryIds || (QueryIds = {}));
|
|
22
8
|
const makeNewsletterSocket = (config) => {
|
|
23
9
|
const sock = (0, groups_1.makeGroupsSocket)(config);
|
|
24
10
|
const { authState, signalRepository, query, generateMessageTag } = sock;
|
|
@@ -33,7 +19,7 @@ const makeNewsletterSocket = (config) => {
|
|
|
33
19
|
},
|
|
34
20
|
content
|
|
35
21
|
}));
|
|
36
|
-
const newsletterWMexQuery = async (jid,
|
|
22
|
+
const newsletterWMexQuery = async (jid, queryId, content) => (query({
|
|
37
23
|
tag: 'iq',
|
|
38
24
|
attrs: {
|
|
39
25
|
id: generateMessageTag(),
|
|
@@ -44,15 +30,21 @@ const makeNewsletterSocket = (config) => {
|
|
|
44
30
|
content: [
|
|
45
31
|
{
|
|
46
32
|
tag: 'query',
|
|
47
|
-
attrs: { query_id },
|
|
48
|
-
content: encoder.encode(JSON.stringify({
|
|
33
|
+
attrs: { 'query_id': queryId },
|
|
34
|
+
content: encoder.encode(JSON.stringify({
|
|
35
|
+
variables: {
|
|
36
|
+
'newsletter_id': jid,
|
|
37
|
+
...content
|
|
38
|
+
}
|
|
39
|
+
}))
|
|
49
40
|
}
|
|
50
41
|
]
|
|
51
42
|
}));
|
|
52
43
|
const parseFetchedUpdates = async (node, type) => {
|
|
53
44
|
let child;
|
|
54
|
-
if (type === 'messages')
|
|
45
|
+
if (type === 'messages') {
|
|
55
46
|
child = (0, WABinary_1.getBinaryNodeChild)(node, 'messages');
|
|
47
|
+
}
|
|
56
48
|
else {
|
|
57
49
|
const parent = (0, WABinary_1.getBinaryNodeChild)(node, 'message_updates');
|
|
58
50
|
child = (0, WABinary_1.getBinaryNodeChild)(parent, 'messages');
|
|
@@ -60,30 +52,21 @@ const makeNewsletterSocket = (config) => {
|
|
|
60
52
|
return await Promise.all((0, WABinary_1.getAllBinaryNodeChildren)(child).map(async (messageNode) => {
|
|
61
53
|
var _a, _b;
|
|
62
54
|
messageNode.attrs.from = child === null || child === void 0 ? void 0 : child.attrs.jid;
|
|
63
|
-
const views = (_b = (_a = (0, WABinary_1.getBinaryNodeChild)(messageNode, 'views_count')) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b.count;
|
|
55
|
+
const views = parseInt(((_b = (_a = (0, WABinary_1.getBinaryNodeChild)(messageNode, 'views_count')) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b.count) || '0');
|
|
64
56
|
const reactionNode = (0, WABinary_1.getBinaryNodeChild)(messageNode, 'reactions');
|
|
65
57
|
const reactions = (0, WABinary_1.getBinaryNodeChildren)(reactionNode, 'reaction')
|
|
66
58
|
.map(({ attrs }) => ({ count: +attrs.count, code: attrs.code }));
|
|
67
|
-
|
|
59
|
+
const data = {
|
|
60
|
+
'server_id': messageNode.attrs.server_id,
|
|
61
|
+
views,
|
|
62
|
+
reactions
|
|
63
|
+
};
|
|
68
64
|
if (type === 'messages') {
|
|
69
65
|
const { fullMessage: message, decrypt } = await (0, Utils_1.decryptMessageNode)(messageNode, authState.creds.me.id, authState.creds.me.lid || '', signalRepository, config.logger);
|
|
70
66
|
await decrypt();
|
|
71
|
-
data =
|
|
72
|
-
server_id: messageNode.attrs.server_id,
|
|
73
|
-
views: views ? +views : undefined,
|
|
74
|
-
reactions,
|
|
75
|
-
message
|
|
76
|
-
};
|
|
77
|
-
return data;
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
data = {
|
|
81
|
-
server_id: messageNode.attrs.server_id,
|
|
82
|
-
views: views ? +views : undefined,
|
|
83
|
-
reactions
|
|
84
|
-
};
|
|
85
|
-
return data;
|
|
67
|
+
data.message = message;
|
|
86
68
|
}
|
|
69
|
+
return data;
|
|
87
70
|
}));
|
|
88
71
|
};
|
|
89
72
|
return {
|
|
@@ -94,44 +77,48 @@ const makeNewsletterSocket = (config) => {
|
|
|
94
77
|
return (_a = (0, WABinary_1.getBinaryNodeChild)(result, 'live_updates')) === null || _a === void 0 ? void 0 : _a.attrs;
|
|
95
78
|
},
|
|
96
79
|
newsletterReactionMode: async (jid, mode) => {
|
|
97
|
-
await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
|
|
98
|
-
updates: { settings: { reaction_codes: { value: mode } } }
|
|
80
|
+
await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
|
|
81
|
+
updates: { settings: { 'reaction_codes': { value: mode } } }
|
|
99
82
|
});
|
|
100
83
|
},
|
|
101
84
|
newsletterUpdateDescription: async (jid, description) => {
|
|
102
|
-
await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
|
|
85
|
+
await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
|
|
103
86
|
updates: { description: description || '', settings: null }
|
|
104
87
|
});
|
|
105
88
|
},
|
|
106
89
|
newsletterUpdateName: async (jid, name) => {
|
|
107
|
-
await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
|
|
90
|
+
await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
|
|
108
91
|
updates: { name, settings: null }
|
|
109
92
|
});
|
|
110
93
|
},
|
|
111
94
|
newsletterUpdatePicture: async (jid, content) => {
|
|
112
95
|
const { img } = await (0, Utils_1.generateProfilePicture)(content);
|
|
113
|
-
await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
|
|
96
|
+
await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
|
|
114
97
|
updates: { picture: img.toString('base64'), settings: null }
|
|
115
98
|
});
|
|
116
99
|
},
|
|
117
100
|
newsletterRemovePicture: async (jid) => {
|
|
118
|
-
await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
|
|
101
|
+
await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
|
|
119
102
|
updates: { picture: '', settings: null }
|
|
120
103
|
});
|
|
121
104
|
},
|
|
122
105
|
newsletterUnfollow: async (jid) => {
|
|
123
|
-
await newsletterWMexQuery(jid, QueryIds.UNFOLLOW);
|
|
106
|
+
await newsletterWMexQuery(jid, Types_1.QueryIds.UNFOLLOW);
|
|
124
107
|
},
|
|
125
108
|
newsletterFollow: async (jid) => {
|
|
126
|
-
await newsletterWMexQuery(jid, QueryIds.FOLLOW);
|
|
109
|
+
await newsletterWMexQuery(jid, Types_1.QueryIds.FOLLOW);
|
|
127
110
|
},
|
|
128
111
|
newsletterUnmute: async (jid) => {
|
|
129
|
-
await newsletterWMexQuery(jid, QueryIds.UNMUTE);
|
|
112
|
+
await newsletterWMexQuery(jid, Types_1.QueryIds.UNMUTE);
|
|
130
113
|
},
|
|
131
114
|
newsletterMute: async (jid) => {
|
|
132
|
-
await newsletterWMexQuery(jid, QueryIds.MUTE);
|
|
115
|
+
await newsletterWMexQuery(jid, Types_1.QueryIds.MUTE);
|
|
116
|
+
},
|
|
117
|
+
newsletterAction: async (jid, type) => {
|
|
118
|
+
await newsletterWMexQuery(jid, type.toUpperCase());
|
|
133
119
|
},
|
|
134
|
-
newsletterCreate: async (name, description) => {
|
|
120
|
+
newsletterCreate: async (name, description, reaction_codes) => {
|
|
121
|
+
//TODO: Implement TOS system wide for Meta AI, communities, and here etc.
|
|
135
122
|
/**tos query */
|
|
136
123
|
await query({
|
|
137
124
|
tag: 'iq',
|
|
@@ -152,50 +139,50 @@ const makeNewsletterSocket = (config) => {
|
|
|
152
139
|
}
|
|
153
140
|
]
|
|
154
141
|
});
|
|
155
|
-
const result = await newsletterWMexQuery(undefined, QueryIds.CREATE, {
|
|
156
|
-
input: { name, description }
|
|
142
|
+
const result = await newsletterWMexQuery(undefined, Types_1.QueryIds.CREATE, {
|
|
143
|
+
input: { name, description, settings: { 'reaction_codes': { value: reaction_codes.toUpperCase() } } }
|
|
157
144
|
});
|
|
158
145
|
return (0, exports.extractNewsletterMetadata)(result, true);
|
|
159
146
|
},
|
|
160
147
|
newsletterMetadata: async (type, key, role) => {
|
|
161
|
-
const result = await newsletterWMexQuery(undefined, QueryIds.METADATA, {
|
|
148
|
+
const result = await newsletterWMexQuery(undefined, Types_1.QueryIds.METADATA, {
|
|
162
149
|
input: {
|
|
163
150
|
key,
|
|
164
151
|
type: type.toUpperCase(),
|
|
165
|
-
view_role: role || 'GUEST'
|
|
152
|
+
'view_role': role || 'GUEST'
|
|
166
153
|
},
|
|
167
|
-
fetch_viewer_metadata: true,
|
|
168
|
-
fetch_full_image: true,
|
|
169
|
-
fetch_creation_time: true
|
|
154
|
+
'fetch_viewer_metadata': true,
|
|
155
|
+
'fetch_full_image': true,
|
|
156
|
+
'fetch_creation_time': true
|
|
170
157
|
});
|
|
171
158
|
return (0, exports.extractNewsletterMetadata)(result);
|
|
172
159
|
},
|
|
173
160
|
newsletterAdminCount: async (jid) => {
|
|
174
161
|
var _a, _b;
|
|
175
|
-
const result = await newsletterWMexQuery(jid, QueryIds.ADMIN_COUNT);
|
|
162
|
+
const result = await newsletterWMexQuery(jid, Types_1.QueryIds.ADMIN_COUNT);
|
|
176
163
|
const buff = (_b = (_a = (0, WABinary_1.getBinaryNodeChild)(result, 'result')) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.toString();
|
|
177
164
|
return JSON.parse(buff).data[Types_1.XWAPaths.ADMIN_COUNT].admin_count;
|
|
178
165
|
},
|
|
179
166
|
/**user is Lid, not Jid */
|
|
180
167
|
newsletterChangeOwner: async (jid, user) => {
|
|
181
|
-
await newsletterWMexQuery(jid, QueryIds.CHANGE_OWNER, {
|
|
182
|
-
user_id: user
|
|
168
|
+
await newsletterWMexQuery(jid, Types_1.QueryIds.CHANGE_OWNER, {
|
|
169
|
+
'user_id': user
|
|
183
170
|
});
|
|
184
171
|
},
|
|
185
172
|
/**user is Lid, not Jid */
|
|
186
173
|
newsletterDemote: async (jid, user) => {
|
|
187
|
-
await newsletterWMexQuery(jid, QueryIds.DEMOTE, {
|
|
188
|
-
user_id: user
|
|
174
|
+
await newsletterWMexQuery(jid, Types_1.QueryIds.DEMOTE, {
|
|
175
|
+
'user_id': user
|
|
189
176
|
});
|
|
190
177
|
},
|
|
191
178
|
newsletterDelete: async (jid) => {
|
|
192
|
-
await newsletterWMexQuery(jid, QueryIds.DELETE);
|
|
179
|
+
await newsletterWMexQuery(jid, Types_1.QueryIds.DELETE);
|
|
193
180
|
},
|
|
194
181
|
/**if code wasn't passed, the reaction will be removed (if is reacted) */
|
|
195
|
-
newsletterReactMessage: async (jid,
|
|
182
|
+
newsletterReactMessage: async (jid, serverId, code) => {
|
|
196
183
|
await query({
|
|
197
184
|
tag: 'message',
|
|
198
|
-
attrs: { to: jid, ...(!code ? { edit: '7' } : {}), type: 'reaction', server_id, id: (0, Utils_1.generateMessageID)() },
|
|
185
|
+
attrs: { to: jid, ...(!code ? { edit: '7' } : {}), type: 'reaction', 'server_id': serverId, id: (0, Utils_1.generateMessageID)() },
|
|
199
186
|
content: [{
|
|
200
187
|
tag: 'reaction',
|
|
201
188
|
attrs: code ? { code } : {}
|
|
@@ -224,25 +211,25 @@ const makeNewsletterSocket = (config) => {
|
|
|
224
211
|
};
|
|
225
212
|
exports.makeNewsletterSocket = makeNewsletterSocket;
|
|
226
213
|
const extractNewsletterMetadata = (node, isCreate) => {
|
|
227
|
-
var _a, _b, _c, _d, _e;
|
|
214
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
228
215
|
const result = (_b = (_a = (0, WABinary_1.getBinaryNodeChild)(node, 'result')) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.toString();
|
|
229
216
|
const metadataPath = JSON.parse(result).data[isCreate ? Types_1.XWAPaths.CREATE : Types_1.XWAPaths.NEWSLETTER];
|
|
230
217
|
const metadata = {
|
|
231
218
|
id: metadataPath.id,
|
|
232
219
|
state: metadataPath.state.type,
|
|
233
|
-
creation_time: +metadataPath.thread_metadata.creation_time,
|
|
220
|
+
'creation_time': +metadataPath.thread_metadata.creation_time,
|
|
234
221
|
name: metadataPath.thread_metadata.name.text,
|
|
235
222
|
nameTime: +metadataPath.thread_metadata.name.update_time,
|
|
236
223
|
description: metadataPath.thread_metadata.description.text,
|
|
237
224
|
descriptionTime: +metadataPath.thread_metadata.description.update_time,
|
|
238
225
|
invite: metadataPath.thread_metadata.invite,
|
|
239
226
|
handle: metadataPath.thread_metadata.handle,
|
|
240
|
-
picture: metadataPath.thread_metadata.picture.direct_path || null,
|
|
241
|
-
preview: metadataPath.thread_metadata.preview.direct_path || null,
|
|
242
|
-
reaction_codes: (
|
|
227
|
+
picture: ((_c = metadataPath.thread_metadata.picture) === null || _c === void 0 ? void 0 : _c.direct_path) || null,
|
|
228
|
+
preview: ((_d = metadataPath.thread_metadata.preview) === null || _d === void 0 ? void 0 : _d.direct_path) || null,
|
|
229
|
+
'reaction_codes': (_g = (_f = (_e = metadataPath.thread_metadata) === null || _e === void 0 ? void 0 : _e.settings) === null || _f === void 0 ? void 0 : _f.reaction_codes) === null || _g === void 0 ? void 0 : _g.value,
|
|
243
230
|
subscribers: +metadataPath.thread_metadata.subscribers_count,
|
|
244
231
|
verification: metadataPath.thread_metadata.verification,
|
|
245
|
-
viewer_metadata: metadataPath.viewer_metadata
|
|
232
|
+
'viewer_metadata': metadataPath.viewer_metadata
|
|
246
233
|
};
|
|
247
234
|
return metadata;
|
|
248
235
|
};
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { AxiosRequestConfig } from 'axios';
|
|
3
|
+
import { KeyPair, SignedKeyPair, SocketConfig } from '../Types';
|
|
4
|
+
export declare const makeRegistrationSocket: (config: SocketConfig) => {
|
|
5
|
+
register: (code: string) => Promise<ExistsResponse>;
|
|
6
|
+
requestRegistrationCode: (registrationOptions?: RegistrationOptions) => Promise<ExistsResponse>;
|
|
7
|
+
logger: import("pino").Logger<import("pino").LoggerOptions>;
|
|
8
|
+
getOrderDetails: (orderId: string, tokenBase64: string) => Promise<import("../Types").OrderDetails>;
|
|
9
|
+
getCatalog: ({ jid, limit, cursor }: import("../Types").GetCatalogOptions) => Promise<{
|
|
10
|
+
products: import("../Types").Product[];
|
|
11
|
+
nextPageCursor: string | undefined;
|
|
12
|
+
}>;
|
|
13
|
+
getCollections: (jid?: string | undefined, limit?: number) => Promise<{
|
|
14
|
+
collections: import("../Types").CatalogCollection[];
|
|
15
|
+
}>;
|
|
16
|
+
productCreate: (create: import("../Types").ProductCreate) => Promise<import("../Types").Product>;
|
|
17
|
+
productDelete: (productIds: string[]) => Promise<{
|
|
18
|
+
deleted: number;
|
|
19
|
+
}>;
|
|
20
|
+
productUpdate: (productId: string, update: import("../Types").ProductUpdate) => Promise<import("../Types").Product>;
|
|
21
|
+
sendMessageAck: ({ tag, attrs, content }: import("../WABinary").BinaryNode) => Promise<void>;
|
|
22
|
+
sendRetryRequest: (node: import("../WABinary").BinaryNode, forceIncludeKeys?: boolean) => Promise<void>;
|
|
23
|
+
offerCall: (toJid: string, isVideo?: boolean) => Promise<{
|
|
24
|
+
id: string;
|
|
25
|
+
to: string;
|
|
26
|
+
}>;
|
|
27
|
+
rejectCall: (callId: string, callFrom: string) => Promise<void>;
|
|
28
|
+
getPrivacyTokens: (jids: string[]) => Promise<import("../WABinary").BinaryNode>;
|
|
29
|
+
assertSessions: (jids: string[], force: boolean) => Promise<boolean>;
|
|
30
|
+
relayMessage: (jid: string, message: import("../Types").WAProto.IMessage, { messageId: msgId, participant, additionalAttributes, additionalNodes, useUserDevicesCache, cachedGroupMetadata, statusJidList }: import("../Types").MessageRelayOptions) => Promise<string>;
|
|
31
|
+
sendReceipt: (jid: string, participant: string | undefined, messageIds: string[], type: import("../Types").MessageReceiptType) => Promise<void>;
|
|
32
|
+
sendReceipts: (keys: import("../Types").WAProto.IMessageKey[], type: import("../Types").MessageReceiptType) => Promise<void>;
|
|
33
|
+
getButtonArgs: (message: import("../Types").WAProto.IMessage) => {
|
|
34
|
+
[key: string]: string;
|
|
35
|
+
};
|
|
36
|
+
readMessages: (keys: import("../Types").WAProto.IMessageKey[]) => Promise<void>;
|
|
37
|
+
refreshMediaConn: (forceGet?: boolean) => Promise<import("../Types").MediaConnInfo>;
|
|
38
|
+
getUSyncDevices: (jids: string[], useCache: boolean, ignoreZeroDevices: boolean) => Promise<import("../WABinary").JidWithDevice[]>;
|
|
39
|
+
createParticipantNodes: (jids: string[], message: import("../Types").WAProto.IMessage, extraAttrs?: {
|
|
40
|
+
[key: string]: string;
|
|
41
|
+
} | undefined) => Promise<{
|
|
42
|
+
nodes: import("../WABinary").BinaryNode[];
|
|
43
|
+
shouldIncludeDeviceIdentity: boolean;
|
|
44
|
+
}>;
|
|
45
|
+
waUploadToServer: import("../Types").WAMediaUploadFunction;
|
|
46
|
+
fetchPrivacySettings: (force?: boolean) => Promise<{
|
|
47
|
+
[_: string]: string;
|
|
48
|
+
}>;
|
|
49
|
+
updateMediaMessage: (message: import("../Types").WAProto.IWebMessageInfo) => Promise<import("../Types").WAProto.IWebMessageInfo>;
|
|
50
|
+
sendMessage: (jid: string, content: import("../Types").AnyMessageContent, options?: import("../Types").MiscMessageGenerationOptions) => Promise<import("../Types").WAProto.WebMessageInfo | undefined>;
|
|
51
|
+
subscribeNewsletterUpdates: (jid: string) => Promise<{
|
|
52
|
+
duration: string;
|
|
53
|
+
}>;
|
|
54
|
+
newsletterReactionMode: (jid: string, mode: import("../Types").NewsletterReactionMode) => Promise<void>;
|
|
55
|
+
newsletterUpdateDescription: (jid: string, description?: string | undefined) => Promise<void>;
|
|
56
|
+
newsletterUpdateName: (jid: string, name: string) => Promise<void>;
|
|
57
|
+
newsletterUpdatePicture: (jid: string, content: import("../Types").WAMediaUpload) => Promise<void>;
|
|
58
|
+
newsletterRemovePicture: (jid: string) => Promise<void>;
|
|
59
|
+
newsletterUnfollow: (jid: string) => Promise<void>;
|
|
60
|
+
newsletterFollow: (jid: string) => Promise<void>;
|
|
61
|
+
newsletterUnmute: (jid: string) => Promise<void>;
|
|
62
|
+
newsletterMute: (jid: string) => Promise<void>;
|
|
63
|
+
newsletterAction: (jid: string, type: "mute" | "follow" | "unfollow" | "unmute") => Promise<void>;
|
|
64
|
+
newsletterCreate: (name: string, description: string, reaction_codes: string) => Promise<import("../Types").NewsletterMetadata>;
|
|
65
|
+
newsletterMetadata: (type: "invite" | "jid", key: string, role?: import("../Types").NewsletterViewRole | undefined) => Promise<import("../Types").NewsletterMetadata>;
|
|
66
|
+
newsletterAdminCount: (jid: string) => Promise<number>;
|
|
67
|
+
newsletterChangeOwner: (jid: string, user: string) => Promise<void>;
|
|
68
|
+
newsletterDemote: (jid: string, user: string) => Promise<void>;
|
|
69
|
+
newsletterDelete: (jid: string) => Promise<void>;
|
|
70
|
+
newsletterReactMessage: (jid: string, serverId: string, code?: string | undefined) => Promise<void>;
|
|
71
|
+
newsletterFetchMessages: (type: "invite" | "jid", key: string, count: number, after?: number | undefined) => Promise<import("../Types").NewsletterFetchedUpdate[]>;
|
|
72
|
+
newsletterFetchUpdates: (jid: string, count: number, after?: number | undefined, since?: number | undefined) => Promise<import("../Types").NewsletterFetchedUpdate[]>;
|
|
73
|
+
groupMetadata: (jid: string) => Promise<import("../Types").GroupMetadata>;
|
|
74
|
+
groupCreate: (subject: string, participants: string[]) => Promise<import("../Types").GroupMetadata>;
|
|
75
|
+
groupLeave: (id: string) => Promise<void>;
|
|
76
|
+
/** the network code of your mobile network
|
|
77
|
+
* @see {@link https://de.wikipedia.org/wiki/Mobile_Network_Code}
|
|
78
|
+
*/
|
|
79
|
+
groupUpdateSubject: (jid: string, subject: string) => Promise<void>;
|
|
80
|
+
groupRequestParticipantsList: (jid: string) => Promise<{
|
|
81
|
+
[key: string]: string;
|
|
82
|
+
}[]>;
|
|
83
|
+
groupRequestParticipantsUpdate: (jid: string, participants: string[], action: "reject" | "approve") => Promise<{
|
|
84
|
+
status: string;
|
|
85
|
+
jid: string;
|
|
86
|
+
}[]>;
|
|
87
|
+
groupParticipantsUpdate: (jid: string, participants: string[], action: import("../Types").ParticipantAction) => Promise<{
|
|
88
|
+
status: string;
|
|
89
|
+
jid: string;
|
|
90
|
+
content: import("../WABinary").BinaryNode;
|
|
91
|
+
}[]>;
|
|
92
|
+
groupUpdateDescription: (jid: string, description?: string | undefined) => Promise<void>;
|
|
93
|
+
groupInviteCode: (jid: string) => Promise<string | undefined>;
|
|
94
|
+
groupRevokeInvite: (jid: string) => Promise<string | undefined>;
|
|
95
|
+
groupAcceptInvite: (code: string) => Promise<string | undefined>;
|
|
96
|
+
groupAcceptInviteV4: (key: string | import("../Types").WAProto.IMessageKey, inviteMessage: import("../Types").WAProto.Message.IGroupInviteMessage) => Promise<string>;
|
|
97
|
+
groupGetInviteInfo: (code: string) => Promise<import("../Types").GroupMetadata>;
|
|
98
|
+
groupToggleEphemeral: (jid: string, ephemeralExpiration: number) => Promise<void>;
|
|
99
|
+
groupSettingUpdate: (jid: string, setting: "announcement" | "locked" | "not_announcement" | "unlocked") => Promise<void>;
|
|
100
|
+
groupMemberAddMode: (jid: string, mode: "all_member_add" | "admin_add") => Promise<void>;
|
|
101
|
+
groupJoinApprovalMode: (jid: string, mode: "on" | "off") => Promise<void>;
|
|
102
|
+
groupFetchAllParticipating: () => Promise<{
|
|
103
|
+
[_: string]: import("../Types").GroupMetadata;
|
|
104
|
+
}>;
|
|
105
|
+
processingMutex: {
|
|
106
|
+
mutex<T>(code: () => T | Promise<T>): Promise<T>;
|
|
107
|
+
};
|
|
108
|
+
upsertMessage: (msg: import("../Types").WAProto.IWebMessageInfo, type: import("../Types").MessageUpsertType) => Promise<void>;
|
|
109
|
+
appPatch: (patchCreate: import("../Types").WAPatchCreate) => Promise<void>;
|
|
110
|
+
sendPresenceUpdate: (type: import("../Types").WAPresence, toJid?: string | undefined) => Promise<void>;
|
|
111
|
+
presenceSubscribe: (toJid: string, tcToken?: Buffer | undefined) => Promise<void>;
|
|
112
|
+
profilePictureUrl: (jid: string, type?: "image" | "preview", timeoutMs?: number | undefined) => Promise<string | undefined>;
|
|
113
|
+
onWhatsApp: (...jids: string[]) => Promise<{
|
|
114
|
+
exists: boolean;
|
|
115
|
+
jid: string;
|
|
116
|
+
}[]>;
|
|
117
|
+
fetchBlocklist: () => Promise<string[]>;
|
|
118
|
+
fetchStatus: (jid: string) => Promise<{
|
|
119
|
+
status: string | undefined;
|
|
120
|
+
setAt: Date;
|
|
121
|
+
} | undefined>;
|
|
122
|
+
updateProfilePicture: (jid: string, content: import("../Types").WAMediaUpload) => Promise<void>;
|
|
123
|
+
removeProfilePicture: (jid: string) => Promise<void>;
|
|
124
|
+
updateProfileStatus: (status: string) => Promise<void>;
|
|
125
|
+
updateProfileName: (name: string) => Promise<void>;
|
|
126
|
+
updateBlockStatus: (jid: string, action: "block" | "unblock") => Promise<void>;
|
|
127
|
+
updateLastSeenPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
|
|
128
|
+
updateOnlinePrivacy: (value: import("../Types").WAPrivacyOnlineValue) => Promise<void>;
|
|
129
|
+
updateProfilePicturePrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
|
|
130
|
+
updateStatusPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
|
|
131
|
+
updateReadReceiptsPrivacy: (value: import("../Types").WAReadReceiptsValue) => Promise<void>;
|
|
132
|
+
updateGroupsAddPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
|
|
133
|
+
updateDefaultDisappearingMode: (duration: number) => Promise<void>;
|
|
134
|
+
getBusinessProfile: (jid: string) => Promise<void | import("../Types").WABusinessProfile>;
|
|
135
|
+
resyncAppState: (collections: readonly ("critical_block" | "critical_unblock_low" | "regular_high" | "regular_low" | "regular")[], isInitialSync: boolean) => Promise<void>;
|
|
136
|
+
chatModify: (mod: import("../Types").ChatModification, jid: string) => Promise<void>;
|
|
137
|
+
cleanDirtyBits: (type: "account_sync" | "groups", fromTimestamp?: string | number | undefined) => Promise<void>;
|
|
138
|
+
addChatLabel: (jid: string, labelId: string) => Promise<void>;
|
|
139
|
+
removeChatLabel: (jid: string, labelId: string) => Promise<void>;
|
|
140
|
+
addMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
|
|
141
|
+
removeMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
|
|
142
|
+
star: (jid: string, messages: {
|
|
143
|
+
id: string;
|
|
144
|
+
fromMe?: boolean | undefined;
|
|
145
|
+
}[], star: boolean) => Promise<void>;
|
|
146
|
+
type: "md";
|
|
147
|
+
ws: any;
|
|
148
|
+
ev: import("../Types").BaileysEventEmitter & {
|
|
149
|
+
process(handler: (events: Partial<import("../Types").BaileysEventMap>) => void | Promise<void>): () => void;
|
|
150
|
+
buffer(): void;
|
|
151
|
+
createBufferedFunction<A extends any[], T_1>(work: (...args: A) => Promise<T_1>): (...args: A) => Promise<T_1>;
|
|
152
|
+
flush(force?: boolean | undefined): boolean;
|
|
153
|
+
isBuffering(): boolean;
|
|
154
|
+
};
|
|
155
|
+
authState: {
|
|
156
|
+
creds: import("../Types").AuthenticationCreds;
|
|
157
|
+
keys: import("../Types").SignalKeyStoreWithTransaction;
|
|
158
|
+
};
|
|
159
|
+
signalRepository: import("../Types").SignalRepository;
|
|
160
|
+
user: import("../Types").Contact | undefined;
|
|
161
|
+
generateMessageTag: () => string;
|
|
162
|
+
query: (node: import("../WABinary").BinaryNode, timeoutMs?: number | undefined) => Promise<import("../WABinary").BinaryNode>;
|
|
163
|
+
waitForMessage: <T_2>(msgId: string, timeoutMs?: number | undefined) => Promise<T_2>;
|
|
164
|
+
waitForSocketOpen: () => Promise<void>;
|
|
165
|
+
sendRawMessage: (data: Uint8Array | Buffer) => Promise<void>;
|
|
166
|
+
sendNode: (frame: import("../WABinary").BinaryNode) => Promise<void>;
|
|
167
|
+
logout: (msg?: string | undefined) => Promise<void>;
|
|
168
|
+
end: (error: Error | undefined) => void;
|
|
169
|
+
onUnexpectedError: (err: Error | import("@hapi/boom").Boom<any>, msg: string) => void;
|
|
170
|
+
uploadPreKeys: (count?: number) => Promise<void>;
|
|
171
|
+
uploadPreKeysToServerIfRequired: () => Promise<void>;
|
|
172
|
+
requestPairingCode: (phoneNumber: string) => Promise<string>;
|
|
173
|
+
waitForConnectionUpdate: (check: (u: Partial<import("../Types").ConnectionState>) => boolean | undefined, timeoutMs?: number | undefined) => Promise<void>;
|
|
174
|
+
sendWAMBuffer: (wamBuffer: Buffer) => Promise<import("../WABinary").BinaryNode>;
|
|
175
|
+
};
|
|
176
|
+
export interface RegistrationData {
|
|
177
|
+
registrationId: number;
|
|
178
|
+
signedPreKey: SignedKeyPair;
|
|
179
|
+
noiseKey: KeyPair;
|
|
180
|
+
signedIdentityKey: KeyPair;
|
|
181
|
+
identityId: Buffer;
|
|
182
|
+
phoneId: string;
|
|
183
|
+
deviceId: string;
|
|
184
|
+
backupToken: Buffer;
|
|
185
|
+
}
|
|
186
|
+
export interface RegistrationOptions {
|
|
187
|
+
/** your phone number */
|
|
188
|
+
phoneNumber?: string;
|
|
189
|
+
/** the country code of your phone number */
|
|
190
|
+
phoneNumberCountryCode: string;
|
|
191
|
+
/** your phone number without country code */
|
|
192
|
+
phoneNumberNationalNumber: string;
|
|
193
|
+
/** the country code of your mobile network
|
|
194
|
+
* @see {@link https://de.wikipedia.org/wiki/Mobile_Country_Code}
|
|
195
|
+
*/
|
|
196
|
+
phoneNumberMobileCountryCode: string;
|
|
197
|
+
/** the network code of your mobile network
|
|
198
|
+
* @see {@link https://de.wikipedia.org/wiki/Mobile_Network_Code}
|
|
199
|
+
*/
|
|
200
|
+
phoneNumberMobileNetworkCode: string;
|
|
201
|
+
/**
|
|
202
|
+
* How to send the one time code
|
|
203
|
+
*/
|
|
204
|
+
method?: 'sms' | 'voice' | 'captcha';
|
|
205
|
+
/**
|
|
206
|
+
* The captcha code if it was requested
|
|
207
|
+
*/
|
|
208
|
+
captcha?: string;
|
|
209
|
+
}
|
|
210
|
+
export type RegistrationParams = RegistrationData & RegistrationOptions;
|
|
211
|
+
export declare function registrationParams(params: RegistrationParams): {
|
|
212
|
+
cc: string;
|
|
213
|
+
in: string;
|
|
214
|
+
Rc: string;
|
|
215
|
+
lg: string;
|
|
216
|
+
lc: string;
|
|
217
|
+
mistyped: string;
|
|
218
|
+
authkey: string;
|
|
219
|
+
e_regid: string;
|
|
220
|
+
e_keytype: string;
|
|
221
|
+
e_ident: string;
|
|
222
|
+
e_skey_id: string;
|
|
223
|
+
e_skey_val: string;
|
|
224
|
+
e_skey_sig: string;
|
|
225
|
+
fdid: string;
|
|
226
|
+
network_ratio_type: string;
|
|
227
|
+
expid: string;
|
|
228
|
+
simnum: string;
|
|
229
|
+
hasinrc: string;
|
|
230
|
+
pid: string;
|
|
231
|
+
id: string;
|
|
232
|
+
backup_token: string;
|
|
233
|
+
token: string;
|
|
234
|
+
fraud_checkpoint_code: string | undefined;
|
|
235
|
+
};
|
|
236
|
+
/**
|
|
237
|
+
* Requests a registration code for the given phone number.
|
|
238
|
+
*/
|
|
239
|
+
export declare function mobileRegisterCode(params: RegistrationParams, fetchOptions?: AxiosRequestConfig): Promise<ExistsResponse>;
|
|
240
|
+
export declare function mobileRegisterExists(params: RegistrationParams, fetchOptions?: AxiosRequestConfig): Promise<ExistsResponse>;
|
|
241
|
+
/**
|
|
242
|
+
* Registers the phone number on whatsapp with the received OTP code.
|
|
243
|
+
*/
|
|
244
|
+
export declare function mobileRegister(params: RegistrationParams & {
|
|
245
|
+
code: string;
|
|
246
|
+
}, fetchOptions?: AxiosRequestConfig): Promise<ExistsResponse>;
|
|
247
|
+
/**
|
|
248
|
+
* Encrypts the given string as AEAD aes-256-gcm with the public whatsapp key and a random keypair.
|
|
249
|
+
*/
|
|
250
|
+
export declare function mobileRegisterEncrypt(data: string): string;
|
|
251
|
+
export declare function mobileRegisterFetch(path: string, opts?: AxiosRequestConfig): Promise<ExistsResponse>;
|
|
252
|
+
export interface ExistsResponse {
|
|
253
|
+
status: 'fail' | 'sent';
|
|
254
|
+
voice_length?: number;
|
|
255
|
+
voice_wait?: number;
|
|
256
|
+
sms_length?: number;
|
|
257
|
+
sms_wait?: number;
|
|
258
|
+
reason?: 'incorrect' | 'missing_param' | 'code_checkpoint';
|
|
259
|
+
login?: string;
|
|
260
|
+
flash_type?: number;
|
|
261
|
+
ab_hash?: string;
|
|
262
|
+
ab_key?: string;
|
|
263
|
+
exp_cfg?: string;
|
|
264
|
+
lid?: string;
|
|
265
|
+
image_blob?: string;
|
|
266
|
+
audio_blob?: string;
|
|
267
|
+
}
|