@neelegirl/baileys 1.5.3 → 1.5.5

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