@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.
Files changed (88) hide show
  1. package/README.md +26 -26
  2. package/WAProto/index.js +97194 -67957
  3. package/lib/Defaults/baileys-version.json +1 -1
  4. package/lib/Defaults/index.d.ts +231 -1
  5. package/lib/Defaults/index.js +23 -11
  6. package/lib/Defaults/phonenumber-mcc.json +223 -0
  7. package/lib/Socket/Client/index.d.ts +3 -2
  8. package/lib/Socket/Client/index.js +3 -2
  9. package/lib/Socket/Client/mobile-socket-client.d.ts +13 -0
  10. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  11. package/lib/Socket/Client/{websocket.d.ts → web-socket-client.d.ts} +1 -1
  12. package/lib/Socket/Client/{websocket.js → web-socket-client.js} +2 -2
  13. package/lib/Socket/business.d.ts +22 -29
  14. package/lib/Socket/chats.d.ts +3 -14
  15. package/lib/Socket/chats.js +48 -76
  16. package/lib/Socket/groups.d.ts +4 -21
  17. package/lib/Socket/groups.js +1 -12
  18. package/lib/Socket/index.d.ts +32 -37
  19. package/lib/Socket/index.js +2 -2
  20. package/lib/Socket/messages-recv.d.ts +22 -28
  21. package/lib/Socket/messages-recv.js +180 -291
  22. package/lib/Socket/messages-send.d.ts +13 -23
  23. package/lib/Socket/messages-send.js +76 -110
  24. package/lib/Socket/newsletter.d.ts +7 -17
  25. package/lib/Socket/newsletter.js +54 -67
  26. package/lib/Socket/registration.d.ts +267 -0
  27. package/lib/Socket/registration.js +166 -0
  28. package/lib/Socket/socket.d.ts +1 -3
  29. package/lib/Socket/socket.js +17 -15
  30. package/lib/Store/make-cache-manager-store.d.ts +1 -2
  31. package/lib/Store/make-in-memory-store.js +11 -13
  32. package/lib/Store/make-ordered-dictionary.js +2 -2
  33. package/lib/Types/Auth.d.ts +6 -1
  34. package/lib/Types/Call.d.ts +1 -1
  35. package/lib/Types/Chat.d.ts +7 -12
  36. package/lib/Types/Contact.d.ts +1 -1
  37. package/lib/Types/Events.d.ts +2 -44
  38. package/lib/Types/GroupMetadata.d.ts +1 -3
  39. package/lib/Types/Label.d.ts +0 -11
  40. package/lib/Types/Message.d.ts +30 -37
  41. package/lib/Types/Newsletter.d.ts +13 -0
  42. package/lib/Types/Newsletter.js +15 -1
  43. package/lib/Types/Socket.d.ts +3 -10
  44. package/lib/Types/index.d.ts +0 -8
  45. package/lib/Utils/auth-utils.js +7 -1
  46. package/lib/Utils/chat-utils.d.ts +4 -5
  47. package/lib/Utils/chat-utils.js +20 -41
  48. package/lib/Utils/crypto.d.ts +1 -2
  49. package/lib/Utils/crypto.js +2 -4
  50. package/lib/Utils/decode-wa-message.d.ts +0 -1
  51. package/lib/Utils/decode-wa-message.js +14 -34
  52. package/lib/Utils/event-buffer.js +8 -14
  53. package/lib/Utils/generics.d.ts +13 -37
  54. package/lib/Utils/generics.js +18 -102
  55. package/lib/Utils/history.d.ts +2 -6
  56. package/lib/Utils/history.js +0 -3
  57. package/lib/Utils/index.d.ts +0 -1
  58. package/lib/Utils/index.js +0 -1
  59. package/lib/Utils/link-preview.js +1 -24
  60. package/lib/Utils/logger.d.ts +3 -1
  61. package/lib/Utils/make-mutex.js +0 -1
  62. package/lib/Utils/messages-media.d.ts +2 -3
  63. package/lib/Utils/messages-media.js +32 -17
  64. package/lib/Utils/messages.d.ts +0 -1
  65. package/lib/Utils/messages.js +72 -67
  66. package/lib/Utils/noise-handler.d.ts +3 -3
  67. package/lib/Utils/noise-handler.js +12 -7
  68. package/lib/Utils/process-message.d.ts +2 -3
  69. package/lib/Utils/process-message.js +21 -55
  70. package/lib/Utils/signal.js +16 -23
  71. package/lib/Utils/use-multi-file-auth-state.js +3 -17
  72. package/lib/Utils/validate-connection.d.ts +1 -0
  73. package/lib/Utils/validate-connection.js +44 -10
  74. package/lib/WABinary/constants.js +5 -5
  75. package/lib/WABinary/decode.d.ts +2 -3
  76. package/lib/WABinary/decode.js +4 -6
  77. package/lib/WABinary/encode.d.ts +2 -1
  78. package/lib/WABinary/encode.js +6 -8
  79. package/lib/WABinary/generic-utils.d.ts +0 -1
  80. package/lib/WABinary/jid-utils.d.ts +3 -3
  81. package/lib/WABinary/jid-utils.js +5 -5
  82. package/lib/WAM/BinaryInfo.d.ts +2 -3
  83. package/lib/WAM/constants.d.ts +2 -3
  84. package/lib/WAM/encode.d.ts +0 -1
  85. package/lib/WAM/encode.js +2 -2
  86. package/package.json +37 -39
  87. /package/lib/Socket/Client/{types.d.ts → abstract-socket-client.d.ts} +0 -0
  88. /package/lib/Socket/Client/{types.js → abstract-socket-client.js} +0 -0
@@ -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, query_id, content) => (query({
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({ variables: { newsletter_id: jid, ...content } }))
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
- let data;
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, server_id, code) => {
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: (_e = (_d = (_c = metadataPath.thread_metadata) === null || _c === void 0 ? void 0 : _c.settings) === null || _d === void 0 ? void 0 : _d.reaction_codes) === null || _e === void 0 ? void 0 : _e.value,
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
+ }