lordceaser-baileys 2.0.12 → 2.0.13

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