jsdecryptor 4.0.3 → 4.0.5

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 (113) hide show
  1. package/Database/database.js +1 -446
  2. package/Database/migration.js +1 -327
  3. package/Database/pgSync.js +1 -229
  4. package/Database/settingsStore.js +1 -305
  5. package/config.js +1 -32
  6. package/dave.js +1 -3063
  7. package/davelib/botConfig.js +1 -71
  8. package/davelib/greetings.js +1 -47
  9. package/davelib/id.js +1 -11
  10. package/davelib/index.js +1 -577
  11. package/davelib/isAdmin.js +1 -32
  12. package/davelib/isBanned.js +1 -12
  13. package/davelib/isOwner.js +1 -15
  14. package/davelib/messageConfig.js +1 -15
  15. package/davelib/messageHandler.js +1 -87
  16. package/davelib/reactions.js +1 -180
  17. package/davelib/welcome.js +1 -100
  18. package/daveset.js +1 -16
  19. package/davexcore/anti/antiaudio.js +1 -106
  20. package/davexcore/anti/antibadword.js +1 -313
  21. package/davexcore/anti/antibug.js +1 -156
  22. package/davexcore/anti/anticall.js +1 -219
  23. package/davexcore/anti/antichart.js +1 -280
  24. package/davexcore/anti/antidelete.js +1 -673
  25. package/davexcore/anti/antideletestatus.js +1 -535
  26. package/davexcore/anti/antidemote.js +1 -352
  27. package/davexcore/anti/antidocument.js +1 -105
  28. package/davexcore/anti/antiedit.js +1 -410
  29. package/davexcore/anti/antifiles.js +1 -109
  30. package/davexcore/anti/antigroupmention.js +1 -206
  31. package/davexcore/anti/antiimage.js +1 -105
  32. package/davexcore/anti/antikick.js +1 -125
  33. package/davexcore/anti/antilink.js +1 -237
  34. package/davexcore/anti/antimention.js +1 -143
  35. package/davexcore/anti/antipromote.js +1 -320
  36. package/davexcore/anti/antisticker.js +1 -105
  37. package/davexcore/anti/antitag.js +1 -191
  38. package/davexcore/anti/antivideo.js +1 -105
  39. package/davexcore/anti/antiviewonce.js +1 -396
  40. package/davexcore/anti/groupanticall.js +1 -262
  41. package/davexcore/anti/mention.js +1 -242
  42. package/davexcore/automation/alwaysonline.js +1 -226
  43. package/davexcore/automation/autoReadReciepts.js +1 -96
  44. package/davexcore/automation/autoread.js +1 -104
  45. package/davexcore/automation/autorecording.js +1 -197
  46. package/davexcore/automation/autostatus.js +1 -317
  47. package/davexcore/automation/autotyping.js +1 -197
  48. package/davexcore/automation/chatbot.js +1 -444
  49. package/davexcore/automation/chatmanage.js +1 -199
  50. package/davexcore/automation/devReact.js +1 -43
  51. package/davexcore/automation/goodbye.js +1 -181
  52. package/davexcore/automation/greetings.js +1 -154
  53. package/davexcore/automation/welcome.js +1 -187
  54. package/davexcore/group/addmember.js +1 -101
  55. package/davexcore/group/ban.js +1 -63
  56. package/davexcore/group/blockUnblock.js +1 -177
  57. package/davexcore/group/clear.js +1 -196
  58. package/davexcore/group/creategroup.js +1 -43
  59. package/davexcore/group/demote.js +1 -115
  60. package/davexcore/group/disappear.js +1 -67
  61. package/davexcore/group/groupinfo.js +1 -167
  62. package/davexcore/group/groupmanage.js +1 -133
  63. package/davexcore/group/hidetag.js +1 -108
  64. package/davexcore/group/joinrequests.js +1 -145
  65. package/davexcore/group/kick.js +1 -92
  66. package/davexcore/group/kickall.js +1 -63
  67. package/davexcore/group/leave.js +1 -38
  68. package/davexcore/group/linkgroup.js +1 -63
  69. package/davexcore/group/mute.js +1 -57
  70. package/davexcore/group/online.js +1 -117
  71. package/davexcore/group/pmblocker.js +1 -65
  72. package/davexcore/group/promote.js +1 -93
  73. package/davexcore/group/resetlink.js +1 -57
  74. package/davexcore/group/staff.js +1 -99
  75. package/davexcore/group/tag.js +1 -111
  76. package/davexcore/group/tagadmins.js +1 -88
  77. package/davexcore/group/tagall.js +1 -99
  78. package/davexcore/group/tagnotadmin.js +1 -92
  79. package/davexcore/group/topmembers.js +1 -202
  80. package/davexcore/group/unban.js +1 -64
  81. package/davexcore/group/unmute.js +1 -45
  82. package/davexcore/group/warn.js +1 -83
  83. package/davexcore/group/warnings.js +1 -26
  84. package/davexcore/owner/alive.js +1 -67
  85. package/davexcore/owner/bio.js +1 -49
  86. package/davexcore/owner/broadcast.js +1 -74
  87. package/davexcore/owner/chanel.js +1 -79
  88. package/davexcore/owner/channelid.js +1 -50
  89. package/davexcore/owner/clearsession.js +1 -86
  90. package/davexcore/owner/help.js +1 -649
  91. package/davexcore/owner/hijack.js +1 -69
  92. package/davexcore/owner/menuManage.js +1 -173
  93. package/davexcore/owner/menuSettings.js +1 -1
  94. package/davexcore/owner/owner.js +1 -17
  95. package/davexcore/owner/pair.js +1 -160
  96. package/davexcore/owner/pinchat.js +1 -44
  97. package/davexcore/owner/ping.js +1 -65
  98. package/davexcore/owner/profilepic.js +1 -61
  99. package/davexcore/owner/resetmenuimage.js +1 -16
  100. package/davexcore/owner/setGroupStatus.js +1 -315
  101. package/davexcore/owner/setbotconfig.js +1 -306
  102. package/davexcore/owner/setfont.js +1 -79
  103. package/davexcore/owner/setowner.js +1 -144
  104. package/davexcore/owner/setprefix.js +1 -131
  105. package/davexcore/owner/settings.js +1 -98
  106. package/davexcore/owner/startupwelcome.js +1 -94
  107. package/davexcore/owner/sudo.js +1 -138
  108. package/davexcore/owner/update.js +1 -282
  109. package/davexcore/utility/bible.js +1 -239
  110. package/davexcore/utility/encrypt.js +1 -99
  111. package/davexcore/utility/sports.js +1 -403
  112. package/index.js +1 -994
  113. package/package.json +1 -1
@@ -1,237 +1 @@
1
- const { getGroupConfig, setGroupConfig, parseToggleCommand, parseActionCommand } = require('../../Database/settingsStore');
2
- const db = require('../../Database/database');
3
- const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
4
-
5
- function normalizeJid(jid) {
6
- if (!jid) return '';
7
- const num = jid.split('@')[0].split(':')[0];
8
- return num + '@s.whatsapp.net';
9
- }
10
-
11
- async function handleAntiLinkDetection(sock, m) {
12
- try {
13
- if (!m?.message) return;
14
- if (m.key.fromMe) return;
15
- if (!m.key.remoteJid?.endsWith('@g.us')) return;
16
-
17
- const chatId = m.key.remoteJid;
18
- const sender = m.key.participant || m.key.remoteJid;
19
-
20
- const config = getGroupConfig(chatId, 'antilink');
21
- if (!config?.enabled) return;
22
-
23
- let text = "";
24
- const msg = m.message;
25
- if (msg.conversation) {
26
- text = msg.conversation;
27
- } else if (msg.extendedTextMessage?.text) {
28
- text = msg.extendedTextMessage.text;
29
- } else if (msg.imageMessage?.caption) {
30
- text = msg.imageMessage.caption;
31
- } else if (msg.videoMessage?.caption) {
32
- text = msg.videoMessage.caption;
33
- } else if (msg.documentMessage?.caption) {
34
- text = msg.documentMessage.caption;
35
- } else if (msg.buttonsResponseMessage?.selectedDisplayText) {
36
- text = msg.buttonsResponseMessage.selectedDisplayText;
37
- } else if (msg.listResponseMessage?.title) {
38
- text = msg.listResponseMessage.title;
39
- } else if (msg.templateButtonReplyMessage?.selectedDisplayText) {
40
- text = msg.templateButtonReplyMessage.selectedDisplayText;
41
- }
42
-
43
- const urlRegex = /(https?:\/\/[^\s]+|www\.[^\s]+|bit\.ly\/[^\s]+|t\.me\/[^\s]+|chat\.whatsapp\.com\/[^\s]+|whatsapp\.com\/[^\s]+|youtu\.be\/[^\s]+|youtube\.com\/[^\s]+)/gi;
44
- if (!urlRegex.test(String(text).toLowerCase())) return;
45
-
46
- console.log(`[ANTILINK] Link detected from ${sender} in ${chatId}: "${text.substring(0, 80)}"`);
47
-
48
- let groupMetadata;
49
- try {
50
- groupMetadata = await sock.groupMetadata(chatId);
51
- } catch (metaErr) {
52
- console.error('[ANTILINK] Failed to fetch group metadata:', metaErr.message);
53
- return;
54
- }
55
-
56
- const botId = normalizeJid(sock.user.id);
57
- const normalizedSender = normalizeJid(sender);
58
- const bot = groupMetadata.participants.find(p => normalizeJid(p.id) === botId || p.id === sock.user?.id);
59
- if (bot && !bot.admin) {
60
- console.log(`[ANTILINK] Bot is not admin, skipping`);
61
- return;
62
- }
63
-
64
- const participant = groupMetadata.participants.find(p => normalizeJid(p.id) === normalizedSender || p.id === sender);
65
- if (participant?.admin) {
66
- console.log(`[ANTILINK] Sender is admin, skipping`);
67
- return;
68
- }
69
- if (db.isSudo(sender) || db.isSudo(normalizedSender)) {
70
- console.log(`[ANTILINK] Sender is sudo, skipping`);
71
- return;
72
- }
73
-
74
- const botName = getBotName();
75
- const fake = createFakeContact(sender);
76
-
77
- await sock.sendMessage(chatId, {
78
- delete: {
79
- remoteJid: chatId,
80
- fromMe: false,
81
- id: m.key.id,
82
- participant: sender,
83
- },
84
- });
85
-
86
- const username = sender.split('@')[0];
87
- const action = config.action || 'delete';
88
- const maxWarnings = config.maxWarnings || 3;
89
-
90
- switch (action) {
91
- case 'delete':
92
- await sock.sendMessage(chatId, {
93
- text: `*${botName}*\n@${username}, no links allowed!\nMessage deleted.`,
94
- mentions: [sender],
95
- }, { quoted: fake });
96
- break;
97
-
98
- case 'warn':
99
- const warningCount = db.incrementWarning(chatId, sender);
100
- if (warningCount >= maxWarnings) {
101
- try {
102
- await sock.groupParticipantsUpdate(chatId, [sender], 'remove');
103
- db.resetWarning(chatId, sender);
104
- await sock.sendMessage(chatId, {
105
- text: `*${botName}*\n@${username} kicked after ${maxWarnings} warnings!\nLinks not allowed.`,
106
- mentions: [sender],
107
- }, { quoted: fake });
108
- } catch {}
109
- } else {
110
- await sock.sendMessage(chatId, {
111
- text: `*${botName}*\n@${username}, no links allowed!\nWarning ${warningCount}/${maxWarnings}`,
112
- mentions: [sender],
113
- }, { quoted: fake });
114
- }
115
- break;
116
-
117
- case 'kick':
118
- try {
119
- await sock.groupParticipantsUpdate(chatId, [sender], 'remove');
120
- await sock.sendMessage(chatId, {
121
- text: `*${botName}*\n@${username} kicked for posting links.`,
122
- mentions: [sender],
123
- }, { quoted: fake });
124
- } catch (err) {
125
- console.error('Failed to kick user:', err.message);
126
- }
127
- break;
128
- }
129
- } catch (err) {
130
- console.error('Error in handleAntiLinkDetection:', err.message, 'Line:', err.stack?.split('\n')[1]);
131
- }
132
- }
133
-
134
- async function handleAntilinkCommand(sock, chatId, userMessage, senderId, isSenderAdmin) {
135
- try {
136
- const text = typeof userMessage === 'string' ? userMessage :
137
- (userMessage?.message?.conversation ||
138
- userMessage?.message?.extendedTextMessage?.text || '');
139
-
140
- const parts = text.trim().split(/\s+/);
141
- const subCmd = parts[1]?.toLowerCase();
142
- const botName = getBotName();
143
- const fake = createFakeContact(senderId);
144
- const config = getGroupConfig(chatId, 'antilink') || { enabled: false, action: 'delete', maxWarnings: 3 };
145
-
146
- if (!subCmd || subCmd === 'help' || subCmd === 'status') {
147
- const helpText = `*${botName} ANTILINK*\n\n` +
148
- `Status: ${config.enabled ? 'ON' : 'OFF'}\n` +
149
- `Action: ${config.action || 'delete'}\n` +
150
- `Max Warnings: ${config.maxWarnings || 3}\n\n` +
151
- `*Commands:*\n` +
152
- `.antilink on - Enable\n` +
153
- `.antilink off - Disable\n` +
154
- `.antilink delete - Set action to delete only\n` +
155
- `.antilink warn - Set action to warn (max = kick)\n` +
156
- `.antilink kick - Set action to delete & kick\n` +
157
- `.antilink setwarn <num> - Set max warnings\n` +
158
- `.antilink status - Show status`;
159
- await sock.sendMessage(chatId, { text: helpText }, { quoted: fake });
160
- return;
161
- }
162
-
163
- if (subCmd === 'setwarn') {
164
- const num = parseInt(parts[2]);
165
- if (num > 0 && num <= 10) {
166
- const newConfig = { ...config, maxWarnings: num };
167
- setGroupConfig(chatId, 'antilink', newConfig);
168
- await sock.sendMessage(chatId, {
169
- text: `*${botName}*\nMax warnings set to: ${num}`
170
- }, { quoted: fake });
171
- } else {
172
- await sock.sendMessage(chatId, {
173
- text: `*${botName}*\nInvalid number! Use 1-10`
174
- }, { quoted: fake });
175
- }
176
- return;
177
- }
178
-
179
- let newConfig = { ...config };
180
- let responseText = '';
181
-
182
- if (subCmd === 'on' || subCmd === 'enable') {
183
- newConfig.enabled = true;
184
- responseText = `*${botName}*\nAntiLink ENABLED\nAction: ${newConfig.action || 'delete'}`;
185
- } else if (subCmd === 'off' || subCmd === 'disable') {
186
- newConfig.enabled = false;
187
- responseText = `*${botName}*\nAntiLink DISABLED`;
188
- } else if (subCmd === 'delete' || subCmd === 'del') {
189
- newConfig.action = 'delete';
190
- newConfig.enabled = true;
191
- responseText = `*${botName}*\nAntiLink action set to: DELETE\nLinks will be deleted.`;
192
- } else if (subCmd === 'warn' || subCmd === 'warning') {
193
- newConfig.action = 'warn';
194
- newConfig.enabled = true;
195
- responseText = `*${botName}*\nAntiLink action set to: WARN\n${newConfig.maxWarnings || 3} warnings = kick.`;
196
- } else if (subCmd === 'kick' || subCmd === 'boot') {
197
- newConfig.action = 'kick';
198
- newConfig.enabled = true;
199
- responseText = `*${botName}*\nAntiLink action set to: KICK\nLink senders will be removed immediately.`;
200
- } else {
201
- responseText = `*${botName}*\nInvalid option: "${subCmd}"\nUse: on, off, delete, warn, kick`;
202
- }
203
-
204
- if (responseText && !responseText.includes('Invalid')) {
205
- setGroupConfig(chatId, 'antilink', newConfig);
206
- }
207
-
208
- await sock.sendMessage(chatId, { text: responseText }, { quoted: fake });
209
-
210
- } catch (error) {
211
- console.error('Error in handleAntilinkCommand:', error.message, 'Line:', error.stack?.split('\n')[1]);
212
- const botName = getBotName();
213
- await sock.sendMessage(chatId, {
214
- text: `*${botName}*\nFailed to configure antilink!`
215
- });
216
- }
217
- }
218
-
219
- async function getAntilink(groupId) {
220
- return getGroupConfig(groupId, 'antilink');
221
- }
222
-
223
- async function setAntilink(groupId, type, action) {
224
- const config = {
225
- enabled: type === 'on' || type === 'delete' || type === 'kick' || type === 'warn',
226
- action: action || 'delete'
227
- };
228
- setGroupConfig(groupId, 'antilink', config);
229
- return true;
230
- }
231
-
232
- module.exports = {
233
- handleAntiLinkDetection,
234
- handleAntilinkCommand,
235
- getAntilink,
236
- setAntilink
237
- };
1
+ const _0x55e3c3=_0x52df;function _0x52df(_0x844de2,_0x3fda32){_0x844de2=_0x844de2-(0x18b*-0x19+0x16ef+-0x259*-0x7);const _0x57ebe2=_0x35cc();let _0x2586ea=_0x57ebe2[_0x844de2];if(_0x52df['hHdYeO']===undefined){var _0x4152f1=function(_0x5e5f93){const _0x29fcbc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c434f='',_0x583fc3='';for(let _0x1a2537=0x193f+-0x5f+0x8*-0x31c,_0x3eb267,_0x1a3529,_0x516c49=0x168f+-0x1*0x1d23+0x694*0x1;_0x1a3529=_0x5e5f93['charAt'](_0x516c49++);~_0x1a3529&&(_0x3eb267=_0x1a2537%(0x427*-0x1+0xa49+0x57*-0x12)?_0x3eb267*(0x509*-0x7+0x20c5+0x2ba*0x1)+_0x1a3529:_0x1a3529,_0x1a2537++%(-0x4*0x35f+-0x17b0+-0x88*-0x46))?_0x1c434f+=String['fromCharCode'](-0x5*0x78b+-0x2227+-0x17*-0x32b&_0x3eb267>>(-(-0x8b*0xd+-0x132f+-0x348*-0x8)*_0x1a2537&-0x7ad+0xc1*0x2d+-0x1a3a)):0x2579+0x8*-0x4a7+-0x41){_0x1a3529=_0x29fcbc['indexOf'](_0x1a3529);}for(let _0x3c53bc=0x1d9d+0x2*-0x65e+-0x95*0x1d,_0x64fd9b=_0x1c434f['length'];_0x3c53bc<_0x64fd9b;_0x3c53bc++){_0x583fc3+='%'+('00'+_0x1c434f['charCodeAt'](_0x3c53bc)['toString'](0x3*0x243+-0x1*0x23ed+0x1d34))['slice'](-(-0x308+-0x137d*0x2+-0x1*-0x2a04));}return decodeURIComponent(_0x583fc3);};_0x52df['PJicov']=_0x4152f1,_0x52df['ixDjzk']={},_0x52df['hHdYeO']=!![];}const _0x1d9a16=_0x57ebe2[0x1268+0x3*-0x88+-0x434*0x4],_0x417296=_0x844de2+_0x1d9a16,_0x3449b2=_0x52df['ixDjzk'][_0x417296];return!_0x3449b2?(_0x2586ea=_0x52df['PJicov'](_0x2586ea),_0x52df['ixDjzk'][_0x417296]=_0x2586ea):_0x2586ea=_0x3449b2,_0x2586ea;}(function(_0x12d3dc,_0x423169){const _0x282a1d=_0x52df,_0x3f2094=_0x12d3dc();while(!![]){try{const _0x3176d3=-parseInt(_0x282a1d(0x140))/(-0xf7*-0x1e+-0x16bc+0x635*-0x1)+parseInt(_0x282a1d(0xec))/(0x894+-0x736+0x6*-0x3a)+parseInt(_0x282a1d(0x115))/(-0x4*0x135+0x1215+-0x2a6*0x5)*(-parseInt(_0x282a1d(0x124))/(0x248+0x36*-0x88+0x1a6c))+parseInt(_0x282a1d(0x10d))/(-0x2126+-0x41*0x8b+-0xb69*-0x6)*(-parseInt(_0x282a1d(0x13d))/(-0x727*0x1+-0x19ce+0x1*0x20fb))+parseInt(_0x282a1d(0x150))/(-0x13d*-0x1d+0x4fe+0x1b4*-0x18)*(-parseInt(_0x282a1d(0x109))/(-0x1*0x1b54+-0x2364+0x1f6*0x20))+parseInt(_0x282a1d(0x107))/(-0x20fb+-0x1e98+0x3f9c)+parseInt(_0x282a1d(0x156))/(0x1b72+0x1*0xb36+0x134f*-0x2)*(parseInt(_0x282a1d(0x133))/(-0x26c4+0x351*0x6+0x1*0x12e9));if(_0x3176d3===_0x423169)break;else _0x3f2094['push'](_0x3f2094['shift']());}catch(_0x5a4dd2){_0x3f2094['push'](_0x3f2094['shift']());}}}(_0x35cc,-0x4dda0+0x10*-0x69e2+0xee8f1));function _0x35cc(){const _0x4de817=['yxrH','rxjYB3iGAw4GAa','cKXPBMTZig5VDa','DgvTCgXHDgvcDq','DhjPBq','yM9VDa','ig9MzIWGzgvSzq','y2fWDgLVBG','D2fYBG','y3rLzcbMCM9Tia','BNvTyMvYisbvCW','ihn1zg8SihnRAq','BgLZDfjLC3bVBG','CIbWB3n0Aw5Nia','igfSBg93zwqHcG','zxrLzc4','yMfZzs9Zzxr0Aq','cKXPBMSGC2vUza','zsaXlteW','A2LJAW','mZe1nJGWnhPWvND4uq','BgLUA3mU','mJK5odq1nKXjBhDsvG','C3bSAxq','Cg9UC2vnzxnZyq','qhmUD2HHDhnHCa','nwvNzuz3uW','C3rHDhvZic0GuW','zsbYzw1VDMvKia','C3vIC3rYAw5N','kGPa','BwvZC2fNzq','qwn0Aw9UoIa','tgLUztO','nta2nZnArw9yvgm','C2v0D2fYBG','A2LJAYb1C2vYoG','yxrL','z3jVDxbnzxrHza','DMLKzw9nzxnZyq','Dcb0BZOGv0fstG','A2LJAWO','igfSBg93zwqU','z3mk','B24GlsbfBMfIBa','zxjYB3i','Aw1Hz2vnzxnZyq','Cc5Uzxq','DgL0Bgu','ndb1BKD6rgS','ierju0fcteve','v2fYBMLUzYa','psbRAwnRlG','y29UDMvYC2f0Aq','igfJDgLVBIbZzq','BNrHy3q','DgvZDa','yMXLcG','C2v0D2fYBIa8BG','kGPbBNrPtgLUAW','zw5HyMXL','B246','y3rPB246ia','DcbHzg1PBIWGCW','mJuZDfrlDKXQ','zMLUza','kGPnyxGGD2fYBG','yw50AwXPBMS','zxjZihDPBgWGyG','Bwf4v2fYBMLUzW','Bg9N','Aw5Rrgv0zwn0Aq','C3rHy2S','igfKBwLUlcbZAW','mZC0ndu0BM9Mrfvt','lMfUDgLSAw5Ria','lcbUBYbSAw5RCW','mJuYmtK2quL4AwjL','DhrVBLjLCgX5tq','zxH0zw5Kzwruzq','yMfZzs9KyxrHyG','iGPvC2u6ig9Ula','zgvSzxrL','zxnZywDL','iezHAwXLzcb0BW','zg9JDw1LBNrnzq','C3rHDhvZ','C2vSzwn0zwreAq','Aw5NCYbZzxqGDa','iejVDcbPCYbUBW','CgfYDgLJAxbHBG','sw52ywXPza','ievoqujmruqkqq','n25lC2jWAW','lI4VlI4Vrgf0yq','Dgv4Da','Ag93ihn0yxr1CW','zsbHBNrPBgLUAW','Dg9mB3DLCKnHCW','mJm3mZCWC3znv0XQ','DxnLCG','zgvSzxrLic0GuW','CMvTB3rLsMLK','DguSihDHCM4Sia','D2fYBIaTifnLDa','BZOG','C3rYAw5N','lI4VlI4Vzgf2zq','igTPy2TLzcbHzG','igfJDgLVBIb0BW','AgvSCa','B2zMic0GrgLZyq','Bwf4ihDHCM5PBG','Aw5Rq29TBwfUza','z3jVDxbqyxj0Aq','twvZC2fNzsbKzq','BgLIl2zHA2vdBW','EhrnzxnZywDL','ihDHCM4Gkg1HEa','igTPy2TLzcbMBW','Aw5JCMvTzw50vW','iefoveLmsu5lkG','A2v5','kKnVBw1HBMrZoG','t0zg','kGPjBNzHBgLKia','ifnLBMrLCIbPCW','yNv0Dg9UC1jLCW','yxnL','DgvYia','z3m6ia','C2vnzxnZywDL','C2vUze1LC3nHzW','BMDZu3rVCMu','y2LWyw50C1vWza','zxHWB3j0CW','qgCUDxm','ChbPBMC','rMfPBgvKihrVia','igLUia','C3bSyxLuzxH0','w0foveLmsu5lxq','Aw5JBhvKzxm','id0GA2LJAYKk','zw5HyMXLza','mZCYmZuYt3nLBvnc','ieXPBMSGzgv0zq','AxntDwrV','igrLBgv0zsaMia','CMvTB3zL','veuktgLUA3mGDW','ywn0Aw9U'];_0x35cc=function(){return _0x4de817;};return _0x35cc();}const {getGroupConfig,setGroupConfig,parseToggleCommand,parseActionCommand}=require(_0x55e3c3(0x151)+_0x55e3c3(0x103)+_0x55e3c3(0xe0)),db=require('../../Data'+_0x55e3c3(0x143)+_0x55e3c3(0xdb)),{createFakeContact,getBotName}=require(_0x55e3c3(0x15e)+_0x55e3c3(0xcf)+_0x55e3c3(0x12a));function normalizeJid(_0x5e5f93){const _0x726445=_0x52df;if(!_0x5e5f93)return'';const _0x29fcbc=_0x5e5f93[_0x726445(0x10a)]('@')[0xb2*-0x33+0x2279+0xfd]['split'](':')[0x169*0x1+-0x135+0x2*-0x1a];return _0x29fcbc+(_0x726445(0x10c)+_0x726445(0x122));}async function handleAntiLinkDetection(_0x1c434f,_0x583fc3){const _0x5e98e2=_0x52df;try{if(!_0x583fc3?.['message'])return;if(_0x583fc3['key']['fromMe'])return;if(!_0x583fc3['key'][_0x5e98e2(0x159)]?.['endsWith'](_0x5e98e2(0xe3)))return;const _0x1a2537=_0x583fc3[_0x5e98e2(0xd5)]['remoteJid'],_0x3eb267=_0x583fc3[_0x5e98e2(0xd5)]['participan'+'t']||_0x583fc3[_0x5e98e2(0xd5)][_0x5e98e2(0x159)],_0x1a3529=getGroupConfig(_0x1a2537,_0x5e98e2(0x136));if(!_0x1a3529?.[_0x5e98e2(0xeb)])return;let _0x516c49='';const _0x3c53bc=_0x583fc3[_0x5e98e2(0x112)];if(_0x3c53bc['conversati'+'on'])_0x516c49=_0x3c53bc[_0x5e98e2(0x128)+'on'];else{if(_0x3c53bc[_0x5e98e2(0x142)+_0x5e98e2(0xd0)]?.[_0x5e98e2(0x152)])_0x516c49=_0x3c53bc['extendedTe'+_0x5e98e2(0xd0)]['text'];else{if(_0x3c53bc[_0x5e98e2(0x121)+'ge']?.[_0x5e98e2(0xfa)])_0x516c49=_0x3c53bc[_0x5e98e2(0x121)+'ge'][_0x5e98e2(0xfa)];else{if(_0x3c53bc[_0x5e98e2(0x11a)+'ge']?.[_0x5e98e2(0xfa)])_0x516c49=_0x3c53bc[_0x5e98e2(0x11a)+'ge'][_0x5e98e2(0xfa)];else{if(_0x3c53bc[_0x5e98e2(0x148)+'ssage']?.['caption'])_0x516c49=_0x3c53bc[_0x5e98e2(0x148)+'ssage'][_0x5e98e2(0xfa)];else{if(_0x3c53bc['buttonsRes'+_0x5e98e2(0x10b)+'ge']?.[_0x5e98e2(0x14a)+_0x5e98e2(0xe7)])_0x516c49=_0x3c53bc[_0x5e98e2(0xda)+_0x5e98e2(0x10b)+'ge'][_0x5e98e2(0x14a)+_0x5e98e2(0xe7)];else{if(_0x3c53bc[_0x5e98e2(0xff)+_0x5e98e2(0xde)]?.[_0x5e98e2(0x123)])_0x516c49=_0x3c53bc[_0x5e98e2(0xff)+'seMessage'][_0x5e98e2(0x123)];else _0x3c53bc[_0x5e98e2(0xf6)+_0x5e98e2(0x141)+_0x5e98e2(0x146)]?.[_0x5e98e2(0x14a)+_0x5e98e2(0xe7)]&&(_0x516c49=_0x3c53bc[_0x5e98e2(0xf6)+_0x5e98e2(0x141)+'essage'][_0x5e98e2(0x14a)+'splayText']);}}}}}}const _0x64fd9b=/(https?:\/\/[^\s]+|www\.[^\s]+|bit\.ly\/[^\s]+|t\.me\/[^\s]+|chat\.whatsapp\.com\/[^\s]+|whatsapp\.com\/[^\s]+|youtu\.be\/[^\s]+|youtube\.com\/[^\s]+)/gi;if(!_0x64fd9b[_0x5e98e2(0x12b)](String(_0x516c49)[_0x5e98e2(0x155)+'e']()))return;console['log'](_0x5e98e2(0xe8)+_0x5e98e2(0xed)+_0x5e98e2(0xfc)+_0x3eb267+_0x5e98e2(0xe6)+_0x1a2537+':\x20\x22'+_0x516c49[_0x5e98e2(0x110)](0x1fe7*0x1+-0xbd+0x1f2a*-0x1,0x144e*0x1+-0xf1b+-0x4e3)+'\x22');let _0x1012bf;try{_0x1012bf=await _0x1c434f[_0x5e98e2(0x119)+_0x5e98e2(0xf3)](_0x1a2537);}catch(_0xf6466d){console[_0x5e98e2(0x120)](_0x5e98e2(0xe8)+_0x5e98e2(0x147)+'\x20fetch\x20gro'+'up\x20metadat'+'a:',_0xf6466d[_0x5e98e2(0x112)]);return;}const _0x49fafe=normalizeJid(_0x1c434f[_0x5e98e2(0x157)]['id']),_0x53f294=normalizeJid(_0x3eb267),_0xb778be=_0x1012bf[_0x5e98e2(0x14d)+'ts'][_0x5e98e2(0x134)](_0xbaba89=>normalizeJid(_0xbaba89['id'])===_0x49fafe||_0xbaba89['id']===_0x1c434f[_0x5e98e2(0x157)]?.['id']);if(_0xb778be&&!_0xb778be['admin']){console[_0x5e98e2(0x139)](_0x5e98e2(0xe8)+_0x5e98e2(0x14c)+_0x5e98e2(0x132)+'kipping');return;}const _0x242ab0=_0x1012bf[_0x5e98e2(0x14d)+'ts'][_0x5e98e2(0x134)](_0x2bd613=>normalizeJid(_0x2bd613['id'])===_0x53f294||_0x2bd613['id']===_0x3eb267);if(_0x242ab0?.['admin']){console[_0x5e98e2(0x139)](_0x5e98e2(0xe8)+'\x20Sender\x20is'+_0x5e98e2(0x13c)+'ipping');return;}if(db[_0x5e98e2(0xee)](_0x3eb267)||db[_0x5e98e2(0xee)](_0x53f294)){console[_0x5e98e2(0x139)](_0x5e98e2(0xe8)+_0x5e98e2(0xd9)+_0x5e98e2(0xfe)+_0x5e98e2(0xe4));return;}const _0x4d99c3=getBotName(),_0x25ba85=createFakeContact(_0x3eb267);await _0x1c434f[_0x5e98e2(0xdf)+'e'](_0x1a2537,{'delete':{'remoteJid':_0x1a2537,'fromMe':![],'id':_0x583fc3[_0x5e98e2(0xd5)]['id'],'participant':_0x3eb267}});const _0x1e11d0=_0x3eb267[_0x5e98e2(0x10a)]('@')[0x2520+-0xa1*0x1f+-0x11a1],_0x1c56e3=_0x1a3529[_0x5e98e2(0xf2)]||_0x5e98e2(0x145),_0x557ee1=_0x1a3529[_0x5e98e2(0x138)+'s']||-0x2227+0xa63+-0x3*-0x7ed;switch(_0x1c56e3){case _0x5e98e2(0x145):await _0x1c434f['sendMessag'+'e'](_0x1a2537,{'text':'*'+_0x4d99c3+_0x5e98e2(0x111)+_0x1e11d0+(_0x5e98e2(0x13f)+_0x5e98e2(0x101)+_0x5e98e2(0xce)+'leted.'),'mentions':[_0x3eb267]},{'quoted':_0x25ba85});break;case _0x5e98e2(0xfb):const _0x15f6a9=db[_0x5e98e2(0xd3)+'arning'](_0x1a2537,_0x3eb267);if(_0x15f6a9>=_0x557ee1)try{await _0x1c434f[_0x5e98e2(0xcd)+_0x5e98e2(0xe1)+'ate'](_0x1a2537,[_0x3eb267],_0x5e98e2(0xf0)),db['resetWarni'+'ng'](_0x1a2537,_0x3eb267),await _0x1c434f[_0x5e98e2(0xdf)+'e'](_0x1a2537,{'text':'*'+_0x4d99c3+'*\x0a@'+_0x1e11d0+(_0x5e98e2(0x15f)+_0x5e98e2(0xdc))+_0x557ee1+('\x20warnings!'+_0x5e98e2(0xf5)+_0x5e98e2(0x11d)),'mentions':[_0x3eb267]},{'quoted':_0x25ba85});}catch{}else await _0x1c434f['sendMessag'+'e'](_0x1a2537,{'text':'*'+_0x4d99c3+_0x5e98e2(0x111)+_0x1e11d0+(_0x5e98e2(0x13f)+'\x20allowed!\x0a'+_0x5e98e2(0x126))+_0x15f6a9+'/'+_0x557ee1,'mentions':[_0x3eb267]},{'quoted':_0x25ba85});break;case _0x5e98e2(0x106):try{await _0x1c434f[_0x5e98e2(0xcd)+_0x5e98e2(0xe1)+_0x5e98e2(0x118)](_0x1a2537,[_0x3eb267],'remove'),await _0x1c434f[_0x5e98e2(0xdf)+'e'](_0x1a2537,{'text':'*'+_0x4d99c3+'*\x0a@'+_0x1e11d0+(_0x5e98e2(0xd2)+_0x5e98e2(0x100)+_0x5e98e2(0x108)),'mentions':[_0x3eb267]},{'quoted':_0x25ba85});}catch(_0xda4991){console[_0x5e98e2(0x120)](_0x5e98e2(0xe5)+_0x5e98e2(0x117),_0xda4991['message']);}break;}}catch(_0x4f2ba0){console[_0x5e98e2(0x120)](_0x5e98e2(0xf4)+'andleAntiL'+_0x5e98e2(0x13a)+_0x5e98e2(0x130),_0x4f2ba0['message'],_0x5e98e2(0x114),_0x4f2ba0[_0x5e98e2(0x13b)]?.[_0x5e98e2(0x10a)]('\x0a')[-0x8b*0xd+-0x132f+-0x1a3f*-0x1]);}}async function handleAntilinkCommand(_0x3b7240,_0x58fab6,_0x5ccbe2,_0x36b7a0,_0x557158){const _0x5458c0=_0x52df;try{const _0x4c0913=typeof _0x5ccbe2===_0x5458c0(0x15d)?_0x5ccbe2:_0x5ccbe2?.['message']?.[_0x5458c0(0x128)+'on']||_0x5ccbe2?.[_0x5458c0(0x112)]?.[_0x5458c0(0x142)+_0x5458c0(0xd0)]?.[_0x5458c0(0x152)]||'',_0x194a29=_0x4c0913[_0x5458c0(0xf7)]()[_0x5458c0(0x10a)](/\s+/),_0x4239a9=_0x194a29[-0x7ad+0xc1*0x2d+-0x1a3f]?.[_0x5458c0(0x155)+'e'](),_0x1861db=getBotName(),_0x9e8d0e=createFakeContact(_0x36b7a0),_0x5442bb=getGroupConfig(_0x58fab6,_0x5458c0(0x136))||{'enabled':![],'action':_0x5458c0(0x145),'maxWarnings':0x3};if(!_0x4239a9||_0x4239a9===_0x5458c0(0x161)||_0x4239a9===_0x5458c0(0x149)){const _0x24cdc9='*'+_0x1861db+(_0x5458c0(0xd4)+'\x0a\x0a')+('Status:\x20'+(_0x5442bb['enabled']?'ON':_0x5458c0(0xd7))+'\x0a')+(_0x5458c0(0x113)+(_0x5442bb[_0x5458c0(0xf2)]||_0x5458c0(0x145))+'\x0a')+('Max\x20Warnin'+_0x5458c0(0xdd)+(_0x5442bb['maxWarning'+'s']||0x2579+0x8*-0x4a7+-0x3e)+'\x0a\x0a')+(_0x5458c0(0xd6)+'*\x0a')+('.antilink\x20'+_0x5458c0(0x11f)+'e\x0a')+(_0x5458c0(0x13e)+_0x5458c0(0x162)+_0x5458c0(0x12c))+('.antilink\x20'+_0x5458c0(0x158)+'et\x20action\x20'+'to\x20delete\x20'+'only\x0a')+(_0x5458c0(0x13e)+_0x5458c0(0x15b)+_0x5458c0(0x160)+_0x5458c0(0xd1)+_0x5458c0(0xea))+(_0x5458c0(0x13e)+'kick\x20-\x20Set'+_0x5458c0(0x160)+_0x5458c0(0xef)+_0x5458c0(0x11c))+(_0x5458c0(0x13e)+_0x5458c0(0x12d)+'um>\x20-\x20Set\x20'+_0x5458c0(0xcb)+_0x5458c0(0x11e))+(_0x5458c0(0x13e)+_0x5458c0(0x10e)+_0x5458c0(0x153));await _0x3b7240[_0x5458c0(0xdf)+'e'](_0x58fab6,{'text':_0x24cdc9},{'quoted':_0x9e8d0e});return;}if(_0x4239a9===_0x5458c0(0x116)){const _0x9d6ba2=parseInt(_0x194a29[0x1d9d+0x2*-0x65e+-0x269*0x7]);if(_0x9d6ba2>0x3*0x243+-0x1*0x23ed+0x1d24&&_0x9d6ba2<=-0x308+-0x137d*0x2+-0x3*-0xe04){const _0x442ff1={..._0x5442bb,'maxWarnings':_0x9d6ba2};setGroupConfig(_0x58fab6,'antilink',_0x442ff1),await _0x3b7240['sendMessag'+'e'](_0x58fab6,{'text':'*'+_0x1861db+(_0x5458c0(0x135)+_0x5458c0(0x14b)+_0x5458c0(0x15c))+_0x9d6ba2},{'quoted':_0x9e8d0e});}else await _0x3b7240[_0x5458c0(0xdf)+'e'](_0x58fab6,{'text':'*'+_0x1861db+(_0x5458c0(0xd8)+_0x5458c0(0xfd)+_0x5458c0(0x105))},{'quoted':_0x9e8d0e});return;}let _0x1c8cd1={..._0x5442bb},_0x40364a='';if(_0x4239a9==='on'||_0x4239a9===_0x5458c0(0x12f))_0x1c8cd1[_0x5458c0(0xeb)]=!![],_0x40364a='*'+_0x1861db+(_0x5458c0(0x12e)+_0x5458c0(0x14f)+_0x5458c0(0x131))+(_0x1c8cd1['action']||_0x5458c0(0x145));else{if(_0x4239a9==='off'||_0x4239a9==='disable')_0x1c8cd1[_0x5458c0(0xeb)]=![],_0x40364a='*'+_0x1861db+('*\x0aAntiLink'+_0x5458c0(0x125));else{if(_0x4239a9===_0x5458c0(0x145)||_0x4239a9==='del')_0x1c8cd1['action']=_0x5458c0(0x145),_0x1c8cd1[_0x5458c0(0xeb)]=!![],_0x40364a='*'+_0x1861db+(_0x5458c0(0x12e)+'\x20action\x20se'+'t\x20to:\x20DELE'+_0x5458c0(0xf1)+'ill\x20be\x20del'+_0x5458c0(0x102));else{if(_0x4239a9==='warn'||_0x4239a9==='warning')_0x1c8cd1['action']=_0x5458c0(0xfb),_0x1c8cd1[_0x5458c0(0xeb)]=!![],_0x40364a='*'+_0x1861db+(_0x5458c0(0x12e)+_0x5458c0(0x129)+_0x5458c0(0x11b)+'\x0a')+(_0x1c8cd1[_0x5458c0(0x138)+'s']||0x1268+0x3*-0x88+-0xfd*0x11)+('\x20warnings\x20'+_0x5458c0(0x127));else _0x4239a9===_0x5458c0(0x106)||_0x4239a9===_0x5458c0(0xf8)?(_0x1c8cd1[_0x5458c0(0xf2)]=_0x5458c0(0x106),_0x1c8cd1[_0x5458c0(0xeb)]=!![],_0x40364a='*'+_0x1861db+(_0x5458c0(0x12e)+_0x5458c0(0x129)+'t\x20to:\x20KICK'+_0x5458c0(0x104)+_0x5458c0(0x137)+_0x5458c0(0x10f)+'immediatel'+'y.')):_0x40364a='*'+_0x1861db+(_0x5458c0(0xd8)+'option:\x20\x22')+_0x4239a9+(_0x5458c0(0x144)+_0x5458c0(0xf9)+_0x5458c0(0x15a)+_0x5458c0(0x106));}}}_0x40364a&&!_0x40364a[_0x5458c0(0xe9)](_0x5458c0(0x14e))&&setGroupConfig(_0x58fab6,_0x5458c0(0x136),_0x1c8cd1),await _0x3b7240[_0x5458c0(0xdf)+'e'](_0x58fab6,{'text':_0x40364a},{'quoted':_0x9e8d0e});}catch(_0x3f342c){console[_0x5458c0(0x120)](_0x5458c0(0xf4)+'andleAntil'+_0x5458c0(0xcc)+':',_0x3f342c[_0x5458c0(0x112)],_0x5458c0(0x114),_0x3f342c[_0x5458c0(0x13b)]?.['split']('\x0a')[-0xc*0x2b1+-0xf*-0xe2+0x1*0x130f]);const _0x9bbe9c=getBotName();await _0x3b7240[_0x5458c0(0xdf)+'e'](_0x58fab6,{'text':'*'+_0x9bbe9c+('*\x0aFailed\x20t'+'o\x20configur'+_0x5458c0(0x154)+'!')});}}async function getAntilink(_0x4c7072){const _0x1c3634=_0x52df;return getGroupConfig(_0x4c7072,_0x1c3634(0x136));}async function setAntilink(_0x2ced5c,_0x307617,_0x5db7fd){const _0x5e6ba0=_0x52df,_0x31790c={'enabled':_0x307617==='on'||_0x307617===_0x5e6ba0(0x145)||_0x307617===_0x5e6ba0(0x106)||_0x307617===_0x5e6ba0(0xfb),'action':_0x5db7fd||_0x5e6ba0(0x145)};return setGroupConfig(_0x2ced5c,_0x5e6ba0(0x136),_0x31790c),!![];}module[_0x55e3c3(0xe2)]={'handleAntiLinkDetection':handleAntiLinkDetection,'handleAntilinkCommand':handleAntilinkCommand,'getAntilink':getAntilink,'setAntilink':setAntilink};
@@ -1,143 +1 @@
1
- const { getGroupConfig, setGroupConfig, parseToggleCommand, parseActionCommand } = require('../../Database/settingsStore');
2
- const db = require('../../Database/database');
3
- const isAdmin = require('../../davelib/isAdmin');
4
- const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
5
-
6
- async function antimentionCommand(sock, chatId, message, senderId) {
7
- try {
8
- const fake = createFakeContact(senderId);
9
- const botName = getBotName();
10
-
11
- const { isSenderAdmin } = await isAdmin(sock, chatId, senderId);
12
-
13
- if (!isSenderAdmin && !message.key.fromMe && !db.isSudo(senderId)) {
14
- await sock.sendMessage(chatId, { text: `*${botName}*\nAdmin only command!` }, { quoted: fake });
15
- return;
16
- }
17
-
18
- const text = message.message?.conversation || message.message?.extendedTextMessage?.text || '';
19
- const args = text.trim().split(' ').slice(1);
20
- const action = args[0]?.toLowerCase();
21
-
22
- const config = getGroupConfig(chatId, 'antimention') || { enabled: false, action: 'delete', maxMentions: 5 };
23
-
24
- if (!action) {
25
- const helpText = `*${botName} ANTIMENTION*\n\n` +
26
- `Status: ${config.enabled ? 'ON' : 'OFF'}\n` +
27
- `Action: ${config.action || 'delete'}\n` +
28
- `Max Mentions: ${config.maxMentions || 5}\n\n` +
29
- `*Commands:*\n` +
30
- `.antimention on - Enable\n` +
31
- `.antimention off - Disable\n` +
32
- `.antimention delete - Delete messages\n` +
33
- `.antimention warn - Warn user\n` +
34
- `.antimention kick - Kick user\n` +
35
- `.antimention max <num> - Set max mentions`;
36
- await sock.sendMessage(chatId, { text: helpText }, { quoted: fake });
37
- return;
38
- }
39
-
40
- let newConfig = { ...config };
41
- let responseText = '';
42
-
43
- const toggle = parseToggleCommand(action);
44
- if (toggle === 'on') {
45
- newConfig.enabled = true;
46
- responseText = `*${botName}*\nAntimention ENABLED`;
47
- } else if (toggle === 'off') {
48
- newConfig.enabled = false;
49
- responseText = `*${botName}*\nAntimention DISABLED`;
50
- } else {
51
- const parsedAction = parseActionCommand(action);
52
- if (parsedAction === 'delete' || parsedAction === 'warn' || parsedAction === 'kick') {
53
- newConfig.action = parsedAction;
54
- newConfig.enabled = true;
55
- responseText = `*${botName}*\nAntimention action: ${parsedAction.toUpperCase()}`;
56
- } else if (action === 'max' && args[1]) {
57
- const max = parseInt(args[1]);
58
- if (max >= 1 && max <= 20) {
59
- newConfig.maxMentions = max;
60
- responseText = `*${botName}*\nMax mentions set to ${max}`;
61
- } else {
62
- responseText = `*${botName}*\nMax mentions must be 1-20`;
63
- }
64
- } else {
65
- responseText = `*${botName}*\nInvalid command! Use: on, off, delete, warn, kick, max`;
66
- }
67
- }
68
-
69
- if (responseText && !responseText.includes('Invalid') && !responseText.includes('must be')) {
70
- setGroupConfig(chatId, 'antimention', newConfig);
71
- }
72
-
73
- await sock.sendMessage(chatId, { text: responseText }, { quoted: fake });
74
- } catch (error) {
75
- console.error('Error in antimention command:', error.message, 'Line:', error.stack?.split('\n')[1]);
76
- }
77
- }
78
-
79
- async function handleMentionDetection(sock, chatId, message, senderId) {
80
- try {
81
- if (!chatId.endsWith('@g.us')) return;
82
-
83
- const config = getGroupConfig(chatId, 'antimention');
84
- if (!config?.enabled) return;
85
-
86
- const { isSenderAdmin, isBotAdmin } = await isAdmin(sock, chatId, senderId);
87
- if (!isBotAdmin) return;
88
- if (isSenderAdmin) return;
89
- if (db.isSudo(senderId)) return;
90
-
91
- const mentionedJids = message.message?.extendedTextMessage?.contextInfo?.mentionedJid || [];
92
- const maxMentions = config.maxMentions || 5;
93
-
94
- if (mentionedJids.length <= maxMentions) return;
95
-
96
- const botName = getBotName();
97
- const userTag = `@${senderId.split('@')[0]}`;
98
-
99
- try {
100
- await sock.sendMessage(chatId, {
101
- delete: {
102
- remoteJid: chatId,
103
- fromMe: false,
104
- id: message.key.id,
105
- participant: senderId
106
- }
107
- });
108
- } catch (e) {
109
- console.error('Antimention delete failed:', e.message, 'Line:', e.stack?.split('\n')[1]);
110
- return;
111
- }
112
-
113
- if (config.action === 'kick') {
114
- await sock.sendMessage(chatId, {
115
- text: `*${botName}*\n${userTag} kicked for mass mentioning.`,
116
- mentions: [senderId]
117
- });
118
- await sock.groupParticipantsUpdate(chatId, [senderId], 'remove');
119
- } else if (config.action === 'warn') {
120
- const warnings = db.incrementWarning(chatId, senderId);
121
- await sock.sendMessage(chatId, {
122
- text: `*${botName}*\n${userTag}, too many mentions!\nWarning ${warnings}/3`,
123
- mentions: [senderId]
124
- });
125
- if (warnings >= 3) {
126
- await sock.groupParticipantsUpdate(chatId, [senderId], 'remove');
127
- db.resetWarning(chatId, senderId);
128
- }
129
- } else {
130
- await sock.sendMessage(chatId, {
131
- text: `*${botName}*\n${userTag}, max ${maxMentions} mentions allowed!`,
132
- mentions: [senderId]
133
- });
134
- }
135
- } catch (error) {
136
- console.error('Error in antimention detection:', error.message, 'Line:', error.stack?.split('\n')[1]);
137
- }
138
- }
139
-
140
- module.exports = {
141
- antimentionCommand,
142
- handleMentionDetection
143
- };
1
+ const _0x5658ba=_0x528e;(function(_0x4e2fa0,_0x231447){const _0x50ea3b=_0x528e,_0x9194ef=_0x4e2fa0();while(!![]){try{const _0x3bf6a3=parseInt(_0x50ea3b(0xcc))/(-0x3*-0x39+0x1ba3+0x5a9*-0x5)*(parseInt(_0x50ea3b(0x9a))/(0x5*0x1f1+-0x38b*0x7+0xf1a))+parseInt(_0x50ea3b(0xcf))/(0x1*-0x21e5+0x24a4+-0x46*0xa)*(-parseInt(_0x50ea3b(0x81))/(0x1*-0x1e7c+0x60b+0x1875))+-parseInt(_0x50ea3b(0x95))/(0x699+0x18af+-0x97*0x35)+parseInt(_0x50ea3b(0xac))/(0x22ab+-0x2090+-0x215*0x1)*(parseInt(_0x50ea3b(0xa9))/(-0x7*0x85+0x94b+-0x5a1))+parseInt(_0x50ea3b(0x7e))/(0x13a4+-0x7*-0x47d+-0x3307)+-parseInt(_0x50ea3b(0x98))/(-0xd4*-0x19+0xc9c*0x1+0x2147*-0x1)*(-parseInt(_0x50ea3b(0xaa))/(-0x1c5f+0x1ee0+-0x1*0x277))+-parseInt(_0x50ea3b(0xa0))/(-0x23c0+-0x18*-0x15d+0x313);if(_0x3bf6a3===_0x231447)break;else _0x9194ef['push'](_0x9194ef['shift']());}catch(_0x340c0f){_0x9194ef['push'](_0x9194ef['shift']());}}}(_0x26d6,-0xfa1*-0xdf+0x2*0x9028d+-0x44be5*0x5));const {getGroupConfig,setGroupConfig,parseToggleCommand,parseActionCommand}=require(_0x5658ba(0x97)+'base/setti'+_0x5658ba(0xc3)),db=require(_0x5658ba(0x97)+'base/datab'+_0x5658ba(0xa2)),isAdmin=require('../../dave'+'lib/isAdmi'+'n'),{createFakeContact,getBotName}=require('../../dave'+_0x5658ba(0xa6)+_0x5658ba(0xaf));function _0x528e(_0x21ba8e,_0x3936d5){_0x21ba8e=_0x21ba8e-(0x1ecd+0x85*-0x31+-0x4db);const _0x42ecab=_0x26d6();let _0x1b496d=_0x42ecab[_0x21ba8e];if(_0x528e['ZlXvMJ']===undefined){var _0x557690=function(_0x134ff0){const _0x1cef55='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1258fc='',_0x51f93f='';for(let _0x23ba17=-0xbba+-0x7*0x269+0x1c99,_0x2c8f0f,_0x3b0f17,_0x407a88=-0x6e9+-0x173b+0x1e24;_0x3b0f17=_0x134ff0['charAt'](_0x407a88++);~_0x3b0f17&&(_0x2c8f0f=_0x23ba17%(-0xa7e+-0x2ea*-0xa+0xa*-0x1dd)?_0x2c8f0f*(-0x483+-0x4*-0x425+-0xbd1)+_0x3b0f17:_0x3b0f17,_0x23ba17++%(-0x617+0x93c+0x9*-0x59))?_0x1258fc+=String['fromCharCode'](0x26d4+0x23a5+-0x497a&_0x2c8f0f>>(-(0x4*-0x683+-0x9*-0x16e+0x4*0x34c)*_0x23ba17&-0x1*-0xcfb+-0x1*-0x166d+0x2*-0x11b1)):-0x733*-0x1+0x1cd4+-0x1*0x2407){_0x3b0f17=_0x1cef55['indexOf'](_0x3b0f17);}for(let _0x5bc7bf=-0x21d8+0x1c8d*-0x1+0x3e65,_0x24a574=_0x1258fc['length'];_0x5bc7bf<_0x24a574;_0x5bc7bf++){_0x51f93f+='%'+('00'+_0x1258fc['charCodeAt'](_0x5bc7bf)['toString'](-0x159*-0x14+-0x52*-0x4d+-0x19c7*0x2))['slice'](-(0x1a47+-0x84c+-0x11f9));}return decodeURIComponent(_0x51f93f);};_0x528e['pOZGSn']=_0x557690,_0x528e['UlmUUX']={},_0x528e['ZlXvMJ']=!![];}const _0x3ed6eb=_0x42ecab[0x1ec1*-0x1+-0x19a*-0xe+0x1b*0x4f],_0x5d1a41=_0x21ba8e+_0x3ed6eb,_0x4e4529=_0x528e['UlmUUX'][_0x5d1a41];return!_0x4e4529?(_0x1b496d=_0x528e['pOZGSn'](_0x1b496d),_0x528e['UlmUUX'][_0x5d1a41]=_0x1b496d):_0x1b496d=_0x4e4529,_0x1b496d;}async function antimentionCommand(_0x134ff0,_0x1cef55,_0x1258fc,_0x51f93f){const _0x50db7b=_0x528e;try{const _0x23ba17=createFakeContact(_0x51f93f),_0x2c8f0f=getBotName(),{isSenderAdmin:_0x3b0f17}=await isAdmin(_0x134ff0,_0x1cef55,_0x51f93f);if(!_0x3b0f17&&!_0x1258fc[_0x50db7b(0x86)][_0x50db7b(0xc2)]&&!db['isSudo'](_0x51f93f)){await _0x134ff0['sendMessag'+'e'](_0x1cef55,{'text':'*'+_0x2c8f0f+(_0x50db7b(0x84)+_0x50db7b(0xd4)+'!')},{'quoted':_0x23ba17});return;}const _0x407a88=_0x1258fc[_0x50db7b(0xbd)]?.[_0x50db7b(0xcb)+'on']||_0x1258fc[_0x50db7b(0xbd)]?.[_0x50db7b(0xb9)+'xtMessage']?.[_0x50db7b(0x92)]||'',_0x5bc7bf=_0x407a88[_0x50db7b(0xbf)]()[_0x50db7b(0xce)]('\x20')['slice'](-0xb25+-0x829+0x134f),_0x24a574=_0x5bc7bf[-0x2043+-0x1a5*0x11+-0xbc*-0x52]?.['toLowerCas'+'e'](),_0x1b8564=getGroupConfig(_0x1cef55,_0x50db7b(0xa7)+'n')||{'enabled':![],'action':_0x50db7b(0x8e),'maxMentions':0x5};if(!_0x24a574){const _0x1c79cc='*'+_0x2c8f0f+(_0x50db7b(0xbb)+_0x50db7b(0xc7))+('Status:\x20'+(_0x1b8564[_0x50db7b(0xa5)]?'ON':'OFF')+'\x0a')+('Action:\x20'+(_0x1b8564[_0x50db7b(0x9d)]||_0x50db7b(0x8e))+'\x0a')+(_0x50db7b(0x83)+'ns:\x20'+(_0x1b8564[_0x50db7b(0xb6)+'s']||0x47+-0xb*-0x105+-0x21*0x59)+'\x0a\x0a')+(_0x50db7b(0x7f)+'*\x0a')+(_0x50db7b(0xd6)+_0x50db7b(0xc6)+_0x50db7b(0x94))+(_0x50db7b(0xd6)+_0x50db7b(0x88)+_0x50db7b(0x80))+(_0x50db7b(0xd6)+_0x50db7b(0x99)+'-\x20Delete\x20m'+_0x50db7b(0xb4))+(_0x50db7b(0xd6)+_0x50db7b(0x8d)+_0x50db7b(0xc5))+(_0x50db7b(0xd6)+_0x50db7b(0xab)+_0x50db7b(0xb3))+(_0x50db7b(0xd6)+_0x50db7b(0xc8)+'m>\x20-\x20Set\x20m'+_0x50db7b(0xb1)+'s');await _0x134ff0[_0x50db7b(0xba)+'e'](_0x1cef55,{'text':_0x1c79cc},{'quoted':_0x23ba17});return;}let _0x275932={..._0x1b8564},_0x3b504c='';const _0x52a13d=parseToggleCommand(_0x24a574);if(_0x52a13d==='on')_0x275932['enabled']=!![],_0x3b504c='*'+_0x2c8f0f+(_0x50db7b(0xbe)+_0x50db7b(0x90)+'D');else{if(_0x52a13d===_0x50db7b(0xa1))_0x275932['enabled']=![],_0x3b504c='*'+_0x2c8f0f+(_0x50db7b(0xbe)+_0x50db7b(0x8a)+'ED');else{const _0x432c8d=parseActionCommand(_0x24a574);if(_0x432c8d===_0x50db7b(0x8e)||_0x432c8d===_0x50db7b(0xb2)||_0x432c8d==='kick')_0x275932[_0x50db7b(0x9d)]=_0x432c8d,_0x275932[_0x50db7b(0xa5)]=!![],_0x3b504c='*'+_0x2c8f0f+('*\x0aAntiment'+_0x50db7b(0xcd)+':\x20')+_0x432c8d[_0x50db7b(0x89)+'e']();else{if(_0x24a574===_0x50db7b(0xb8)&&_0x5bc7bf[-0x5*0x728+-0x617+0x50*0x86]){const _0x3e42f9=parseInt(_0x5bc7bf[0x26d4+0x23a5+-0x4a78]);_0x3e42f9>=0x4*-0x683+-0x9*-0x16e+0x9*0x177&&_0x3e42f9<=-0x1*-0xcfb+-0x1*-0x166d+0x7*-0x50c?(_0x275932['maxMention'+'s']=_0x3e42f9,_0x3b504c='*'+_0x2c8f0f+('*\x0aMax\x20ment'+_0x50db7b(0x9e)+'o\x20')+_0x3e42f9):_0x3b504c='*'+_0x2c8f0f+('*\x0aMax\x20ment'+'ions\x20must\x20'+_0x50db7b(0x8f));}else _0x3b504c='*'+_0x2c8f0f+(_0x50db7b(0x8b)+_0x50db7b(0x93)+'se:\x20on,\x20of'+'f,\x20delete,'+_0x50db7b(0xd3)+'k,\x20max');}}}_0x3b504c&&!_0x3b504c['includes'](_0x50db7b(0x96))&&!_0x3b504c[_0x50db7b(0xb0)](_0x50db7b(0xa4))&&setGroupConfig(_0x1cef55,_0x50db7b(0xa7)+'n',_0x275932),await _0x134ff0[_0x50db7b(0xba)+'e'](_0x1cef55,{'text':_0x3b504c},{'quoted':_0x23ba17});}catch(_0x474ca0){console[_0x50db7b(0xc9)](_0x50db7b(0x7d)+_0x50db7b(0x91)+'\x20command:',_0x474ca0[_0x50db7b(0xbd)],'Line:',_0x474ca0[_0x50db7b(0x9b)]?.['split']('\x0a')[-0x733*-0x1+0x1cd4+-0x1*0x2406]);}}async function handleMentionDetection(_0x51a306,_0x582dca,_0x266b08,_0x1d715e){const _0x53f3c6=_0x528e;try{if(!_0x582dca[_0x53f3c6(0xc0)]('@g.us'))return;const _0x1fe855=getGroupConfig(_0x582dca,_0x53f3c6(0xa7)+'n');if(!_0x1fe855?.['enabled'])return;const {isSenderAdmin:_0x119c99,isBotAdmin:_0x1c5cb5}=await isAdmin(_0x51a306,_0x582dca,_0x1d715e);if(!_0x1c5cb5)return;if(_0x119c99)return;if(db[_0x53f3c6(0xad)](_0x1d715e))return;const _0x335cdf=_0x266b08[_0x53f3c6(0xbd)]?.[_0x53f3c6(0xb9)+'xtMessage']?.['contextInf'+'o']?.['mentionedJ'+'id']||[],_0x2d0d20=_0x1fe855[_0x53f3c6(0xb6)+'s']||-0x21d8+0x1c8d*-0x1+0x3e6a;if(_0x335cdf[_0x53f3c6(0xc4)]<=_0x2d0d20)return;const _0x377286=getBotName(),_0x450daf='@'+_0x1d715e[_0x53f3c6(0xce)]('@')[-0x159*-0x14+-0x52*-0x4d+-0x19cf*0x2];try{await _0x51a306['sendMessag'+'e'](_0x582dca,{'delete':{'remoteJid':_0x582dca,'fromMe':![],'id':_0x266b08[_0x53f3c6(0x86)]['id'],'participant':_0x1d715e}});}catch(_0x2a1111){console[_0x53f3c6(0xc9)](_0x53f3c6(0xa3)+_0x53f3c6(0x9c)+'ailed:',_0x2a1111[_0x53f3c6(0xbd)],_0x53f3c6(0xd2),_0x2a1111[_0x53f3c6(0x9b)]?.[_0x53f3c6(0xce)]('\x0a')[0x1a47+-0x84c+-0x11fa]);return;}if(_0x1fe855[_0x53f3c6(0x9d)]===_0x53f3c6(0x8c))await _0x51a306[_0x53f3c6(0xba)+'e'](_0x582dca,{'text':'*'+_0x377286+'*\x0a'+_0x450daf+(_0x53f3c6(0x87)+'r\x20mass\x20men'+_0x53f3c6(0xb7)),'mentions':[_0x1d715e]}),await _0x51a306[_0x53f3c6(0xb5)+_0x53f3c6(0xae)+_0x53f3c6(0xc1)](_0x582dca,[_0x1d715e],_0x53f3c6(0x82));else{if(_0x1fe855['action']===_0x53f3c6(0xb2)){const _0x10ab46=db[_0x53f3c6(0x9f)+'arning'](_0x582dca,_0x1d715e);await _0x51a306[_0x53f3c6(0xba)+'e'](_0x582dca,{'text':'*'+_0x377286+'*\x0a'+_0x450daf+(_0x53f3c6(0xa8)+'\x20mentions!'+_0x53f3c6(0xd0))+_0x10ab46+'/3','mentions':[_0x1d715e]}),_0x10ab46>=0x1ec1*-0x1+-0x19a*-0xe+0x18*0x59&&(await _0x51a306[_0x53f3c6(0xb5)+_0x53f3c6(0xae)+_0x53f3c6(0xc1)](_0x582dca,[_0x1d715e],_0x53f3c6(0x82)),db[_0x53f3c6(0xd5)+'ng'](_0x582dca,_0x1d715e));}else await _0x51a306[_0x53f3c6(0xba)+'e'](_0x582dca,{'text':'*'+_0x377286+'*\x0a'+_0x450daf+',\x20max\x20'+_0x2d0d20+(_0x53f3c6(0xbc)+_0x53f3c6(0xd1)),'mentions':[_0x1d715e]});}}catch(_0x63f9e){console['error'](_0x53f3c6(0x7d)+_0x53f3c6(0x91)+_0x53f3c6(0x85)+':',_0x63f9e[_0x53f3c6(0xbd)],'Line:',_0x63f9e['stack']?.[_0x53f3c6(0xce)]('\x0a')[-0x18*0x7a+0x12*0x6f+0x31*0x13]);}}module[_0x5658ba(0xca)]={'antimentionCommand':antimentionCommand,'handleMentionDetection':handleMentionDetection};function _0x26d6(){const _0x8065a1=['BxvZDcbIzq','zw5HyMXLza','BgLIl2zHA2vdBW','yw50Aw1LBNrPBW','lcb0B28GBwfUEq','n1Dmy0HSza','mtyXnJiYmhvcugH2Bq','B24GA2LJAYaTia','mZaWndqWnhHcuLftva','AxntDwrV','y2LWyw50C1vWza','BNrHy3q','Aw5JBhvKzxm','yxGGBwvUDgLVBG','D2fYBG','s2LJAYb1C2vYcG','zxnZywDLCWO','z3jVDxbqyxj0Aq','Bwf4twvUDgLVBG','DgLVBMLUzY4','Bwf4','zxH0zw5Kzwruzq','C2vUze1LC3nHzW','iefoveLnru5usq','ig1LBNrPB25Zia','BwvZC2fNzq','kGPbBNrPBwvUDa','DhjPBq','zw5KC1DPDgG','yxrL','zNjVBu1L','BMDZu3rVCMu','BgvUz3rO','v2fYBIb1C2vYcG','B24GB24GlsbfBG','t04QcGO','B24GBwf4idXUDq','zxjYB3i','zxHWB3j0CW','y29UDMvYC2f0Aq','mNLjwhLUEa','Aw9UigfJDgLVBG','C3bSAxq','odC1mtC4zwPpsLb4','cLDHCM5PBMCG','ywXSB3DLzce','tgLUztO','ihDHCM4SigTPyW','BhKGy29TBwfUza','CMvZzxrxyxjUAq','lMfUDgLTzw50Aq','rxjYB3iGAw4Gyq','oti5nti3mMnbB2zyzG','kKnVBw1HBMrZoG','AxnHyMXLcG','nhzfz2DcvW','CMvTB3zL','twf4ie1LBNrPBW','kGPbzg1PBIbVBG','igrLDgvJDgLVBG','A2v5','igTPy2TLzcbMBW','B24GB2zMic0Gra','Dg9vChbLCKnHCW','Aw9Uierju0fcta','kGPjBNzHBgLKia','A2LJAW','B24GD2fYBIaTia','zgvSzxrL','yMuGms0Yma','Aw9Uievoqujmrq','BNrPBwvUDgLVBG','Dgv4Da','y29TBwfUzceGvq','ywjSzqO','mZi4mZa4mfjiC2L5vW','sw52ywXPza','lI4VlI4Vrgf0yq','owziq2LWEq','B24GzgvSzxrLia','mti0mZyYnfrJr3bYCG','C3rHy2S','BIbKzwXLDguGzG','ywn0Aw9U','Aw9UCYbZzxqGDa','Aw5JCMvTzw50vW','mtu5oty1odvbAhPnrLm','B2zM','yxnL','qw50Aw1LBNrPBW'];_0x26d6=function(){return _0x8065a1;};return _0x26d6();}