gifted-baileys 1.5.5 → 1.5.7

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 (251) hide show
  1. package/README.md +6 -1642
  2. package/WAProto/WAProto.proto +969 -88
  3. package/WAProto/index.d.ts +13199 -1260
  4. package/WAProto/index.js +124901 -74525
  5. package/lib/Defaults/baileys-version.json +3 -0
  6. package/lib/Defaults/index.d.ts +284 -0
  7. package/{src → lib}/Defaults/index.js +7 -14
  8. package/lib/Signal/libsignal.d.ts +3 -0
  9. package/lib/Signal/libsignal.js +161 -0
  10. package/lib/Socket/Client/abstract-socket-client.d.ts +15 -0
  11. package/lib/Socket/Client/index.d.ts +2 -0
  12. package/{src → lib}/Socket/Client/index.js +2 -3
  13. package/lib/Socket/Client/mobile-socket-client.d.ts +12 -0
  14. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  15. package/lib/Socket/Client/types.d.ts +17 -0
  16. package/lib/Socket/Client/types.js +13 -0
  17. package/lib/Socket/Client/websocket.d.ts +12 -0
  18. package/lib/Socket/Client/websocket.js +62 -0
  19. package/lib/Socket/business.d.ts +170 -0
  20. package/{src → lib}/Socket/business.js +28 -33
  21. package/lib/Socket/chats.d.ts +81 -0
  22. package/{src → lib}/Socket/chats.js +174 -176
  23. package/lib/Socket/groups.d.ts +115 -0
  24. package/{src → lib}/Socket/groups.js +80 -68
  25. package/lib/Socket/index.d.ts +172 -0
  26. package/{src → lib}/Socket/index.js +4 -1
  27. package/lib/Socket/messages-recv.d.ts +158 -0
  28. package/{src → lib}/Socket/messages-recv.js +378 -211
  29. package/lib/Socket/messages-send.d.ts +155 -0
  30. package/{src → lib}/Socket/messages-send.js +452 -177
  31. package/lib/Socket/newsletter.d.ts +132 -0
  32. package/{src → lib}/Socket/newsletter.js +107 -98
  33. package/lib/Socket/registration.d.ts +264 -0
  34. package/{src → lib}/Socket/registration.js +56 -48
  35. package/lib/Socket/socket.d.ts +44 -0
  36. package/{src → lib}/Socket/socket.js +77 -77
  37. package/lib/Socket/usync.d.ts +37 -0
  38. package/lib/Socket/usync.js +70 -0
  39. package/lib/Store/index.d.ts +3 -0
  40. package/lib/Store/make-cache-manager-store.d.ts +14 -0
  41. package/{src → lib}/Store/make-cache-manager-store.js +25 -34
  42. package/lib/Store/make-in-memory-store.d.ts +118 -0
  43. package/{src → lib}/Store/make-in-memory-store.js +36 -32
  44. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  45. package/lib/Store/object-repository.d.ts +10 -0
  46. package/{src → lib}/Store/object-repository.js +1 -1
  47. package/lib/Types/Auth.d.ts +109 -0
  48. package/lib/Types/Call.d.ts +13 -0
  49. package/lib/Types/Chat.d.ts +107 -0
  50. package/{src/Types/Contact.ts → lib/Types/Contact.d.ts} +8 -9
  51. package/lib/Types/Events.d.ts +172 -0
  52. package/lib/Types/GroupMetadata.d.ts +56 -0
  53. package/lib/Types/Label.d.ts +46 -0
  54. package/{src/Types/LabelAssociation.ts → lib/Types/LabelAssociation.d.ts} +16 -22
  55. package/lib/Types/Message.d.ts +433 -0
  56. package/lib/Types/Newsletter.d.ts +92 -0
  57. package/lib/Types/Product.d.ts +78 -0
  58. package/lib/Types/Signal.d.ts +57 -0
  59. package/{src/Types/Socket.ts → lib/Types/Socket.d.ts} +61 -68
  60. package/lib/Types/State.d.ts +27 -0
  61. package/lib/Types/USync.d.ts +25 -0
  62. package/lib/Types/index.d.ts +66 -0
  63. package/lib/Utils/auth-utils.d.ts +18 -0
  64. package/{src → lib}/Utils/auth-utils.js +73 -90
  65. package/lib/Utils/baileys-event-stream.d.ts +16 -0
  66. package/lib/Utils/baileys-event-stream.js +63 -0
  67. package/lib/Utils/business.d.ts +22 -0
  68. package/{src → lib}/Utils/business.js +15 -43
  69. package/lib/Utils/chat-utils.d.ts +70 -0
  70. package/{src → lib}/Utils/chat-utils.js +87 -94
  71. package/lib/Utils/crypto.d.ts +40 -0
  72. package/{src → lib}/Utils/crypto.js +4 -2
  73. package/lib/Utils/decode-wa-message.d.ts +36 -0
  74. package/lib/Utils/decode-wa-message.js +226 -0
  75. package/lib/Utils/event-buffer.d.ts +35 -0
  76. package/{src → lib}/Utils/event-buffer.js +4 -13
  77. package/lib/Utils/generics.d.ts +88 -0
  78. package/{src → lib}/Utils/generics.js +67 -86
  79. package/lib/Utils/history.d.ts +19 -0
  80. package/{src → lib}/Utils/history.js +13 -39
  81. package/lib/Utils/index.d.ts +17 -0
  82. package/lib/Utils/link-preview.d.ts +21 -0
  83. package/{src → lib}/Utils/link-preview.js +17 -54
  84. package/lib/Utils/logger.d.ts +2 -0
  85. package/lib/Utils/lt-hash.d.ts +12 -0
  86. package/lib/Utils/make-mutex.d.ts +7 -0
  87. package/{src → lib}/Utils/make-mutex.js +4 -13
  88. package/lib/Utils/messages-media.d.ts +113 -0
  89. package/{src → lib}/Utils/messages-media.js +193 -255
  90. package/lib/Utils/messages.d.ts +77 -0
  91. package/{src → lib}/Utils/messages.js +588 -118
  92. package/lib/Utils/noise-handler.d.ts +20 -0
  93. package/lib/Utils/process-message.d.ts +41 -0
  94. package/{src → lib}/Utils/process-message.js +27 -30
  95. package/lib/Utils/signal.d.ts +33 -0
  96. package/{src → lib}/Utils/signal.js +25 -42
  97. package/lib/Utils/use-multi-file-auth-state.d.ts +12 -0
  98. package/{src → lib}/Utils/use-multi-file-auth-state.js +27 -28
  99. package/lib/Utils/validate-connection.d.ts +11 -0
  100. package/{src → lib}/Utils/validate-connection.js +40 -9
  101. package/lib/WABinary/constants.d.ts +27 -0
  102. package/lib/WABinary/decode.d.ts +6 -0
  103. package/lib/WABinary/encode.d.ts +2 -0
  104. package/{src → lib}/WABinary/encode.js +16 -10
  105. package/lib/WABinary/generic-utils.d.ts +14 -0
  106. package/lib/WABinary/index.d.ts +5 -0
  107. package/lib/WABinary/jid-utils.d.ts +31 -0
  108. package/lib/WABinary/types.d.ts +18 -0
  109. package/lib/WABinary/types.js +2 -0
  110. package/lib/WAM/BinaryInfo.d.ts +8 -0
  111. package/lib/WAM/constants.d.ts +38 -0
  112. package/lib/WAM/encode.d.ts +2 -0
  113. package/lib/WAM/index.d.ts +3 -0
  114. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -0
  115. package/lib/WAUSync/Protocols/USyncContactProtocol.js +32 -0
  116. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -0
  117. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +57 -0
  118. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -0
  119. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +30 -0
  120. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -0
  121. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +42 -0
  122. package/lib/WAUSync/Protocols/index.d.ts +4 -0
  123. package/lib/WAUSync/Protocols/index.js +20 -0
  124. package/lib/WAUSync/USyncQuery.d.ts +26 -0
  125. package/lib/WAUSync/USyncQuery.js +79 -0
  126. package/lib/WAUSync/USyncUser.d.ts +10 -0
  127. package/lib/WAUSync/USyncUser.js +22 -0
  128. package/lib/WAUSync/index.d.ts +3 -0
  129. package/lib/WAUSync/index.js +19 -0
  130. package/{src → lib}/index.js +1 -0
  131. package/package.json +26 -8
  132. package/LICENSE +0 -21
  133. package/src/Defaults/baileys-version.json +0 -3
  134. package/src/Defaults/index.ts +0 -131
  135. package/src/Signal/libsignal.js +0 -180
  136. package/src/Signal/libsignal.ts +0 -141
  137. package/src/Socket/Client/abstract-socket-client.ts +0 -19
  138. package/src/Socket/Client/index.ts +0 -3
  139. package/src/Socket/Client/mobile-socket-client.js +0 -78
  140. package/src/Socket/Client/mobile-socket-client.ts +0 -66
  141. package/src/Socket/Client/web-socket-client.js +0 -75
  142. package/src/Socket/Client/web-socket-client.ts +0 -57
  143. package/src/Socket/business.ts +0 -281
  144. package/src/Socket/chats.ts +0 -1030
  145. package/src/Socket/groups.ts +0 -356
  146. package/src/Socket/index.ts +0 -13
  147. package/src/Socket/messages-recv.ts +0 -985
  148. package/src/Socket/messages-send.ts +0 -871
  149. package/src/Socket/newsletter.ts +0 -282
  150. package/src/Socket/registration.ts +0 -250
  151. package/src/Socket/socket.ts +0 -777
  152. package/src/Store/index.ts +0 -3
  153. package/src/Store/make-cache-manager-store.ts +0 -100
  154. package/src/Store/make-in-memory-store.ts +0 -475
  155. package/src/Store/make-ordered-dictionary.ts +0 -86
  156. package/src/Store/object-repository.ts +0 -32
  157. package/src/Tests/test.app-state-sync.js +0 -204
  158. package/src/Tests/test.app-state-sync.ts +0 -207
  159. package/src/Tests/test.event-buffer.js +0 -270
  160. package/src/Tests/test.event-buffer.ts +0 -319
  161. package/src/Tests/test.key-store.js +0 -76
  162. package/src/Tests/test.key-store.ts +0 -92
  163. package/src/Tests/test.libsignal.js +0 -141
  164. package/src/Tests/test.libsignal.ts +0 -186
  165. package/src/Tests/test.media-download.js +0 -93
  166. package/src/Tests/test.media-download.ts +0 -76
  167. package/src/Tests/test.messages.js +0 -33
  168. package/src/Tests/test.messages.ts +0 -37
  169. package/src/Tests/utils.js +0 -34
  170. package/src/Tests/utils.ts +0 -36
  171. package/src/Types/Auth.ts +0 -113
  172. package/src/Types/Call.ts +0 -15
  173. package/src/Types/Chat.ts +0 -106
  174. package/src/Types/Events.ts +0 -93
  175. package/src/Types/GroupMetadata.ts +0 -53
  176. package/src/Types/Label.ts +0 -36
  177. package/src/Types/Message.ts +0 -288
  178. package/src/Types/Newsletter.ts +0 -98
  179. package/src/Types/Product.ts +0 -85
  180. package/src/Types/Signal.ts +0 -68
  181. package/src/Types/State.ts +0 -29
  182. package/src/Types/index.ts +0 -59
  183. package/src/Utils/auth-utils.ts +0 -222
  184. package/src/Utils/baileys-event-stream.js +0 -92
  185. package/src/Utils/baileys-event-stream.ts +0 -66
  186. package/src/Utils/business.ts +0 -275
  187. package/src/Utils/chat-utils.ts +0 -860
  188. package/src/Utils/crypto.ts +0 -131
  189. package/src/Utils/decode-wa-message.js +0 -211
  190. package/src/Utils/decode-wa-message.ts +0 -228
  191. package/src/Utils/event-buffer.ts +0 -613
  192. package/src/Utils/generics.ts +0 -434
  193. package/src/Utils/history.ts +0 -112
  194. package/src/Utils/index.ts +0 -17
  195. package/src/Utils/link-preview.ts +0 -122
  196. package/src/Utils/logger.ts +0 -3
  197. package/src/Utils/lt-hash.ts +0 -61
  198. package/src/Utils/make-mutex.ts +0 -44
  199. package/src/Utils/messages-media.ts +0 -847
  200. package/src/Utils/messages.ts +0 -956
  201. package/src/Utils/noise-handler.ts +0 -197
  202. package/src/Utils/process-message.ts +0 -414
  203. package/src/Utils/signal.ts +0 -177
  204. package/src/Utils/use-multi-file-auth-state.ts +0 -90
  205. package/src/Utils/validate-connection.ts +0 -238
  206. package/src/WABinary/constants.ts +0 -42
  207. package/src/WABinary/decode.ts +0 -265
  208. package/src/WABinary/encode.ts +0 -236
  209. package/src/WABinary/generic-utils.ts +0 -121
  210. package/src/WABinary/index.ts +0 -5
  211. package/src/WABinary/jid-utils.ts +0 -68
  212. package/src/WABinary/types.ts +0 -17
  213. package/src/WAM/BinaryInfo.ts +0 -12
  214. package/src/WAM/constants.ts +0 -15382
  215. package/src/WAM/encode.ts +0 -174
  216. package/src/WAM/index.ts +0 -3
  217. package/src/gifted +0 -1
  218. package/src/index.ts +0 -13
  219. /package/{src → lib}/Defaults/phonenumber-mcc.json +0 -0
  220. /package/{src → lib}/Socket/Client/abstract-socket-client.js +0 -0
  221. /package/{src → lib}/Store/index.js +0 -0
  222. /package/{src → lib}/Store/make-ordered-dictionary.js +0 -0
  223. /package/{src → lib}/Types/Auth.js +0 -0
  224. /package/{src → lib}/Types/Call.js +0 -0
  225. /package/{src → lib}/Types/Chat.js +0 -0
  226. /package/{src → lib}/Types/Contact.js +0 -0
  227. /package/{src → lib}/Types/Events.js +0 -0
  228. /package/{src → lib}/Types/GroupMetadata.js +0 -0
  229. /package/{src → lib}/Types/Label.js +0 -0
  230. /package/{src → lib}/Types/LabelAssociation.js +0 -0
  231. /package/{src → lib}/Types/Message.js +0 -0
  232. /package/{src → lib}/Types/Newsletter.js +0 -0
  233. /package/{src → lib}/Types/Product.js +0 -0
  234. /package/{src → lib}/Types/Signal.js +0 -0
  235. /package/{src → lib}/Types/Socket.js +0 -0
  236. /package/{src → lib}/Types/State.js +0 -0
  237. /package/{src/WABinary/types.js → lib/Types/USync.js} +0 -0
  238. /package/{src → lib}/Types/index.js +0 -0
  239. /package/{src → lib}/Utils/index.js +0 -0
  240. /package/{src → lib}/Utils/logger.js +0 -0
  241. /package/{src → lib}/Utils/lt-hash.js +0 -0
  242. /package/{src → lib}/Utils/noise-handler.js +0 -0
  243. /package/{src → lib}/WABinary/constants.js +0 -0
  244. /package/{src → lib}/WABinary/decode.js +0 -0
  245. /package/{src → lib}/WABinary/generic-utils.js +0 -0
  246. /package/{src → lib}/WABinary/index.js +0 -0
  247. /package/{src → lib}/WABinary/jid-utils.js +0 -0
  248. /package/{src → lib}/WAM/BinaryInfo.js +0 -0
  249. /package/{src → lib}/WAM/constants.js +0 -0
  250. /package/{src → lib}/WAM/encode.js +0 -0
  251. /package/{src → lib}/WAM/index.js +0 -0
@@ -0,0 +1,132 @@
1
+ import { NewsletterFetchedUpdate, NewsletterMetadata, NewsletterReactionMode, NewsletterViewRole, SocketConfig, WAMediaUpload } from '../Types';
2
+ import { BinaryNode } from '../WABinary';
3
+ export declare const makeNewsletterSocket: (config: SocketConfig) => {
4
+ subscribeNewsletterUpdates: (jid: string) => Promise<{
5
+ duration: string;
6
+ }>;
7
+ newsletterReactionMode: (jid: string, mode: NewsletterReactionMode) => Promise<void>;
8
+ newsletterUpdateDescription: (jid: string, description?: string) => Promise<void>;
9
+ newsletterUpdateName: (jid: string, name: string) => Promise<void>;
10
+ newsletterUpdatePicture: (jid: string, content: WAMediaUpload) => Promise<void>;
11
+ newsletterRemovePicture: (jid: string) => Promise<void>;
12
+ newsletterUnfollow: (jid: string) => Promise<void>;
13
+ newsletterFollow: (jid: string) => Promise<void>;
14
+ newsletterUnmute: (jid: string) => Promise<void>;
15
+ newsletterMute: (jid: string) => Promise<void>;
16
+ newsletterAction: (jid: string, type: "follow" | "unfollow" | "mute" | "unmute") => Promise<void>;
17
+ newsletterCreate: (name: string, description: string) => Promise<NewsletterMetadata>;
18
+ newsletterMetadata: (type: "invite" | "jid", key: string, role?: NewsletterViewRole) => Promise<NewsletterMetadata>;
19
+ newsletterAdminCount: (jid: string) => Promise<number>;
20
+ /**user is Lid, not Jid */
21
+ newsletterChangeOwner: (jid: string, user: string) => Promise<void>;
22
+ /**user is Lid, not Jid */
23
+ newsletterDemote: (jid: string, user: string) => Promise<void>;
24
+ newsletterDelete: (jid: string) => Promise<void>;
25
+ /**if code wasn't passed, the reaction will be removed (if is reacted) */
26
+ newsletterReactMessage: (jid: string, serverId: string, code?: string) => Promise<void>;
27
+ newsletterFetchMessages: (type: "invite" | "jid", key: string, count: number, after?: number) => Promise<NewsletterFetchedUpdate[]>;
28
+ newsletterFetchUpdates: (jid: string, count: number, after?: number, since?: number) => Promise<NewsletterFetchedUpdate[]>;
29
+ groupMetadata: (jid: string) => Promise<import("../Types").GroupMetadata>;
30
+ groupCreate: (subject: string, participants: string[]) => Promise<import("../Types").GroupMetadata>;
31
+ groupLeave: (id: string) => Promise<void>;
32
+ groupUpdateSubject: (jid: string, subject: string) => Promise<void>;
33
+ groupRequestParticipantsList: (jid: string) => Promise<{
34
+ [key: string]: string;
35
+ }[]>;
36
+ groupRequestParticipantsUpdate: (jid: string, participants: string[], action: "approve" | "reject") => Promise<{
37
+ status: string;
38
+ jid: string;
39
+ }[]>;
40
+ groupParticipantsUpdate: (jid: string, participants: string[], action: import("../Types").ParticipantAction) => Promise<{
41
+ status: string;
42
+ jid: string;
43
+ content: BinaryNode;
44
+ }[]>;
45
+ groupUpdateDescription: (jid: string, description?: string) => Promise<void>;
46
+ groupInviteCode: (jid: string) => Promise<string | undefined>;
47
+ groupRevokeInvite: (jid: string) => Promise<string | undefined>;
48
+ groupAcceptInvite: (code: string) => Promise<string | undefined>;
49
+ groupAcceptInviteV4: (key: string | import("../Types").WAProto.IMessageKey, inviteMessage: import("../Types").WAProto.Message.IGroupInviteMessage) => Promise<string>;
50
+ groupGetInviteInfo: (code: string) => Promise<import("../Types").GroupMetadata>;
51
+ groupToggleEphemeral: (jid: string, ephemeralExpiration: number) => Promise<void>;
52
+ groupSettingUpdate: (jid: string, setting: "announcement" | "not_announcement" | "locked" | "unlocked") => Promise<void>;
53
+ groupMemberAddMode: (jid: string, mode: "admin_add" | "all_member_add") => Promise<void>;
54
+ groupJoinApprovalMode: (jid: string, mode: "on" | "off") => Promise<void>;
55
+ groupFetchAllParticipating: () => Promise<{
56
+ [_: string]: import("../Types").GroupMetadata;
57
+ }>;
58
+ processingMutex: {
59
+ mutex<T>(code: () => Promise<T> | T): Promise<T>;
60
+ };
61
+ fetchPrivacySettings: (force?: boolean) => Promise<{
62
+ [_: string]: string;
63
+ }>;
64
+ upsertMessage: (msg: import("../Types").WAProto.IWebMessageInfo, type: import("../Types").MessageUpsertType) => Promise<void>;
65
+ appPatch: (patchCreate: import("../Types").WAPatchCreate) => Promise<void>;
66
+ sendPresenceUpdate: (type: import("../Types").WAPresence, toJid?: string) => Promise<void>;
67
+ presenceSubscribe: (toJid: string, tcToken?: Buffer) => Promise<void>;
68
+ profilePictureUrl: (jid: string, type?: "preview" | "image", timeoutMs?: number) => Promise<string | undefined>;
69
+ onWhatsApp: (...jids: string[]) => Promise<{
70
+ exists: boolean;
71
+ jid: string;
72
+ }[]>;
73
+ fetchBlocklist: () => Promise<string[]>;
74
+ fetchStatus: (jid: string) => Promise<{
75
+ status: string | undefined;
76
+ setAt: Date;
77
+ } | undefined>;
78
+ updateProfilePicture: (jid: string, content: WAMediaUpload) => Promise<void>;
79
+ removeProfilePicture: (jid: string) => Promise<void>;
80
+ updateProfileStatus: (status: string) => Promise<void>;
81
+ updateProfileName: (name: string) => Promise<void>;
82
+ updateBlockStatus: (jid: string, action: "block" | "unblock") => Promise<void>;
83
+ updateLastSeenPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
84
+ updateOnlinePrivacy: (value: import("../Types").WAPrivacyOnlineValue) => Promise<void>;
85
+ updateProfilePicturePrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
86
+ updateStatusPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
87
+ updateReadReceiptsPrivacy: (value: import("../Types").WAReadReceiptsValue) => Promise<void>;
88
+ updateGroupsAddPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
89
+ updateDefaultDisappearingMode: (duration: number) => Promise<void>;
90
+ getBusinessProfile: (jid: string) => Promise<import("../Types").WABusinessProfile | void>;
91
+ resyncAppState: (collections: readonly ("critical_block" | "critical_unblock_low" | "regular_high" | "regular_low" | "regular")[], isInitialSync: boolean) => Promise<void>;
92
+ chatModify: (mod: import("../Types").ChatModification, jid: string) => Promise<void>;
93
+ cleanDirtyBits: (type: "account_sync" | "groups", fromTimestamp?: number | string) => Promise<void>;
94
+ addChatLabel: (jid: string, labelId: string) => Promise<void>;
95
+ removeChatLabel: (jid: string, labelId: string) => Promise<void>;
96
+ addMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
97
+ removeMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
98
+ star: (jid: string, messages: {
99
+ id: string;
100
+ fromMe?: boolean;
101
+ }[], star: boolean) => Promise<void>;
102
+ type: "md";
103
+ ws: any;
104
+ ev: import("../Types").BaileysEventEmitter & {
105
+ process(handler: (events: Partial<import("../Types").BaileysEventMap>) => void | Promise<void>): (() => void);
106
+ buffer(): void;
107
+ createBufferedFunction<A extends any[], T>(work: (...args: A) => Promise<T>): ((...args: A) => Promise<T>);
108
+ flush(force?: boolean): boolean;
109
+ isBuffering(): boolean;
110
+ };
111
+ authState: {
112
+ creds: import("../Types").AuthenticationCreds;
113
+ keys: import("../Types").SignalKeyStoreWithTransaction;
114
+ };
115
+ signalRepository: import("../Types").SignalRepository;
116
+ user: import("../Types").Contact | undefined;
117
+ generateMessageTag: () => string;
118
+ query: (node: BinaryNode, timeoutMs?: number) => Promise<BinaryNode>;
119
+ waitForMessage: <T>(msgId: string, timeoutMs?: number | undefined) => Promise<T>;
120
+ waitForSocketOpen: () => Promise<void>;
121
+ sendRawMessage: (data: Uint8Array | Buffer) => Promise<void>;
122
+ sendNode: (frame: BinaryNode) => Promise<void>;
123
+ logout: (msg?: string) => Promise<void>;
124
+ end: (error: Error | undefined) => void;
125
+ onUnexpectedError: (err: Error | Boom, msg: string) => void;
126
+ uploadPreKeys: (count?: number) => Promise<void>;
127
+ uploadPreKeysToServerIfRequired: () => Promise<void>;
128
+ requestPairingCode: (phoneNumber: string, pairCode: string) => Promise<string>;
129
+ waitForConnectionUpdate: (check: (u: Partial<import("../Types").ConnectionState>) => boolean | undefined, timeoutMs?: number) => Promise<void>;
130
+ sendWAMBuffer: (wamBuffer: Buffer) => Promise<BinaryNode>;
131
+ };
132
+ export declare const extractNewsletterMetadata: (node: BinaryNode, isCreate?: boolean) => NewsletterMetadata;
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.extractNewsletterMetadata = exports.makeNewsletterSocket = void 0;
13
4
  const Types_1 = require("../Types");
@@ -18,39 +9,38 @@ const makeNewsletterSocket = (config) => {
18
9
  const sock = (0, groups_1.makeGroupsSocket)(config);
19
10
  const { authState, signalRepository, query, generateMessageTag } = sock;
20
11
  const encoder = new TextEncoder();
21
- const newsletterQuery = (jid, type, content) => __awaiter(void 0, void 0, void 0, function* () {
22
- return (query({
23
- tag: 'iq',
24
- attrs: {
25
- id: generateMessageTag(),
26
- type,
27
- xmlns: 'newsletter',
28
- to: jid,
29
- },
30
- content
31
- }));
32
- });
33
- const newsletterWMexQuery = (jid, queryId, content) => __awaiter(void 0, void 0, void 0, function* () {
34
- return (query({
35
- tag: 'iq',
36
- attrs: {
37
- id: generateMessageTag(),
38
- type: 'get',
39
- xmlns: 'w:mex',
40
- to: WABinary_1.S_WHATSAPP_NET,
41
- },
42
- content: [
43
- {
44
- tag: 'query',
45
- attrs: { 'query_id': queryId },
46
- content: encoder.encode(JSON.stringify({
47
- variables: Object.assign({ 'newsletter_id': jid }, content)
48
- }))
49
- }
50
- ]
51
- }));
52
- });
53
- const parseFetchedUpdates = (node, type) => __awaiter(void 0, void 0, void 0, function* () {
12
+ const newsletterQuery = async (jid, type, content) => (query({
13
+ tag: 'iq',
14
+ attrs: {
15
+ id: generateMessageTag(),
16
+ type,
17
+ xmlns: 'newsletter',
18
+ to: jid,
19
+ },
20
+ content
21
+ }));
22
+ const newsletterWMexQuery = async (jid, queryId, content) => (query({
23
+ tag: 'iq',
24
+ attrs: {
25
+ id: generateMessageTag(),
26
+ type: 'get',
27
+ xmlns: 'w:mex',
28
+ to: WABinary_1.S_WHATSAPP_NET,
29
+ },
30
+ content: [
31
+ {
32
+ tag: 'query',
33
+ attrs: { 'query_id': queryId },
34
+ content: encoder.encode(JSON.stringify({
35
+ variables: {
36
+ 'newsletter_id': jid,
37
+ ...content
38
+ }
39
+ }))
40
+ }
41
+ ]
42
+ }));
43
+ const parseFetchedUpdates = async (node, type) => {
54
44
  let child;
55
45
  if (type === 'messages') {
56
46
  child = (0, WABinary_1.getBinaryNodeChild)(node, 'messages');
@@ -59,7 +49,7 @@ const makeNewsletterSocket = (config) => {
59
49
  const parent = (0, WABinary_1.getBinaryNodeChild)(node, 'message_updates');
60
50
  child = (0, WABinary_1.getBinaryNodeChild)(parent, 'messages');
61
51
  }
62
- return yield Promise.all((0, WABinary_1.getAllBinaryNodeChildren)(child).map((messageNode) => __awaiter(void 0, void 0, void 0, function* () {
52
+ return await Promise.all((0, WABinary_1.getAllBinaryNodeChildren)(child).map(async (messageNode) => {
63
53
  var _a, _b;
64
54
  messageNode.attrs.from = child === null || child === void 0 ? void 0 : child.attrs.jid;
65
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');
@@ -72,52 +62,65 @@ const makeNewsletterSocket = (config) => {
72
62
  reactions
73
63
  };
74
64
  if (type === 'messages') {
75
- const { fullMessage: message, decrypt } = yield (0, Utils_1.decryptMessageNode)(messageNode, authState.creds.me.id, authState.creds.me.lid || '', signalRepository, config.logger);
76
- yield decrypt();
65
+ const { fullMessage: message, decrypt } = await (0, Utils_1.decryptMessageNode)(messageNode, authState.creds.me.id, authState.creds.me.lid || '', signalRepository, config.logger);
66
+ await decrypt();
77
67
  data.message = message;
78
68
  }
79
69
  return data;
80
- })));
81
- });
82
- return Object.assign(Object.assign({}, sock), { subscribeNewsletterUpdates: (jid) => __awaiter(void 0, void 0, void 0, function* () {
70
+ }));
71
+ };
72
+ return {
73
+ ...sock,
74
+ subscribeNewsletterUpdates: async (jid) => {
83
75
  var _a;
84
- const result = yield newsletterQuery(jid, 'set', [{ tag: 'live_updates', attrs: {}, content: [] }]);
76
+ const result = await newsletterQuery(jid, 'set', [{ tag: 'live_updates', attrs: {}, content: [] }]);
85
77
  return (_a = (0, WABinary_1.getBinaryNodeChild)(result, 'live_updates')) === null || _a === void 0 ? void 0 : _a.attrs;
86
- }), newsletterReactionMode: (jid, mode) => __awaiter(void 0, void 0, void 0, function* () {
87
- yield newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
78
+ },
79
+ newsletterReactionMode: async (jid, mode) => {
80
+ await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
88
81
  updates: { settings: { 'reaction_codes': { value: mode } } }
89
82
  });
90
- }), newsletterUpdateDescription: (jid, description) => __awaiter(void 0, void 0, void 0, function* () {
91
- yield newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
83
+ },
84
+ newsletterUpdateDescription: async (jid, description) => {
85
+ await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
92
86
  updates: { description: description || '', settings: null }
93
87
  });
94
- }), newsletterUpdateName: (jid, name) => __awaiter(void 0, void 0, void 0, function* () {
95
- yield newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
88
+ },
89
+ newsletterUpdateName: async (jid, name) => {
90
+ await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
96
91
  updates: { name, settings: null }
97
92
  });
98
- }), newsletterUpdatePicture: (jid, content) => __awaiter(void 0, void 0, void 0, function* () {
99
- const { img } = yield (0, Utils_1.generateProfilePicture)(content);
100
- yield newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
93
+ },
94
+ newsletterUpdatePicture: async (jid, content) => {
95
+ const { img } = await (0, Utils_1.generateProfilePicture)(content);
96
+ await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
101
97
  updates: { picture: img.toString('base64'), settings: null }
102
98
  });
103
- }), newsletterRemovePicture: (jid) => __awaiter(void 0, void 0, void 0, function* () {
104
- yield newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
99
+ },
100
+ newsletterRemovePicture: async (jid) => {
101
+ await newsletterWMexQuery(jid, Types_1.QueryIds.JOB_MUTATION, {
105
102
  updates: { picture: '', settings: null }
106
103
  });
107
- }), newsletterUnfollow: (jid) => __awaiter(void 0, void 0, void 0, function* () {
108
- yield newsletterWMexQuery(jid, Types_1.QueryIds.UNFOLLOW);
109
- }), newsletterFollow: (jid) => __awaiter(void 0, void 0, void 0, function* () {
110
- yield newsletterWMexQuery(jid, Types_1.QueryIds.FOLLOW);
111
- }), newsletterUnmute: (jid) => __awaiter(void 0, void 0, void 0, function* () {
112
- yield newsletterWMexQuery(jid, Types_1.QueryIds.UNMUTE);
113
- }), newsletterMute: (jid) => __awaiter(void 0, void 0, void 0, function* () {
114
- yield newsletterWMexQuery(jid, Types_1.QueryIds.MUTE);
115
- }), newsletterAction: (jid, type) => __awaiter(void 0, void 0, void 0, function* () {
116
- yield newsletterWMexQuery(jid, type.toUpperCase());
117
- }), newsletterCreate: (name, description, reaction_codes) => __awaiter(void 0, void 0, void 0, function* () {
104
+ },
105
+ newsletterUnfollow: async (jid) => {
106
+ await newsletterWMexQuery(jid, Types_1.QueryIds.UNFOLLOW);
107
+ },
108
+ newsletterFollow: async (jid) => {
109
+ await newsletterWMexQuery(jid, Types_1.QueryIds.FOLLOW);
110
+ },
111
+ newsletterUnmute: async (jid) => {
112
+ await newsletterWMexQuery(jid, Types_1.QueryIds.UNMUTE);
113
+ },
114
+ newsletterMute: async (jid) => {
115
+ await newsletterWMexQuery(jid, Types_1.QueryIds.MUTE);
116
+ },
117
+ newsletterAction: async (jid, type) => {
118
+ await newsletterWMexQuery(jid, Types_1.QueryIds[type.toUpperCase()]);
119
+ },
120
+ newsletterCreate: async (name, description) => {
118
121
  //TODO: Implement TOS system wide for Meta AI, communities, and here etc.
119
122
  /**tos query */
120
- yield query({
123
+ await query({
121
124
  tag: 'iq',
122
125
  attrs: {
123
126
  to: WABinary_1.S_WHATSAPP_NET,
@@ -136,12 +139,13 @@ const makeNewsletterSocket = (config) => {
136
139
  }
137
140
  ]
138
141
  });
139
- const result = yield newsletterWMexQuery(undefined, Types_1.QueryIds.CREATE, {
140
- input: { name, description, settings: { 'reaction_codes': { value: reaction_codes.toUpperCase() } } }
142
+ const result = await newsletterWMexQuery(undefined, Types_1.QueryIds.CREATE, {
143
+ input: { name, description, settings: null }
141
144
  });
142
145
  return (0, exports.extractNewsletterMetadata)(result, true);
143
- }), newsletterMetadata: (type, key, role) => __awaiter(void 0, void 0, void 0, function* () {
144
- const result = yield newsletterWMexQuery(undefined, Types_1.QueryIds.METADATA, {
146
+ },
147
+ newsletterMetadata: async (type, key, role) => {
148
+ const result = await newsletterWMexQuery(undefined, Types_1.QueryIds.METADATA, {
145
149
  input: {
146
150
  key,
147
151
  type: type.toUpperCase(),
@@ -152,53 +156,58 @@ const makeNewsletterSocket = (config) => {
152
156
  'fetch_creation_time': true
153
157
  });
154
158
  return (0, exports.extractNewsletterMetadata)(result);
155
- }), newsletterAdminCount: (jid) => __awaiter(void 0, void 0, void 0, function* () {
159
+ },
160
+ newsletterAdminCount: async (jid) => {
156
161
  var _a, _b;
157
- const result = yield newsletterWMexQuery(jid, Types_1.QueryIds.ADMIN_COUNT);
162
+ const result = await newsletterWMexQuery(jid, Types_1.QueryIds.ADMIN_COUNT);
158
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();
159
164
  return JSON.parse(buff).data[Types_1.XWAPaths.ADMIN_COUNT].admin_count;
160
- }),
165
+ },
161
166
  /**user is Lid, not Jid */
162
- newsletterChangeOwner: (jid, user) => __awaiter(void 0, void 0, void 0, function* () {
163
- yield newsletterWMexQuery(jid, Types_1.QueryIds.CHANGE_OWNER, {
167
+ newsletterChangeOwner: async (jid, user) => {
168
+ await newsletterWMexQuery(jid, Types_1.QueryIds.CHANGE_OWNER, {
164
169
  'user_id': user
165
170
  });
166
- }),
171
+ },
167
172
  /**user is Lid, not Jid */
168
- newsletterDemote: (jid, user) => __awaiter(void 0, void 0, void 0, function* () {
169
- yield newsletterWMexQuery(jid, Types_1.QueryIds.DEMOTE, {
173
+ newsletterDemote: async (jid, user) => {
174
+ await newsletterWMexQuery(jid, Types_1.QueryIds.DEMOTE, {
170
175
  'user_id': user
171
176
  });
172
- }), newsletterDelete: (jid) => __awaiter(void 0, void 0, void 0, function* () {
173
- yield newsletterWMexQuery(jid, Types_1.QueryIds.DELETE);
174
- }),
177
+ },
178
+ newsletterDelete: async (jid) => {
179
+ await newsletterWMexQuery(jid, Types_1.QueryIds.DELETE);
180
+ },
175
181
  /**if code wasn't passed, the reaction will be removed (if is reacted) */
176
- newsletterReactMessage: (jid, serverId, code) => __awaiter(void 0, void 0, void 0, function* () {
177
- yield query({
182
+ newsletterReactMessage: async (jid, serverId, code) => {
183
+ await query({
178
184
  tag: 'message',
179
- attrs: Object.assign(Object.assign({ to: jid }, (!code ? { edit: '7' } : {})), { type: 'reaction', 'server_id': serverId, id: (0, Utils_1.generateMessageID)() }),
185
+ attrs: { to: jid, ...(!code ? { edit: '7' } : {}), type: 'reaction', 'server_id': serverId, id: (0, Utils_1.generateMessageID)() },
180
186
  content: [{
181
187
  tag: 'reaction',
182
188
  attrs: code ? { code } : {}
183
189
  }]
184
190
  });
185
- }), newsletterFetchMessages: (type, key, count, after) => __awaiter(void 0, void 0, void 0, function* () {
186
- const result = yield newsletterQuery(WABinary_1.S_WHATSAPP_NET, 'get', [
191
+ },
192
+ newsletterFetchMessages: async (type, key, count, after) => {
193
+ const result = await newsletterQuery(WABinary_1.S_WHATSAPP_NET, 'get', [
187
194
  {
188
195
  tag: 'messages',
189
- attrs: Object.assign(Object.assign({ type }, (type === 'invite' ? { key } : { jid: key })), { count: count.toString(), after: (after === null || after === void 0 ? void 0 : after.toString()) || '100' })
196
+ attrs: { type, ...(type === 'invite' ? { key } : { jid: key }), count: count.toString(), after: (after === null || after === void 0 ? void 0 : after.toString()) || '100' }
190
197
  }
191
198
  ]);
192
- return yield parseFetchedUpdates(result, 'messages');
193
- }), newsletterFetchUpdates: (jid, count, after, since) => __awaiter(void 0, void 0, void 0, function* () {
194
- const result = yield newsletterQuery(jid, 'get', [
199
+ return await parseFetchedUpdates(result, 'messages');
200
+ },
201
+ newsletterFetchUpdates: async (jid, count, after, since) => {
202
+ const result = await newsletterQuery(jid, 'get', [
195
203
  {
196
204
  tag: 'message_updates',
197
205
  attrs: { count: count.toString(), after: (after === null || after === void 0 ? void 0 : after.toString()) || '100', since: (since === null || since === void 0 ? void 0 : since.toString()) || '0' }
198
206
  }
199
207
  ]);
200
- return yield parseFetchedUpdates(result, 'updates');
201
- }) });
208
+ return await parseFetchedUpdates(result, 'updates');
209
+ }
210
+ };
202
211
  };
203
212
  exports.makeNewsletterSocket = makeNewsletterSocket;
204
213
  const extractNewsletterMetadata = (node, isCreate) => {