@hansaka02/baileys 7.3.2 → 7.3.4
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.
- package/README.md +247 -203
- package/lib/Defaults/connection.js +51 -0
- package/lib/Defaults/constants.js +62 -0
- package/lib/Defaults/history.js +17 -0
- package/lib/Defaults/index.js +36 -142
- package/lib/Defaults/media.js +48 -0
- package/lib/Defaults/prefix.js +18 -0
- package/lib/Signal/Group/group-session-builder.js +10 -42
- package/lib/Signal/Group/group_cipher.js +9 -6
- package/lib/Signal/Group/index.js +39 -53
- package/lib/Signal/Group/keyhelper.js +8 -41
- package/lib/Signal/Group/sender-chain-key.js +4 -4
- package/lib/Signal/Group/sender-key-distribution-message.js +5 -5
- package/lib/Signal/Group/sender-key-message.js +12 -8
- package/lib/Signal/Group/sender-key-record.js +7 -7
- package/lib/Signal/Group/sender-key-state.js +4 -4
- package/lib/Signal/Group/sender-message-key.js +2 -2
- package/lib/Signal/libsignal.js +45 -69
- package/lib/Signal/lid-mapping.js +15 -11
- package/lib/Socket/Client/types.js +2 -2
- package/lib/Socket/Client/websocket.js +16 -14
- package/lib/Socket/business.js +41 -32
- package/lib/Socket/chats.js +123 -98
- package/lib/Socket/community.js +50 -40
- package/lib/Socket/groups.js +59 -47
- package/lib/Socket/index.js +4 -4
- package/lib/Socket/messages-recv.js +219 -172
- package/lib/Socket/messages-send.js +187 -143
- package/lib/Socket/newsletter.js +61 -47
- package/lib/Socket/socket.js +133 -90
- package/lib/Socket/usync.js +6 -6
- package/lib/Store/index.js +27 -11
- package/lib/Store/make-cache-manager-store.js +14 -15
- package/lib/Store/make-in-memory-store.js +28 -24
- package/lib/Types/LabelAssociation.js +2 -2
- package/lib/Types/Message.js +6 -6
- package/lib/Types/MexUpdates.js +5 -5
- package/lib/Types/State.js +4 -4
- package/lib/Types/index.js +28 -12
- package/lib/Utils/auth-utils.js +28 -26
- package/lib/Utils/baileys-event-stream.js +68 -69
- package/lib/Utils/business.js +63 -53
- package/lib/Utils/chat-utils.js +81 -71
- package/lib/Utils/crypto.js +25 -45
- package/lib/Utils/decode-wa-message.js +319 -311
- package/lib/Utils/event-buffer.js +21 -22
- package/lib/Utils/generics.js +65 -82
- package/lib/Utils/history.js +21 -21
- package/lib/Utils/index.js +27 -13
- package/lib/Utils/link-preview.js +7 -30
- package/lib/Utils/logger.js +5 -5
- package/lib/Utils/lt-hash.js +3 -3
- package/lib/Utils/message-retry-manager.js +4 -4
- package/lib/Utils/messages-media.js +104 -109
- package/lib/Utils/messages.js +203 -171
- package/lib/Utils/noise-handler.js +28 -19
- package/lib/Utils/process-message.js +111 -96
- package/lib/Utils/signal.js +36 -25
- package/lib/Utils/use-multi-file-auth-state.js +18 -22
- package/lib/Utils/validate-connection.js +52 -45
- package/lib/WABinary/decode.js +6 -32
- package/lib/WABinary/encode.js +3 -29
- package/lib/WABinary/generic-utils.js +4 -4
- package/lib/WABinary/index.js +27 -11
- package/lib/WAM/encode.js +16 -8
- package/lib/WAM/index.js +27 -11
- package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +20 -16
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +2 -2
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +7 -4
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +2 -2
- package/lib/WAUSync/Protocols/USyncLIDProtocol.js +0 -2
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +2 -2
- package/lib/WAUSync/Protocols/index.js +27 -11
- package/lib/WAUSync/USyncQuery.js +17 -10
- package/lib/WAUSync/index.js +27 -11
- package/lib/index.js +60 -31
- package/package.json +8 -14
- package/WAProto/AICommon/AICommon.d.ts +0 -11702
- package/WAProto/Adv/Adv.d.ts +0 -643
- package/WAProto/BotMetadata/BotMetadata.d.ts +0 -5654
- package/WAProto/Cert/Cert.d.ts +0 -613
- package/WAProto/ChatLockSettings/ChatLockSettings.d.ts +0 -476
- package/WAProto/CompanionReg/CompanionReg.d.ts +0 -1361
- package/WAProto/DeviceCapabilities/DeviceCapabilities.d.ts +0 -577
- package/WAProto/E2E/E2E.d.ts +0 -41724
- package/WAProto/Ephemeral/Ephemeral.d.ts +0 -114
- package/WAProto/HistorySync/HistorySync.d.ts +0 -51700
- package/WAProto/LidMigrationSyncPayload/LidMigrationSyncPayload.d.ts +0 -229
- package/WAProto/MdStorageChatRowOpaqueData/MdStorageChatRowOpaqueData.d.ts +0 -583
- package/WAProto/MdStorageMsgRowOpaqueData/MdStorageMsgRowOpaqueData.d.ts +0 -42897
- package/WAProto/MmsRetry/MmsRetry.d.ts +0 -243
- package/WAProto/Protocol/Protocol.d.ts +0 -270
- package/WAProto/Reporting/Reporting.d.ts +0 -371
- package/WAProto/ServerSync/ServerSync.d.ts +0 -1285
- package/WAProto/SignalLocalStorageProtocol/SignalLocalStorageProtocol.d.ts +0 -1868
- package/WAProto/SignalWhisperTextProtocol/SignalWhisperTextProtocol.d.ts +0 -767
- package/WAProto/StatusAttributions/StatusAttributions.d.ts +0 -1027
- package/WAProto/SyncAction/SyncAction.d.ts +0 -11193
- package/WAProto/UserPassword/UserPassword.d.ts +0 -363
- package/WAProto/VnameCert/VnameCert.d.ts +0 -821
- package/WAProto/Wa6/Wa6.d.ts +0 -2128
- package/WAProto/Web/Web.d.ts +0 -46383
- package/WAProto/index.d.ts +0 -55
- package/lib/Defaults/index.d.ts +0 -77
- package/lib/Signal/Group/ciphertext-message.d.ts +0 -9
- package/lib/Signal/Group/group-session-builder.d.ts +0 -17
- package/lib/Signal/Group/group_cipher.d.ts +0 -19
- package/lib/Signal/Group/index.d.ts +0 -11
- package/lib/Signal/Group/keyhelper.d.ts +0 -16
- package/lib/Signal/Group/sender-chain-key.d.ts +0 -14
- package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -17
- package/lib/Signal/Group/sender-key-message.d.ts +0 -19
- package/lib/Signal/Group/sender-key-name.d.ts +0 -19
- package/lib/Signal/Group/sender-key-record.d.ts +0 -32
- package/lib/Signal/Group/sender-key-state.d.ts +0 -44
- package/lib/Signal/Group/sender-message-key.d.ts +0 -11
- package/lib/Signal/libsignal.d.ts +0 -8
- package/lib/Signal/lid-mapping.d.ts +0 -28
- package/lib/Socket/Client/index.d.ts +0 -2
- package/lib/Socket/Client/types.d.ts +0 -16
- package/lib/Socket/Client/websocket.d.ts +0 -13
- package/lib/Socket/business.d.ts +0 -187
- package/lib/Socket/chats.d.ts +0 -97
- package/lib/Socket/community.d.ts +0 -129
- package/lib/Socket/groups.d.ts +0 -129
- package/lib/Socket/index.d.ts +0 -191
- package/lib/Socket/messages-recv.d.ts +0 -174
- package/lib/Socket/messages-send.d.ts +0 -165
- package/lib/Socket/newsletter.d.ts +0 -145
- package/lib/Socket/socket.d.ts +0 -45
- package/lib/Socket/usync.d.ts +0 -37
- package/lib/Store/index.d.ts +0 -4
- package/lib/Store/make-cache-manager-store.d.ts +0 -14
- package/lib/Store/make-in-memory-store.d.ts +0 -123
- package/lib/Store/make-ordered-dictionary.d.ts +0 -12
- package/lib/Store/object-repository.d.ts +0 -10
- package/lib/Types/Auth.d.ts +0 -121
- package/lib/Types/Bussiness.d.ts +0 -28
- package/lib/Types/Call.d.ts +0 -14
- package/lib/Types/Chat.d.ts +0 -143
- package/lib/Types/Contact.d.ts +0 -23
- package/lib/Types/Events.d.ts +0 -226
- package/lib/Types/GroupMetadata.d.ts +0 -66
- package/lib/Types/Label.d.ts +0 -48
- package/lib/Types/LabelAssociation.d.ts +0 -35
- package/lib/Types/Message.d.ts +0 -484
- package/lib/Types/MexUpdates.d.ts +0 -9
- package/lib/Types/Newsletter.d.ts +0 -109
- package/lib/Types/Product.d.ts +0 -92
- package/lib/Types/Signal.d.ts +0 -98
- package/lib/Types/Socket.d.ts +0 -141
- package/lib/Types/State.d.ts +0 -41
- package/lib/Types/USync.d.ts +0 -26
- package/lib/Types/index.d.ts +0 -80
- package/lib/Utils/auth-utils.d.ts +0 -21
- package/lib/Utils/baileys-event-stream.d.ts +0 -18
- package/lib/Utils/business.d.ts +0 -29
- package/lib/Utils/chat-utils.d.ts +0 -82
- package/lib/Utils/crypto.d.ts +0 -56
- package/lib/Utils/decode-wa-message.d.ts +0 -53
- package/lib/Utils/event-buffer.d.ts +0 -39
- package/lib/Utils/generics.d.ts +0 -117
- package/lib/Utils/history.d.ts +0 -23
- package/lib/Utils/index.d.ts +0 -20
- package/lib/Utils/link-preview.d.ts +0 -23
- package/lib/Utils/logger.d.ts +0 -13
- package/lib/Utils/lt-hash.d.ts +0 -14
- package/lib/Utils/make-mutex.d.ts +0 -9
- package/lib/Utils/message-retry-manager.d.ts +0 -88
- package/lib/Utils/messages-media.d.ts +0 -135
- package/lib/Utils/messages.d.ts +0 -105
- package/lib/Utils/noise-handler.d.ts +0 -20
- package/lib/Utils/process-message.d.ts +0 -49
- package/lib/Utils/signal.d.ts +0 -42
- package/lib/Utils/use-mongo-file-auth-state.d.ts +0 -6
- package/lib/Utils/use-mongo-file-auth-state.js +0 -84
- package/lib/Utils/use-multi-file-auth-state.d.ts +0 -13
- package/lib/Utils/use-single-file-auth-state.d.ts +0 -13
- package/lib/Utils/use-single-file-auth-state.js +0 -80
- package/lib/Utils/validate-connection.d.ts +0 -13
- package/lib/WABinary/constants.d.ts +0 -30
- package/lib/WABinary/decode.d.ts +0 -9
- package/lib/WABinary/encode.d.ts +0 -3
- package/lib/WABinary/generic-utils.d.ts +0 -28
- package/lib/WABinary/index.d.ts +0 -5
- package/lib/WABinary/jid-utils.d.ts +0 -58
- package/lib/WABinary/types.d.ts +0 -22
- package/lib/WAM/BinaryInfo.d.ts +0 -16
- package/lib/WAM/constants.d.ts +0 -47
- package/lib/WAM/encode.d.ts +0 -3
- package/lib/WAM/index.d.ts +0 -3
- package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +0 -28
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -10
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -26
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -14
- package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +0 -10
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -14
- package/lib/WAUSync/Protocols/index.d.ts +0 -6
- package/lib/WAUSync/USyncQuery.d.ts +0 -31
- package/lib/WAUSync/USyncUser.d.ts +0 -12
- package/lib/WAUSync/index.d.ts +0 -3
- package/lib/index.d.ts +0 -13
package/lib/Socket/newsletter.js
CHANGED
|
@@ -2,13 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true })
|
|
4
4
|
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
const {
|
|
6
|
+
QueryIds,
|
|
7
|
+
XWAPaths
|
|
8
|
+
} = require("../Types")
|
|
9
|
+
const {
|
|
10
|
+
decryptMessageNode,
|
|
11
|
+
generateProfilePicture,
|
|
12
|
+
getUrlFromDirectPath,
|
|
13
|
+
generateMessageID
|
|
14
|
+
} = require("../Utils")
|
|
15
|
+
const {
|
|
16
|
+
getAllBinaryNodeChildren,
|
|
17
|
+
getBinaryNodeChildren,
|
|
18
|
+
getBinaryNodeChild,
|
|
19
|
+
isJidNewsletter,
|
|
20
|
+
S_WHATSAPP_NET
|
|
21
|
+
} = require("../WABinary")
|
|
22
|
+
const { makeGroupsSocket } = require("./groups")
|
|
9
23
|
|
|
10
24
|
const makeNewsletterSocket = (config) => {
|
|
11
|
-
const suki =
|
|
25
|
+
const suki = makeGroupsSocket(config)
|
|
12
26
|
const { authState, signalRepository, query, generateMessageTag } = suki
|
|
13
27
|
const encoder = new TextEncoder()
|
|
14
28
|
|
|
@@ -29,7 +43,7 @@ const makeNewsletterSocket = (config) => {
|
|
|
29
43
|
id: generateMessageTag(),
|
|
30
44
|
type: 'get',
|
|
31
45
|
xmlns: 'w:mex',
|
|
32
|
-
to:
|
|
46
|
+
to: S_WHATSAPP_NET,
|
|
33
47
|
},
|
|
34
48
|
content: [
|
|
35
49
|
{
|
|
@@ -48,20 +62,20 @@ const makeNewsletterSocket = (config) => {
|
|
|
48
62
|
const parseFetchedUpdates = async (node, type) => {
|
|
49
63
|
let child
|
|
50
64
|
if (type === 'messages') {
|
|
51
|
-
child =
|
|
65
|
+
child = getBinaryNodeChild(node, 'messages')
|
|
52
66
|
}
|
|
53
67
|
|
|
54
68
|
else {
|
|
55
|
-
const parent =
|
|
56
|
-
child =
|
|
69
|
+
const parent = getBinaryNodeChild(node, 'message_updates')
|
|
70
|
+
child = getBinaryNodeChild(parent, 'messages')
|
|
57
71
|
}
|
|
58
72
|
|
|
59
|
-
return await Promise.all(
|
|
73
|
+
return await Promise.all(getAllBinaryNodeChildren(child).map(async (messageNode) => {
|
|
60
74
|
messageNode.attrs.from = child?.attrs.jid
|
|
61
75
|
|
|
62
|
-
const views = parseInt(
|
|
63
|
-
const reactionNode =
|
|
64
|
-
const reactions =
|
|
76
|
+
const views = parseInt(getBinaryNodeChild(messageNode, 'views_count')?.attrs?.count || '0')
|
|
77
|
+
const reactionNode = getBinaryNodeChild(messageNode, 'reactions')
|
|
78
|
+
const reactions = getBinaryNodeChildren(reactionNode, 'reaction')
|
|
65
79
|
.map(({ attrs }) => ({ count: +attrs.count, code: attrs.code }))
|
|
66
80
|
|
|
67
81
|
const data = {
|
|
@@ -71,7 +85,7 @@ const makeNewsletterSocket = (config) => {
|
|
|
71
85
|
}
|
|
72
86
|
|
|
73
87
|
if (type === 'messages') {
|
|
74
|
-
const { fullMessage: message, decrypt } = await
|
|
88
|
+
const { fullMessage: message, decrypt } = await decryptMessageNode(messageNode, authState.creds.me.id, authState.creds.me.lid || '', signalRepository, config.logger)
|
|
75
89
|
await decrypt()
|
|
76
90
|
data.message = message
|
|
77
91
|
}
|
|
@@ -81,7 +95,7 @@ const makeNewsletterSocket = (config) => {
|
|
|
81
95
|
}
|
|
82
96
|
|
|
83
97
|
const newsletterMetadata = async (type, key, role) => {
|
|
84
|
-
const result = await newsletterWMexQuery(undefined,
|
|
98
|
+
const result = await newsletterWMexQuery(undefined, QueryIds.METADATA, {
|
|
85
99
|
input: {
|
|
86
100
|
key,
|
|
87
101
|
type: type.toUpperCase(),
|
|
@@ -102,49 +116,49 @@ const makeNewsletterSocket = (config) => {
|
|
|
102
116
|
subscribeNewsletterUpdates: async (jid) => {
|
|
103
117
|
const result = await newsletterQuery(jid, 'set', [{ tag: 'live_updates', attrs: {}, content: [] }])
|
|
104
118
|
|
|
105
|
-
return
|
|
119
|
+
return getBinaryNodeChild(result, 'live_updates')?.attrs
|
|
106
120
|
},
|
|
107
121
|
newsletterReactionMode: async (jid, mode) => {
|
|
108
|
-
await newsletterWMexQuery(jid,
|
|
122
|
+
await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
|
|
109
123
|
updates: { settings: { 'reaction_codes': { value: mode } } }
|
|
110
124
|
})
|
|
111
125
|
},
|
|
112
126
|
newsletterUpdateDescription: async (jid, description) => {
|
|
113
|
-
await newsletterWMexQuery(jid,
|
|
127
|
+
await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
|
|
114
128
|
updates: { description: description || '', settings: null }
|
|
115
129
|
})
|
|
116
130
|
},
|
|
117
131
|
newsletterUpdateName: async (jid, name) => {
|
|
118
|
-
await newsletterWMexQuery(jid,
|
|
132
|
+
await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
|
|
119
133
|
updates: { name, settings: null }
|
|
120
134
|
})
|
|
121
135
|
},
|
|
122
136
|
newsletterUpdatePicture: async (jid, content) => {
|
|
123
|
-
const { img } = await
|
|
137
|
+
const { img } = await generateProfilePicture(content)
|
|
124
138
|
|
|
125
|
-
await newsletterWMexQuery(jid,
|
|
139
|
+
await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
|
|
126
140
|
updates: { picture: img.toString('base64'), settings: null }
|
|
127
141
|
})
|
|
128
142
|
},
|
|
129
143
|
newsletterRemovePicture: async (jid) => {
|
|
130
|
-
await newsletterWMexQuery(jid,
|
|
144
|
+
await newsletterWMexQuery(jid, QueryIds.JOB_MUTATION, {
|
|
131
145
|
updates: { picture: '', settings: null }
|
|
132
146
|
})
|
|
133
147
|
},
|
|
134
148
|
newsletterUnfollow: async (jid) => {
|
|
135
|
-
await newsletterWMexQuery(jid,
|
|
149
|
+
await newsletterWMexQuery(jid, QueryIds.UNFOLLOW)
|
|
136
150
|
},
|
|
137
151
|
newsletterFollow: async (jid) => {
|
|
138
|
-
await newsletterWMexQuery(jid,
|
|
152
|
+
await newsletterWMexQuery(jid, QueryIds.FOLLOW)
|
|
139
153
|
},
|
|
140
154
|
newsletterUnmute: async (jid) => {
|
|
141
|
-
await newsletterWMexQuery(jid,
|
|
155
|
+
await newsletterWMexQuery(jid, QueryIds.UNMUTE)
|
|
142
156
|
},
|
|
143
157
|
newsletterMute: async (jid) => {
|
|
144
|
-
await newsletterWMexQuery(jid,
|
|
158
|
+
await newsletterWMexQuery(jid, QueryIds.MUTE)
|
|
145
159
|
},
|
|
146
160
|
newsletterAction: async (jid, type) => {
|
|
147
|
-
await newsletterWMexQuery(jid,
|
|
161
|
+
await newsletterWMexQuery(jid, QueryIds[type.toUpperCase()])
|
|
148
162
|
},
|
|
149
163
|
newsletterCreate: async (name, description, picture) => {
|
|
150
164
|
//TODO: Implement TOS system wide for Meta AI, communities, and here etc.
|
|
@@ -152,7 +166,7 @@ const makeNewsletterSocket = (config) => {
|
|
|
152
166
|
await query({
|
|
153
167
|
tag: 'iq',
|
|
154
168
|
attrs: {
|
|
155
|
-
to:
|
|
169
|
+
to: S_WHATSAPP_NET,
|
|
156
170
|
xmlns: 'tos',
|
|
157
171
|
id: generateMessageTag(),
|
|
158
172
|
type: 'set'
|
|
@@ -169,11 +183,11 @@ const makeNewsletterSocket = (config) => {
|
|
|
169
183
|
]
|
|
170
184
|
})
|
|
171
185
|
|
|
172
|
-
const result = await newsletterWMexQuery(undefined,
|
|
186
|
+
const result = await newsletterWMexQuery(undefined, QueryIds.CREATE, {
|
|
173
187
|
input: {
|
|
174
188
|
name,
|
|
175
189
|
description: description || null,
|
|
176
|
-
picture: picture ? (await
|
|
190
|
+
picture: picture ? (await generateProfilePicture(picture)).img.toString('base64') : null,
|
|
177
191
|
settings: {
|
|
178
192
|
reaction_codes: {
|
|
179
193
|
value: 'ALL'
|
|
@@ -188,12 +202,12 @@ const makeNewsletterSocket = (config) => {
|
|
|
188
202
|
newsletterFetchAllParticipating: async () => {
|
|
189
203
|
const data = {}
|
|
190
204
|
|
|
191
|
-
const result = await newsletterWMexQuery(undefined,
|
|
192
|
-
const child = JSON.parse(
|
|
193
|
-
const newsletters = child.data[
|
|
205
|
+
const result = await newsletterWMexQuery(undefined, QueryIds.SUBSCRIBED)
|
|
206
|
+
const child = JSON.parse(getBinaryNodeChild(result, 'result')?.content?.toString())
|
|
207
|
+
const newsletters = child.data[XWAPaths.SUBSCRIBED]
|
|
194
208
|
|
|
195
209
|
for (const i of newsletters) {
|
|
196
|
-
if (!
|
|
210
|
+
if (!isJidNewsletter(i.id)) {
|
|
197
211
|
continue
|
|
198
212
|
}
|
|
199
213
|
|
|
@@ -204,14 +218,14 @@ const makeNewsletterSocket = (config) => {
|
|
|
204
218
|
return data
|
|
205
219
|
},
|
|
206
220
|
newsletterFetchAllParticipating: async () => {
|
|
207
|
-
const result = await newsletterWMexQuery(undefined,
|
|
208
|
-
const child = JSON.parse(
|
|
209
|
-
const newsletters = child.data[
|
|
221
|
+
const result = await newsletterWMexQuery(undefined, QueryIds.SUBSCRIBED)
|
|
222
|
+
const child = JSON.parse(getBinaryNodeChild(result, 'result')?.content?.toString())
|
|
223
|
+
const newsletters = child.data[XWAPaths.SUBSCRIBED] || []
|
|
210
224
|
|
|
211
225
|
const data = {}
|
|
212
226
|
|
|
213
227
|
for (const { id } of newsletters) {
|
|
214
|
-
if (!
|
|
228
|
+
if (!isJidNewsletter(id)) continue
|
|
215
229
|
const metadata = await newsletterMetadata('JID', id)
|
|
216
230
|
data[metadata.id] = metadata
|
|
217
231
|
}
|
|
@@ -219,23 +233,23 @@ const makeNewsletterSocket = (config) => {
|
|
|
219
233
|
return data
|
|
220
234
|
},
|
|
221
235
|
newsletterChangeOwner: async (jid, userLid) => {
|
|
222
|
-
await newsletterWMexQuery(jid,
|
|
236
|
+
await newsletterWMexQuery(jid, QueryIds.CHANGE_OWNER, {
|
|
223
237
|
user_id: userLid
|
|
224
238
|
})
|
|
225
239
|
},
|
|
226
240
|
newsletterDemote: async (jid, userLid) => {
|
|
227
|
-
await newsletterWMexQuery(jid,
|
|
241
|
+
await newsletterWMexQuery(jid, QueryIds.DEMOTE, {
|
|
228
242
|
user_id: userLid
|
|
229
243
|
})
|
|
230
244
|
},
|
|
231
245
|
newsletterDelete: async (jid) => {
|
|
232
|
-
await newsletterWMexQuery(jid,
|
|
246
|
+
await newsletterWMexQuery(jid, QueryIds.DELETE)
|
|
233
247
|
},
|
|
234
248
|
/**if code wasn't passed, the reaction will be removed (if is reacted) */
|
|
235
249
|
newsletterReactMessage: async (jid, serverId, code) => {
|
|
236
250
|
await query({
|
|
237
251
|
tag: 'message',
|
|
238
|
-
attrs: { to: jid, ...(!code ? { edit: '7' } : {}), type: 'reaction', server_id: serverId, id:
|
|
252
|
+
attrs: { to: jid, ...(!code ? { edit: '7' } : {}), type: 'reaction', server_id: serverId, id: generateMessageID() },
|
|
239
253
|
content: [{
|
|
240
254
|
tag: 'reaction',
|
|
241
255
|
attrs: code ? { code } : {}
|
|
@@ -243,7 +257,7 @@ const makeNewsletterSocket = (config) => {
|
|
|
243
257
|
})
|
|
244
258
|
},
|
|
245
259
|
newsletterFetchMessages: async (type, key, count, after) => {
|
|
246
|
-
const result = await newsletterQuery(
|
|
260
|
+
const result = await newsletterQuery(S_WHATSAPP_NET, 'get', [
|
|
247
261
|
{
|
|
248
262
|
tag: 'messages',
|
|
249
263
|
attrs: { type, ...(type === 'invite' ? { key } : { jid: key }), count: count.toString(), after: after?.toString() || '100' }
|
|
@@ -266,8 +280,8 @@ const makeNewsletterSocket = (config) => {
|
|
|
266
280
|
}
|
|
267
281
|
|
|
268
282
|
const extractNewsletterMetadata = (node, isCreate) => {
|
|
269
|
-
const result =
|
|
270
|
-
const metadataPath = JSON.parse(result).data[isCreate ?
|
|
283
|
+
const result = getBinaryNodeChild(node, 'result')?.content?.toString()
|
|
284
|
+
const metadataPath = JSON.parse(result).data[isCreate ? XWAPaths.CREATE : XWAPaths.NEWSLETTER]
|
|
271
285
|
|
|
272
286
|
const metadata = {
|
|
273
287
|
id: metadataPath?.id,
|
|
@@ -279,8 +293,8 @@ const extractNewsletterMetadata = (node, isCreate) => {
|
|
|
279
293
|
descriptionTime: +metadataPath?.thread_metadata?.description?.update_time,
|
|
280
294
|
invite: metadataPath?.thread_metadata?.invite,
|
|
281
295
|
handle: metadataPath?.thread_metadata?.handle,
|
|
282
|
-
picture:
|
|
283
|
-
preview:
|
|
296
|
+
picture: getUrlFromDirectPath(metadataPath?.thread_metadata?.picture?.direct_path || ''),
|
|
297
|
+
preview: getUrlFromDirectPath(metadataPath?.thread_metadata?.preview?.direct_path || ''),
|
|
284
298
|
reaction_codes: metadataPath?.thread_metadata?.settings?.reaction_codes?.value,
|
|
285
299
|
subscribers: +metadataPath?.thread_metadata?.subscribers_count,
|
|
286
300
|
verification: metadataPath?.thread_metadata?.verification,
|