@queenanya/baileys 7.5.3-0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/package.json +13 -97
  2. package/LICENSE +0 -21
  3. package/README.md +0 -931
  4. package/WAProto/GenerateStatics.sh +0 -4
  5. package/WAProto/WAProto.proto +0 -3344
  6. package/WAProto/index.d.ts +0 -37016
  7. package/WAProto/index.js +0 -130281
  8. package/WASignalGroup/GroupProtocol.js +0 -1697
  9. package/WASignalGroup/ciphertext_message.js +0 -16
  10. package/WASignalGroup/group_cipher.js +0 -120
  11. package/WASignalGroup/group_session_builder.js +0 -46
  12. package/WASignalGroup/index.js +0 -5
  13. package/WASignalGroup/keyhelper.js +0 -21
  14. package/WASignalGroup/protobufs.js +0 -3
  15. package/WASignalGroup/queue_job.js +0 -69
  16. package/WASignalGroup/sender_chain_key.js +0 -50
  17. package/WASignalGroup/sender_key_distribution_message.js +0 -78
  18. package/WASignalGroup/sender_key_message.js +0 -92
  19. package/WASignalGroup/sender_key_name.js +0 -70
  20. package/WASignalGroup/sender_key_record.js +0 -56
  21. package/WASignalGroup/sender_key_state.js +0 -129
  22. package/WASignalGroup/sender_message_key.js +0 -39
  23. package/lib/Defaults/baileys-version.json +0 -3
  24. package/lib/Defaults/index.d.ts +0 -53
  25. package/lib/Defaults/index.js +0 -107
  26. package/lib/Signal/libsignal.d.ts +0 -3
  27. package/lib/Signal/libsignal.js +0 -152
  28. package/lib/Socket/Client/index.d.ts +0 -2
  29. package/lib/Socket/Client/index.js +0 -18
  30. package/lib/Socket/Client/types.d.ts +0 -17
  31. package/lib/Socket/Client/types.js +0 -13
  32. package/lib/Socket/Client/websocket.d.ts +0 -12
  33. package/lib/Socket/Client/websocket.js +0 -62
  34. package/lib/Socket/business.d.ts +0 -173
  35. package/lib/Socket/business.js +0 -260
  36. package/lib/Socket/chats.d.ts +0 -88
  37. package/lib/Socket/chats.js +0 -920
  38. package/lib/Socket/communities.d.ts +0 -216
  39. package/lib/Socket/communities.js +0 -354
  40. package/lib/Socket/groups.d.ts +0 -127
  41. package/lib/Socket/groups.js +0 -314
  42. package/lib/Socket/index.d.ts +0 -203
  43. package/lib/Socket/index.js +0 -10
  44. package/lib/Socket/messages-recv.d.ts +0 -160
  45. package/lib/Socket/messages-recv.js +0 -918
  46. package/lib/Socket/messages-send.d.ts +0 -153
  47. package/lib/Socket/messages-send.js +0 -794
  48. package/lib/Socket/newsletter.d.ts +0 -139
  49. package/lib/Socket/newsletter.js +0 -249
  50. package/lib/Socket/socket.d.ts +0 -45
  51. package/lib/Socket/socket.js +0 -616
  52. package/lib/Socket/usync.d.ts +0 -38
  53. package/lib/Socket/usync.js +0 -70
  54. package/lib/Store/index.d.ts +0 -3
  55. package/lib/Store/index.js +0 -10
  56. package/lib/Store/make-cache-manager-store.d.ts +0 -14
  57. package/lib/Store/make-cache-manager-store.js +0 -83
  58. package/lib/Store/make-in-memory-store.d.ts +0 -118
  59. package/lib/Store/make-in-memory-store.js +0 -420
  60. package/lib/Store/make-ordered-dictionary.d.ts +0 -13
  61. package/lib/Store/make-ordered-dictionary.js +0 -81
  62. package/lib/Store/object-repository.d.ts +0 -10
  63. package/lib/Store/object-repository.js +0 -27
  64. package/lib/Types/Auth.d.ts +0 -105
  65. package/lib/Types/Auth.js +0 -2
  66. package/lib/Types/Call.d.ts +0 -13
  67. package/lib/Types/Call.js +0 -2
  68. package/lib/Types/Chat.d.ts +0 -110
  69. package/lib/Types/Chat.js +0 -4
  70. package/lib/Types/Contact.d.ts +0 -24
  71. package/lib/Types/Contact.js +0 -2
  72. package/lib/Types/Events.d.ts +0 -199
  73. package/lib/Types/Events.js +0 -2
  74. package/lib/Types/GroupMetadata.d.ts +0 -56
  75. package/lib/Types/GroupMetadata.js +0 -2
  76. package/lib/Types/Label.d.ts +0 -46
  77. package/lib/Types/Label.js +0 -27
  78. package/lib/Types/LabelAssociation.d.ts +0 -29
  79. package/lib/Types/LabelAssociation.js +0 -9
  80. package/lib/Types/Message.d.ts +0 -280
  81. package/lib/Types/Message.js +0 -9
  82. package/lib/Types/Newsletter.d.ts +0 -79
  83. package/lib/Types/Newsletter.js +0 -18
  84. package/lib/Types/Product.d.ts +0 -78
  85. package/lib/Types/Product.js +0 -2
  86. package/lib/Types/Signal.d.ts +0 -57
  87. package/lib/Types/Signal.js +0 -2
  88. package/lib/Types/Socket.d.ts +0 -118
  89. package/lib/Types/Socket.js +0 -2
  90. package/lib/Types/State.d.ts +0 -27
  91. package/lib/Types/State.js +0 -2
  92. package/lib/Types/USync.d.ts +0 -25
  93. package/lib/Types/USync.js +0 -2
  94. package/lib/Types/index.d.ts +0 -65
  95. package/lib/Types/index.js +0 -42
  96. package/lib/Utils/auth-utils.d.ts +0 -18
  97. package/lib/Utils/auth-utils.js +0 -200
  98. package/lib/Utils/baileys-event-stream.d.ts +0 -16
  99. package/lib/Utils/baileys-event-stream.js +0 -63
  100. package/lib/Utils/business.d.ts +0 -22
  101. package/lib/Utils/business.js +0 -234
  102. package/lib/Utils/chat-utils.d.ts +0 -72
  103. package/lib/Utils/chat-utils.js +0 -756
  104. package/lib/Utils/crypto.d.ts +0 -42
  105. package/lib/Utils/crypto.js +0 -153
  106. package/lib/Utils/decode-wa-message.d.ts +0 -20
  107. package/lib/Utils/decode-wa-message.js +0 -218
  108. package/lib/Utils/event-buffer.d.ts +0 -35
  109. package/lib/Utils/event-buffer.js +0 -520
  110. package/lib/Utils/generics.d.ts +0 -119
  111. package/lib/Utils/generics.js +0 -468
  112. package/lib/Utils/history.d.ts +0 -19
  113. package/lib/Utils/history.js +0 -94
  114. package/lib/Utils/index.d.ts +0 -18
  115. package/lib/Utils/index.js +0 -34
  116. package/lib/Utils/link-preview.d.ts +0 -21
  117. package/lib/Utils/link-preview.js +0 -116
  118. package/lib/Utils/logger.d.ts +0 -2
  119. package/lib/Utils/logger.js +0 -7
  120. package/lib/Utils/lt-hash.d.ts +0 -12
  121. package/lib/Utils/lt-hash.js +0 -51
  122. package/lib/Utils/make-mutex.d.ts +0 -7
  123. package/lib/Utils/make-mutex.js +0 -44
  124. package/lib/Utils/messages-media.d.ts +0 -131
  125. package/lib/Utils/messages-media.js +0 -786
  126. package/lib/Utils/messages.d.ts +0 -78
  127. package/lib/Utils/messages.js +0 -767
  128. package/lib/Utils/noise-handler.d.ts +0 -21
  129. package/lib/Utils/noise-handler.js +0 -150
  130. package/lib/Utils/process-message.d.ts +0 -42
  131. package/lib/Utils/process-message.js +0 -355
  132. package/lib/Utils/signal.d.ts +0 -32
  133. package/lib/Utils/signal.js +0 -158
  134. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -12
  135. package/lib/Utils/use-multi-file-auth-state.js +0 -94
  136. package/lib/Utils/use-single-file-auth-state.d.ts +0 -5
  137. package/lib/Utils/use-single-file-auth-state.js +0 -66
  138. package/lib/Utils/validate-connection.d.ts +0 -10
  139. package/lib/Utils/validate-connection.js +0 -171
  140. package/lib/WABinary/constants.d.ts +0 -27
  141. package/lib/WABinary/constants.js +0 -40
  142. package/lib/WABinary/decode.d.ts +0 -8
  143. package/lib/WABinary/decode.js +0 -254
  144. package/lib/WABinary/encode.d.ts +0 -2
  145. package/lib/WABinary/encode.js +0 -230
  146. package/lib/WABinary/generic-utils.d.ts +0 -16
  147. package/lib/WABinary/generic-utils.js +0 -110
  148. package/lib/WABinary/index.d.ts +0 -5
  149. package/lib/WABinary/index.js +0 -21
  150. package/lib/WABinary/jid-utils.d.ts +0 -31
  151. package/lib/WABinary/jid-utils.js +0 -62
  152. package/lib/WABinary/types.d.ts +0 -18
  153. package/lib/WABinary/types.js +0 -2
  154. package/lib/WAM/BinaryInfo.d.ts +0 -18
  155. package/lib/WAM/BinaryInfo.js +0 -13
  156. package/lib/WAM/constants.d.ts +0 -39
  157. package/lib/WAM/constants.js +0 -15350
  158. package/lib/WAM/encode.d.ts +0 -4
  159. package/lib/WAM/encode.js +0 -155
  160. package/lib/WAM/index.d.ts +0 -3
  161. package/lib/WAM/index.js +0 -19
  162. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -9
  163. package/lib/WAUSync/Protocols/USyncContactProtocol.js +0 -32
  164. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -22
  165. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +0 -57
  166. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -12
  167. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +0 -30
  168. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -12
  169. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +0 -42
  170. package/lib/WAUSync/Protocols/index.d.ts +0 -4
  171. package/lib/WAUSync/Protocols/index.js +0 -20
  172. package/lib/WAUSync/USyncQuery.d.ts +0 -26
  173. package/lib/WAUSync/USyncQuery.js +0 -79
  174. package/lib/WAUSync/USyncUser.d.ts +0 -10
  175. package/lib/WAUSync/USyncUser.js +0 -22
  176. package/lib/WAUSync/index.d.ts +0 -3
  177. package/lib/WAUSync/index.js +0 -19
  178. package/lib/index.d.ts +0 -12
  179. package/lib/index.js +0 -31
@@ -1,216 +0,0 @@
1
- /// <reference types="long" />
2
- /// <reference types="node" />
3
- /// <reference types="node" />
4
- import { proto } from '../../WAProto';
5
- import { GroupMetadata, ParticipantAction, SocketConfig, WAMessageKey } from '../Types';
6
- import { BinaryNode } from '../WABinary';
7
- export declare const makeCommunitiesSocket: (config: SocketConfig) => {
8
- communityMetadata: (jid: string) => Promise<GroupMetadata>;
9
- communityCreate: (subject: any, body: any) => Promise<GroupMetadata | null>;
10
- communityLeave: (id: string) => Promise<void>;
11
- communityUpdateSubject: (jid: string, subject: string) => Promise<void>;
12
- communityRequestParticipantsList: (jid: string) => Promise<{
13
- [key: string]: string;
14
- }[]>;
15
- communityRequestParticipantsUpdate: (jid: string, participants: string[], action: 'approve' | 'reject') => Promise<{
16
- status: string;
17
- jid: string;
18
- }[]>;
19
- communityParticipantsUpdate: (jid: string, participants: string[], action: ParticipantAction) => Promise<{
20
- status: string;
21
- jid: string;
22
- content: BinaryNode;
23
- }[]>;
24
- communityUpdateDescription: (jid: string, description?: string) => Promise<void>;
25
- communityInviteCode: (jid: string) => Promise<string | undefined>;
26
- communityRevokeInvite: (jid: string) => Promise<string | undefined>;
27
- communityAcceptInvite: (code: string) => Promise<string | undefined>;
28
- /**
29
- * revoke a v4 invite for someone
30
- * @param communityJid community jid
31
- * @param invitedJid jid of person you invited
32
- * @returns true if successful
33
- */
34
- communityRevokeInviteV4: (communityJid: string, invitedJid: string) => Promise<boolean>;
35
- /**
36
- * accept a CommunityInviteMessage
37
- * @param key the key of the invite message, or optionally only provide the jid of the person who sent the invite
38
- * @param inviteMessage the message to accept
39
- */
40
- communityAcceptInviteV4: (key: string | WAMessageKey, inviteMessage: proto.Message.IGroupInviteMessage) => Promise<string>;
41
- communityGetInviteInfo: (code: string) => Promise<GroupMetadata>;
42
- communityToggleEphemeral: (jid: string, ephemeralExpiration: number) => Promise<void>;
43
- communitySettingUpdate: (jid: string, setting: 'announcement' | 'not_announcement' | 'locked' | 'unlocked') => Promise<void>;
44
- communityMemberAddMode: (jid: string, mode: 'admin_add' | 'all_member_add') => Promise<void>;
45
- communityJoinApprovalMode: (jid: string, mode: 'on' | 'off') => Promise<void>;
46
- communityFetchAllParticipating: () => Promise<{
47
- [_: string]: GroupMetadata;
48
- }>;
49
- logger: import("pino").Logger<never, boolean>;
50
- getOrderDetails: (orderId: string, tokenBase64: string) => Promise<import("../Types").OrderDetails>;
51
- getCatalog: ({ jid, limit, cursor }: import("../Types").GetCatalogOptions) => Promise<{
52
- products: import("../Types").Product[];
53
- nextPageCursor: string | undefined;
54
- }>;
55
- getCollections: (jid?: string | undefined, limit?: number) => Promise<{
56
- collections: import("../Types").CatalogCollection[];
57
- }>;
58
- productCreate: (create: import("../Types").ProductCreate) => Promise<import("../Types").Product>;
59
- productDelete: (productIds: string[]) => Promise<{
60
- deleted: number;
61
- }>;
62
- productUpdate: (productId: string, update: import("../Types").ProductUpdate) => Promise<import("../Types").Product>;
63
- sendMessageAck: ({ tag, attrs, content }: BinaryNode) => Promise<void>;
64
- sendRetryRequest: (node: BinaryNode, forceIncludeKeys?: boolean) => Promise<void>;
65
- rejectCall: (callId: string, callFrom: string) => Promise<void>;
66
- fetchMessageHistory: (count: number, oldestMsgKey: WAMessageKey, oldestMsgTimestamp: number | import("long").Long) => Promise<string>;
67
- requestPlaceholderResend: (messageKey: WAMessageKey) => Promise<string | undefined>;
68
- getPrivacyTokens: (jids: string[]) => Promise<BinaryNode>;
69
- assertSessions: (jids: string[], force: boolean) => Promise<boolean>;
70
- relayMessage: (jid: string, message: proto.IMessage, { messageId: msgId, participant, additionalAttributes, additionalNodes, useUserDevicesCache, useCachedGroupMetadata, statusJidList }: import("../Types").MessageRelayOptions) => Promise<string>;
71
- sendReceipt: (jid: string, participant: string | undefined, messageIds: string[], type: import("../Types").MessageReceiptType) => Promise<void>;
72
- sendReceipts: (keys: WAMessageKey[], type: import("../Types").MessageReceiptType) => Promise<void>;
73
- readMessages: (keys: WAMessageKey[]) => Promise<void>;
74
- refreshMediaConn: (forceGet?: boolean) => Promise<import("../Types").MediaConnInfo>;
75
- waUploadToServer: import("../Types").WAMediaUploadFunction;
76
- fetchPrivacySettings: (force?: boolean) => Promise<{
77
- [_: string]: string;
78
- }>;
79
- sendPeerDataOperationMessage: (pdoMessage: proto.Message.IPeerDataOperationRequestMessage) => Promise<string>;
80
- createParticipantNodes: (jids: string[], message: proto.IMessage, extraAttrs?: {
81
- [key: string]: string;
82
- } | undefined) => Promise<{
83
- nodes: BinaryNode[];
84
- shouldIncludeDeviceIdentity: boolean;
85
- }>;
86
- getUSyncDevices: (jids: string[], useCache: boolean, ignoreZeroDevices: boolean) => Promise<import("../WABinary").JidWithDevice[]>;
87
- updateMediaMessage: (message: proto.IWebMessageInfo) => Promise<proto.IWebMessageInfo>;
88
- sendMessage: (jid: string, content: import("../Types").AnyMessageContent, options?: import("../Types").MiscMessageGenerationOptions) => Promise<proto.WebMessageInfo | undefined>;
89
- subscribeNewsletterUpdates: (jid: string) => Promise<{
90
- duration: string;
91
- }>;
92
- newsletterReactionMode: (jid: string, mode: import("../Types").NewsletterReactionMode) => Promise<void>;
93
- newsletterUpdateDescription: (jid: string, description?: string | undefined) => Promise<void>;
94
- newsletterUpdateName: (jid: string, name: string) => Promise<void>;
95
- newsletterUpdatePicture: (jid: string, content: import("../Types").WAMediaUpload) => Promise<void>;
96
- newsletterRemovePicture: (jid: string) => Promise<void>;
97
- newsletterUnfollow: (jid: string) => Promise<void>;
98
- newsletterFollow: (jid: string) => Promise<void>;
99
- newsletterUnmute: (jid: string) => Promise<void>;
100
- newsletterMute: (jid: string) => Promise<void>;
101
- newsletterCreate: (name: string, description: string) => Promise<import("../Types").NewsletterMetadata>;
102
- newsletterMetadata: (type: "invite" | "jid", key: string, role?: import("../Types").NewsletterViewRole | undefined) => Promise<import("../Types").NewsletterMetadata>;
103
- newsletterAdminCount: (jid: string) => Promise<number>;
104
- newsletterChangeOwner: (jid: string, user: string) => Promise<void>;
105
- newsletterDemote: (jid: string, user: string) => Promise<void>;
106
- newsletterDelete: (jid: string) => Promise<void>;
107
- newsletterReactMessage: (jid: string, server_id: string, code?: string | undefined) => Promise<void>;
108
- newsletterFetchMessages: (type: "invite" | "jid", key: string, count: number, after?: number | undefined) => Promise<import("../Types").NewsletterFetchedUpdate[]>;
109
- newsletterFetchUpdates: (jid: string, count: number, after?: number | undefined, since?: number | undefined) => Promise<import("../Types").NewsletterFetchedUpdate[]>;
110
- groupMetadata: (jid: string) => Promise<GroupMetadata>;
111
- groupCreate: (subject: string, participants: string[]) => Promise<GroupMetadata>;
112
- groupLeave: (id: string) => Promise<void>;
113
- groupUpdateSubject: (jid: string, subject: string) => Promise<void>;
114
- groupRequestParticipantsList: (jid: string) => Promise<{
115
- [key: string]: string;
116
- }[]>;
117
- groupRequestParticipantsUpdate: (jid: string, participants: string[], action: "reject" | "approve") => Promise<{
118
- status: string;
119
- jid: string;
120
- }[]>;
121
- groupParticipantsUpdate: (jid: string, participants: string[], action: ParticipantAction) => Promise<{
122
- status: string;
123
- jid: string;
124
- content: BinaryNode;
125
- }[]>;
126
- groupUpdateDescription: (jid: string, description?: string | undefined) => Promise<void>;
127
- groupInviteCode: (jid: string) => Promise<string | undefined>;
128
- groupRevokeInvite: (jid: string) => Promise<string | undefined>;
129
- groupAcceptInvite: (code: string) => Promise<string | undefined>;
130
- groupRevokeInviteV4: (groupJid: string, invitedJid: string) => Promise<boolean>;
131
- groupAcceptInviteV4: (key: string | WAMessageKey, inviteMessage: proto.Message.IGroupInviteMessage) => Promise<string>;
132
- groupGetInviteInfo: (code: string) => Promise<GroupMetadata>;
133
- groupToggleEphemeral: (jid: string, ephemeralExpiration: number) => Promise<void>;
134
- groupSettingUpdate: (jid: string, setting: "announcement" | "locked" | "not_announcement" | "unlocked") => Promise<void>;
135
- groupMemberAddMode: (jid: string, mode: "all_member_add" | "admin_add") => Promise<void>;
136
- groupJoinApprovalMode: (jid: string, mode: "on" | "off") => Promise<void>;
137
- groupFetchAllParticipating: () => Promise<{
138
- [_: string]: GroupMetadata;
139
- }>;
140
- processingMutex: {
141
- mutex<T>(code: () => T | Promise<T>): Promise<T>;
142
- };
143
- upsertMessage: (msg: proto.IWebMessageInfo, type: import("../Types").MessageUpsertType) => Promise<void>;
144
- appPatch: (patchCreate: import("../Types").WAPatchCreate) => Promise<void>;
145
- sendPresenceUpdate: (type: import("../Types").WAPresence, toJid?: string | undefined) => Promise<void>;
146
- presenceSubscribe: (toJid: string, tcToken?: Buffer | undefined) => Promise<void>;
147
- profilePictureUrl: (jid: string, type?: "image" | "preview", timeoutMs?: number | undefined) => Promise<string | undefined>;
148
- onWhatsApp: (...jids: string[]) => Promise<{
149
- jid: string;
150
- exists: unknown;
151
- }[] | undefined>;
152
- fetchBlocklist: () => Promise<string[]>;
153
- fetchStatus: (...jids: string[]) => Promise<import("..").USyncQueryResultList[] | undefined>;
154
- fetchDisappearingDuration: (...jids: string[]) => Promise<import("..").USyncQueryResultList[] | undefined>;
155
- updateProfilePicture: (jid: string, content: import("../Types").WAMediaUpload) => Promise<void>;
156
- updateProfilePictureFull: (jid: any, content: any) => Promise<void>;
157
- updateProfilePictureFull2: (jid: any, content: any) => Promise<void>;
158
- removeProfilePicture: (jid: string) => Promise<void>;
159
- updateProfileStatus: (status: string) => Promise<void>;
160
- updateProfileName: (name: string) => Promise<void>;
161
- updateBlockStatus: (jid: string, action: "block" | "unblock") => Promise<void>;
162
- updateCallPrivacy: (value: import("../Types").WAPrivacyCallValue) => Promise<void>;
163
- updateLastSeenPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
164
- updateOnlinePrivacy: (value: import("../Types").WAPrivacyOnlineValue) => Promise<void>;
165
- updateProfilePicturePrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
166
- updateStatusPrivacy: (value: import("../Types").WAPrivacyValue) => Promise<void>;
167
- updateReadReceiptsPrivacy: (value: import("../Types").WAReadReceiptsValue) => Promise<void>;
168
- updateGroupsAddPrivacy: (value: import("../Types").WAPrivacyGroupAddValue) => Promise<void>;
169
- updateDefaultDisappearingMode: (duration: number) => Promise<void>;
170
- getBusinessProfile: (jid: string) => Promise<void | import("../Types").WABusinessProfile>;
171
- resyncAppState: (collections: readonly ("critical_block" | "critical_unblock_low" | "regular_high" | "regular_low" | "regular")[], isInitialSync: boolean) => Promise<void>;
172
- chatModify: (mod: import("../Types").ChatModification, jid: string) => Promise<void>;
173
- cleanDirtyBits: (type: "account_sync" | "groups", fromTimestamp?: string | number | undefined) => Promise<void>;
174
- addOrEditContact: (jid: string, contact: import("../Types").ContactAction) => Promise<void>;
175
- removeContact: (jid: string) => Promise<void>;
176
- addLabel: (jid: string, labels: import("../Types/Label").LabelActionBody) => Promise<void>;
177
- addChatLabel: (jid: string, labelId: string) => Promise<void>;
178
- removeChatLabel: (jid: string, labelId: string) => Promise<void>;
179
- addMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
180
- removeMessageLabel: (jid: string, messageId: string, labelId: string) => Promise<void>;
181
- star: (jid: string, messages: {
182
- id: string;
183
- fromMe?: boolean | undefined;
184
- }[], star: boolean) => Promise<void>;
185
- executeUSyncQuery: (usyncQuery: import("..").USyncQuery) => Promise<import("..").USyncQueryResult | undefined>;
186
- type: "md";
187
- ws: import("./Client").WebSocketClient;
188
- ev: import("../Types").BaileysEventEmitter & {
189
- process(handler: (events: Partial<import("../Types").BaileysEventMap>) => void | Promise<void>): () => void;
190
- buffer(): void;
191
- createBufferedFunction<A extends any[], T_1>(work: (...args: A) => Promise<T_1>): (...args: A) => Promise<T_1>;
192
- flush(force?: boolean | undefined): boolean;
193
- isBuffering(): boolean;
194
- };
195
- authState: {
196
- creds: import("../Types").AuthenticationCreds;
197
- keys: import("../Types").SignalKeyStoreWithTransaction;
198
- };
199
- signalRepository: import("../Types").SignalRepository;
200
- user: import("../Types").Contact | undefined;
201
- generateMessageTag: () => string;
202
- query: (node: BinaryNode, timeoutMs?: number | undefined) => Promise<BinaryNode>;
203
- waitForMessage: <T_2>(msgId: string, timeoutMs?: number | undefined) => Promise<T_2>;
204
- waitForSocketOpen: () => Promise<void>;
205
- sendRawMessage: (data: Uint8Array | Buffer) => Promise<void>;
206
- sendNode: (frame: BinaryNode) => Promise<void>;
207
- logout: (msg?: string | undefined) => Promise<void>;
208
- end: (error: Error | undefined) => void;
209
- onUnexpectedError: (err: Error | import("@hapi/boom").Boom<any>, msg: string) => void;
210
- uploadPreKeys: (count?: number) => Promise<void>;
211
- uploadPreKeysToServerIfRequired: () => Promise<void>;
212
- requestPairingCode: (phoneNumber: string) => Promise<string>;
213
- waitForConnectionUpdate: (check: (u: Partial<import("../Types").ConnectionState>) => boolean | undefined, timeoutMs?: number | undefined) => Promise<void>;
214
- sendWAMBuffer: (wamBuffer: Buffer) => Promise<BinaryNode>;
215
- };
216
- export declare const extractCommunityMetadata: (result: BinaryNode) => GroupMetadata;
@@ -1,354 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.extractCommunityMetadata = exports.makeCommunitiesSocket = void 0;
7
- const WAProto_1 = require("../../WAProto");
8
- const Types_1 = require("../Types");
9
- const Utils_1 = require("../Utils");
10
- const logger_1 = __importDefault(require("../Utils/logger"));
11
- const WABinary_1 = require("../WABinary");
12
- const business_1 = require("./business");
13
- const makeCommunitiesSocket = (config) => {
14
- const sock = (0, business_1.makeBusinessSocket)(config);
15
- const { authState, ev, query, upsertMessage } = sock;
16
- const communityQuery = async (jid, type, content) => (query({
17
- tag: 'iq',
18
- attrs: {
19
- type,
20
- xmlns: 'w:g2',
21
- to: jid,
22
- },
23
- content
24
- }));
25
- const communityMetadata = async (jid) => {
26
- const result = await communityQuery(jid, 'get', [{ tag: 'query', attrs: { request: 'interactive' } }]);
27
- return (0, exports.extractCommunityMetadata)(result);
28
- };
29
- const communityFetchAllParticipating = async () => {
30
- const result = await query({
31
- tag: 'iq',
32
- attrs: {
33
- to: '@g.us',
34
- xmlns: 'w:g2',
35
- type: 'get',
36
- },
37
- content: [
38
- {
39
- tag: 'participating',
40
- attrs: {},
41
- content: [
42
- { tag: 'participants', attrs: {} },
43
- { tag: 'description', attrs: {} }
44
- ]
45
- }
46
- ]
47
- });
48
- const data = {};
49
- const communitiesChild = (0, WABinary_1.getBinaryNodeChild)(result, 'communities');
50
- if (communitiesChild) {
51
- const communities = (0, WABinary_1.getBinaryNodeChildren)(communitiesChild, 'community');
52
- for (const communityNode of communities) {
53
- const meta = (0, exports.extractCommunityMetadata)({
54
- tag: 'result',
55
- attrs: {},
56
- content: [communityNode]
57
- });
58
- data[meta.id] = meta;
59
- }
60
- }
61
- sock.ev.emit('groups.update', Object.values(data));
62
- return data;
63
- };
64
- async function parseGroupResult(node) {
65
- logger_1.default.info({ node }, 'parseGroupResult');
66
- const groupNode = (0, WABinary_1.getBinaryNodeChild)(node, 'group');
67
- if (groupNode) {
68
- try {
69
- logger_1.default.info({ groupNode }, 'groupNode');
70
- const metadata = await sock.groupMetadata(`${groupNode.attrs.id}@g.us`);
71
- return metadata ? metadata : Optional.empty();
72
- }
73
- catch (error) {
74
- console.error('Error parsing group metadata:', error);
75
- return Optional.empty();
76
- }
77
- }
78
- return Optional.empty();
79
- }
80
- const Optional = {
81
- empty: () => null,
82
- of: (value) => value !== null ? { value } : null
83
- };
84
- sock.ws.on('CB:ib,,dirty', async (node) => {
85
- const { attrs } = (0, WABinary_1.getBinaryNodeChild)(node, 'dirty');
86
- if (attrs.type !== 'communities') {
87
- return;
88
- }
89
- await communityFetchAllParticipating();
90
- await sock.cleanDirtyBits('groups');
91
- });
92
- return {
93
- ...sock,
94
- communityMetadata,
95
- communityCreate: async (subject, body) => {
96
- const descriptionId = (0, Utils_1.generateMessageID)().substring(0, 12); // Simulando um "HexFormat.of().formatHex(Bytes.random(12))"
97
- const result = await communityQuery('@g.us', 'set', [
98
- {
99
- tag: 'create',
100
- attrs: { subject },
101
- content: [
102
- {
103
- tag: 'description',
104
- attrs: { id: descriptionId },
105
- content: [{
106
- tag: 'body',
107
- attrs: {},
108
- content: Buffer.from(body || '', 'utf-8')
109
- }]
110
- },
111
- {
112
- tag: 'parent',
113
- attrs: { 'default_membership_approval_mode': 'request_required' }
114
- },
115
- {
116
- tag: 'allow_non_admin_sub_group_creation',
117
- attrs: {}
118
- },
119
- {
120
- tag: 'create_general_chat',
121
- attrs: {}
122
- }
123
- ]
124
- }
125
- ]);
126
- return await parseGroupResult(result);
127
- },
128
- communityLeave: async (id) => {
129
- await communityQuery('@g.us', 'set', [
130
- {
131
- tag: 'leave',
132
- attrs: {},
133
- content: [
134
- { tag: 'community', attrs: { id } }
135
- ]
136
- }
137
- ]);
138
- },
139
- communityUpdateSubject: async (jid, subject) => {
140
- await communityQuery(jid, 'set', [
141
- {
142
- tag: 'subject',
143
- attrs: {},
144
- content: Buffer.from(subject, 'utf-8')
145
- }
146
- ]);
147
- },
148
- communityRequestParticipantsList: async (jid) => {
149
- const result = await communityQuery(jid, 'get', [
150
- {
151
- tag: 'membership_approval_requests',
152
- attrs: {}
153
- }
154
- ]);
155
- const node = (0, WABinary_1.getBinaryNodeChild)(result, 'membership_approval_requests');
156
- const participants = (0, WABinary_1.getBinaryNodeChildren)(node, 'membership_approval_request');
157
- return participants.map(v => v.attrs);
158
- },
159
- communityRequestParticipantsUpdate: async (jid, participants, action) => {
160
- const result = await communityQuery(jid, 'set', [{
161
- tag: 'membership_requests_action',
162
- attrs: {},
163
- content: [
164
- {
165
- tag: action,
166
- attrs: {},
167
- content: participants.map(jid => ({
168
- tag: 'participant',
169
- attrs: { jid }
170
- }))
171
- }
172
- ]
173
- }]);
174
- const node = (0, WABinary_1.getBinaryNodeChild)(result, 'membership_requests_action');
175
- const nodeAction = (0, WABinary_1.getBinaryNodeChild)(node, action);
176
- const participantsAffected = (0, WABinary_1.getBinaryNodeChildren)(nodeAction, 'participant');
177
- return participantsAffected.map(p => {
178
- return { status: p.attrs.error || '200', jid: p.attrs.jid };
179
- });
180
- },
181
- communityParticipantsUpdate: async (jid, participants, action) => {
182
- const result = await communityQuery(jid, 'set', [
183
- {
184
- tag: action,
185
- attrs: {},
186
- content: participants.map(jid => ({
187
- tag: 'participant',
188
- attrs: { jid }
189
- }))
190
- }
191
- ]);
192
- const node = (0, WABinary_1.getBinaryNodeChild)(result, action);
193
- const participantsAffected = (0, WABinary_1.getBinaryNodeChildren)(node, 'participant');
194
- return participantsAffected.map(p => {
195
- return { status: p.attrs.error || '200', jid: p.attrs.jid, content: p };
196
- });
197
- },
198
- communityUpdateDescription: async (jid, description) => {
199
- var _a;
200
- const metadata = await communityMetadata(jid);
201
- const prev = (_a = metadata.descId) !== null && _a !== void 0 ? _a : null;
202
- await communityQuery(jid, 'set', [
203
- {
204
- tag: 'description',
205
- attrs: {
206
- ...(description ? { id: (0, Utils_1.generateMessageID)() } : { delete: 'true' }),
207
- ...(prev ? { prev } : {})
208
- },
209
- content: description ? [
210
- { tag: 'body', attrs: {}, content: Buffer.from(description, 'utf-8') }
211
- ] : undefined
212
- }
213
- ]);
214
- },
215
- communityInviteCode: async (jid) => {
216
- const result = await communityQuery(jid, 'get', [{ tag: 'invite', attrs: {} }]);
217
- const inviteNode = (0, WABinary_1.getBinaryNodeChild)(result, 'invite');
218
- return inviteNode === null || inviteNode === void 0 ? void 0 : inviteNode.attrs.code;
219
- },
220
- communityRevokeInvite: async (jid) => {
221
- const result = await communityQuery(jid, 'set', [{ tag: 'invite', attrs: {} }]);
222
- const inviteNode = (0, WABinary_1.getBinaryNodeChild)(result, 'invite');
223
- return inviteNode === null || inviteNode === void 0 ? void 0 : inviteNode.attrs.code;
224
- },
225
- communityAcceptInvite: async (code) => {
226
- const results = await communityQuery('@g.us', 'set', [{ tag: 'invite', attrs: { code } }]);
227
- const result = (0, WABinary_1.getBinaryNodeChild)(results, 'community');
228
- return result === null || result === void 0 ? void 0 : result.attrs.jid;
229
- },
230
- /**
231
- * revoke a v4 invite for someone
232
- * @param communityJid community jid
233
- * @param invitedJid jid of person you invited
234
- * @returns true if successful
235
- */
236
- communityRevokeInviteV4: async (communityJid, invitedJid) => {
237
- const result = await communityQuery(communityJid, 'set', [{ tag: 'revoke', attrs: {}, content: [{ tag: 'participant', attrs: { jid: invitedJid } }] }]);
238
- return !!result;
239
- },
240
- /**
241
- * accept a CommunityInviteMessage
242
- * @param key the key of the invite message, or optionally only provide the jid of the person who sent the invite
243
- * @param inviteMessage the message to accept
244
- */
245
- communityAcceptInviteV4: ev.createBufferedFunction(async (key, inviteMessage) => {
246
- var _a;
247
- key = typeof key === 'string' ? { remoteJid: key } : key;
248
- const results = await communityQuery(inviteMessage.groupJid, 'set', [{
249
- tag: 'accept',
250
- attrs: {
251
- code: inviteMessage.inviteCode,
252
- expiration: inviteMessage.inviteExpiration.toString(),
253
- admin: key.remoteJid
254
- }
255
- }]);
256
- // if we have the full message key
257
- // update the invite message to be expired
258
- if (key.id) {
259
- // create new invite message that is expired
260
- inviteMessage = WAProto_1.proto.Message.GroupInviteMessage.fromObject(inviteMessage);
261
- inviteMessage.inviteExpiration = 0;
262
- inviteMessage.inviteCode = '';
263
- ev.emit('messages.update', [
264
- {
265
- key,
266
- update: {
267
- message: {
268
- groupInviteMessage: inviteMessage
269
- }
270
- }
271
- }
272
- ]);
273
- }
274
- // generate the community add message
275
- await upsertMessage({
276
- key: {
277
- remoteJid: inviteMessage.groupJid,
278
- id: (0, Utils_1.generateMessageIDV2)((_a = sock.user) === null || _a === void 0 ? void 0 : _a.id),
279
- fromMe: false,
280
- participant: key.remoteJid,
281
- },
282
- messageStubType: Types_1.WAMessageStubType.GROUP_PARTICIPANT_ADD,
283
- messageStubParameters: [
284
- authState.creds.me.id
285
- ],
286
- participant: key.remoteJid,
287
- messageTimestamp: (0, Utils_1.unixTimestampSeconds)()
288
- }, 'notify');
289
- return results.attrs.from;
290
- }),
291
- communityGetInviteInfo: async (code) => {
292
- const results = await communityQuery('@g.us', 'get', [{ tag: 'invite', attrs: { code } }]);
293
- return (0, exports.extractCommunityMetadata)(results);
294
- },
295
- communityToggleEphemeral: async (jid, ephemeralExpiration) => {
296
- const content = ephemeralExpiration ?
297
- { tag: 'ephemeral', attrs: { expiration: ephemeralExpiration.toString() } } :
298
- { tag: 'not_ephemeral', attrs: {} };
299
- await communityQuery(jid, 'set', [content]);
300
- },
301
- communitySettingUpdate: async (jid, setting) => {
302
- await communityQuery(jid, 'set', [{ tag: setting, attrs: {} }]);
303
- },
304
- communityMemberAddMode: async (jid, mode) => {
305
- await communityQuery(jid, 'set', [{ tag: 'member_add_mode', attrs: {}, content: mode }]);
306
- },
307
- communityJoinApprovalMode: async (jid, mode) => {
308
- await communityQuery(jid, 'set', [{ tag: 'membership_approval_mode', attrs: {}, content: [{ tag: 'community_join', attrs: { state: mode } }] }]);
309
- },
310
- communityFetchAllParticipating
311
- };
312
- };
313
- exports.makeCommunitiesSocket = makeCommunitiesSocket;
314
- const extractCommunityMetadata = (result) => {
315
- var _a, _b;
316
- const community = (0, WABinary_1.getBinaryNodeChild)(result, 'community');
317
- const descChild = (0, WABinary_1.getBinaryNodeChild)(community, 'description');
318
- let desc;
319
- let descId;
320
- if (descChild) {
321
- desc = (0, WABinary_1.getBinaryNodeChildString)(descChild, 'body');
322
- descId = descChild.attrs.id;
323
- }
324
- const communityId = community.attrs.id.includes('@') ? community.attrs.id : (0, WABinary_1.jidEncode)(community.attrs.id, 'g.us');
325
- const eph = (_a = (0, WABinary_1.getBinaryNodeChild)(community, 'ephemeral')) === null || _a === void 0 ? void 0 : _a.attrs.expiration;
326
- const memberAddMode = (0, WABinary_1.getBinaryNodeChildString)(community, 'member_add_mode') === 'all_member_add';
327
- const metadata = {
328
- id: communityId,
329
- subject: community.attrs.subject,
330
- subjectOwner: community.attrs.s_o,
331
- subjectTime: +community.attrs.s_t,
332
- size: (0, WABinary_1.getBinaryNodeChildren)(community, 'participant').length,
333
- creation: +community.attrs.creation,
334
- owner: community.attrs.creator ? (0, WABinary_1.jidNormalizedUser)(community.attrs.creator) : undefined,
335
- desc,
336
- descId,
337
- linkedParent: ((_b = (0, WABinary_1.getBinaryNodeChild)(community, 'linked_parent')) === null || _b === void 0 ? void 0 : _b.attrs.jid) || undefined,
338
- restrict: !!(0, WABinary_1.getBinaryNodeChild)(community, 'locked'),
339
- announce: !!(0, WABinary_1.getBinaryNodeChild)(community, 'announcement'),
340
- isCommunity: !!(0, WABinary_1.getBinaryNodeChild)(community, 'parent'),
341
- isCommunityAnnounce: !!(0, WABinary_1.getBinaryNodeChild)(community, 'default_sub_community'),
342
- joinApprovalMode: !!(0, WABinary_1.getBinaryNodeChild)(community, 'membership_approval_mode'),
343
- memberAddMode,
344
- participants: (0, WABinary_1.getBinaryNodeChildren)(community, 'participant').map(({ attrs }) => {
345
- return {
346
- id: attrs.jid,
347
- admin: (attrs.type || null),
348
- };
349
- }),
350
- ephemeralDuration: eph ? +eph : undefined
351
- };
352
- return metadata;
353
- };
354
- exports.extractCommunityMetadata = extractCommunityMetadata;