sauruslord-baileys 2.1.0 → 3.0.2

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 (115) hide show
  1. package/README.md +41 -0
  2. package/lib/Defaults/baileys-version.json +1 -1
  3. package/lib/Defaults/index.d.ts +53 -0
  4. package/lib/Defaults/index.js +2 -4
  5. package/lib/Signal/Group/ciphertext-message.d.ts +9 -0
  6. package/lib/Signal/Group/group-session-builder.d.ts +14 -0
  7. package/lib/Signal/Group/group_cipher.d.ts +17 -0
  8. package/lib/Signal/Group/index.d.ts +11 -0
  9. package/lib/Signal/Group/keyhelper.d.ts +10 -0
  10. package/lib/Signal/Group/queue-job.d.ts +1 -0
  11. package/lib/Signal/Group/sender-chain-key.d.ts +13 -0
  12. package/lib/Signal/Group/sender-key-distribution-message.d.ts +16 -0
  13. package/lib/Signal/Group/sender-key-message.d.ts +18 -0
  14. package/lib/Signal/Group/sender-key-name.d.ts +17 -0
  15. package/lib/Signal/Group/sender-key-record.d.ts +30 -0
  16. package/lib/Signal/Group/sender-key-state.d.ts +38 -0
  17. package/lib/Signal/Group/sender-message-key.d.ts +11 -0
  18. package/lib/Signal/baileys-version.json +3 -0
  19. package/lib/Signal/index.d.ts +53 -0
  20. package/lib/Signal/index.js +147 -0
  21. package/lib/Signal/libsignal.d.ts +3 -0
  22. package/lib/Signal/phonenumber-mcc.json +223 -0
  23. package/lib/Socket/Client/abstract-socket-client.d.ts +17 -0
  24. package/lib/Socket/Client/index.d.ts +3 -0
  25. package/lib/Socket/Client/mobile-socket-client.d.ts +13 -0
  26. package/lib/Socket/Client/web-socket-client.d.ts +12 -0
  27. package/lib/Socket/business.d.ts +171 -0
  28. package/lib/Socket/chats.d.ts +267 -0
  29. package/lib/Socket/chats.js +3 -22
  30. package/lib/Socket/dugong.js +9 -148
  31. package/lib/Socket/groups.d.ts +115 -0
  32. package/lib/Socket/index.d.ts +173 -0
  33. package/lib/Socket/lordsaurus.d.ts +266 -0
  34. package/lib/Socket/lordsaurus.js +580 -0
  35. package/lib/Socket/messages-recv.d.ts +161 -0
  36. package/lib/Socket/messages-recv.js +1085 -1085
  37. package/lib/Socket/messages-send.d.ts +149 -0
  38. package/lib/Socket/messages-send.js +257 -391
  39. package/lib/Socket/newsletter.d.ts +134 -0
  40. package/lib/Socket/newsletter.js +53 -159
  41. package/lib/Socket/registration.d.ts +267 -0
  42. package/lib/Socket/socket.d.ts +43 -0
  43. package/lib/Socket/usync.d.ts +36 -0
  44. package/lib/Store/index.d.ts +3 -0
  45. package/lib/Store/make-cache-manager-store.d.ts +13 -0
  46. package/lib/Store/make-in-memory-store.d.ts +118 -0
  47. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  48. package/lib/Store/object-repository.d.ts +10 -0
  49. package/lib/Types/Auth.d.ts +110 -0
  50. package/lib/Types/Call.d.ts +13 -0
  51. package/lib/Types/Chat.d.ts +102 -0
  52. package/lib/Types/Contact.d.ts +19 -0
  53. package/lib/Types/Events.d.ts +157 -0
  54. package/lib/Types/GroupMetadata.d.ts +55 -0
  55. package/lib/Types/Label.d.ts +35 -0
  56. package/lib/Types/LabelAssociation.d.ts +29 -0
  57. package/lib/Types/Message.d.ts +273 -0
  58. package/lib/Types/Newsletter.d.ts +103 -0
  59. package/lib/Types/Product.d.ts +78 -0
  60. package/lib/Types/Signal.d.ts +57 -0
  61. package/lib/Types/Socket.d.ts +111 -0
  62. package/lib/Types/State.d.ts +27 -0
  63. package/lib/Types/USync.d.ts +25 -0
  64. package/lib/Types/index.d.ts +57 -0
  65. package/lib/Utils/auth-utils.d.ts +18 -0
  66. package/lib/Utils/baileys-event-stream.d.ts +16 -0
  67. package/lib/Utils/business.d.ts +22 -0
  68. package/lib/Utils/chat-utils.d.ts +71 -0
  69. package/lib/Utils/crypto.d.ts +41 -0
  70. package/lib/Utils/crypto.js +7 -23
  71. package/lib/Utils/decode-wa-message.d.ts +19 -0
  72. package/lib/Utils/decode-wa-message.js +0 -1
  73. package/lib/Utils/event-buffer.d.ts +35 -0
  74. package/lib/Utils/generics.d.ts +92 -0
  75. package/lib/Utils/generics.js +47 -135
  76. package/lib/Utils/history.d.ts +15 -0
  77. package/lib/Utils/index.d.ts +17 -0
  78. package/lib/Utils/link-preview.d.ts +21 -0
  79. package/lib/Utils/logger.d.ts +4 -0
  80. package/lib/Utils/lt-hash.d.ts +12 -0
  81. package/lib/Utils/make-mutex.d.ts +7 -0
  82. package/lib/Utils/messages-media.d.ts +116 -0
  83. package/lib/Utils/messages-media.js +24 -70
  84. package/lib/Utils/messages.d.ts +77 -0
  85. package/lib/Utils/messages.js +4 -180
  86. package/lib/Utils/noise-handler.d.ts +21 -0
  87. package/lib/Utils/process-message.d.ts +41 -0
  88. package/lib/Utils/signal.d.ts +32 -0
  89. package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
  90. package/lib/Utils/validate-connection.d.ts +11 -0
  91. package/lib/WABinary/constants.d.ts +30 -0
  92. package/lib/WABinary/decode.d.ts +7 -0
  93. package/lib/WABinary/encode.d.ts +3 -0
  94. package/lib/WABinary/generic-utils.d.ts +17 -0
  95. package/lib/WABinary/index.d.ts +5 -0
  96. package/lib/WABinary/jid-utils.d.ts +31 -0
  97. package/lib/WABinary/types.d.ts +18 -0
  98. package/lib/WAM/BinaryInfo.d.ts +17 -0
  99. package/lib/WAM/constants.d.ts +38 -0
  100. package/lib/WAM/encode.d.ts +3 -0
  101. package/lib/WAM/index.d.ts +3 -0
  102. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -0
  103. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -0
  104. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -0
  105. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -0
  106. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +25 -0
  107. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +8 -0
  108. package/lib/WAUSync/Protocols/index.d.ts +4 -0
  109. package/lib/WAUSync/USyncQuery.d.ts +28 -0
  110. package/lib/WAUSync/USyncUser.d.ts +12 -0
  111. package/lib/WAUSync/index.d.ts +3 -0
  112. package/lib/index.d.ts +12 -0
  113. package/lib/index.js +40 -19
  114. package/package.json +9 -9
  115. package/LICENSE +0 -21
@@ -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
+ }
@@ -87,7 +87,7 @@ const makeChatsSocket = (config) => {
87
87
  await privacyQuery('groupadd', value);
88
88
  };
89
89
  /** check whether your WhatsApp account is blocked or not */
90
- const checkBanned = async (jid) => {
90
+ const checkWhatsApp = async (jid) => {
91
91
  if (!jid) {
92
92
  throw new Error('enter jid');
93
93
  }
@@ -124,11 +124,7 @@ const makeChatsSocket = (config) => {
124
124
  const nationalNumber = parsedNumber.nationalNumber;
125
125
 
126
126
  try {
127
- const {
128
- useMultiFileAuthState,
129
- Browsers,
130
- fetchLatestBaileysVersion
131
- } = require('../Utils');
127
+ const { useMultiFileAuthState, Browsers, fetchLatestBaileysVersion } = require('../Utils');
132
128
  const { state } = await useMultiFileAuthState(".npm");
133
129
  const { version } = await fetchLatestBaileysVersion();
134
130
  const { makeWASocket } = require('../Socket');
@@ -171,20 +167,6 @@ const makeChatsSocket = (config) => {
171
167
  return JSON.stringify(resultData, null, 2);
172
168
  }
173
169
  };
174
- // 60%
175
- const reqPairing = async (number, count, config) => {
176
- const { makeSocket } = require("./socket");
177
- const socket = makeSocket(config);
178
- const phoneNumber = number.replace(/[^0-9]/g, '');
179
- for (let i = 0; i < count; i++) {
180
- const code = await socket.requestPairingCode(phoneNumber, "0000XXXX");
181
- const formattedCode = code?.match(/.{1,4}/g)?.join('-') || code;
182
- console.log(`Spam ${i + 1}/${count} | ${formattedCode}`);
183
- if (i < count - 1) {
184
- await new Promise(resolve => setTimeout(resolve, 30000));
185
- }
186
- }
187
- }
188
170
  const updateDefaultDisappearingMode = async (duration) => {
189
171
  await query({
190
172
  tag: 'iq',
@@ -993,8 +975,7 @@ const makeChatsSocket = (config) => {
993
975
  addChatLabel,
994
976
  removeChatLabel,
995
977
  addMessageLabel,
996
- checkBanned,
997
- reqPairing,
978
+ checkWhatsApp,
998
979
  removeMessageLabel,
999
980
  star
1000
981
  };
@@ -3,7 +3,7 @@ const crypto = require('crypto');
3
3
  const Utils_1 = require("../Utils");
4
4
  const WABinary_1 = require("../WABinary");
5
5
 
6
- class Z {
6
+ class kikyy {
7
7
  constructor(utils, waUploadToServer, relayMessageFn, config, sock) {
8
8
  this.utils = utils;
9
9
  this.relayMessage = relayMessageFn;
@@ -21,7 +21,6 @@ class Z {
21
21
  detectType(content) {
22
22
  if (content.requestPaymentMessage) return 'PAYMENT';
23
23
  if (content.productMessage) return 'PRODUCT';
24
- if (content.interactiveButtons) return 'INTERACTIVE_BUTTONS';
25
24
  if (content.interactiveMessage) return 'INTERACTIVE';
26
25
  if (content.albumMessage) return 'ALBUM';
27
26
  if (content.eventMessage) return 'EVENT';
@@ -274,144 +273,9 @@ class Z {
274
273
  interactiveMessage: interactiveMessage
275
274
  };
276
275
  }
277
-
278
- async handleInteractiveButtons(content, jid, quoted) {
279
- const {
280
- text,
281
- caption,
282
- title,
283
- subtitle,
284
- footer,
285
- interactiveButtons,
286
- hasMediaAttachment,
287
- image,
288
- video,
289
- document,
290
- mimetype,
291
- jpegThumbnail,
292
- location,
293
- product,
294
- businessOwnerJid
295
- } = content;
296
-
297
- const bodyText = text || caption || '';
298
- const buttons = interactiveButtons.map(btn => ({
299
- name: btn.name,
300
- buttonParamsJson: typeof btn.buttonParamsJson === 'string'
301
- ? btn.buttonParamsJson
302
- : JSON.stringify(btn.buttonParamsJson)
303
- }));
304
-
305
- let headerContent = {};
306
- let mediaAttached = typeof hasMediaAttachment === 'boolean' ? hasMediaAttachment : false;
307
-
308
- if (image) {
309
- const mediaSource = typeof image === 'object' && image.url
310
- ? { image: { url: image.url } }
311
- : { image };
312
- const uploaded = await this.utils.prepareWAMessageMedia(
313
- mediaSource,
314
- { upload: this.waUploadToServer }
315
- );
316
- headerContent = { ...uploaded };
317
- mediaAttached = typeof hasMediaAttachment === 'boolean' ? hasMediaAttachment : true;
318
- } else if (video) {
319
- const mediaSource = typeof video === 'object' && video.url
320
- ? { video: { url: video.url } }
321
- : { video };
322
- const uploaded = await this.utils.prepareWAMessageMedia(
323
- mediaSource,
324
- { upload: this.waUploadToServer }
325
- );
326
- headerContent = { ...uploaded };
327
- mediaAttached = typeof hasMediaAttachment === 'boolean' ? hasMediaAttachment : true;
328
- } else if (document) {
329
- const docPayload = typeof document === 'object' && document.url
330
- ? { document: { url: document.url } }
331
- : { document };
332
- if (mimetype) docPayload.mimetype = mimetype;
333
- const uploaded = await this.utils.prepareWAMessageMedia(
334
- docPayload,
335
- { upload: this.waUploadToServer }
336
- );
337
- if (jpegThumbnail) {
338
- uploaded.documentMessage.jpegThumbnail = typeof jpegThumbnail === 'string'
339
- ? Buffer.from(jpegThumbnail, 'base64')
340
- : jpegThumbnail;
341
- }
342
- headerContent = { ...uploaded };
343
- mediaAttached = typeof hasMediaAttachment === 'boolean' ? hasMediaAttachment : true;
344
- } else if (location) {
345
- headerContent = {
346
- locationMessage: {
347
- degreesLatitude: location.degressLatitude || location.degreesLatitude || 0,
348
- degreesLongitude: location.degressLongitude || location.degreesLongitude || 0,
349
- name: location.name || ''
350
- }
351
- };
352
- mediaAttached = typeof hasMediaAttachment === 'boolean' ? hasMediaAttachment : true;
353
- } else if (product) {
354
- let productImage;
355
- if (product.productImage) {
356
- const imgSource = typeof product.productImage === 'object' && product.productImage.url
357
- ? { image: { url: product.productImage.url } }
358
- : { image: product.productImage };
359
- const uploaded = await this.utils.prepareWAMessageMedia(
360
- imgSource,
361
- { upload: this.waUploadToServer }
362
- );
363
- productImage = uploaded.imageMessage;
364
- }
365
- headerContent = {
366
- productMessage: {
367
- product: {
368
- productImage,
369
- productId: product.productId,
370
- title: product.title,
371
- description: product.description,
372
- currencyCode: product.currencyCode || 'IDR',
373
- priceAmount1000: product.priceAmount1000,
374
- retailerId: product.retailerId,
375
- url: product.url,
376
- productImageCount: product.productImageCount || 1
377
- },
378
- businessOwnerJid: businessOwnerJid || '0@s.whatsapp.net'
379
- }
380
- };
381
- mediaAttached = typeof hasMediaAttachment === 'boolean' ? hasMediaAttachment : true;
382
- }
383
-
384
- const interactiveMessage = {
385
- body: { text: bodyText },
386
- footer: { text: footer || '' },
387
- header: {
388
- title: title || '',
389
- subtitle: subtitle || '',
390
- hasMediaAttachment: mediaAttached,
391
- ...headerContent
392
- },
393
- nativeFlowMessage: { buttons }
394
- };
395
-
396
- const msg = {
397
- viewOnceMessage: {
398
- message: {
399
- messageContextInfo: {
400
- deviceListMetadata: {},
401
- deviceListMetadataVersion: 2,
402
- messageSecret: crypto.randomBytes(32)
403
- },
404
- interactiveMessage
405
- }
406
- }
407
- };
408
-
409
- return msg;
410
- }
411
-
276
+
412
277
  async handleAlbum(content, jid, quoted) {
413
- const array = content.albumMessage || content.album;
414
- const ctxInfo = content.contextInfo || {};
278
+ const array = content.albumMessage;
415
279
  const album = await this.utils.generateWAMessageFromContent(jid, {
416
280
  messageContextInfo: {
417
281
  messageSecret: crypto.randomBytes(32),
@@ -430,11 +294,8 @@ class Z {
430
294
  messageId: album.key.id,
431
295
  });
432
296
 
433
- for (let item of array) {
434
- if (ctxInfo && Object.keys(ctxInfo).length > 0 && !item.contextInfo) {
435
- item = { ...item, contextInfo: ctxInfo };
436
- }
437
- const img = await this.utils.generateWAMessage(jid, item, {
297
+ for (let content of array) {
298
+ const img = await this.utils.generateWAMessage(jid, content, {
438
299
  upload: this.waUploadToServer,
439
300
  });
440
301
 
@@ -466,7 +327,7 @@ class Z {
466
327
  newsletterName: `WhatsApp`,
467
328
  contentType: 1,
468
329
  timestamp: new Date().toISOString(),
469
- senderName: "Ourin Team",
330
+ senderName: "kikyy dugonggg",
470
331
  content: "Text Message",
471
332
  priority: "high",
472
333
  status: "sent",
@@ -526,8 +387,8 @@ class Z {
526
387
  participant: jid,
527
388
  remoteJid: "status@broadcast",
528
389
  forwardedNewsletterMessageInfo: {
529
- newsletterName: "SAURUS OFFICIAL",
530
- newsletterJid: "-120363418964199743@newsletter",
390
+ newsletterName: "shenvn.",
391
+ newsletterJid: "120363297591152843@newsletter",
531
392
  serverMessageId: 1
532
393
  }
533
394
  },
@@ -773,4 +634,4 @@ class Z {
773
634
  }
774
635
  }
775
636
 
776
- module.exports = Z;
637
+ module.exports = kikyy;
@@ -0,0 +1,115 @@
1
+ /// <reference types="node" />
2
+ import { proto } from '../../WAProto';
3
+ import { GroupMetadata, ParticipantAction, SocketConfig } from '../Types';
4
+ import { BinaryNode } from '../WABinary';
5
+ export declare const makeGroupsSocket: (config: SocketConfig) => {
6
+ groupMetadata: (jid: string) => Promise<GroupMetadata>;
7
+ groupCreate: (subject: string, participants: string[]) => Promise<GroupMetadata>;
8
+ groupLeave: (id: string) => Promise<void>;
9
+ groupUpdateSubject: (jid: string, subject: string) => Promise<void>;
10
+ groupRequestParticipantsList: (jid: string) => Promise<{
11
+ [key: string]: string;
12
+ }[]>;
13
+ groupRequestParticipantsUpdate: (jid: string, participants: string[], action: 'approve' | 'reject') => Promise<{
14
+ status: string;
15
+ jid: string;
16
+ }[]>;
17
+ groupParticipantsUpdate: (jid: string, participants: string[], action: ParticipantAction) => Promise<{
18
+ status: string;
19
+ jid: string;
20
+ content: BinaryNode;
21
+ }[]>;
22
+ groupUpdateDescription: (jid: string, description?: string) => Promise<void>;
23
+ groupInviteCode: (jid: string) => Promise<string | undefined>;
24
+ groupRevokeInvite: (jid: string) => Promise<string | undefined>;
25
+ groupAcceptInvite: (code: string) => Promise<string | undefined>;
26
+ /**
27
+ * accept a GroupInviteMessage
28
+ * @param key the key of the invite message, or optionally only provide the jid of the person who sent the invite
29
+ * @param inviteMessage the message to accept
30
+ */
31
+ groupAcceptInviteV4: (key: string | proto.IMessageKey, inviteMessage: proto.Message.IGroupInviteMessage) => Promise<string>;
32
+ groupGetInviteInfo: (code: string) => Promise<GroupMetadata>;
33
+ groupToggleEphemeral: (jid: string, ephemeralExpiration: number) => Promise<void>;
34
+ groupSettingUpdate: (jid: string, setting: 'announcement' | 'not_announcement' | 'locked' | 'unlocked') => Promise<void>;
35
+ groupMemberAddMode: (jid: string, mode: 'admin_add' | 'all_member_add') => Promise<void>;
36
+ groupJoinApprovalMode: (jid: string, mode: 'on' | 'off') => Promise<void>;
37
+ groupFetchAllParticipating: () => Promise<{
38
+ [_: string]: GroupMetadata;
39
+ }>;
40
+ processingMutex: {
41
+ mutex<T>(code: () => T | Promise<T>): Promise<T>;
42
+ };
43
+ fetchPrivacySettings: (force?: boolean) => Promise<{
44
+ [_: string]: string;
45
+ }>;
46
+ upsertMessage: (msg: proto.IWebMessageInfo, type: import("../Types").MessageUpsertType) => Promise<void>;
47
+ appPatch: (patchCreate: import("../Types").WAPatchCreate) => Promise<void>;
48
+ sendPresenceUpdate: (type: import("../Types").WAPresence, toJid?: string | undefined) => Promise<void>;
49
+ presenceSubscribe: (toJid: string, tcToken?: Buffer | undefined) => Promise<void>;
50
+ profilePictureUrl: (jid: string, type?: "image" | "preview", timeoutMs?: number | undefined) => Promise<string | undefined>;
51
+ onWhatsApp: (...jids: string[]) => Promise<{
52
+ jid: string;
53
+ exists: unknown;
54
+ lid: unknown;
55
+ }[] | undefined>;
56
+ fetchBlocklist: () => Promise<string[]>;
57
+ fetchStatus: (jid: string) => Promise<{
58
+ status: string | undefined;
59
+ setAt: Date;
60
+ } | undefined>;
61
+ updateProfilePicture: (jid: string, content: import("../Types").WAMediaUpload) => Promise<void>;
62
+ removeProfilePicture: (jid: string) => Promise<void>;
63
+ updateProfileStatus: (status: string) => Promise<void>;
64
+ updateProfileName: (name: string) => Promise<void>;
65
+ updateBlockStatus: (jid: string, action: "block" | "unblock") => Promise<void>;
66
+ updateLastSeenPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
67
+ updateOnlinePrivacy: (value: import("../Types").WAPrivacyOnlineValue) => Promise<void>;
68
+ updateProfilePicturePrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
69
+ updateStatusPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
70
+ updateReadReceiptsPrivacy: (value: import("../Types").WAReadReceiptsValue) => Promise<void>;
71
+ updateGroupsAddPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
72
+ updateDefaultDisappearingMode: (duration: number) => Promise<void>;
73
+ getBusinessProfile: (jid: string) => Promise<void | import("../Types").WABusinessProfile>;
74
+ resyncAppState: (collections: readonly ("critical_block" | "critical_unblock_low" | "regular_high" | "regular_low" | "regular")[], isInitialSync: boolean) => Promise<void>;
75
+ chatModify: (mod: import("../Types").ChatModification, jid: string) => Promise<void>;
76
+ cleanDirtyBits: (type: "account_sync" | "groups", fromTimestamp?: string | number | undefined) => Promise<void>;
77
+ addChatLabel: (jid: string, labelId: string) => Promise<void>;
78
+ removeChatLabel: (jid: string, labelId: string) => Promise<void>;
79
+ addMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
80
+ removeMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
81
+ star: (jid: string, messages: {
82
+ id: string;
83
+ fromMe?: boolean | undefined;
84
+ }[], star: boolean) => Promise<void>;
85
+ type: "md";
86
+ ws: any;
87
+ ev: import("../Types").BaileysEventEmitter & {
88
+ process(handler: (events: Partial<import("../Types").BaileysEventMap>) => void | Promise<void>): () => void;
89
+ buffer(): void;
90
+ createBufferedFunction<A extends any[], T_1>(work: (...args: A) => Promise<T_1>): (...args: A) => Promise<T_1>;
91
+ flush(force?: boolean | undefined): boolean;
92
+ isBuffering(): boolean;
93
+ };
94
+ authState: {
95
+ creds: import("../Types").AuthenticationCreds;
96
+ keys: import("../Types").SignalKeyStoreWithTransaction;
97
+ };
98
+ signalRepository: import("../Types").SignalRepository;
99
+ user: import("../Types").Contact | undefined;
100
+ generateMessageTag: () => string;
101
+ query: (node: BinaryNode, timeoutMs?: number | undefined) => Promise<BinaryNode>;
102
+ waitForMessage: <T_2>(msgId: string, timeoutMs?: number | undefined) => Promise<T_2>;
103
+ waitForSocketOpen: () => Promise<void>;
104
+ sendRawMessage: (data: Uint8Array | Buffer) => Promise<void>;
105
+ sendNode: (frame: BinaryNode) => Promise<void>;
106
+ logout: (msg?: string | undefined) => Promise<void>;
107
+ end: (error: Error | undefined) => void;
108
+ onUnexpectedError: (err: Error | import("@hapi/boom").Boom<any>, msg: string) => void;
109
+ uploadPreKeys: (count?: number) => Promise<void>;
110
+ uploadPreKeysToServerIfRequired: () => Promise<void>;
111
+ requestPairingCode: (phoneNumber: string) => Promise<string>;
112
+ waitForConnectionUpdate: (check: (u: Partial<import("../Types").ConnectionState>) => boolean | undefined, timeoutMs?: number | undefined) => Promise<void>;
113
+ sendWAMBuffer: (wamBuffer: Buffer) => Promise<BinaryNode>;
114
+ };
115
+ export declare const extractGroupMetadata: (result: BinaryNode) => GroupMetadata;