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.
- package/Database/database.js +1 -446
- package/Database/migration.js +1 -327
- package/Database/pgSync.js +1 -229
- package/Database/settingsStore.js +1 -305
- package/config.js +1 -32
- package/dave.js +1 -3063
- package/davelib/botConfig.js +1 -71
- package/davelib/greetings.js +1 -47
- package/davelib/id.js +1 -11
- package/davelib/index.js +1 -577
- package/davelib/isAdmin.js +1 -32
- package/davelib/isBanned.js +1 -12
- package/davelib/isOwner.js +1 -15
- package/davelib/messageConfig.js +1 -15
- package/davelib/messageHandler.js +1 -87
- package/davelib/reactions.js +1 -180
- package/davelib/welcome.js +1 -100
- package/daveset.js +1 -16
- package/davexcore/anti/antiaudio.js +1 -106
- package/davexcore/anti/antibadword.js +1 -313
- package/davexcore/anti/antibug.js +1 -156
- package/davexcore/anti/anticall.js +1 -219
- package/davexcore/anti/antichart.js +1 -280
- package/davexcore/anti/antidelete.js +1 -673
- package/davexcore/anti/antideletestatus.js +1 -535
- package/davexcore/anti/antidemote.js +1 -352
- package/davexcore/anti/antidocument.js +1 -105
- package/davexcore/anti/antiedit.js +1 -410
- package/davexcore/anti/antifiles.js +1 -109
- package/davexcore/anti/antigroupmention.js +1 -206
- package/davexcore/anti/antiimage.js +1 -105
- package/davexcore/anti/antikick.js +1 -125
- package/davexcore/anti/antilink.js +1 -237
- package/davexcore/anti/antimention.js +1 -143
- package/davexcore/anti/antipromote.js +1 -320
- package/davexcore/anti/antisticker.js +1 -105
- package/davexcore/anti/antitag.js +1 -191
- package/davexcore/anti/antivideo.js +1 -105
- package/davexcore/anti/antiviewonce.js +1 -396
- package/davexcore/anti/groupanticall.js +1 -262
- package/davexcore/anti/mention.js +1 -242
- package/davexcore/automation/alwaysonline.js +1 -226
- package/davexcore/automation/autoReadReciepts.js +1 -96
- package/davexcore/automation/autoread.js +1 -104
- package/davexcore/automation/autorecording.js +1 -197
- package/davexcore/automation/autostatus.js +1 -317
- package/davexcore/automation/autotyping.js +1 -197
- package/davexcore/automation/chatbot.js +1 -444
- package/davexcore/automation/chatmanage.js +1 -199
- package/davexcore/automation/devReact.js +1 -43
- package/davexcore/automation/goodbye.js +1 -181
- package/davexcore/automation/greetings.js +1 -154
- package/davexcore/automation/welcome.js +1 -187
- package/davexcore/group/addmember.js +1 -101
- package/davexcore/group/ban.js +1 -63
- package/davexcore/group/blockUnblock.js +1 -177
- package/davexcore/group/clear.js +1 -196
- package/davexcore/group/creategroup.js +1 -43
- package/davexcore/group/demote.js +1 -115
- package/davexcore/group/disappear.js +1 -67
- package/davexcore/group/groupinfo.js +1 -167
- package/davexcore/group/groupmanage.js +1 -133
- package/davexcore/group/hidetag.js +1 -108
- package/davexcore/group/joinrequests.js +1 -145
- package/davexcore/group/kick.js +1 -92
- package/davexcore/group/kickall.js +1 -63
- package/davexcore/group/leave.js +1 -38
- package/davexcore/group/linkgroup.js +1 -63
- package/davexcore/group/mute.js +1 -57
- package/davexcore/group/online.js +1 -117
- package/davexcore/group/pmblocker.js +1 -65
- package/davexcore/group/promote.js +1 -93
- package/davexcore/group/resetlink.js +1 -57
- package/davexcore/group/staff.js +1 -99
- package/davexcore/group/tag.js +1 -111
- package/davexcore/group/tagadmins.js +1 -88
- package/davexcore/group/tagall.js +1 -99
- package/davexcore/group/tagnotadmin.js +1 -92
- package/davexcore/group/topmembers.js +1 -202
- package/davexcore/group/unban.js +1 -64
- package/davexcore/group/unmute.js +1 -45
- package/davexcore/group/warn.js +1 -83
- package/davexcore/group/warnings.js +1 -26
- package/davexcore/owner/alive.js +1 -67
- package/davexcore/owner/bio.js +1 -49
- package/davexcore/owner/broadcast.js +1 -74
- package/davexcore/owner/chanel.js +1 -79
- package/davexcore/owner/channelid.js +1 -50
- package/davexcore/owner/clearsession.js +1 -86
- package/davexcore/owner/help.js +1 -649
- package/davexcore/owner/hijack.js +1 -69
- package/davexcore/owner/menuManage.js +1 -173
- package/davexcore/owner/menuSettings.js +1 -1
- package/davexcore/owner/owner.js +1 -17
- package/davexcore/owner/pair.js +1 -160
- package/davexcore/owner/pinchat.js +1 -44
- package/davexcore/owner/ping.js +1 -65
- package/davexcore/owner/profilepic.js +1 -61
- package/davexcore/owner/resetmenuimage.js +1 -16
- package/davexcore/owner/setGroupStatus.js +1 -315
- package/davexcore/owner/setbotconfig.js +1 -306
- package/davexcore/owner/setfont.js +1 -79
- package/davexcore/owner/setowner.js +1 -144
- package/davexcore/owner/setprefix.js +1 -131
- package/davexcore/owner/settings.js +1 -98
- package/davexcore/owner/startupwelcome.js +1 -94
- package/davexcore/owner/sudo.js +1 -138
- package/davexcore/owner/update.js +1 -282
- package/davexcore/utility/bible.js +1 -239
- package/davexcore/utility/encrypt.js +1 -99
- package/davexcore/utility/sports.js +1 -403
- package/index.js +1 -994
- package/package.json +1 -1
|
@@ -1,219 +1 @@
|
|
|
1
|
-
const { getOwnerConfig, setOwnerConfig, parseToggleCommand, parseActionCommand } = require('../../Database/settingsStore');
|
|
2
|
-
const db = require('../../Database/database');
|
|
3
|
-
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
4
|
-
|
|
5
|
-
const processedCalls = new Map();
|
|
6
|
-
const CALL_COOLDOWN_MS = 30000;
|
|
7
|
-
|
|
8
|
-
async function isAuthorized(sock, message) {
|
|
9
|
-
try {
|
|
10
|
-
const senderId = message.key.participant || message.key.remoteJid;
|
|
11
|
-
if (message.key.fromMe) return true;
|
|
12
|
-
return db.isSudo(senderId);
|
|
13
|
-
} catch {
|
|
14
|
-
return message.key.fromMe;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
async function anticallCommand(sock, chatId, message, args) {
|
|
19
|
-
const botName = getBotName();
|
|
20
|
-
const senderId = message.key.participant || message.key.remoteJid;
|
|
21
|
-
const fake = createFakeContact(senderId);
|
|
22
|
-
|
|
23
|
-
if (!await isAuthorized(sock, message)) {
|
|
24
|
-
return sock.sendMessage(chatId, {
|
|
25
|
-
text: `✦ Owner only command`
|
|
26
|
-
}, { quoted: fake });
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const config = getOwnerConfig('anticall') || { enabled: false, mode: 'block', message: 'Calls not allowed!' };
|
|
30
|
-
const sub = (args || '').trim().toLowerCase();
|
|
31
|
-
|
|
32
|
-
if (!sub) {
|
|
33
|
-
const helpText = `✦ *ANTICALL*
|
|
34
|
-
|
|
35
|
-
Status: ${config.enabled ? 'ON' : 'OFF'}
|
|
36
|
-
Mode: ${config.mode || 'block'}
|
|
37
|
-
Message: ${config.message || 'Calls not allowed!'}
|
|
38
|
-
|
|
39
|
-
Commands:
|
|
40
|
-
› on
|
|
41
|
-
› off
|
|
42
|
-
› block
|
|
43
|
-
› decline
|
|
44
|
-
› both
|
|
45
|
-
› allow
|
|
46
|
-
› .setcallmsg <text>
|
|
47
|
-
› status`;
|
|
48
|
-
|
|
49
|
-
await sock.sendMessage(chatId, { text: helpText }, { quoted: fake });
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
let newConfig = { ...config };
|
|
54
|
-
let responseText = '';
|
|
55
|
-
|
|
56
|
-
if (sub === 'status') {
|
|
57
|
-
const statusText = `✦ *ANTICALL STATUS*
|
|
58
|
-
|
|
59
|
-
Status: ${config.enabled ? 'ACTIVE' : 'INACTIVE'}
|
|
60
|
-
Mode: ${config.mode || 'block'}
|
|
61
|
-
Message: ${config.message || 'Calls not allowed!'}`;
|
|
62
|
-
await sock.sendMessage(chatId, { text: statusText }, { quoted: fake });
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
const toggle = parseToggleCommand(sub);
|
|
67
|
-
if (toggle === 'on') {
|
|
68
|
-
newConfig.enabled = true;
|
|
69
|
-
responseText = `✦ Anticall ENABLED\n Mode: ${newConfig.mode || 'block'}`;
|
|
70
|
-
} else if (toggle === 'off') {
|
|
71
|
-
newConfig.enabled = false;
|
|
72
|
-
responseText = `✦ Anticall DISABLED`;
|
|
73
|
-
} else {
|
|
74
|
-
const action = parseActionCommand(sub);
|
|
75
|
-
if (action === 'block') {
|
|
76
|
-
newConfig.mode = 'block';
|
|
77
|
-
newConfig.enabled = true;
|
|
78
|
-
responseText = `✦ Mode: BLOCK\n Callers will be blocked`;
|
|
79
|
-
} else if (action === 'decline') {
|
|
80
|
-
newConfig.mode = 'decline';
|
|
81
|
-
newConfig.enabled = true;
|
|
82
|
-
responseText = `✦ Mode: DECLINE\n Calls will be declined only`;
|
|
83
|
-
} else if (sub === 'both') {
|
|
84
|
-
newConfig.mode = 'both';
|
|
85
|
-
newConfig.enabled = true;
|
|
86
|
-
responseText = `✦ Mode: BOTH\n Declined and blocked`;
|
|
87
|
-
} else if (action === 'allow') {
|
|
88
|
-
newConfig.mode = 'allow';
|
|
89
|
-
newConfig.enabled = false;
|
|
90
|
-
responseText = `✦ Mode: ALLOW\n All calls allowed`;
|
|
91
|
-
} else if (sub.startsWith('msg ') || sub.startsWith('message ')) {
|
|
92
|
-
const msgText = args.replace(/^(msg|message)\s+/i, '').trim();
|
|
93
|
-
if (msgText) {
|
|
94
|
-
newConfig.message = msgText;
|
|
95
|
-
responseText = `✦ Message set: "${msgText}"`;
|
|
96
|
-
} else {
|
|
97
|
-
responseText = `✦ Provide a message`;
|
|
98
|
-
}
|
|
99
|
-
} else {
|
|
100
|
-
responseText = `✦ Invalid command\n Use: on, off, block, decline, both, allow`;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
if (responseText && !responseText.includes('Invalid') && !responseText.includes('Provide')) {
|
|
105
|
-
setOwnerConfig('anticall', newConfig);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
await sock.sendMessage(chatId, { text: responseText }, { quoted: fake });
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
async function setcallmsgCommand(sock, chatId, message, args) {
|
|
112
|
-
const botName = getBotName();
|
|
113
|
-
const senderId = message.key.participant || message.key.remoteJid;
|
|
114
|
-
const fake = createFakeContact(senderId);
|
|
115
|
-
|
|
116
|
-
if (!await isAuthorized(sock, message)) {
|
|
117
|
-
return sock.sendMessage(chatId, {
|
|
118
|
-
text: `✦ Owner only command`
|
|
119
|
-
}, { quoted: fake });
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
const msgText = (args || '').trim();
|
|
123
|
-
|
|
124
|
-
if (!msgText) {
|
|
125
|
-
const config = getOwnerConfig('anticall') || { message: 'Calls not allowed!' };
|
|
126
|
-
return sock.sendMessage(chatId, {
|
|
127
|
-
text: `✦ *SETCALLMSG*
|
|
128
|
-
|
|
129
|
-
Current: ${config.message}
|
|
130
|
-
|
|
131
|
-
Use: .setcallmsg <message>`
|
|
132
|
-
}, { quoted: fake });
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
const config = getOwnerConfig('anticall') || {};
|
|
136
|
-
setOwnerConfig('anticall', { ...config, message: msgText });
|
|
137
|
-
|
|
138
|
-
await sock.sendMessage(chatId, {
|
|
139
|
-
text: `✦ Message set: "${msgText}"`
|
|
140
|
-
}, { quoted: fake });
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
async function handleIncomingCall(sock, call) {
|
|
144
|
-
try {
|
|
145
|
-
const config = getOwnerConfig('anticall');
|
|
146
|
-
if (!config || !config.enabled || config.mode === 'allow') return;
|
|
147
|
-
|
|
148
|
-
const callKey = call.id || `${call.from}_${Date.now()}`;
|
|
149
|
-
const now = Date.now();
|
|
150
|
-
if (processedCalls.has(callKey)) {
|
|
151
|
-
const lastTime = processedCalls.get(callKey);
|
|
152
|
-
if (now - lastTime < CALL_COOLDOWN_MS) return;
|
|
153
|
-
}
|
|
154
|
-
processedCalls.set(callKey, now);
|
|
155
|
-
|
|
156
|
-
if (processedCalls.size > 50) {
|
|
157
|
-
for (const [key, time] of processedCalls) {
|
|
158
|
-
if (now - time > 60000) processedCalls.delete(key);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
const callerId = call.from;
|
|
163
|
-
const callerNumber = callerId.split('@')[0];
|
|
164
|
-
const botName = getBotName();
|
|
165
|
-
const fake = createFakeContact(callerId);
|
|
166
|
-
|
|
167
|
-
try { await sock.rejectCall(call.id, call.from); } catch (e) {}
|
|
168
|
-
|
|
169
|
-
const customMsg = config.message || 'Calls not allowed!';
|
|
170
|
-
let modeText = '';
|
|
171
|
-
|
|
172
|
-
switch (config.mode) {
|
|
173
|
-
case 'block':
|
|
174
|
-
modeText = 'You have been blocked';
|
|
175
|
-
break;
|
|
176
|
-
case 'decline':
|
|
177
|
-
modeText = 'Call declined';
|
|
178
|
-
break;
|
|
179
|
-
case 'both':
|
|
180
|
-
modeText = 'Call declined and blocked';
|
|
181
|
-
break;
|
|
182
|
-
default:
|
|
183
|
-
modeText = 'Call declined';
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
const responseMsg = `✦ *${botName}*\n\n${customMsg}\n${modeText}`;
|
|
187
|
-
|
|
188
|
-
await sock.sendMessage(callerId, { text: responseMsg }, { quoted: fake });
|
|
189
|
-
|
|
190
|
-
if (config.mode === 'block' || config.mode === 'both') {
|
|
191
|
-
try {
|
|
192
|
-
await sock.updateBlockStatus(callerId, 'block');
|
|
193
|
-
} catch (blockErr) {
|
|
194
|
-
console.error('Error blocking caller:', blockErr.message);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
const ownerNumber = sock.user.id.split(':')[0] + '@s.whatsapp.net';
|
|
198
|
-
await sock.sendMessage(ownerNumber, {
|
|
199
|
-
text: `✦ *CALL BLOCKED*\n\nFrom: @${callerNumber}\nAction: ${config.mode.toUpperCase()}`,
|
|
200
|
-
mentions: [callerId]
|
|
201
|
-
}, { quoted: fake });
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
} catch (err) {
|
|
205
|
-
console.error('Error handling call:', err.message);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
function readState() {
|
|
210
|
-
const config = getOwnerConfig('anticall') || {};
|
|
211
|
-
return { enabled: config.enabled || false };
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
module.exports = {
|
|
215
|
-
anticallCommand,
|
|
216
|
-
setcallmsgCommand,
|
|
217
|
-
handleIncomingCall,
|
|
218
|
-
readState
|
|
219
|
-
};
|
|
1
|
+
const _0x59278c=_0x42d4;(function(_0x5e4f44,_0x41931f){const _0x5f0c92=_0x42d4,_0x58e186=_0x5e4f44();while(!![]){try{const _0x16f1db=-parseInt(_0x5f0c92(0x16f))/(0x4*0x304+0x12d8+-0x1ee7*0x1)*(parseInt(_0x5f0c92(0x1a8))/(0x3*-0xcd3+-0x1649+0x3cc4))+parseInt(_0x5f0c92(0x194))/(0x101e+-0x12d*-0x13+-0x206*0x13)*(parseInt(_0x5f0c92(0x18a))/(-0xe83+0x1e94+-0x100d))+parseInt(_0x5f0c92(0x19b))/(0x1d55+-0xf2f*0x2+0x6*0x2d)*(parseInt(_0x5f0c92(0x167))/(-0x107*-0x15+-0x1*0x1e89+0x23f*0x4))+-parseInt(_0x5f0c92(0x189))/(0x2*0x373+-0x714*0x3+0xe5d)+-parseInt(_0x5f0c92(0x18f))/(0xb*-0x8a+0x220d+-0x1c17)+parseInt(_0x5f0c92(0x148))/(-0x3c1+0x1936+-0x156c)+parseInt(_0x5f0c92(0x14d))/(0xf*-0x265+0x25d1+-0x1dc);if(_0x16f1db===_0x41931f)break;else _0x58e186['push'](_0x58e186['shift']());}catch(_0x490c84){_0x58e186['push'](_0x58e186['shift']());}}}(_0xb2f3,-0xa305*-0x3+-0x65595+0x95029));function _0x42d4(_0x2804ab,_0x300db3){_0x2804ab=_0x2804ab-(-0xad3+-0x30b*0x4+0x2*0xc20);const _0x4a014b=_0xb2f3();let _0x1187e2=_0x4a014b[_0x2804ab];if(_0x42d4['EwvIgQ']===undefined){var _0x30a55c=function(_0x4b3254){const _0x33af60='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3da854='',_0x59127d='';for(let _0x7d09cd=0x2*-0x1265+0x5f7+0x1ed3,_0x1e5f21,_0x142257,_0x114f41=0xdb9*0x1+0x2*-0xb76+0x933;_0x142257=_0x4b3254['charAt'](_0x114f41++);~_0x142257&&(_0x1e5f21=_0x7d09cd%(0x6fe+0x286+-0x980)?_0x1e5f21*(-0x2415+0x2639+-0x4*0x79)+_0x142257:_0x142257,_0x7d09cd++%(0x1bc9*-0x1+-0xcb2+0x287f))?_0x3da854+=String['fromCharCode'](0x20e9+0x133e+-0x1994*0x2&_0x1e5f21>>(-(0x10a5*0x1+-0x8fa+-0x1*0x7a9)*_0x7d09cd&0xbc*0x4+0x4c1*0x3+0x1*-0x112d)):0x110e+-0x2149*-0x1+-0x1*0x3257){_0x142257=_0x33af60['indexOf'](_0x142257);}for(let _0x42b603=0x7*-0x162+-0x1b*0x81+0x3*0x7c3,_0x671f16=_0x3da854['length'];_0x42b603<_0x671f16;_0x42b603++){_0x59127d+='%'+('00'+_0x3da854['charCodeAt'](_0x42b603)['toString'](-0x1*0x24ed+-0x3*0xb44+0x46c9))['slice'](-(-0xba2+0xd08+-0x164));}return decodeURIComponent(_0x59127d);};_0x42d4['TmxlUe']=_0x30a55c,_0x42d4['yBQqfW']={},_0x42d4['EwvIgQ']=!![];}const _0x50f5a8=_0x4a014b[-0x768+0x2dd*0x9+-0x125d],_0x4d6449=_0x2804ab+_0x50f5a8,_0x1116d5=_0x42d4['yBQqfW'][_0x4d6449];return!_0x1116d5?(_0x1187e2=_0x42d4['TmxlUe'](_0x1187e2),_0x42d4['yBQqfW'][_0x4d6449]=_0x1187e2):_0x1187e2=_0x1116d5,_0x1187e2;}const {getOwnerConfig,setOwnerConfig,parseToggleCommand,parseActionCommand}=require(_0x59278c(0x17b)+_0x59278c(0x19e)+'ngsStore'),db=require('../../Data'+_0x59278c(0x197)+_0x59278c(0x18e)),{createFakeContact,getBotName}=require(_0x59278c(0x193)+'lib/fakeCo'+'ntact'),processedCalls=new Map(),CALL_COOLDOWN_MS=0x2a2c+-0x172*0x58+0xca34*0x1;function _0xb2f3(){const _0x2621ae=['ywXSB3C','BMvK','C2v0oIaI','tvnhkGOGicaGcG','yMXVy2S','mJGZnZm4mefzr2f0ta','mtK2mJrMvhvzte0','su5bq1rjvKu','y2fSBhmGywXSBW','q0XjtKukicbdyq','yxnL','ndGWmdGXnLDhreDbzW','CgfYDgLJAxbHBG','yM90Aa','BwvZC2fNzq','lI4VlI4Vzgf2zq','m3rWwgD3Bq','z2v0','cIaGtwvZC2fNzq','yMfZzs9KyxrHyG','A2LUzYbJywXSzq','zNjVBq','C3rHCNrZv2L0Aa','mtC2odu2nujTyKLODW','C2v0y2fSBg1ZzW','Aw5JBhvKzxm','yMfZzs9Zzxr0Aq','BhKGy29TBwfUza','DxnLCG','4PYMicO','idXTzxnZywDLpG','Dg9vChbLCKnHCW','Dd4kicdIGlOGC3rH','BgLUzYbJywXSoG','cIaGtw9KztOG','zMySigjSB2nRla','mKH3quHfzW','ysbTzxnZywDL','cIaG4Oc6igjVDgGk','tcOkicaGiaOGia','Cc5Uzxq','B2zM','4PYMifbYB3zPzguG','Bw9Kzq','A1n0yxr1CW','qhmUD2HHDhnHCa','yw50AwnHBgW','t0nlcIaGq2fSBa','zhm6cIaG4Oc6ig9U','zxHWB3j0CW','Dg9mB3DLCKnHCW','DxbKyxrLqMXVyW','B2nRzwq','ww91igHHDMuGyG','4PYMie1LC3nHz2uG','AgfZ','tcbtvefuvvmQcG','ndaYndy4m1P3EKXvAa','kGOk','BwvZC2fNzsa','zxjYB3i','q2fSBcbKzwnSAq','nJiZmtq4mg5Mq3nftq','BM93','ywXSB3DLzce','zsbIBg9JA2vK','4PYMie1Vzgu6iejp','BMvKigfUzcbIBa','icbdDxjYzw50oG','CMvQzwn0q2fSBa','C2v0','cGOGienVBw1HBG','D2vK','q2fSBhmGBM90ia','DhvZ','ig9UBhK','C2L6zq','C2vUze1LC3nHzW','iokaUIbKzwnSAw5L','zgvJBgLUzq','cIaG4Oc6ig9MzGOG','cKfJDgLVBJOG','iokaUIbIBg9JAWOG','ievoqujmruqkia','DhjPBq','BxnNia','u3rHDhvZoIa','A2v5','nLDMr1b2za','zsbKzwnSAw5Lza','rxjYB3iGyMXVyW','t0nlruqQcGPgCG','icaGiaOGifn0yq','4PYMicPdquXmiejm','DhvZoIa','4PYMie93BMvYig9U','mtaZmdKZs2rNrwrq','vxnLoIbVBIWGBW','B206iea','AxntDwrV','CMvTB3rLsMLK','igrLy2XPBMuSia','sw52ywXPza','icdIGlOGlNnLDgnH','4PYMicPbtLrjq0fm','zxjZihDPBgWGyG','qunusvzf','yM90AcWGywXSBW','lI4VlI4Vrgf0yq','4PYMicPtrvrdquXm','zNjVBu1L','C3bSAxq','te9xcIaGqwXSia','zw5HyMXLza','BgXTC2CGphrLEa','BgXZihDPBgWGyG','4PYMie1Vzgu6ierf'];_0xb2f3=function(){return _0x2621ae;};return _0xb2f3();}async function isAuthorized(_0x3f6835,_0xae3884){const _0x441009=_0x42d4;try{const _0x4400fb=_0xae3884['key']['participan'+'t']||_0xae3884[_0x441009(0x166)][_0x441009(0x173)];if(_0xae3884[_0x441009(0x166)][_0x441009(0x17d)])return!![];return db[_0x441009(0x172)](_0x4400fb);}catch{return _0xae3884[_0x441009(0x166)]['fromMe'];}}async function anticallCommand(_0x24bb3e,_0x3b75c9,_0x4d15ba,_0x24f96b){const _0x586d0c=_0x42d4,_0x33ef03=getBotName(),_0x291dc0=_0x4d15ba[_0x586d0c(0x166)][_0x586d0c(0x190)+'t']||_0x4d15ba[_0x586d0c(0x166)][_0x586d0c(0x173)],_0x3345c9=createFakeContact(_0x291dc0);if(!await isAuthorized(_0x24bb3e,_0x4d15ba))return _0x24bb3e[_0x586d0c(0x15c)+'e'](_0x3b75c9,{'text':_0x586d0c(0x16e)+_0x586d0c(0x19f)},{'quoted':_0x3345c9});const _0x4117f0=getOwnerConfig(_0x586d0c(0x1b2))||{'enabled':![],'mode':_0x586d0c(0x188),'message':'Calls\x20not\x20'+_0x586d0c(0x14f)},_0x5abb4a=(_0x24f96b||'')['trim']()[_0x586d0c(0x141)+'e']();if(!_0x5abb4a){const _0x5d11ca=_0x586d0c(0x177)+_0x586d0c(0x1ab)+_0x586d0c(0x165)+(_0x4117f0[_0x586d0c(0x180)]?'ON':'OFF')+_0x586d0c(0x1a6)+(_0x4117f0[_0x586d0c(0x1af)]||'block')+('\x0a\x20\x20Message'+':\x20')+(_0x4117f0[_0x586d0c(0x192)]||'Calls\x20not\x20'+_0x586d0c(0x14f))+(_0x586d0c(0x156)+_0x586d0c(0x1b4)+_0x586d0c(0x15f)+_0x586d0c(0x161)+_0x586d0c(0x15d)+_0x586d0c(0x1aa)+'\x20\x20›\x20allow\x0a'+_0x586d0c(0x176)+_0x586d0c(0x181)+_0x586d0c(0x1a4)+_0x586d0c(0x159));await _0x24bb3e['sendMessag'+'e'](_0x3b75c9,{'text':_0x5d11ca},{'quoted':_0x3345c9});return;}let _0x54e0ed={..._0x4117f0},_0x426ca9='';if(_0x5abb4a==='status'){const _0x370347=_0x586d0c(0x177)+_0x586d0c(0x147)+_0x586d0c(0x16b)+_0x586d0c(0x16d)+(_0x4117f0[_0x586d0c(0x180)]?_0x586d0c(0x179):_0x586d0c(0x18b))+_0x586d0c(0x1a6)+(_0x4117f0['mode']||_0x586d0c(0x188))+(_0x586d0c(0x196)+':\x20')+(_0x4117f0['message']||_0x586d0c(0x158)+_0x586d0c(0x14f));await _0x24bb3e['sendMessag'+'e'](_0x3b75c9,{'text':_0x370347},{'quoted':_0x3345c9});return;}const _0x53497a=parseToggleCommand(_0x5abb4a);if(_0x53497a==='on')_0x54e0ed[_0x586d0c(0x180)]=!![],_0x426ca9='✦\x20Anticall'+_0x586d0c(0x162)+'\x20Mode:\x20'+(_0x54e0ed[_0x586d0c(0x1af)]||'block');else{if(_0x53497a===_0x586d0c(0x1ad))_0x54e0ed[_0x586d0c(0x180)]=![],_0x426ca9='✦\x20Anticall'+'\x20DISABLED';else{const _0x448153=parseActionCommand(_0x5abb4a);if(_0x448153===_0x586d0c(0x188))_0x54e0ed[_0x586d0c(0x1af)]=_0x586d0c(0x188),_0x54e0ed[_0x586d0c(0x180)]=!![],_0x426ca9='✦\x20Mode:\x20BL'+_0x586d0c(0x1b3)+_0x586d0c(0x178)+_0x586d0c(0x150);else{if(_0x448153===_0x586d0c(0x15e))_0x54e0ed[_0x586d0c(0x1af)]=_0x586d0c(0x15e),_0x54e0ed[_0x586d0c(0x180)]=!![],_0x426ca9=_0x586d0c(0x183)+_0x586d0c(0x18d)+_0x586d0c(0x182)+_0x586d0c(0x168)+_0x586d0c(0x15a);else{if(_0x5abb4a==='both')_0x54e0ed[_0x586d0c(0x1af)]=_0x586d0c(0x191),_0x54e0ed[_0x586d0c(0x180)]=!![],_0x426ca9=_0x586d0c(0x151)+'TH\x0a\x20\x20Decli'+'ned\x20and\x20bl'+_0x586d0c(0x143);else{if(_0x448153===_0x586d0c(0x184))_0x54e0ed[_0x586d0c(0x1af)]='allow',_0x54e0ed['enabled']=![],_0x426ca9='✦\x20Mode:\x20AL'+_0x586d0c(0x17f)+_0x586d0c(0x18c)+_0x586d0c(0x157);else{if(_0x5abb4a[_0x586d0c(0x19a)](_0x586d0c(0x164))||_0x5abb4a[_0x586d0c(0x19a)](_0x586d0c(0x14a))){const _0x5850d2=_0x24f96b['replace'](/^(msg|message)\s+/i,'')[_0x586d0c(0x163)]();_0x5850d2?(_0x54e0ed['message']=_0x5850d2,_0x426ca9=_0x586d0c(0x145)+_0x586d0c(0x186)+_0x5850d2+'\x22'):_0x426ca9=_0x586d0c(0x1ae)+_0x586d0c(0x1a9);}else _0x426ca9='✦\x20Invalid\x20'+'command\x0a\x20\x20'+_0x586d0c(0x170)+_0x586d0c(0x1a7)+_0x586d0c(0x174)+_0x586d0c(0x17a)+'w';}}}}}}_0x426ca9&&!_0x426ca9['includes'](_0x586d0c(0x175))&&!_0x426ca9[_0x586d0c(0x19d)]('Provide')&&setOwnerConfig(_0x586d0c(0x1b2),_0x54e0ed),await _0x24bb3e[_0x586d0c(0x15c)+'e'](_0x3b75c9,{'text':_0x426ca9},{'quoted':_0x3345c9});}async function setcallmsgCommand(_0x266e98,_0x471e45,_0x169f07,_0x3e4c2c){const _0x4d85fc=_0x42d4,_0x2f254d=getBotName(),_0x23e020=_0x169f07[_0x4d85fc(0x166)][_0x4d85fc(0x190)+'t']||_0x169f07['key'][_0x4d85fc(0x173)],_0x1f15a3=createFakeContact(_0x23e020);if(!await isAuthorized(_0x266e98,_0x169f07))return _0x266e98['sendMessag'+'e'](_0x471e45,{'text':_0x4d85fc(0x16e)+_0x4d85fc(0x19f)},{'quoted':_0x1f15a3});const _0x354cfb=(_0x3e4c2c||'')['trim']();if(!_0x354cfb){const _0x5e84dc=getOwnerConfig(_0x4d85fc(0x1b2))||{'message':_0x4d85fc(0x158)+_0x4d85fc(0x14f)};return _0x266e98[_0x4d85fc(0x15c)+'e'](_0x471e45,{'text':_0x4d85fc(0x17c)+_0x4d85fc(0x187)+_0x4d85fc(0x153)+'\x20'+_0x5e84dc[_0x4d85fc(0x192)]+('\x0a\x0a\x20\x20Use:\x20.'+_0x4d85fc(0x19c)+_0x4d85fc(0x1a2))},{'quoted':_0x1f15a3});}const _0x3dd86d=getOwnerConfig(_0x4d85fc(0x1b2))||{};setOwnerConfig('anticall',{..._0x3dd86d,'message':_0x354cfb}),await _0x266e98[_0x4d85fc(0x15c)+'e'](_0x471e45,{'text':_0x4d85fc(0x145)+'set:\x20\x22'+_0x354cfb+'\x22'},{'quoted':_0x1f15a3});}async function handleIncomingCall(_0x1d6ffd,_0x41e870){const _0x5bfdc5=_0x42d4;try{const _0x471aa6=getOwnerConfig(_0x5bfdc5(0x1b2));if(!_0x471aa6||!_0x471aa6['enabled']||_0x471aa6[_0x5bfdc5(0x1af)]===_0x5bfdc5(0x184))return;const _0x29e5ae=_0x41e870['id']||_0x41e870[_0x5bfdc5(0x199)]+'_'+Date[_0x5bfdc5(0x14e)](),_0x670cbf=Date[_0x5bfdc5(0x14e)]();if(processedCalls[_0x5bfdc5(0x146)](_0x29e5ae)){const _0x1f0145=processedCalls[_0x5bfdc5(0x195)](_0x29e5ae);if(_0x670cbf-_0x1f0145<CALL_COOLDOWN_MS)return;}processedCalls[_0x5bfdc5(0x155)](_0x29e5ae,_0x670cbf);if(processedCalls[_0x5bfdc5(0x15b)]>0x117f+0x1*0x272+-0x13bf)for(const [_0xa76708,_0x1e9cf0]of processedCalls){if(_0x670cbf-_0x1e9cf0>-0xdd1+-0x4*0x5e03+0x2703d)processedCalls['delete'](_0xa76708);}const _0x5c39a1=_0x41e870[_0x5bfdc5(0x199)],_0x2f9b93=_0x5c39a1['split']('@')[0x193c+-0xb66+0xdd6*-0x1],_0x517981=getBotName(),_0x2a1ba8=createFakeContact(_0x5c39a1);try{await _0x1d6ffd[_0x5bfdc5(0x154)](_0x41e870['id'],_0x41e870['from']);}catch(_0x26a65a){}const _0x24d8a2=_0x471aa6[_0x5bfdc5(0x192)]||'Calls\x20not\x20'+_0x5bfdc5(0x14f);let _0x217da5='';switch(_0x471aa6['mode']){case _0x5bfdc5(0x188):_0x217da5=_0x5bfdc5(0x144)+'een\x20blocke'+'d';break;case _0x5bfdc5(0x15e):_0x217da5=_0x5bfdc5(0x14c)+_0x5bfdc5(0x185);break;case'both':_0x217da5=_0x5bfdc5(0x14c)+_0x5bfdc5(0x152)+_0x5bfdc5(0x143);break;default:_0x217da5='Call\x20decli'+_0x5bfdc5(0x185);}const _0x3f982e=_0x5bfdc5(0x1a1)+_0x517981+_0x5bfdc5(0x149)+_0x24d8a2+'\x0a'+_0x217da5;await _0x1d6ffd[_0x5bfdc5(0x15c)+'e'](_0x5c39a1,{'text':_0x3f982e},{'quoted':_0x2a1ba8});if(_0x471aa6[_0x5bfdc5(0x1af)]==='block'||_0x471aa6['mode']==='both'){try{await _0x1d6ffd[_0x5bfdc5(0x142)+_0x5bfdc5(0x1b0)](_0x5c39a1,_0x5bfdc5(0x188));}catch(_0x40c4e1){console['error'](_0x5bfdc5(0x169)+_0x5bfdc5(0x198)+'r:',_0x40c4e1[_0x5bfdc5(0x192)]);}const _0x4f2394=_0x1d6ffd[_0x5bfdc5(0x1a0)]['id'][_0x5bfdc5(0x17e)](':')[0x1*-0xf4f+-0x18a+0x10d9]+(_0x5bfdc5(0x1b1)+_0x5bfdc5(0x1ac));await _0x1d6ffd[_0x5bfdc5(0x15c)+'e'](_0x4f2394,{'text':_0x5bfdc5(0x16c)+_0x5bfdc5(0x16a)+_0x5bfdc5(0x171)+_0x2f9b93+_0x5bfdc5(0x160)+_0x471aa6['mode'][_0x5bfdc5(0x1a3)+'e'](),'mentions':[_0x5c39a1]},{'quoted':_0x2a1ba8});}}catch(_0x378e92){console[_0x5bfdc5(0x14b)]('Error\x20hand'+_0x5bfdc5(0x1a5),_0x378e92[_0x5bfdc5(0x192)]);}}function readState(){const _0x4973c7=_0x42d4,_0x4cad26=getOwnerConfig(_0x4973c7(0x1b2))||{};return{'enabled':_0x4cad26[_0x4973c7(0x180)]||![]};}module[_0x59278c(0x1b5)]={'anticallCommand':anticallCommand,'setcallmsgCommand':setcallmsgCommand,'handleIncomingCall':handleIncomingCall,'readState':readState};
|
|
@@ -1,280 +1 @@
|
|
|
1
|
-
const { setAntichart, getAntichart, removeAntichart } = require('../../davelib/index');
|
|
2
|
-
const isAdmin = require('../../davelib/isAdmin');
|
|
3
|
-
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
4
|
-
const db = require('../../Database/database');
|
|
5
|
-
|
|
6
|
-
async function antichartCommand(sock, chatId, message, senderId, isSenderAdmin, fullArgs) {
|
|
7
|
-
try {
|
|
8
|
-
const fake = createFakeContact(senderId);
|
|
9
|
-
const botName = getBotName();
|
|
10
|
-
|
|
11
|
-
if (!isSenderAdmin && !message.key.fromMe && !db.isSudo(senderId)) {
|
|
12
|
-
await sock.sendMessage(chatId, { text: `*${botName}*\nFor Group Admins Only` }, { quoted: fake });
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const contextInfo = message.message?.extendedTextMessage?.contextInfo || {};
|
|
17
|
-
const mentioned = contextInfo.mentionedJid || [];
|
|
18
|
-
const quoted = contextInfo.participant;
|
|
19
|
-
const quotedStanza = contextInfo.stanzaId;
|
|
20
|
-
let targetUser = mentioned[0] || null;
|
|
21
|
-
if (!targetUser && quoted) {
|
|
22
|
-
targetUser = quoted;
|
|
23
|
-
}
|
|
24
|
-
if (!targetUser && quotedStanza && contextInfo.quotedMessage) {
|
|
25
|
-
const quotedParticipant = contextInfo.participant;
|
|
26
|
-
if (quotedParticipant) targetUser = quotedParticipant;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const argsText = (fullArgs || '').trim().toLowerCase();
|
|
30
|
-
const argParts = argsText.split(/\s+/).filter(p => p && !p.startsWith('@'));
|
|
31
|
-
const action = argParts[0] || '';
|
|
32
|
-
|
|
33
|
-
if (!action) {
|
|
34
|
-
const config = await getAntichart(chatId);
|
|
35
|
-
const currentMode = config?.enabled ? config.action : 'off';
|
|
36
|
-
const modeType = config?.blockedUsers?.length > 0 ? 'Targeted Mode' : 'Global Mode';
|
|
37
|
-
const blockedCount = config?.blockedUsers?.length || 0;
|
|
38
|
-
|
|
39
|
-
const usage = `*${botName} ANTI-CHART*\n\n` +
|
|
40
|
-
`Current Status: ${currentMode.toUpperCase()}\n` +
|
|
41
|
-
`Mode Type: ${modeType}\n` +
|
|
42
|
-
`Blocked Users: ${blockedCount}\n\n` +
|
|
43
|
-
`*Global Commands:*\n` +
|
|
44
|
-
`.antichart delete\n` +
|
|
45
|
-
`.antichart warn\n` +
|
|
46
|
-
`.antichart kick\n` +
|
|
47
|
-
`.antichart off\n\n` +
|
|
48
|
-
`*Target User Commands:*\n` +
|
|
49
|
-
`.antichart delete @user\n` +
|
|
50
|
-
`.antichart warn @user\n` +
|
|
51
|
-
`.antichart kick @user\n` +
|
|
52
|
-
`(or reply to their message)\n\n` +
|
|
53
|
-
`*Manage Blocked Users:*\n` +
|
|
54
|
-
`.antichart list\n` +
|
|
55
|
-
`.antichart unblock @user`;
|
|
56
|
-
|
|
57
|
-
await sock.sendMessage(chatId, { text: usage }, { quoted: fake });
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
if (action === 'list') {
|
|
62
|
-
const config = await getAntichart(chatId);
|
|
63
|
-
if (!config || !config.blockedUsers || config.blockedUsers.length === 0) {
|
|
64
|
-
await sock.sendMessage(chatId, {
|
|
65
|
-
text: `*${botName}*\nNo users are currently blocked by Anti-Chart.`
|
|
66
|
-
}, { quoted: fake });
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
let blockedList = `*${botName} BLOCKED USERS*\n\n`;
|
|
71
|
-
config.blockedUsers.forEach((user, index) => {
|
|
72
|
-
const username = user.split('@')[0];
|
|
73
|
-
blockedList += `${index + 1}. @${username}\n`;
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
await sock.sendMessage(chatId, {
|
|
77
|
-
text: blockedList,
|
|
78
|
-
mentions: config.blockedUsers
|
|
79
|
-
}, { quoted: fake });
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if (action === 'unblock') {
|
|
84
|
-
if (!targetUser) {
|
|
85
|
-
await sock.sendMessage(chatId, {
|
|
86
|
-
text: `*${botName}*\nPlease mention a user to unblock.\nUsage: .antichart unblock @user`
|
|
87
|
-
}, { quoted: fake });
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const config = await getAntichart(chatId);
|
|
92
|
-
if (!config || !config.blockedUsers || !config.blockedUsers.includes(targetUser)) {
|
|
93
|
-
await sock.sendMessage(chatId, {
|
|
94
|
-
text: `*${botName}*\n@${targetUser.split('@')[0]} is not blocked.`,
|
|
95
|
-
mentions: [targetUser]
|
|
96
|
-
}, { quoted: fake });
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
config.blockedUsers = config.blockedUsers.filter(user => user !== targetUser);
|
|
101
|
-
|
|
102
|
-
if (config.blockedUsers.length === 0 && config.action === 'off') {
|
|
103
|
-
await removeAntichart(chatId);
|
|
104
|
-
await sock.sendMessage(chatId, {
|
|
105
|
-
text: `*${botName}*\n@${targetUser.split('@')[0]} unblocked.\nAnti-Chart disabled as no users remain blocked.`,
|
|
106
|
-
mentions: [targetUser]
|
|
107
|
-
}, { quoted: fake });
|
|
108
|
-
} else {
|
|
109
|
-
await setAntichart(chatId, config.enabled, config.action, config.blockedUsers);
|
|
110
|
-
await sock.sendMessage(chatId, {
|
|
111
|
-
text: `*${botName}*\n@${targetUser.split('@')[0]} has been unblocked from Anti-Chart.`,
|
|
112
|
-
mentions: [targetUser]
|
|
113
|
-
}, { quoted: fake });
|
|
114
|
-
}
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
const validModes = ["off", "delete", "warn", "kick"];
|
|
119
|
-
|
|
120
|
-
if (!validModes.includes(action)) {
|
|
121
|
-
await sock.sendMessage(chatId, {
|
|
122
|
-
text: `*${botName}*\nInvalid mode. Use: delete, warn, kick, off, list, or unblock.`
|
|
123
|
-
}, { quoted: fake });
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
if (action === 'off') {
|
|
128
|
-
await removeAntichart(chatId);
|
|
129
|
-
await sock.sendMessage(chatId, {
|
|
130
|
-
text: `*${botName}*\nAnti-Chart DISABLED\nAll protections removed.`
|
|
131
|
-
}, { quoted: fake });
|
|
132
|
-
} else {
|
|
133
|
-
if (targetUser) {
|
|
134
|
-
const config = await getAntichart(chatId) || {
|
|
135
|
-
enabled: true,
|
|
136
|
-
action: action,
|
|
137
|
-
blockedUsers: []
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
if (!config.blockedUsers) config.blockedUsers = [];
|
|
141
|
-
|
|
142
|
-
if (!config.blockedUsers.includes(targetUser)) {
|
|
143
|
-
config.blockedUsers.push(targetUser);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
config.enabled = true;
|
|
147
|
-
config.action = action;
|
|
148
|
-
|
|
149
|
-
await setAntichart(chatId, config.enabled, config.action, config.blockedUsers);
|
|
150
|
-
|
|
151
|
-
const actionMessages = {
|
|
152
|
-
'delete': 'All messages will be deleted',
|
|
153
|
-
'warn': 'Messages deleted + user will be warned',
|
|
154
|
-
'kick': 'Messages deleted + user will be kicked'
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
await sock.sendMessage(chatId, {
|
|
158
|
-
text: `*${botName} TARGETED MODE*\n\nUser: @${targetUser.split('@')[0]}\nAction: ${action.toUpperCase()}\nStatus: Blocked\n\n${actionMessages[action]}`,
|
|
159
|
-
mentions: [targetUser]
|
|
160
|
-
}, { quoted: fake });
|
|
161
|
-
} else {
|
|
162
|
-
await setAntichart(chatId, true, action, []);
|
|
163
|
-
|
|
164
|
-
const actionMessages = {
|
|
165
|
-
'delete': 'All messages from non-admins will be deleted automatically',
|
|
166
|
-
'warn': 'Messages deleted + non-admins will be warned',
|
|
167
|
-
'kick': 'Messages deleted + non-admins will be kicked'
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
await sock.sendMessage(chatId, {
|
|
171
|
-
text: `*${botName} GLOBAL MODE*\n\nAction: ${action.toUpperCase()}\nStatus: Active for all non-admins\n\n${actionMessages[action]}\n\nNote: Admins are exempt from Anti-Chart.`
|
|
172
|
-
}, { quoted: fake });
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
} catch (error) {
|
|
176
|
-
console.error('Error in antichart command:', error.message, 'Line:', error.stack?.split('\n')[1]);
|
|
177
|
-
const botName = getBotName();
|
|
178
|
-
const fake = createFakeContact(message?.key?.participant);
|
|
179
|
-
await sock.sendMessage(chatId, { text: `*${botName}*\nError processing command` }, { quoted: fake });
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
async function handleChartDetection(sock, chatId, message, senderId) {
|
|
184
|
-
try {
|
|
185
|
-
const config = await getAntichart(chatId);
|
|
186
|
-
if (!config || !config.enabled || config.action === 'off') return;
|
|
187
|
-
if (!chatId.endsWith('@g.us')) return;
|
|
188
|
-
|
|
189
|
-
if (message.key.fromMe) return;
|
|
190
|
-
|
|
191
|
-
const { isSenderAdmin, isBotAdmin } = await isAdmin(sock, chatId, senderId);
|
|
192
|
-
if (!isBotAdmin) return;
|
|
193
|
-
if (db.isSudo(senderId)) return;
|
|
194
|
-
|
|
195
|
-
const isBlockedUser = config.blockedUsers && config.blockedUsers.includes(senderId);
|
|
196
|
-
|
|
197
|
-
let shouldAct = false;
|
|
198
|
-
|
|
199
|
-
if (config.blockedUsers && config.blockedUsers.length > 0) {
|
|
200
|
-
shouldAct = isBlockedUser;
|
|
201
|
-
} else {
|
|
202
|
-
shouldAct = !isSenderAdmin;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
if (!shouldAct) return;
|
|
206
|
-
|
|
207
|
-
const msg = message.message;
|
|
208
|
-
if (!msg) return;
|
|
209
|
-
|
|
210
|
-
const hasSticker = msg.stickerMessage;
|
|
211
|
-
const hasImage = msg.imageMessage;
|
|
212
|
-
const hasVideo = msg.videoMessage;
|
|
213
|
-
const hasAudio = msg.audioMessage || msg.pttMessage;
|
|
214
|
-
const hasDocument = msg.documentMessage;
|
|
215
|
-
const hasText = msg.conversation || msg.extendedTextMessage?.text;
|
|
216
|
-
const hasContact = msg.contactMessage;
|
|
217
|
-
const hasLocation = msg.locationMessage;
|
|
218
|
-
const hasPoll = msg.pollCreationMessage;
|
|
219
|
-
const hasGif = msg.imageMessage?.gifPlayback;
|
|
220
|
-
const hasButtons = msg.buttonsMessage;
|
|
221
|
-
const hasTemplate = msg.templateMessage;
|
|
222
|
-
const hasList = msg.listMessage;
|
|
223
|
-
const hasReaction = msg.reactionMessage;
|
|
224
|
-
|
|
225
|
-
const hasAnyMessage = hasSticker || hasImage || hasVideo || hasAudio ||
|
|
226
|
-
hasDocument || hasText || hasContact || hasLocation ||
|
|
227
|
-
hasPoll || hasGif || hasButtons || hasTemplate ||
|
|
228
|
-
hasList || hasReaction;
|
|
229
|
-
|
|
230
|
-
if (!hasAnyMessage) return;
|
|
231
|
-
|
|
232
|
-
const botName = getBotName();
|
|
233
|
-
const kid = senderId;
|
|
234
|
-
const userTag = `@${kid.split("@")[0]}`;
|
|
235
|
-
|
|
236
|
-
try {
|
|
237
|
-
await sock.sendMessage(chatId, {
|
|
238
|
-
delete: {
|
|
239
|
-
remoteJid: chatId,
|
|
240
|
-
fromMe: false,
|
|
241
|
-
id: message.key.id,
|
|
242
|
-
participant: kid
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
} catch (e) {
|
|
246
|
-
console.error("[ANTI-CHART] Delete failed:", e.message);
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
if (config.action === 'kick') {
|
|
251
|
-
try {
|
|
252
|
-
await sock.sendMessage(chatId, {
|
|
253
|
-
text: `*${botName}*\n\n${userTag} has been removed from the group.`,
|
|
254
|
-
mentions: [kid]
|
|
255
|
-
});
|
|
256
|
-
await sock.groupParticipantsUpdate(chatId, [kid], 'remove');
|
|
257
|
-
} catch (kickError) {
|
|
258
|
-
console.error("[ANTI-CHART] Kick failed:", kickError.message);
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
} else if (config.action === 'warn') {
|
|
262
|
-
try {
|
|
263
|
-
await sock.sendMessage(chatId, {
|
|
264
|
-
text: `*${botName}*\n\n${userTag}, messaging is prohibited in this group.`,
|
|
265
|
-
mentions: [kid]
|
|
266
|
-
});
|
|
267
|
-
} catch (warnError) {
|
|
268
|
-
console.error("[ANTI-CHART] Warning failed:", warnError.message);
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
} catch (error) {
|
|
273
|
-
console.error('Error in handleChartDetection:', error.message);
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
module.exports = {
|
|
278
|
-
antichartCommand,
|
|
279
|
-
handleChartDetection
|
|
280
|
-
};
|
|
1
|
+
function _0x2aa9(_0x3b63f3,_0x316021){_0x3b63f3=_0x3b63f3-(0x85b+0xcad+-0x140e);const _0x12eb9d=_0x135b();let _0x4eb529=_0x12eb9d[_0x3b63f3];if(_0x2aa9['TOYTBt']===undefined){var _0x47debc=function(_0x3980fd){const _0x599f37='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47124d='',_0x113ec9='';for(let _0x56734a=0x170f+-0xdb1*0x1+-0x95e,_0x59414f,_0x8ce002,_0xb69d49=-0x4cb*0x1+-0x77*-0x4d+-0x10*0x1f0;_0x8ce002=_0x3980fd['charAt'](_0xb69d49++);~_0x8ce002&&(_0x59414f=_0x56734a%(0xed*-0xc+-0x5d+-0xad*-0x11)?_0x59414f*(0x6e*-0x41+-0x1f3e+-0x1*-0x3b6c)+_0x8ce002:_0x8ce002,_0x56734a++%(-0xb9*0x22+-0x91a+0x21b0))?_0x47124d+=String['fromCharCode'](-0x113e+-0x4aa+-0x29*-0x8f&_0x59414f>>(-(-0x1*-0xf79+0x3e6+0x1*-0x135d)*_0x56734a&-0x99a*-0x1+0x6*0x87+0x7*-0x1d2)):-0x1*0x1661+0x6a*-0x2c+0x13*0x223){_0x8ce002=_0x599f37['indexOf'](_0x8ce002);}for(let _0x19dfc3=0x3d*-0x95+0x2462+-0xe1,_0x496e0e=_0x47124d['length'];_0x19dfc3<_0x496e0e;_0x19dfc3++){_0x113ec9+='%'+('00'+_0x47124d['charCodeAt'](_0x19dfc3)['toString'](0x2*0x3d8+-0xb31*0x3+0x19f3))['slice'](-(0x1dc0+0x217d+-0x3f3b));}return decodeURIComponent(_0x113ec9);};_0x2aa9['waaEsI']=_0x47debc,_0x2aa9['iHIxUO']={},_0x2aa9['TOYTBt']=!![];}const _0x53ffe3=_0x12eb9d[0x248b+0x1192+-0x361d],_0x513662=_0x3b63f3+_0x53ffe3,_0x3785f8=_0x2aa9['iHIxUO'][_0x513662];return!_0x3785f8?(_0x4eb529=_0x2aa9['waaEsI'](_0x4eb529),_0x2aa9['iHIxUO'][_0x513662]=_0x4eb529):_0x4eb529=_0x3785f8,_0x4eb529;}const _0x5e028c=_0x2aa9;(function(_0x5e6981,_0x26231a){const _0x364f08=_0x2aa9,_0x4a4d64=_0x5e6981();while(!![]){try{const _0x813037=parseInt(_0x364f08(0x132))/(0xe4d+-0x29*0xd5+-0x13d1*-0x1)+-parseInt(_0x364f08(0x11f))/(-0x15b*-0x1+-0xab2+0x959)+-parseInt(_0x364f08(0x190))/(-0x6fb+0x156d+-0xe6f)*(parseInt(_0x364f08(0x19b))/(0xd23+0x1697+-0x23b6))+parseInt(_0x364f08(0x183))/(0x1031+0x11e3+-0x220f*0x1)+-parseInt(_0x364f08(0x121))/(-0x1*-0x1529+0x6*-0x5ad+0xceb*0x1)+-parseInt(_0x364f08(0x133))/(-0x1*0x125f+-0x1b5e+0x2dc4)*(-parseInt(_0x364f08(0x123))/(-0x7e1*-0x1+-0x1556+0xd7d))+-parseInt(_0x364f08(0x18e))/(-0x10*-0x11+-0x1e3e+0x1*0x1d37)*(-parseInt(_0x364f08(0x13e))/(0x102f+-0x1544+0x13*0x45));if(_0x813037===_0x26231a)break;else _0x4a4d64['push'](_0x4a4d64['shift']());}catch(_0x1ee5b1){_0x4a4d64['push'](_0x4a4d64['shift']());}}}(_0x135b,-0x1*0x27d86+-0x1f9bb*0x1+0xb0f3c));function _0x135b(){const _0x482034=['vcOkcG','C2vYcG','y3rPDMuGzM9Yia','nZCWodqYu251BKfX','Dg8GDgHLAxiGBq','mJuYodu1mePwwvz6ta','BwvUDgLVBMvKsG','mJKXmdm5mLnvqMHTCa','qgCUDxm','kGPbBNrPlunOyq','AgLZigDYB3vWlG','DgvTCgXHDgvnzq','cGPoB3rLoIbbza','BgLIl2LUzgv4','iejmt0nlruqGvq','BNrHy3q','kLrHCMDLDcbvCW','zMLSDgvY','CM5Lza','y2SU','CNqGzgLZywjSzq','zwXLDgvKicSGBG','ndq2ntq0DMzeuhfj','n1LcwgTcDW','kGPqBgvHC2uGBq','BNrPy2HHCNqGyW','twvZC2fNzxmGza','igrLBgv0zsbaDq','zw5HyMXLza','CJOGqa','D2LSBcbIzsbRAq','igTPy2SGqhvZzq','cLn0yxr1CZOGqG','C2vYihrVihvUyG','odKWEufSt2Lo','ywn0Aw9U','igrLBgv0zqO','igrLBgv0zsWGDW','yxj0ihvUyMXVyW','yxrPy2fSBhK','ihDHCM4GqhvZzq','B25nzxnZywDL','kGPgB3iGr3jVDq','CMvTB3zL','zxmGD2LSBcbIzq','AwXLzdO','yxrL','cLn0yxr1CZOGqq','iefUDgKTq2HHCG','zxjYB3i','ywXSig5VBI1Hza','Bw1HBMrZoIOk','AwXSigjLigrLBa','ieDmt0jbtcbntW','C2vYihDPBgWGyG','CZOQcG','zwn0Aw9UCYbYzq','igzHAwXLzdO','C2vUze1LC3nHzW','Bg9JA2vKcGO','tgLUztO','q3vYCMvUDcbtDa','igHHCYbIzwvUia','Dgv4Da','BgLIl2LZqwrTAq','BwLUCYbHCMuGzq','zwqGyNKGqw50Aq','vgfYz2v0zwqGtq','yxnL','B24TywrTAw5Zia','kg9YihjLCgX5ia','vf0Gs2LJAYbMyq','C2fNzq','vf0GrgvSzxrLia','z3jVDxbqyxj0Aq','zcbHCYbUBYb1CW','q2HHCNqU','B20GDgHLigDYBW','igjSB2nRzwqU','BwvZC2fNzq','zxjZihjLBwfPBG','Aw1Hz2vnzxnZyq','EgvTChqGzNjVBq','EhrnzxnZywDL','B2zM','ihvUyMXVy2TLza','CMvTB3zLzcbMCG','kGPoBYb1C2vYCW','zg9JDw1LBNrnzq','zMfPBgvKoG','yxvKAw9nzxnZyq','zsb3yxjUzwq','D2LSBcbIzsb3yq','lI4VlI4Vzgf2zq','rgv0zwn0Aw9UoG','DxaU','raPbBgWGChjVDa','igfYzsbJDxjYzq','lGPbBNrPlunOyq','y29UDgv4DeLUzG','C3rHBNPHswq','Bg9JyxrPB25nzq','Bw92zwqU','mZe2mdy2mfPKExHJyq','AYbaDxnLCG','AxntDwrV','y2LWyw50C1vWza','ig9MzGOk','Bg9JAY4kvxnHzW','zxjZoIa','qwXSig1LC3nHzW','igLZig5VDcbIBa','BNrSEsbIBg9JAW','Aw5JBhvKzxm','mJm1mdHXv1PJALO','CNqGreLtqujmrq','mte0ChfwCNbJ','B21Tyw5K','yMfZzs9KyxrHyG','Dw5IBg9JA2vKia','BgLZDa','z2LMugXHEwjHyW','kGOk','DxnLCG','yML0zwqGAw4GDa','C3bSAxq','zgvSzxrL','ndu4otj2rfrLvKG','DhjPBq','ihDHCM4k','D2fYBG','igXPC3qk','zxH0zw5Kzwruzq','lunOyxj0lG','kGPfCNjVCIbWCG','w0foveKTq0HbuG','BJOG','zw5KC1DPDgG','CxvVDgvKtwvZCW','ihvUyMXVy2SGqa','lcbTzxnZywDPBG','C3rHy2S','zwXLDgvKicSGDq','Cg9SBenYzwf0Aq','qMXVy2TLzcbvCW','lIba','C3rPy2TLCK1LCW','Dg9vChbLCKnHCW','tu9ersOkcLvZzq','yNv0Dg9UC01LCW','kK1HBMfNzsbcBa','vf0Gv2fYBMLUzW','C3nHz2u','BMX5','A2v5','zYbPCYbWCM9OAq','BgvUz3rO','CMvHy3rPB25nzq','yMXVy2TLzfvZzq','y2TLza','ig9MzIWGBgLZDa','Bw9Kzs4GvxnLoG','ztOGlMfUDgLJAa','zw50Aw9UigeGDq','zNjVBu1L','zNjVBsbbBNrPlq','kGPa','iefoveKTq0HbuG','rxjYB3iGAw4Gyq','lMfUDgLJAgfYDa','r2XVyMfSie1Vza','CgfYDgLJAxbHBG','kGPjBNzHBgLKia','B2nLC3nPBMCGyW'];_0x135b=function(){return _0x482034;};return _0x135b();}const {setAntichart,getAntichart,removeAntichart}=require(_0x5e028c(0x179)+_0x5e028c(0x129)),isAdmin=require(_0x5e028c(0x179)+_0x5e028c(0x15c)+'n'),{createFakeContact,getBotName}=require(_0x5e028c(0x179)+'lib/fakeCo'+_0x5e028c(0x12b)),db=require('../../Data'+_0x5e028c(0x192)+_0x5e028c(0x160));async function antichartCommand(_0x8ce002,_0xb69d49,_0x19dfc3,_0x496e0e,_0xf83388,_0x381caa){const _0x13949c=_0x2aa9;try{const _0x38adf8=createFakeContact(_0x496e0e),_0x12bf40=getBotName();if(!_0xf83388&&!_0x19dfc3[_0x13949c(0x108)]['fromMe']&&!db['isSudo'](_0x496e0e)){await _0x8ce002['sendMessag'+'e'](_0xb69d49,{'text':'*'+_0x12bf40+(_0x13949c(0x146)+'p\x20Admins\x20O'+_0x13949c(0x107))},{'quoted':_0x38adf8});return;}const _0x669c36=_0x19dfc3[_0x13949c(0x16b)]?.[_0x13949c(0x1a0)+_0x13949c(0x16f)]?.[_0x13949c(0x17f)+'o']||{},_0x5293aa=_0x669c36[_0x13949c(0x122)+'id']||[],_0x1d4742=_0x669c36[_0x13949c(0x119)+'t'],_0x248405=_0x669c36[_0x13949c(0x180)];let _0x4caf89=_0x5293aa[0x27c*-0x7+-0x4cb+-0x277*-0x9]||null;!_0x4caf89&&_0x1d4742&&(_0x4caf89=_0x1d4742);if(!_0x4caf89&&_0x248405&&_0x669c36[_0x13949c(0x1a6)+'age']){const _0xd7a875=_0x669c36[_0x13949c(0x119)+'t'];if(_0xd7a875)_0x4caf89=_0xd7a875;}const _0x3f8571=(_0x381caa||'')[_0x13949c(0x19c)]()['toLowerCas'+'e'](),_0x493d1a=_0x3f8571[_0x13949c(0x199)](/\s+/)['filter'](_0x4a81f4=>_0x4a81f4&&!_0x4a81f4['startsWith']('@')),_0x28ad0d=_0x493d1a[0x1590+-0x9e5+0x67*-0x1d]||'';if(!_0x28ad0d){const _0x437c82=await getAntichart(_0xb69d49),_0x4a5d03=_0x437c82?.['enabled']?_0x437c82[_0x13949c(0x13f)]:_0x13949c(0x170),_0x239f57=_0x437c82?.[_0x13949c(0x10c)+'rs']?.[_0x13949c(0x10a)]>-0xbfe+0xf3+0xb0b?_0x13949c(0x15f)+'ode':_0x13949c(0x118)+'e',_0x462823=_0x437c82?.[_0x13949c(0x10c)+'rs']?.[_0x13949c(0x10a)]||0x2344+-0x1*-0x13f6+-0x373a,_0x4ed40a='*'+_0x12bf40+(_0x13949c(0x115)+_0x13949c(0x11c))+(_0x13949c(0x159)+'atus:\x20'+_0x4a5d03[_0x13949c(0x101)+'e']()+'\x0a')+('Mode\x20Type:'+'\x20'+_0x239f57+'\x0a')+(_0x13949c(0xfe)+_0x13949c(0x189)+_0x462823+'\x0a\x0a')+('*Global\x20Co'+_0x13949c(0x14f))+(_0x13949c(0x117)+_0x13949c(0x140))+('.antichart'+_0x13949c(0x19d))+(_0x13949c(0x117)+'\x20kick\x0a')+(_0x13949c(0x117)+_0x13949c(0x187))+(_0x13949c(0x12c)+'er\x20Command'+_0x13949c(0x153))+(_0x13949c(0x117)+_0x13949c(0x137)+_0x13949c(0x11d))+(_0x13949c(0x117)+_0x13949c(0x144)+'r\x0a')+(_0x13949c(0x117)+_0x13949c(0x13b)+'r\x0a')+(_0x13949c(0x162)+_0x13949c(0x120)+'essage)\x0a\x0a')+(_0x13949c(0x104)+'ocked\x20User'+'s:*\x0a')+(_0x13949c(0x117)+_0x13949c(0x19f))+(_0x13949c(0x117)+_0x13949c(0x1a7)+_0x13949c(0x197));await _0x8ce002[_0x13949c(0x156)+'e'](_0xb69d49,{'text':_0x4ed40a},{'quoted':_0x38adf8});return;}if(_0x28ad0d===_0x13949c(0x194)){const _0x164688=await getAntichart(_0xb69d49);if(!_0x164688||!_0x164688['blockedUse'+'rs']||_0x164688[_0x13949c(0x10c)+'rs'][_0x13949c(0x10a)]===-0x91a+0x20ef+-0x17d5){await _0x8ce002[_0x13949c(0x156)+'e'](_0xb69d49,{'text':'*'+_0x12bf40+(_0x13949c(0x173)+_0x13949c(0x17d)+_0x13949c(0x18c)+_0x13949c(0x15e)+_0x13949c(0x1a1))},{'quoted':_0x38adf8});return;}let _0x47fd64='*'+_0x12bf40+(_0x13949c(0x12a)+'SERS*\x0a\x0a');_0x164688[_0x13949c(0x10c)+'rs']['forEach']((_0xf04409,_0x53dfa7)=>{const _0x10f431=_0x2aa9,_0x6a0d00=_0xf04409[_0x10f431(0x199)]('@')[-0x113e+-0x4aa+-0x8*-0x2bd];_0x47fd64+=_0x53dfa7+(-0x1*-0xf79+0x3e6+0x2*-0x9af)+_0x10f431(0xff)+_0x6a0d00+'\x0a';}),await _0x8ce002['sendMessag'+'e'](_0xb69d49,{'text':_0x47fd64,'mentions':_0x164688[_0x13949c(0x10c)+'rs']},{'quoted':_0x38adf8});return;}if(_0x28ad0d==='unblock'){if(!_0x4caf89){await _0x8ce002['sendMessag'+'e'](_0xb69d49,{'text':'*'+_0x12bf40+(_0x13949c(0x134)+_0x13949c(0x111)+_0x13949c(0x13d)+_0x13949c(0x188)+_0x13949c(0x110)+_0x13949c(0x142)+_0x13949c(0x184))},{'quoted':_0x38adf8});return;}const _0x499d9b=await getAntichart(_0xb69d49);if(!_0x499d9b||!_0x499d9b[_0x13949c(0x10c)+'rs']||!_0x499d9b[_0x13949c(0x10c)+'rs'][_0x13949c(0x18d)](_0x4caf89)){await _0x8ce002[_0x13949c(0x156)+'e'](_0xb69d49,{'text':'*'+_0x12bf40+_0x13949c(0x114)+_0x4caf89[_0x13949c(0x199)]('@')[-0x99a*-0x1+0x6*0x87+0x13*-0xac]+(_0x13949c(0x18b)+'ocked.'),'mentions':[_0x4caf89]},{'quoted':_0x38adf8});return;}_0x499d9b[_0x13949c(0x10c)+'rs']=_0x499d9b[_0x13949c(0x10c)+'rs'][_0x13949c(0x12d)](_0x5bee2c=>_0x5bee2c!==_0x4caf89);_0x499d9b[_0x13949c(0x10c)+'rs'][_0x13949c(0x10a)]===-0x1*0x1661+0x6a*-0x2c+0x13*0x223&&_0x499d9b['action']===_0x13949c(0x170)?(await removeAntichart(_0xb69d49),await _0x8ce002[_0x13949c(0x156)+'e'](_0xb69d49,{'text':'*'+_0x12bf40+'*\x0a@'+_0x4caf89[_0x13949c(0x199)]('@')[0x3d*-0x95+0x2462+-0xe1]+(_0x13949c(0x171)+_0x13949c(0x17e)+_0x13949c(0x130)+_0x13949c(0x167)+_0x13949c(0x16c)+_0x13949c(0x16a)),'mentions':[_0x4caf89]},{'quoted':_0x38adf8})):(await setAntichart(_0xb69d49,_0x499d9b[_0x13949c(0x138)],_0x499d9b['action'],_0x499d9b['blockedUse'+'rs']),await _0x8ce002[_0x13949c(0x156)+'e'](_0xb69d49,{'text':'*'+_0x12bf40+_0x13949c(0x114)+_0x4caf89[_0x13949c(0x199)]('@')[0x2*0x3d8+-0xb31*0x3+0x19e3]+(_0x13949c(0x15a)+_0x13949c(0x193)+_0x13949c(0x113)+_0x13949c(0x168)),'mentions':[_0x4caf89]},{'quoted':_0x38adf8}));return;}const _0x5310b9=[_0x13949c(0x170),_0x13949c(0x19a),'warn','kick'];if(!_0x5310b9[_0x13949c(0x18d)](_0x28ad0d)){await _0x8ce002[_0x13949c(0x156)+'e'](_0xb69d49,{'text':'*'+_0x12bf40+(_0x13949c(0x11a)+_0x13949c(0x10f)+_0x13949c(0x141)+'arn,\x20kick,'+_0x13949c(0x10e)+',\x20or\x20unblo'+_0x13949c(0x12f))},{'quoted':_0x38adf8});return;}if(_0x28ad0d==='off')await removeAntichart(_0xb69d49),await _0x8ce002['sendMessag'+'e'](_0xb69d49,{'text':'*'+_0x12bf40+(_0x13949c(0x125)+_0x13949c(0x18f)+_0x13949c(0x17c)+_0x13949c(0x154)+_0x13949c(0x182))},{'quoted':_0x38adf8});else{if(_0x4caf89){const _0x54164d=await getAntichart(_0xb69d49)||{'enabled':!![],'action':_0x28ad0d,'blockedUsers':[]};if(!_0x54164d['blockedUse'+'rs'])_0x54164d[_0x13949c(0x10c)+'rs']=[];!_0x54164d[_0x13949c(0x10c)+'rs']['includes'](_0x4caf89)&&_0x54164d[_0x13949c(0x10c)+'rs']['push'](_0x4caf89);_0x54164d[_0x13949c(0x138)]=!![],_0x54164d['action']=_0x28ad0d,await setAntichart(_0xb69d49,_0x54164d[_0x13949c(0x138)],_0x54164d[_0x13949c(0x13f)],_0x54164d[_0x13949c(0x10c)+'rs']);const _0x3cd4e5={'delete':'All\x20messag'+_0x13949c(0x148)+'\x20deleted','warn':_0x13949c(0x136)+'eleted\x20+\x20u'+_0x13949c(0x152)+_0x13949c(0x177),'kick':_0x13949c(0x136)+_0x13949c(0xfc)+_0x13949c(0x152)+'e\x20kicked'};await _0x8ce002[_0x13949c(0x156)+'e'](_0xb69d49,{'text':'*'+_0x12bf40+('\x20TARGETED\x20'+_0x13949c(0x102)+_0x13949c(0x139))+_0x4caf89[_0x13949c(0x199)]('@')[0x1dc0+0x217d+-0x3f3d]+'\x0aAction:\x20'+_0x28ad0d['toUpperCas'+'e']()+(_0x13949c(0x13c)+_0x13949c(0x157))+_0x3cd4e5[_0x28ad0d],'mentions':[_0x4caf89]},{'quoted':_0x38adf8});}else{await setAntichart(_0xb69d49,!![],_0x28ad0d,[]);const _0x37bbce={'delete':_0x13949c(0x18a)+'es\x20from\x20no'+'n-admins\x20w'+_0x13949c(0x150)+'eted\x20autom'+_0x13949c(0x143),'warn':_0x13949c(0x136)+_0x13949c(0x131)+_0x13949c(0x161)+_0x13949c(0x178)+_0x13949c(0x12e),'kick':_0x13949c(0x136)+_0x13949c(0x131)+'on-admins\x20'+_0x13949c(0x13a)+_0x13949c(0x10d)};await _0x8ce002[_0x13949c(0x156)+'e'](_0xb69d49,{'text':'*'+_0x12bf40+(_0x13949c(0x151)+'DE*\x0a\x0aActio'+_0x13949c(0x1a4))+_0x28ad0d[_0x13949c(0x101)+'e']()+(_0x13949c(0x14b)+_0x13949c(0x11e)+_0x13949c(0x14e)+'mins\x0a\x0a')+_0x37bbce[_0x28ad0d]+(_0x13949c(0x128)+_0x13949c(0x15d)+_0x13949c(0x16e)+_0x13949c(0x14c)+'t.')},{'quoted':_0x38adf8});}}}catch(_0x2f969c){console['error'](_0x13949c(0x116)+_0x13949c(0x135)+'ommand:',_0x2f969c['message'],_0x13949c(0x158),_0x2f969c[_0x13949c(0xfb)]?.[_0x13949c(0x199)]('\x0a')[0x248b+0x1192+-0x361c]);const _0x1ec7c9=getBotName(),_0x58286b=createFakeContact(_0x19dfc3?.['key']?.[_0x13949c(0x119)+'t']);await _0x8ce002[_0x13949c(0x156)+'e'](_0xb69d49,{'text':'*'+_0x1ec7c9+(_0x13949c(0x1a2)+_0x13949c(0x11b)+_0x13949c(0x191))},{'quoted':_0x58286b});}}async function handleChartDetection(_0x556f86,_0x46f4b3,_0x3b8eb0,_0x4d0bb){const _0x249cab=_0x2aa9;try{const _0x45134b=await getAntichart(_0x46f4b3);if(!_0x45134b||!_0x45134b[_0x249cab(0x138)]||_0x45134b[_0x249cab(0x13f)]==='off')return;if(!_0x46f4b3[_0x249cab(0x1a5)](_0x249cab(0x124)))return;if(_0x3b8eb0['key'][_0x249cab(0x112)])return;const {isSenderAdmin:_0x4d9c30,isBotAdmin:_0x321284}=await isAdmin(_0x556f86,_0x46f4b3,_0x4d0bb);if(!_0x321284)return;if(db[_0x249cab(0x185)](_0x4d0bb))return;const _0x38b8b5=_0x45134b[_0x249cab(0x10c)+'rs']&&_0x45134b[_0x249cab(0x10c)+'rs'][_0x249cab(0x18d)](_0x4d0bb);let _0x54415b=![];_0x45134b[_0x249cab(0x10c)+'rs']&&_0x45134b[_0x249cab(0x10c)+'rs'][_0x249cab(0x10a)]>0x996+0x3b*0x6+-0xaf8?_0x54415b=_0x38b8b5:_0x54415b=!_0x4d9c30;if(!_0x54415b)return;const _0x3b50a1=_0x3b8eb0[_0x249cab(0x16b)];if(!_0x3b50a1)return;const _0x571b7d=_0x3b50a1[_0x249cab(0x100)+'sage'],_0x3416a3=_0x3b50a1[_0x249cab(0x16d)+'ge'],_0x27f1b3=_0x3b50a1['videoMessa'+'ge'],_0xc3e299=_0x3b50a1[_0x249cab(0x176)+'ge']||_0x3b50a1['pttMessage'],_0x1521b0=_0x3b50a1[_0x249cab(0x174)+_0x249cab(0x106)],_0x59166e=_0x3b50a1['conversati'+'on']||_0x3b50a1['extendedTe'+_0x249cab(0x16f)]?.[_0x249cab(0x15b)],_0x1c8f1e=_0x3b50a1['contactMes'+'sage'],_0x5b8fd4=_0x3b50a1[_0x249cab(0x181)+_0x249cab(0x106)],_0x4895fa=_0x3b50a1[_0x249cab(0xfd)+_0x249cab(0x145)],_0x4ac1bb=_0x3b50a1[_0x249cab(0x16d)+'ge']?.[_0x249cab(0x195)+'k'],_0xa3f005=_0x3b50a1[_0x249cab(0x103)+_0x249cab(0x164)],_0x88f012=_0x3b50a1[_0x249cab(0x127)+_0x249cab(0x106)],_0x954436=_0x3b50a1['listMessag'+'e'],_0x28a573=_0x3b50a1[_0x249cab(0x10b)+'ssage'],_0x1d6d3e=_0x571b7d||_0x3416a3||_0x27f1b3||_0xc3e299||_0x1521b0||_0x59166e||_0x1c8f1e||_0x5b8fd4||_0x4895fa||_0x4ac1bb||_0xa3f005||_0x88f012||_0x954436||_0x28a573;if(!_0x1d6d3e)return;const _0x5d285e=getBotName(),_0x5be79e=_0x4d0bb,_0x30401a='@'+_0x5be79e[_0x249cab(0x199)]('@')[0xdbc*0x2+-0x35*-0x1f+-0x21e3*0x1];try{await _0x556f86[_0x249cab(0x156)+'e'](_0x46f4b3,{'delete':{'remoteJid':_0x46f4b3,'fromMe':![],'id':_0x3b8eb0[_0x249cab(0x108)]['id'],'participant':_0x5be79e}});}catch(_0x3d11e9){console[_0x249cab(0x14d)](_0x249cab(0x1a3)+_0x249cab(0x165)+_0x249cab(0x175),_0x3d11e9[_0x249cab(0x16b)]);return;}if(_0x45134b['action']==='kick')try{await _0x556f86[_0x249cab(0x156)+'e'](_0x46f4b3,{'text':'*'+_0x5d285e+_0x249cab(0x196)+_0x30401a+(_0x249cab(0x15a)+_0x249cab(0x172)+_0x249cab(0x169)+_0x249cab(0x17b)),'mentions':[_0x5be79e]}),await _0x556f86[_0x249cab(0x166)+_0x249cab(0x186)+_0x249cab(0x14a)](_0x46f4b3,[_0x5be79e],_0x249cab(0x147));}catch(_0x3cb908){console[_0x249cab(0x14d)](_0x249cab(0x1a3)+_0x249cab(0x163)+_0x249cab(0x149),_0x3cb908[_0x249cab(0x16b)]);}else{if(_0x45134b[_0x249cab(0x13f)]===_0x249cab(0x19e))try{await _0x556f86[_0x249cab(0x156)+'e'](_0x46f4b3,{'text':'*'+_0x5d285e+_0x249cab(0x196)+_0x30401a+(_0x249cab(0xfa)+_0x249cab(0x109)+_0x249cab(0x198)+_0x249cab(0x126)),'mentions':[_0x5be79e]});}catch(_0x1327df){console[_0x249cab(0x14d)](_0x249cab(0x1a3)+_0x249cab(0x105)+_0x249cab(0x155),_0x1327df[_0x249cab(0x16b)]);}}}catch(_0x16d72f){console[_0x249cab(0x14d)]('Error\x20in\x20h'+'andleChart'+_0x249cab(0x17a),_0x16d72f[_0x249cab(0x16b)]);}}module['exports']={'antichartCommand':antichartCommand,'handleChartDetection':handleChartDetection};
|