jsdecryptor 4.0.3 → 4.0.4
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,262 +1 @@
|
|
|
1
|
-
const { getGroupConfig, setGroupConfig } = require('../../Database/settingsStore');
|
|
2
|
-
const db = require('../../Database/database');
|
|
3
|
-
const isAdmin = require('../../davelib/isAdmin');
|
|
4
|
-
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
5
|
-
|
|
6
|
-
const processedGroupCalls = new Map();
|
|
7
|
-
const GROUP_CALL_COOLDOWN_MS = 30000;
|
|
8
|
-
|
|
9
|
-
async function groupanticallCommand(sock, chatId, message, args) {
|
|
10
|
-
const botName = getBotName();
|
|
11
|
-
const senderId = message.key.participant || message.key.remoteJid;
|
|
12
|
-
const fake = createFakeContact(senderId);
|
|
13
|
-
const isGroup = chatId.endsWith('@g.us');
|
|
14
|
-
|
|
15
|
-
if (!isGroup) {
|
|
16
|
-
return sock.sendMessage(chatId, {
|
|
17
|
-
text: `┌─ *${botName}* ─┐\n│\n│ Group command only!\n│\n└─────────────┘`
|
|
18
|
-
}, { quoted: fake });
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const { isSenderAdmin, isBotAdmin } = await isAdmin(sock, chatId, senderId);
|
|
22
|
-
if (!isSenderAdmin && !message.key.fromMe && !db.isSudo(senderId)) {
|
|
23
|
-
return sock.sendMessage(chatId, {
|
|
24
|
-
text: `┌─ *${botName}* ─┐\n│\n│ Admin only command!\n│\n└─────────────┘`
|
|
25
|
-
}, { quoted: fake });
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const config = getGroupConfig(chatId, 'groupanticall') || { enabled: false, action: 'warn' };
|
|
29
|
-
const sub = (args || '').trim().toLowerCase();
|
|
30
|
-
|
|
31
|
-
if (!sub) {
|
|
32
|
-
const helpText = `┌─ *${botName}* ─┐
|
|
33
|
-
│
|
|
34
|
-
│ Status: ${config.enabled ? 'ON' : 'OFF'}
|
|
35
|
-
│ Action: ${(config.action || 'warn').toUpperCase()}
|
|
36
|
-
│ Bot admin: ${isBotAdmin ? 'Yes' : 'No'}
|
|
37
|
-
│
|
|
38
|
-
│ Commands:
|
|
39
|
-
│ .groupanticall on
|
|
40
|
-
│ .groupanticall off
|
|
41
|
-
│ .groupanticall warn
|
|
42
|
-
│ .groupanticall delete
|
|
43
|
-
│ .groupanticall kick
|
|
44
|
-
│ .groupanticall status
|
|
45
|
-
│
|
|
46
|
-
│ Actions:
|
|
47
|
-
│ WARN - Decline + warn
|
|
48
|
-
│ DELETE - Decline + remove
|
|
49
|
-
│ KICK - Decline + kick
|
|
50
|
-
│
|
|
51
|
-
└─────────────┘`;
|
|
52
|
-
return sock.sendMessage(chatId, { text: helpText }, { quoted: fake });
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
let newConfig = { ...config };
|
|
56
|
-
let responseText = '';
|
|
57
|
-
|
|
58
|
-
if (sub === 'status') {
|
|
59
|
-
responseText = `┌─ *${botName}* ─┐
|
|
60
|
-
│
|
|
61
|
-
│ Anti-Call: ${config.enabled ? 'ACTIVE' : 'INACTIVE'}
|
|
62
|
-
│ Action: ${(config.action || 'warn').toUpperCase()}
|
|
63
|
-
│ Bot admin: ${isBotAdmin ? 'Yes' : 'No'}
|
|
64
|
-
│
|
|
65
|
-
└─────────────┘`;
|
|
66
|
-
} else if (sub === 'on' || sub === 'enable') {
|
|
67
|
-
newConfig.enabled = true;
|
|
68
|
-
if (!newConfig.action) newConfig.action = 'warn';
|
|
69
|
-
responseText = `┌─ *${botName}* ─┐
|
|
70
|
-
│
|
|
71
|
-
│ Anti-Call ENABLED
|
|
72
|
-
│ Action: ${newConfig.action.toUpperCase()}
|
|
73
|
-
│
|
|
74
|
-
└─────────────┘`;
|
|
75
|
-
setGroupConfig(chatId, 'groupanticall', newConfig);
|
|
76
|
-
} else if (sub === 'off' || sub === 'disable') {
|
|
77
|
-
newConfig.enabled = false;
|
|
78
|
-
responseText = `┌─ *${botName}* ─┐
|
|
79
|
-
│
|
|
80
|
-
│ Anti-Call DISABLED
|
|
81
|
-
│
|
|
82
|
-
└─────────────┘`;
|
|
83
|
-
setGroupConfig(chatId, 'groupanticall', newConfig);
|
|
84
|
-
} else if (sub === 'warn') {
|
|
85
|
-
newConfig.enabled = true;
|
|
86
|
-
newConfig.action = 'warn';
|
|
87
|
-
responseText = `┌─ *${botName}* ─┐
|
|
88
|
-
│
|
|
89
|
-
│ Mode: WARN
|
|
90
|
-
│ Decline + warn
|
|
91
|
-
│
|
|
92
|
-
└─────────────┘`;
|
|
93
|
-
setGroupConfig(chatId, 'groupanticall', newConfig);
|
|
94
|
-
} else if (sub === 'delete' || sub === 'remove') {
|
|
95
|
-
newConfig.enabled = true;
|
|
96
|
-
newConfig.action = 'delete';
|
|
97
|
-
if (!isBotAdmin) {
|
|
98
|
-
responseText = `┌─ *${botName}* ─┐
|
|
99
|
-
│
|
|
100
|
-
│ Mode: DELETE
|
|
101
|
-
│ Decline + remove
|
|
102
|
-
│
|
|
103
|
-
│ Bot needs admin rights!
|
|
104
|
-
│
|
|
105
|
-
└─────────────┘`;
|
|
106
|
-
} else {
|
|
107
|
-
responseText = `┌─ *${botName}* ─┐
|
|
108
|
-
│
|
|
109
|
-
│ Mode: DELETE
|
|
110
|
-
│ Decline + remove caller
|
|
111
|
-
│
|
|
112
|
-
└─────────────┘`;
|
|
113
|
-
}
|
|
114
|
-
setGroupConfig(chatId, 'groupanticall', newConfig);
|
|
115
|
-
} else if (sub === 'kick') {
|
|
116
|
-
newConfig.enabled = true;
|
|
117
|
-
newConfig.action = 'kick';
|
|
118
|
-
if (!isBotAdmin) {
|
|
119
|
-
responseText = `┌─ *${botName}* ─┐
|
|
120
|
-
│
|
|
121
|
-
│ Mode: KICK
|
|
122
|
-
│ Decline + kick
|
|
123
|
-
│
|
|
124
|
-
│ Bot needs admin rights!
|
|
125
|
-
│
|
|
126
|
-
└─────────────┘`;
|
|
127
|
-
} else {
|
|
128
|
-
responseText = `┌─ *${botName}* ─┐
|
|
129
|
-
│
|
|
130
|
-
│ Mode: KICK
|
|
131
|
-
│ Decline + kick caller
|
|
132
|
-
│
|
|
133
|
-
└─────────────┘`;
|
|
134
|
-
}
|
|
135
|
-
setGroupConfig(chatId, 'groupanticall', newConfig);
|
|
136
|
-
} else {
|
|
137
|
-
responseText = `┌─ *${botName}* ─┐
|
|
138
|
-
│
|
|
139
|
-
│ Invalid option!
|
|
140
|
-
│ Use: on, off, warn, delete, kick, status
|
|
141
|
-
│
|
|
142
|
-
└─────────────┘`;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
await sock.sendMessage(chatId, { text: responseText }, { quoted: fake });
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
async function handleGroupCall(sock, call) {
|
|
149
|
-
try {
|
|
150
|
-
if (!call.isGroup) return false;
|
|
151
|
-
|
|
152
|
-
const callerJid = call.from;
|
|
153
|
-
if (!callerJid) return false;
|
|
154
|
-
|
|
155
|
-
const groupJid = call.chatId;
|
|
156
|
-
if (!groupJid || !groupJid.endsWith('@g.us')) return false;
|
|
157
|
-
|
|
158
|
-
const config = getGroupConfig(groupJid, 'groupanticall');
|
|
159
|
-
if (!config || !config.enabled) return false;
|
|
160
|
-
|
|
161
|
-
const callKey = call.id || `${callerJid}_${groupJid}_${Date.now()}`;
|
|
162
|
-
const now = Date.now();
|
|
163
|
-
if (processedGroupCalls.has(callKey)) {
|
|
164
|
-
const lastTime = processedGroupCalls.get(callKey);
|
|
165
|
-
if (now - lastTime < GROUP_CALL_COOLDOWN_MS) return true;
|
|
166
|
-
}
|
|
167
|
-
processedGroupCalls.set(callKey, now);
|
|
168
|
-
|
|
169
|
-
if (processedGroupCalls.size > 50) {
|
|
170
|
-
for (const [key, time] of processedGroupCalls) {
|
|
171
|
-
if (now - time > 60000) processedGroupCalls.delete(key);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
try {
|
|
176
|
-
await sock.rejectCall(call.id, callerJid);
|
|
177
|
-
} catch (e) {
|
|
178
|
-
console.error('[GROUP-ANTICALL] Reject failed:', e.message);
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
const botName = getBotName();
|
|
182
|
-
const callerTag = `@${callerJid.split('@')[0]}`;
|
|
183
|
-
const action = config.action || 'warn';
|
|
184
|
-
|
|
185
|
-
if (action === 'warn') {
|
|
186
|
-
try {
|
|
187
|
-
await sock.sendMessage(groupJid, {
|
|
188
|
-
text: `┌─ *${botName}* ─┐
|
|
189
|
-
│
|
|
190
|
-
│ ${callerTag}
|
|
191
|
-
│ Group calls not allowed!
|
|
192
|
-
│
|
|
193
|
-
└─────────────┘`,
|
|
194
|
-
mentions: [callerJid]
|
|
195
|
-
});
|
|
196
|
-
} catch (e) {
|
|
197
|
-
console.error('[GROUP-ANTICALL] Warn failed:', e.message);
|
|
198
|
-
}
|
|
199
|
-
} else if (action === 'delete' || action === 'kick') {
|
|
200
|
-
try {
|
|
201
|
-
const botJid = sock.user?.id?.split(':')[0] + '@s.whatsapp.net';
|
|
202
|
-
const groupMeta = await sock.groupMetadata(groupJid);
|
|
203
|
-
const botIsAdmin = groupMeta.participants.some(
|
|
204
|
-
p => (p.id === botJid || p.id.startsWith(sock.user?.id?.split(':')[0])) &&
|
|
205
|
-
(p.admin === 'admin' || p.admin === 'superadmin')
|
|
206
|
-
);
|
|
207
|
-
|
|
208
|
-
const callerIsAdmin = groupMeta.participants.some(
|
|
209
|
-
p => p.id === callerJid && (p.admin === 'admin' || p.admin === 'superadmin')
|
|
210
|
-
);
|
|
211
|
-
|
|
212
|
-
if (callerIsAdmin) {
|
|
213
|
-
await sock.sendMessage(groupJid, {
|
|
214
|
-
text: `┌─ *${botName}* ─┐
|
|
215
|
-
│
|
|
216
|
-
│ ${callerTag}
|
|
217
|
-
│ Group calls not allowed!
|
|
218
|
-
│ (Admin - not removed)
|
|
219
|
-
│
|
|
220
|
-
└─────────────┘`,
|
|
221
|
-
mentions: [callerJid]
|
|
222
|
-
});
|
|
223
|
-
} else if (botIsAdmin) {
|
|
224
|
-
const actionWord = action === 'delete' ? 'removed' : 'kicked';
|
|
225
|
-
await sock.sendMessage(groupJid, {
|
|
226
|
-
text: `┌─ *${botName}* ─┐
|
|
227
|
-
│
|
|
228
|
-
│ ${callerTag}
|
|
229
|
-
│ ${actionWord} for group call
|
|
230
|
-
│
|
|
231
|
-
└─────────────┘`,
|
|
232
|
-
mentions: [callerJid]
|
|
233
|
-
});
|
|
234
|
-
await sock.groupParticipantsUpdate(groupJid, [callerJid], 'remove');
|
|
235
|
-
} else {
|
|
236
|
-
await sock.sendMessage(groupJid, {
|
|
237
|
-
text: `┌─ *${botName}* ─┐
|
|
238
|
-
│
|
|
239
|
-
│ ${callerTag}
|
|
240
|
-
│ Group calls not allowed!
|
|
241
|
-
│ (Bot needs admin to ${action})
|
|
242
|
-
│
|
|
243
|
-
└─────────────┘`,
|
|
244
|
-
mentions: [callerJid]
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
} catch (e) {
|
|
248
|
-
console.error(`[GROUP-ANTICALL] ${action} failed:`, e.message);
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
return true;
|
|
253
|
-
} catch (error) {
|
|
254
|
-
console.error('[GROUP-ANTICALL] Error:', error.message);
|
|
255
|
-
return false;
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
module.exports = {
|
|
260
|
-
groupanticallCommand,
|
|
261
|
-
handleGroupCall
|
|
262
|
-
};
|
|
1
|
+
function _0x29a2(_0x13a90c,_0x23361f){_0x13a90c=_0x13a90c-(0xf0+0x1d48+-0x1d96);const _0x153b1e=_0x1f9b();let _0x1d8bc0=_0x153b1e[_0x13a90c];if(_0x29a2['pOLVHK']===undefined){var _0x995124=function(_0x47c197){const _0x88a06='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ce16f='',_0x3ed04c='';for(let _0x2173ab=-0x133*-0x1b+-0x1163+-0xefe,_0x1b753a,_0x43e852,_0x45f94f=-0x14e*-0x10+-0x502*-0x3+-0x23e6;_0x43e852=_0x47c197['charAt'](_0x45f94f++);~_0x43e852&&(_0x1b753a=_0x2173ab%(0x9*0x3db+-0x69*0x4a+-0x455)?_0x1b753a*(0x1c5b*0x1+0x258e+-0x41a9)+_0x43e852:_0x43e852,_0x2173ab++%(0x174b+0x221*0x1+-0x1968))?_0x4ce16f+=String['fromCharCode'](-0x156c+0x6*-0xdb+0x1b8d&_0x1b753a>>(-(-0x1*-0x4fd+0x1611+-0x1b0c)*_0x2173ab&-0xb1e+-0x1*0x6d3+0x11f7)):-0x18cf+0xc26*-0x3+0x3d41){_0x43e852=_0x88a06['indexOf'](_0x43e852);}for(let _0x12f6f5=0x7ef*0x1+-0x177f+0x3e4*0x4,_0x3f2ae3=_0x4ce16f['length'];_0x12f6f5<_0x3f2ae3;_0x12f6f5++){_0x3ed04c+='%'+('00'+_0x4ce16f['charCodeAt'](_0x12f6f5)['toString'](-0x1ea*-0xf+-0x1667+0x7b*-0xd))['slice'](-(-0x965+-0x1ebc+0x2823));}return decodeURIComponent(_0x3ed04c);};_0x29a2['MiqerX']=_0x995124,_0x29a2['gUgvgQ']={},_0x29a2['pOLVHK']=!![];}const _0x468d7f=_0x153b1e[0x2*0xa61+-0x3ff*0x6+0x338],_0x43e6ae=_0x13a90c+_0x468d7f,_0x466849=_0x29a2['gUgvgQ'][_0x43e6ae];return!_0x466849?(_0x1d8bc0=_0x29a2['MiqerX'](_0x1d8bc0),_0x29a2['gUgvgQ'][_0x43e6ae]=_0x1d8bc0):_0x1d8bc0=_0x466849,_0x1d8bc0;}const _0x184ac8=_0x29a2;(function(_0x1c3424,_0x47002a){const _0x28282b=_0x29a2,_0x8497f0=_0x1c3424();while(!![]){try{const _0x5de643=-parseInt(_0x28282b(0x122))/(-0x259*0x1+-0x32*0x6a+0x170e)*(parseInt(_0x28282b(0xc5))/(0x19fd+0x239*-0x9+0x5fa*-0x1))+parseInt(_0x28282b(0xfe))/(-0x1*-0x16f+-0x1*-0x1a65+-0x1bd1)*(-parseInt(_0x28282b(0xad))/(-0x1e6c+-0x67*0x4+0x200c))+-parseInt(_0x28282b(0x11c))/(0x26ba+0x16f7+0xf6b*-0x4)+parseInt(_0x28282b(0xc1))/(0x1cd*-0x1+-0x93d+0xb10)+parseInt(_0x28282b(0xa5))/(0x30*-0x7+-0x76*-0x39+-0x1*0x18ef)*(parseInt(_0x28282b(0xa3))/(0x54b*0x5+0x475*0x2+-0x1*0x2359))+parseInt(_0x28282b(0x10b))/(-0x549+0x1d9*-0x1+0x5*0x16f)+parseInt(_0x28282b(0xd3))/(0x5ec+0x5a2+-0x2*0x5c2)*(parseInt(_0x28282b(0x129))/(0x1e1d+0xf88+-0x382*0xd));if(_0x5de643===_0x47002a)break;else _0x8497f0['push'](_0x8497f0['shift']());}catch(_0x233914){_0x8497f0['push'](_0x8497f0['shift']());}}}(_0x1f9b,0xbb92c+-0x1eb0c+-0x335b0));const {getGroupConfig,setGroupConfig}=require(_0x184ac8(0xd7)+_0x184ac8(0xeb)+_0x184ac8(0xec)),db=require(_0x184ac8(0xd7)+_0x184ac8(0xe3)+_0x184ac8(0xa9)),isAdmin=require('../../dave'+_0x184ac8(0xdc)+'n'),{createFakeContact,getBotName}=require(_0x184ac8(0xd9)+_0x184ac8(0xe1)+_0x184ac8(0xb3)),processedGroupCalls=new Map(),GROUP_CALL_COOLDOWN_MS=0x6d*-0x1bb+0x7d3f+-0x504*-0x24;async function groupanticallCommand(_0x221e9f,_0x275c99,_0x26857f,_0x49e1e5){const _0x3877c9=_0x29a2,_0x211eeb=getBotName(),_0x2d8f38=_0x26857f['key']['participan'+'t']||_0x26857f[_0x3877c9(0xcb)][_0x3877c9(0xc9)],_0x116947=createFakeContact(_0x2d8f38),_0x334515=_0x275c99[_0x3877c9(0xaa)](_0x3877c9(0xc4));if(!_0x334515)return _0x221e9f[_0x3877c9(0xcd)+'e'](_0x275c99,{'text':_0x3877c9(0x120)+_0x211eeb+('*\x20─┐\x0a│\x0a│\x20G'+_0x3877c9(0x103)+'nd\x20only!\x0a│'+_0x3877c9(0xba)+'─────┘')},{'quoted':_0x116947});const {isSenderAdmin:_0x2394d2,isBotAdmin:_0x547634}=await isAdmin(_0x221e9f,_0x275c99,_0x2d8f38);if(!_0x2394d2&&!_0x26857f[_0x3877c9(0xcb)]['fromMe']&&!db[_0x3877c9(0xa7)](_0x2d8f38))return _0x221e9f[_0x3877c9(0xcd)+'e'](_0x275c99,{'text':_0x3877c9(0x120)+_0x211eeb+(_0x3877c9(0xdd)+_0x3877c9(0xa6)+'command!\x0a│'+_0x3877c9(0xba)+_0x3877c9(0x126))},{'quoted':_0x116947});const _0x57ec7b=getGroupConfig(_0x275c99,_0x3877c9(0xd8)+_0x3877c9(0xf1))||{'enabled':![],'action':_0x3877c9(0xd6)},_0x2fa67d=(_0x49e1e5||'')[_0x3877c9(0x10e)]()[_0x3877c9(0xbd)+'e']();if(!_0x2fa67d){const _0x482c20=_0x3877c9(0x120)+_0x211eeb+(_0x3877c9(0xe6)+_0x3877c9(0x100))+(_0x57ec7b[_0x3877c9(0xe7)]?'ON':'OFF')+(_0x3877c9(0x121)+'\x20')+(_0x57ec7b[_0x3877c9(0xf3)]||_0x3877c9(0xd6))[_0x3877c9(0xcc)+'e']()+(_0x3877c9(0xa2)+_0x3877c9(0x119))+(_0x547634?_0x3877c9(0xf4):'No')+(_0x3877c9(0xc7)+_0x3877c9(0xf9)+_0x3877c9(0xc6)+_0x3877c9(0xa8)+_0x3877c9(0xc6)+'l\x20off\x0a│\x20.g'+_0x3877c9(0xdf)+_0x3877c9(0xd0)+_0x3877c9(0xce)+'call\x20delet'+_0x3877c9(0x124)+_0x3877c9(0x106)+_0x3877c9(0xb2)+_0x3877c9(0xa4)+_0x3877c9(0xfd)+_0x3877c9(0xb8)+_0x3877c9(0xbc)+_0x3877c9(0xb1)+'warn\x0a│\x20DEL'+_0x3877c9(0xdb)+'ine\x20+\x20remo'+'ve\x0a│\x20KICK\x20'+_0x3877c9(0x10a)+_0x3877c9(0x109)+'──────────'+_0x3877c9(0xe2));return _0x221e9f[_0x3877c9(0xcd)+'e'](_0x275c99,{'text':_0x482c20},{'quoted':_0x116947});}let _0x395ecd={..._0x57ec7b},_0x130275='';if(_0x2fa67d===_0x3877c9(0xbb))_0x130275=_0x3877c9(0x120)+_0x211eeb+(_0x3877c9(0xdd)+'nti-Call:\x20')+(_0x57ec7b['enabled']?_0x3877c9(0xd5):_0x3877c9(0xaf))+(_0x3877c9(0x121)+'\x20')+(_0x57ec7b['action']||_0x3877c9(0xd6))[_0x3877c9(0xcc)+'e']()+(_0x3877c9(0xa2)+_0x3877c9(0x119))+(_0x547634?'Yes':'No')+(_0x3877c9(0x111)+'───────┘');else{if(_0x2fa67d==='on'||_0x2fa67d===_0x3877c9(0x107)){_0x395ecd[_0x3877c9(0xe7)]=!![];if(!_0x395ecd[_0x3877c9(0xf3)])_0x395ecd[_0x3877c9(0xf3)]=_0x3877c9(0xd6);_0x130275='┌─\x20*'+_0x211eeb+('*\x20─┐\x0a│\x0a│\x20A'+'nti-Call\x20E'+_0x3877c9(0xda)+_0x3877c9(0x128))+_0x395ecd[_0x3877c9(0xf3)][_0x3877c9(0xcc)+'e']()+('\x0a│\x0a└──────'+_0x3877c9(0xef)),setGroupConfig(_0x275c99,_0x3877c9(0xd8)+_0x3877c9(0xf1),_0x395ecd);}else{if(_0x2fa67d===_0x3877c9(0x112)||_0x2fa67d===_0x3877c9(0xb9))_0x395ecd['enabled']=![],_0x130275=_0x3877c9(0x120)+_0x211eeb+(_0x3877c9(0xdd)+_0x3877c9(0xfc)+_0x3877c9(0xf5)+'└─────────'+_0x3877c9(0x10d)),setGroupConfig(_0x275c99,_0x3877c9(0xd8)+_0x3877c9(0xf1),_0x395ecd);else{if(_0x2fa67d===_0x3877c9(0xd6))_0x395ecd['enabled']=!![],_0x395ecd[_0x3877c9(0xf3)]=_0x3877c9(0xd6),_0x130275=_0x3877c9(0x120)+_0x211eeb+('*\x20─┐\x0a│\x0a│\x20M'+_0x3877c9(0x125)+'│\x20Decline\x20'+_0x3877c9(0xca)+_0x3877c9(0xb4)+'───┘'),setGroupConfig(_0x275c99,_0x3877c9(0xd8)+'all',_0x395ecd);else{if(_0x2fa67d===_0x3877c9(0x127)||_0x2fa67d===_0x3877c9(0x102))_0x395ecd[_0x3877c9(0xe7)]=!![],_0x395ecd[_0x3877c9(0xf3)]='delete',!_0x547634?_0x130275=_0x3877c9(0x120)+_0x211eeb+('*\x20─┐\x0a│\x0a│\x20M'+_0x3877c9(0xe8)+'E\x0a│\x20Declin'+'e\x20+\x20remove'+'\x0a│\x0a│\x20Bot\x20n'+'eeds\x20admin'+_0x3877c9(0x116)+'\x0a└────────'+_0x3877c9(0x126)):_0x130275='┌─\x20*'+_0x211eeb+('*\x20─┐\x0a│\x0a│\x20M'+'ode:\x20DELET'+_0x3877c9(0x10f)+'e\x20+\x20remove'+_0x3877c9(0x11e)+_0x3877c9(0xb7)+_0x3877c9(0x10d)),setGroupConfig(_0x275c99,'groupantic'+_0x3877c9(0xf1),_0x395ecd);else _0x2fa67d===_0x3877c9(0xe0)?(_0x395ecd[_0x3877c9(0xe7)]=!![],_0x395ecd['action']=_0x3877c9(0xe0),!_0x547634?_0x130275='┌─\x20*'+_0x211eeb+('*\x20─┐\x0a│\x0a│\x20M'+_0x3877c9(0xe9)+_0x3877c9(0xb0)+'+\x20kick\x0a│\x0a│'+'\x20Bot\x20needs'+'\x20admin\x20rig'+_0x3877c9(0xfa)+'──────────'+'─┘'):_0x130275=_0x3877c9(0x120)+_0x211eeb+(_0x3877c9(0xee)+_0x3877c9(0xe9)+_0x3877c9(0xb0)+'+\x20kick\x20cal'+_0x3877c9(0xc0)+_0x3877c9(0xb4)+'┘'),setGroupConfig(_0x275c99,_0x3877c9(0xd8)+_0x3877c9(0xf1),_0x395ecd)):_0x130275='┌─\x20*'+_0x211eeb+(_0x3877c9(0xbe)+_0x3877c9(0xab)+_0x3877c9(0xea)+_0x3877c9(0x113)+_0x3877c9(0xb5)+_0x3877c9(0xf6)+_0x3877c9(0xfd)+_0x3877c9(0xb7)+_0x3877c9(0x10d));}}}}await _0x221e9f[_0x3877c9(0xcd)+'e'](_0x275c99,{'text':_0x130275},{'quoted':_0x116947});}function _0x1f9b(){const _0x29a3a3=['mZCWnZmWn09otuXtAq','igzHAwXLzdO','4Psa4Psa4Psa4Psa4Psy','DhjPBq','rqRILiiGrgvJBgLU','C29Tzq','cUkuGGRILjtILidILidILidILidILidILia','B2zM','oIbVBIWGB2zMla','B3qGCMvTB3zLza','4Psa4Psa4Psy','ihjPz2H0CYek4Psc','DxnLCG','z3jVDxbnzxrHza','Aw46ia','kIdILidILjak4PsccUkuGIa','C3bSAxq','mZq1ndu3mgHnrNPRqG','AxnhCM91Ca','ignHBgXLCGRILiik','igzVCIbNCM91Ca','4Psm4PsaicO','cUkuGIbby3rPB246','ndC5nZa5Duj5vLLH','qhmUD2HHDhnHCa','zqRILiiGlMDYB3vW','B2rLoIbxqvjocG','4Psa4Psa4Psa4Psa4Psa4Psy','zgvSzxrL','y3rPB246ia','odm3odDID0j3t24','zwn0igzHAwXLza','kqRILiik4Psu4Psa4Psa4Psa4Psa4Psa','zNjVBq','cUkuGIbcB3qGywrT','mZCXmtjXsw1dqwy','DxbHBNrPy2fSBa','ntuZD0T0BNnk','zg1PBIbVBMX5ia','AxntDwrV','BcbVBGRILiiGlMDY','yxnL','zw5KC1DPDgG','BNzHBgLKig9WDa','B3i6','nJu3odK2B0PiBhnX','BIbMywLSzwq6','su5bq1rjvKu','4PscierLy2XPBMuG','rgvJBgLUzsaRia','AwnRcUkuGIaUz3jV','BNrHy3q','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','ihDHCM4SigrLBa','sunbteXDia','4Psu4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','4PsciefJDgLVBNm6','zgLZywjSzq','cUkuLokuGokuGokuGokuGokuGokuGokuGokuGa','C3rHDhvZ','cUkuGIbxqvjoic0G','Dg9mB3DLCKnHCW','kIdILidILjak4PsccUkuGIbj','cUkuGIa','BgvYcUkuGGRILjtILidILidILia','mJq4nZm0oevUuxPOzW','Cc5Uzxq','cUkuGIbhCM91CcbJ','qgCUDxm','mKXWu1H0zG','B3vWyw50AwnHBa','cUkuGGRILiiGq29TBwe','y2LWyw50C1vWza','CMvTB3rLsMLK','kYb3yxjUcUkuGGRILjq','A2v5','Dg9vChbLCKnHCW','C2vUze1LC3nHzW','lMDYB3vWyw50Aq','sunbteXDifDHCG','BgWGD2fYBGRILiiG','C2L6zq','kefKBwLUic0GBG','otCWzxzbtNzr','zxjYB3i','qunusvzf','D2fYBG','lI4VlI4Vrgf0yq','z3jVDxbHBNrPyW','lI4VlI4Vzgf2zq','tKfctevecUkuGIbb','rvrfic0GrgvJBa','BgLIl2LZqwrTAq','kIdILidILjak4PsccUkuGIbb','CMvQzwn0q2fSBa','CM91CgfUDgLJyq','A2LJAW','BgLIl2zHA2vdBW','4Psa4Psa4Psa4Psy','yMfZzs9KyxrHyG','yxrL','kejVDcbUzwvKCW','kIdILidILjak4PsccUkuGIbt','zw5HyMXLza','B2rLoIberuXfva','B2rLoIblsunlcG','Aw9UiqRILiiGvxnL','yMfZzs9Zzxr0Aq','BMDZu3rVCMu','w0Dst1vqlufova','kIdILidILjak4PsccUkuGIbn','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psy','ywXSCYbUB3qGyq','ywXS','CgfYDgLJAxbHBG','ywn0Aw9U','wwvZ','svnbqKXfraRILiik','zxrLlcbRAwnRla','BwvZC2fNzq','BgXVD2vKiqRILiiG','BMrZoGRILiiGlMDY','AhrZiqRILiik4Psu4Psa4Psa','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psy','BNrPlunHBgWGra','ihn0yxr1CWRILiik','nNjyCLDQCa','ywrTAw4','Dgf0Dxm6ia','CMvTB3zLza','CMvTB3zL','CM91CcbJB21Tyq','sunbteXDifjLAG','sunbteXDievYCG','yw50AwnHBgWGAW','zw5HyMXL','C2v0','kYbRAwnRcUkuGGRILjq','lsbezwnSAw5Lia'];_0x1f9b=function(){return _0x29a3a3;};return _0x1f9b();}async function handleGroupCall(_0x5bca93,_0x26c260){const _0x215d2a=_0x29a2;try{if(!_0x26c260[_0x215d2a(0x11d)])return![];const _0x3feab7=_0x26c260[_0x215d2a(0x12c)];if(!_0x3feab7)return![];const _0x57649b=_0x26c260['chatId'];if(!_0x57649b||!_0x57649b[_0x215d2a(0xaa)](_0x215d2a(0xc4)))return![];const _0x52bb8a=getGroupConfig(_0x57649b,_0x215d2a(0xd8)+_0x215d2a(0xf1));if(!_0x52bb8a||!_0x52bb8a[_0x215d2a(0xe7)])return![];const _0x145927=_0x26c260['id']||_0x3feab7+'_'+_0x57649b+'_'+Date['now'](),_0x51e634=Date['now']();if(processedGroupCalls['has'](_0x145927)){const _0x50668e=processedGroupCalls['get'](_0x145927);if(_0x51e634-_0x50668e<GROUP_CALL_COOLDOWN_MS)return!![];}processedGroupCalls[_0x215d2a(0x108)](_0x145927,_0x51e634);if(processedGroupCalls[_0x215d2a(0xd1)]>-0x65a+0x9*0x3db+-0x1c27*0x1)for(const [_0x243894,_0xa2cbfb]of processedGroupCalls){if(_0x51e634-_0xa2cbfb>0x40*-0x251+-0x25*-0x932+0x2a66)processedGroupCalls[_0x215d2a(0x127)](_0x243894);}try{await _0x5bca93[_0x215d2a(0xde)](_0x26c260['id'],_0x3feab7);}catch(_0x117d9c){console[_0x215d2a(0xd4)](_0x215d2a(0xed)+_0x215d2a(0x104)+_0x215d2a(0x12a)+':',_0x117d9c['message']);}const _0xbb675f=getBotName(),_0xaca85='@'+_0x3feab7[_0x215d2a(0x11b)]('@')[0x174b+0x221*0x1+-0x196c],_0x4d3c2b=_0x52bb8a[_0x215d2a(0xf3)]||_0x215d2a(0xd6);if(_0x4d3c2b===_0x215d2a(0xd6))try{await _0x5bca93['sendMessag'+'e'](_0x57649b,{'text':_0x215d2a(0x120)+_0xbb675f+_0x215d2a(0x11a)+_0xaca85+(_0x215d2a(0xc3)+'alls\x20not\x20a'+'llowed!\x0a│\x0a'+_0x215d2a(0xb7)+_0x215d2a(0x10d)),'mentions':[_0x3feab7]});}catch(_0x2e8248){console['error']('[GROUP-ANT'+_0x215d2a(0xcf)+_0x215d2a(0xae),_0x2e8248['message']);}else{if(_0x4d3c2b===_0x215d2a(0x127)||_0x4d3c2b==='kick')try{const _0x23db5d=_0x5bca93[_0x215d2a(0x117)]?.['id']?.[_0x215d2a(0x11b)](':')[-0x156c+0x6*-0xdb+0x1a8e]+(_0x215d2a(0x123)+_0x215d2a(0xc2)),_0x490675=await _0x5bca93[_0x215d2a(0x118)+'ata'](_0x57649b),_0x126c7d=_0x490675['participan'+'ts'][_0x215d2a(0x110)](_0x44fa6a=>(_0x44fa6a['id']===_0x23db5d||_0x44fa6a['id']['startsWith'](_0x5bca93[_0x215d2a(0x117)]?.['id']?.['split'](':')[-0x1*-0x4fd+0x1611+-0x1b0e]))&&(_0x44fa6a[_0x215d2a(0xff)]===_0x215d2a(0xff)||_0x44fa6a[_0x215d2a(0xff)]==='superadmin')),_0x545ffe=_0x490675[_0x215d2a(0xf2)+'ts'][_0x215d2a(0x110)](_0x557ab8=>_0x557ab8['id']===_0x3feab7&&(_0x557ab8['admin']===_0x215d2a(0xff)||_0x557ab8['admin']==='superadmin'));if(_0x545ffe)await _0x5bca93[_0x215d2a(0xcd)+'e'](_0x57649b,{'text':_0x215d2a(0x120)+_0xbb675f+_0x215d2a(0x11a)+_0xaca85+(_0x215d2a(0xc3)+_0x215d2a(0xf0)+'llowed!\x0a│\x20'+_0x215d2a(0xd2)+_0x215d2a(0x114)+')\x0a│\x0a└─────'+'────────┘'),'mentions':[_0x3feab7]});else{if(_0x126c7d){const _0x761f41=_0x4d3c2b===_0x215d2a(0x127)?_0x215d2a(0x101):'kicked';await _0x5bca93[_0x215d2a(0xcd)+'e'](_0x57649b,{'text':_0x215d2a(0x120)+_0xbb675f+'*\x20─┐\x0a│\x0a│\x20'+_0xaca85+_0x215d2a(0xbf)+_0x761f41+(_0x215d2a(0x11f)+'\x20call\x0a│\x0a└─'+'──────────'+_0x215d2a(0x115)),'mentions':[_0x3feab7]}),await _0x5bca93['groupParti'+_0x215d2a(0xc8)+_0x215d2a(0xe4)](_0x57649b,[_0x3feab7],_0x215d2a(0x102));}else await _0x5bca93[_0x215d2a(0xcd)+'e'](_0x57649b,{'text':_0x215d2a(0x120)+_0xbb675f+'*\x20─┐\x0a│\x0a│\x20'+_0xaca85+('\x0a│\x20Group\x20c'+_0x215d2a(0xf0)+_0x215d2a(0xf8)+_0x215d2a(0xe5)+'\x20admin\x20to\x20')+_0x4d3c2b+(_0x215d2a(0x12b)+_0x215d2a(0xfb)),'mentions':[_0x3feab7]});}}catch(_0x41436e){console[_0x215d2a(0xd4)](_0x215d2a(0xed)+_0x215d2a(0xb6)+_0x4d3c2b+_0x215d2a(0x10c),_0x41436e[_0x215d2a(0xf7)]);}}return!![];}catch(_0x13a90c){return console[_0x215d2a(0xd4)](_0x215d2a(0xed)+_0x215d2a(0x105)+_0x215d2a(0xac),_0x13a90c['message']),![];}}module['exports']={'groupanticallCommand':groupanticallCommand,'handleGroupCall':handleGroupCall};
|
|
@@ -1,242 +1 @@
|
|
|
1
|
-
const fs = require('fs');
|
|
2
|
-
const path = require('path');
|
|
3
|
-
const axios = require('axios');
|
|
4
|
-
const { downloadContentFromMessage } = require('@whiskeysockets/baileys');
|
|
5
|
-
const { getOwnerConfig, setOwnerConfig, parseToggleCommand } = require('../../Database/settingsStore');
|
|
6
|
-
const db = require('../../Database/database');
|
|
7
|
-
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
8
|
-
|
|
9
|
-
async function isAuthorized(sock, message) {
|
|
10
|
-
try {
|
|
11
|
-
const senderId = message.key.participant || message.key.remoteJid;
|
|
12
|
-
if (message.key.fromMe) return true;
|
|
13
|
-
return db.isSudo(senderId);
|
|
14
|
-
} catch {
|
|
15
|
-
return message.key.fromMe;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function loadState() {
|
|
20
|
-
try {
|
|
21
|
-
const config = getOwnerConfig('mention');
|
|
22
|
-
return config || { enabled: false, assetPath: 'assets/mention_default.webp', type: 'sticker' };
|
|
23
|
-
} catch {
|
|
24
|
-
return { enabled: false, assetPath: 'assets/mention_default.webp', type: 'sticker' };
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function saveState(state) {
|
|
29
|
-
setOwnerConfig('mention', state);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
async function ensureDefaultSticker(state) {
|
|
33
|
-
try {
|
|
34
|
-
const assetPath = path.join(__dirname, '..', state.assetPath);
|
|
35
|
-
if (state.assetPath.endsWith('mention_default.webp') && !fs.existsSync(assetPath)) {
|
|
36
|
-
const url = 'https://o.uguu.se/KHSyEtdc.webp';
|
|
37
|
-
const res = await axios.get(url, { responseType: 'arraybuffer' });
|
|
38
|
-
const assetsDir = path.join(__dirname, '..', 'assets');
|
|
39
|
-
if (!fs.existsSync(assetsDir)) {
|
|
40
|
-
fs.mkdirSync(assetsDir, { recursive: true });
|
|
41
|
-
}
|
|
42
|
-
fs.writeFileSync(assetPath, Buffer.from(res.data));
|
|
43
|
-
}
|
|
44
|
-
} catch (e) {
|
|
45
|
-
// Silently ignore - sticker download may fail on external hosts
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
async function handleMentionDetection(sock, chatId, message) {
|
|
50
|
-
try {
|
|
51
|
-
if (message.key?.fromMe) return;
|
|
52
|
-
|
|
53
|
-
const state = loadState();
|
|
54
|
-
await ensureDefaultSticker(state);
|
|
55
|
-
if (!state.enabled) return;
|
|
56
|
-
|
|
57
|
-
const rawId = sock.user?.id || sock.user?.jid || '';
|
|
58
|
-
if (!rawId) return;
|
|
59
|
-
const botNum = rawId.split('@')[0].split(':')[0];
|
|
60
|
-
const botJids = [
|
|
61
|
-
`${botNum}@s.whatsapp.net`,
|
|
62
|
-
`${botNum}@whatsapp.net`,
|
|
63
|
-
rawId
|
|
64
|
-
];
|
|
65
|
-
|
|
66
|
-
const msg = message.message || {};
|
|
67
|
-
const contexts = [
|
|
68
|
-
msg.extendedTextMessage?.contextInfo,
|
|
69
|
-
msg.imageMessage?.contextInfo,
|
|
70
|
-
msg.videoMessage?.contextInfo,
|
|
71
|
-
msg.documentMessage?.contextInfo,
|
|
72
|
-
msg.stickerMessage?.contextInfo,
|
|
73
|
-
msg.buttonsResponseMessage?.contextInfo,
|
|
74
|
-
msg.listResponseMessage?.contextInfo
|
|
75
|
-
].filter(Boolean);
|
|
76
|
-
|
|
77
|
-
let mentioned = [];
|
|
78
|
-
for (const c of contexts) {
|
|
79
|
-
if (Array.isArray(c.mentionedJid)) {
|
|
80
|
-
mentioned = mentioned.concat(c.mentionedJid);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
if (!mentioned.length) return;
|
|
85
|
-
const isBotMentioned = mentioned.some(j => botJids.includes(j));
|
|
86
|
-
if (!isBotMentioned) return;
|
|
87
|
-
|
|
88
|
-
const assetPath = path.join(__dirname, '..', state.assetPath);
|
|
89
|
-
if (state.type === 'sticker' && fs.existsSync(assetPath)) {
|
|
90
|
-
await sock.sendMessage(chatId, { sticker: fs.readFileSync(assetPath) }, { quoted: fakeContact });
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
if (fs.existsSync(assetPath)) {
|
|
94
|
-
const payload = {};
|
|
95
|
-
if (state.type === 'image') {
|
|
96
|
-
payload.image = fs.readFileSync(assetPath);
|
|
97
|
-
} else if (state.type === 'video') {
|
|
98
|
-
payload.video = fs.readFileSync(assetPath);
|
|
99
|
-
} else if (state.type === 'audio') {
|
|
100
|
-
payload.audio = fs.readFileSync(assetPath);
|
|
101
|
-
payload.ptt = true;
|
|
102
|
-
}
|
|
103
|
-
if (Object.keys(payload).length) {
|
|
104
|
-
await sock.sendMessage(chatId, payload, { quoted: fakeContact });
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
} catch (error) {
|
|
108
|
-
console.error('Mention detection error:', error?.message, 'Line:', error?.stack?.split('\n')[1]);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
async function mentionToggleCommand(sock, chatId, message) {
|
|
113
|
-
try {
|
|
114
|
-
const senderId = message.key.participant || message.key.remoteJid;
|
|
115
|
-
const fake = createFakeContact(senderId);
|
|
116
|
-
const botName = getBotName();
|
|
117
|
-
|
|
118
|
-
if (!await isAuthorized(sock, message)) {
|
|
119
|
-
await sock.sendMessage(chatId, { text: `*${botName}*\nOwner only command!` }, { quoted: fake });
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
const text = message.message?.conversation || message.message?.extendedTextMessage?.text || '';
|
|
124
|
-
const args = text.trim().split(' ').slice(1);
|
|
125
|
-
const action = args[0]?.toLowerCase();
|
|
126
|
-
|
|
127
|
-
const state = loadState();
|
|
128
|
-
|
|
129
|
-
if (!action) {
|
|
130
|
-
const helpText = `*${botName} MENTION REPLY*\n\n` +
|
|
131
|
-
`Status: ${state.enabled ? 'ON' : 'OFF'}\n` +
|
|
132
|
-
`Type: ${state.type}\n\n` +
|
|
133
|
-
`*Commands:*\n` +
|
|
134
|
-
`.mention on - Enable\n` +
|
|
135
|
-
`.mention off - Disable\n` +
|
|
136
|
-
`.setmention - Set custom sticker/image`;
|
|
137
|
-
await sock.sendMessage(chatId, { text: helpText }, { quoted: fake });
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
const toggle = parseToggleCommand(action);
|
|
142
|
-
if (toggle === 'on') {
|
|
143
|
-
state.enabled = true;
|
|
144
|
-
saveState(state);
|
|
145
|
-
await sock.sendMessage(chatId, { text: `*${botName}*\nMention reply ENABLED` }, { quoted: fake });
|
|
146
|
-
} else if (toggle === 'off') {
|
|
147
|
-
state.enabled = false;
|
|
148
|
-
saveState(state);
|
|
149
|
-
await sock.sendMessage(chatId, { text: `*${botName}*\nMention reply DISABLED` }, { quoted: fake });
|
|
150
|
-
} else {
|
|
151
|
-
await sock.sendMessage(chatId, { text: `*${botName}*\nUse: on or off` }, { quoted: fake });
|
|
152
|
-
}
|
|
153
|
-
} catch (error) {
|
|
154
|
-
console.error('Error in mention toggle:', error.message, 'Line:', error.stack?.split('\n')[1]);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
async function setMentionCommand(sock, chatId, message) {
|
|
159
|
-
try {
|
|
160
|
-
const senderId = message.key.participant || message.key.remoteJid;
|
|
161
|
-
const fake = createFakeContact(senderId);
|
|
162
|
-
const botName = getBotName();
|
|
163
|
-
|
|
164
|
-
if (!await isAuthorized(sock, message)) {
|
|
165
|
-
await sock.sendMessage(chatId, { text: `*${botName}*\nOwner only command!` }, { quoted: fake });
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
const quoted = message.message?.extendedTextMessage?.contextInfo?.quotedMessage;
|
|
170
|
-
|
|
171
|
-
if (!quoted) {
|
|
172
|
-
await sock.sendMessage(chatId, {
|
|
173
|
-
text: `*${botName}*\nReply to a sticker, image, video, or audio to set it as mention reply.`
|
|
174
|
-
}, { quoted: fake });
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
const state = loadState();
|
|
179
|
-
let mediaType = null;
|
|
180
|
-
let mediaMessage = null;
|
|
181
|
-
|
|
182
|
-
if (quoted.stickerMessage) {
|
|
183
|
-
mediaType = 'sticker';
|
|
184
|
-
mediaMessage = quoted.stickerMessage;
|
|
185
|
-
} else if (quoted.imageMessage) {
|
|
186
|
-
mediaType = 'image';
|
|
187
|
-
mediaMessage = quoted.imageMessage;
|
|
188
|
-
} else if (quoted.videoMessage) {
|
|
189
|
-
mediaType = 'video';
|
|
190
|
-
mediaMessage = quoted.videoMessage;
|
|
191
|
-
} else if (quoted.audioMessage) {
|
|
192
|
-
mediaType = 'audio';
|
|
193
|
-
mediaMessage = quoted.audioMessage;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
if (!mediaType || !mediaMessage) {
|
|
197
|
-
await sock.sendMessage(chatId, {
|
|
198
|
-
text: `*${botName}*\nUnsupported media type. Use sticker, image, video, or audio.`
|
|
199
|
-
}, { quoted: fake });
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
try {
|
|
204
|
-
const stream = await downloadContentFromMessage(mediaMessage, mediaType === 'sticker' ? 'sticker' : mediaType);
|
|
205
|
-
let buffer = Buffer.from([]);
|
|
206
|
-
for await (const chunk of stream) {
|
|
207
|
-
buffer = Buffer.concat([buffer, chunk]);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
const assetsDir = path.join(__dirname, '..', 'assets');
|
|
211
|
-
if (!fs.existsSync(assetsDir)) {
|
|
212
|
-
fs.mkdirSync(assetsDir, { recursive: true });
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
const ext = mediaType === 'sticker' ? 'webp' : (mediaType === 'image' ? 'jpg' : (mediaType === 'video' ? 'mp4' : 'mp3'));
|
|
216
|
-
const filename = `mention_custom.${ext}`;
|
|
217
|
-
const filePath = path.join(assetsDir, filename);
|
|
218
|
-
fs.writeFileSync(filePath, buffer);
|
|
219
|
-
|
|
220
|
-
state.assetPath = `assets/${filename}`;
|
|
221
|
-
state.type = mediaType;
|
|
222
|
-
state.enabled = true;
|
|
223
|
-
saveState(state);
|
|
224
|
-
|
|
225
|
-
await sock.sendMessage(chatId, {
|
|
226
|
-
text: `*${botName}*\nMention reply set to ${mediaType}!`
|
|
227
|
-
}, { quoted: fake });
|
|
228
|
-
} catch (downloadError) {
|
|
229
|
-
await sock.sendMessage(chatId, {
|
|
230
|
-
text: `*${botName}*\nFailed to download media: ${downloadError.message}`
|
|
231
|
-
}, { quoted: fake });
|
|
232
|
-
}
|
|
233
|
-
} catch (error) {
|
|
234
|
-
console.error('Error in setmention:', error.message, 'Line:', error.stack?.split('\n')[1]);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
module.exports = {
|
|
239
|
-
handleMentionDetection,
|
|
240
|
-
mentionToggleCommand,
|
|
241
|
-
setMentionCommand
|
|
242
|
-
};
|
|
1
|
+
function _0x3956(_0x1f5e7d,_0x383e23){_0x1f5e7d=_0x1f5e7d-(-0x1c8d+0x6f*-0x29+0x1*0x303e);const _0x662b2b=_0x2062();let _0x38f2ef=_0x662b2b[_0x1f5e7d];if(_0x3956['RHMxDK']===undefined){var _0x527579=function(_0x52a2ce){const _0x5acdf1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d0197='',_0x5ee159='';for(let _0x93aa15=0x2568+-0x1*-0x431+0x2999*-0x1,_0x3039e3,_0xdfc8cb,_0x46b006=0xb62+-0x191e+0xdbc;_0xdfc8cb=_0x52a2ce['charAt'](_0x46b006++);~_0xdfc8cb&&(_0x3039e3=_0x93aa15%(-0x58f*0x3+-0x504*0x5+0x29c5)?_0x3039e3*(-0x1*-0xd45+-0x641+-0x362*0x2)+_0xdfc8cb:_0xdfc8cb,_0x93aa15++%(-0x1406+-0x140a+0x2814))?_0x3d0197+=String['fromCharCode'](-0x1b7*-0x4+0x2126+-0x2703&_0x3039e3>>(-(-0x7f*-0x1+-0x1b32+0x3*0x8e7)*_0x93aa15&0x1b3b+0x34c*-0x5+-0x3d*0x2d)):0xebb+-0x3*0x7d4+0xf9*0x9){_0xdfc8cb=_0x5acdf1['indexOf'](_0xdfc8cb);}for(let _0x17f33c=0x8a5+0x13*0xc5+0x1*-0x1744,_0x2e73c9=_0x3d0197['length'];_0x17f33c<_0x2e73c9;_0x17f33c++){_0x5ee159+='%'+('00'+_0x3d0197['charCodeAt'](_0x17f33c)['toString'](-0x118f+0xfe3+0x1*0x1bc))['slice'](-(0x56*-0x5+-0x1*0x205c+0x4*0x883));}return decodeURIComponent(_0x5ee159);};_0x3956['tNvhOS']=_0x527579,_0x3956['gOOylz']={},_0x3956['RHMxDK']=!![];}const _0xa753d6=_0x662b2b[-0x5c8*-0x4+0x1ed5+0x1*-0x35f5],_0x5c5270=_0x1f5e7d+_0xa753d6,_0x588eab=_0x3956['gOOylz'][_0x5c5270];return!_0x588eab?(_0x38f2ef=_0x3956['tNvhOS'](_0x38f2ef),_0x3956['gOOylz'][_0x5c5270]=_0x38f2ef):_0x38f2ef=_0x588eab,_0x38f2ef;}const _0x457bd6=_0x3956;(function(_0x32e5e6,_0x400ae6){const _0x2cf815=_0x3956,_0x52c68e=_0x32e5e6();while(!![]){try{const _0x4bb419=parseInt(_0x2cf815(0x225))/(0x5*-0x5a6+-0x22f*0x9+0x2fe6)*(parseInt(_0x2cf815(0x23d))/(-0x2517+0x1438+-0x1*-0x10e1))+parseInt(_0x2cf815(0x201))/(-0x1aa5+0x9af+0x4f*0x37)+-parseInt(_0x2cf815(0x20e))/(0x53*0x1a+-0x22da+-0x18*-0x11a)*(parseInt(_0x2cf815(0x22c))/(0x29*0x9f+0x1*0x1798+-0x1885*0x2))+-parseInt(_0x2cf815(0x214))/(0x3*0x562+0x2621*0x1+-0x13*0x2db)+-parseInt(_0x2cf815(0x204))/(-0x2c2*-0x8+0x1f2a+-0x3533)*(parseInt(_0x2cf815(0x262))/(-0xd7d+-0x1169*-0x2+-0x154d))+-parseInt(_0x2cf815(0x20a))/(0x1f33+-0x2b*0x2a+-0x181c)*(-parseInt(_0x2cf815(0x1ed))/(0xc26*0x1+-0x13e3+0x7c7))+-parseInt(_0x2cf815(0x26a))/(0x10e4+-0x2*-0x4a0+-0x1a19);if(_0x4bb419===_0x400ae6)break;else _0x52c68e['push'](_0x52c68e['shift']());}catch(_0x2f4616){_0x52c68e['push'](_0x52c68e['shift']());}}}(_0x2062,-0x1d7cec+-0x2c*0x389d+-0x2*-0x1afbaf));const fs=require('fs'),path=require(_0x457bd6(0x206)),axios=require(_0x457bd6(0x207)),{downloadContentFromMessage}=require('@whiskeyso'+_0x457bd6(0x254)+_0x457bd6(0x1fa)),{getOwnerConfig,setOwnerConfig,parseToggleCommand}=require(_0x457bd6(0x1f1)+_0x457bd6(0x20b)+_0x457bd6(0x251)),db=require(_0x457bd6(0x1f1)+'base/datab'+'ase'),{createFakeContact,getBotName}=require(_0x457bd6(0x263)+_0x457bd6(0x24d)+_0x457bd6(0x258));async function isAuthorized(_0x5566ab,_0x157b7b){const _0x50f5a3=_0x3956;try{const _0x41ab13=_0x157b7b[_0x50f5a3(0x221)][_0x50f5a3(0x213)+'t']||_0x157b7b[_0x50f5a3(0x221)][_0x50f5a3(0x245)];if(_0x157b7b[_0x50f5a3(0x221)][_0x50f5a3(0x1f8)])return!![];return db[_0x50f5a3(0x1f2)](_0x41ab13);}catch{return _0x157b7b[_0x50f5a3(0x221)][_0x50f5a3(0x1f8)];}}function loadState(){const _0x244665=_0x3956;try{const _0x130634=getOwnerConfig(_0x244665(0x211));return _0x130634||{'enabled':![],'assetPath':_0x244665(0x24f)+'tion_defau'+_0x244665(0x232),'type':'sticker'};}catch{return{'enabled':![],'assetPath':_0x244665(0x24f)+'tion_defau'+'lt.webp','type':_0x244665(0x22e)};}}function saveState(_0xa1b52){const _0x1f9a3=_0x3956;setOwnerConfig(_0x1f9a3(0x211),_0xa1b52);}function _0x2062(){const _0x17c02d=['u3rHDhvZoIa','DgvJDgLVBIbLCG','qKXfra','C3nHz2u','kKnVBw1HBMrZoG','teve','zMyGlsbeAxnHyG','A2v5','zxH0zw5Kzwruzq','BwTKAxjtEw5J','y29UDMvYC2f0Aq','mZe3otaZs3vytKHL','zxHPC3rZu3LUyW','Cg9UC2vnzxnZyq','AMLK','EhrnzxnZywDL','Chr0','D3jPDgvgAwXLuW','mtbhrNjMv0S','BwvZC2fNzq','C3rPy2TLCG','zgf0yq','BwvUDgLVBL9Kzq','C3rPy2TLCIWGAq','BhqUD2vICa','BxaZ','Ahr0Chm6lY9VlG','BIaTifnLDcbJDq','zxiVAw1Hz2u','C2vUze1LC3nHzW','CMvWBhKGreLtqq','C3rPy2TLCK1LCW','CMvWBhKGru5bqG','DwD1Ds5Zzs9lsa','BwfNzsWGDMLKzq','nNn4uhjeyq','zw5KC1DPDgG','BMv0','Ew5J','A2v5CW','kGPvC2u6ig9Uia','BYWGB3iGyxvKAq','BwvUDgLVBL9JDq','CMvTB3rLsMLK','yxvKAw9nzxnZyq','C3rHy2S','BgvUz3rO','C3rVBsbZDgLJAW','lcbPBwfNzsWGDG','C29Tzq','yxvKAw8','BgLIl2zHA2vdBW','zxjYB3i','yxnZzxrZl21LBG','B2zM','BMDZu3rVCMu','zNjVBq','zw50Aw9UihrVzW','y2TLDhmVyMfPBa','CMvHzezPBgvtEq','C3bSAxq','lNnLDg1LBNrPBW','BNrHy3q','twvUDgLVBIbKzq','DhLWzq','yxnZzxrZlW','CM9YoG','lM1LBNrPB24GBW','DMLKzw9nzxnZyq','y29Uy2f0','BIaTievUywjSzq','qhmUD2HHDhnHCa','nda3nZm2qLHPvuf4','lI4VlI4Vzgf2zq','CxvVDgvKtwvZCW','ANbN','DhLWzs4GvxnLia','zxrTzw50Aw9UoG','Aw1Hz2vnzxnZyq','igeGC3rPy2TLCG','mti4mZC1nZjzCMHpwvO','AM9PBG','DMLKzw8','Dg9mB3DLCKnHCW','DgvKig1LzgLHia','Aw5JBhvKzxm','u3LfDgrJlNDLyG','zMf1BhqUD2vICa','Dg8G','CMvWBhKGC2v0ia','Aw1Hz2u','B3iGB2zM','mtbmqKHNvwS','kGPnzw50Aw9Uia','ie1ftLrjt04GuG','zxHWB3j0CW','lI4VlI4Vrgf0yq','AxntDwrV','DwrPBYb0BYbZzq','y29UDgv4DeLUzG','C2vnzxnZywDL','BNrPB24GCMvWBa','yxnZzxrZ','zNjVBu1L','C2fNzq','zxLZ','AwrLBYWGB3iGyq','kGPszxbSEsb0BW','zw5HyMXLza','t0zg','D2vICa','zMLSDgvY','ndK3mJq1nwDnDhL4Dq','z2XLoG','yNv0Dg9UC1jLCW','mJfPyKjYtge','C3rVBs4','Cgf0Aa','yxHPB3m','C2XPy2u','yxnZzxrqyxrO','mty0ndmZnJL0EhnhugS','yMfZzs9Zzxr0Aq','BYbKB3DUBg9Hza','qhDOyxrZyxbWlG','mZC1ndq4ngrjv2zzDG','kGPpD25LCIbVBG','BhKGy29TBwfUza','BwvUDgLVBG','BwvUDgLVBMvKsG','CgfYDgLJAxbHBG','mty0nZeZmLHsD253EG','rxjYB3iGAw4GBq','tgLUztO','AxnbCNjHEq','kGPgywLSzwqGDa','DxnLCG'];_0x2062=function(){return _0x17c02d;};return _0x2062();}async function ensureDefaultSticker(_0x52a0b3){const _0x3986f3=_0x3956;try{const _0x2a5cc0=path[_0x3986f3(0x26b)](__dirname,'..',_0x52a0b3[_0x3986f3(0x209)]);if(_0x52a0b3[_0x3986f3(0x209)][_0x3986f3(0x23e)](_0x3986f3(0x230)+_0x3986f3(0x271))&&!fs['existsSync'](_0x2a5cc0)){const _0x3873b3=_0x3986f3(0x234)+_0x3986f3(0x23b)+_0x3986f3(0x270)+'p',_0x527cdf=await axios['get'](_0x3873b3,{'responseType':'arraybuffe'+'r'}),_0x3a3d6d=path['join'](__dirname,'..','assets');!fs[_0x3986f3(0x226)](_0x3a3d6d)&&fs[_0x3986f3(0x223)](_0x3a3d6d,{'recursive':!![]}),fs['writeFileS'+_0x3986f3(0x240)](_0x2a5cc0,Buffer[_0x3986f3(0x252)](_0x527cdf[_0x3986f3(0x22f)]));}}catch(_0x4188b5){}}async function handleMentionDetection(_0x215fd2,_0x4174c4,_0x459474){const _0x311ddd=_0x3956;try{if(_0x459474[_0x311ddd(0x221)]?.[_0x311ddd(0x1f8)])return;const _0x300314=loadState();await ensureDefaultSticker(_0x300314);if(!_0x300314[_0x311ddd(0x1fd)])return;const _0x346560=_0x215fd2[_0x311ddd(0x219)]?.['id']||_0x215fd2[_0x311ddd(0x219)]?.[_0x311ddd(0x228)]||'';if(!_0x346560)return;const _0x1a41ef=_0x346560[_0x311ddd(0x256)]('@')[0x1a9*0x2+-0x38f*0x1+0x3d][_0x311ddd(0x256)](':')[-0x13b9+-0x100e+-0xd5*-0x2b],_0x4313eb=[_0x1a41ef+(_0x311ddd(0x261)+'p.net'),_0x1a41ef+(_0x311ddd(0x20d)+_0x311ddd(0x23f)),_0x346560],_0x111814=_0x459474[_0x311ddd(0x22d)]||{},_0x2f2950=[_0x111814[_0x311ddd(0x222)+'xtMessage']?.['contextInf'+'o'],_0x111814[_0x311ddd(0x268)+'ge']?.[_0x311ddd(0x1f4)+'o'],_0x111814[_0x311ddd(0x25e)+'ge']?.[_0x311ddd(0x1f4)+'o'],_0x111814['documentMe'+_0x311ddd(0x21d)]?.[_0x311ddd(0x1f4)+'o'],_0x111814[_0x311ddd(0x239)+_0x311ddd(0x1f9)]?.[_0x311ddd(0x1f4)+'o'],_0x111814[_0x311ddd(0x203)+_0x311ddd(0x227)+'ge']?.[_0x311ddd(0x1f4)+'o'],_0x111814['listRespon'+_0x311ddd(0x1f5)]?.[_0x311ddd(0x1f4)+'o']][_0x311ddd(0x200)](Boolean);let _0x43b8a8=[];for(const _0x831253 of _0x2f2950){Array[_0x311ddd(0x217)](_0x831253[_0x311ddd(0x212)+'id'])&&(_0x43b8a8=_0x43b8a8['concat'](_0x831253['mentionedJ'+'id']));}if(!_0x43b8a8[_0x311ddd(0x248)])return;const _0x32d3be=_0x43b8a8[_0x311ddd(0x24b)](_0x3daa4d=>_0x4313eb[_0x311ddd(0x26f)](_0x3daa4d));if(!_0x32d3be)return;const _0x2da3a1=path['join'](__dirname,'..',_0x300314[_0x311ddd(0x209)]);if(_0x300314['type']===_0x311ddd(0x22e)&&fs[_0x311ddd(0x226)](_0x2da3a1)){await _0x215fd2['sendMessag'+'e'](_0x4174c4,{'sticker':fs['readFileSy'+'nc'](_0x2da3a1)},{'quoted':fakeContact});return;}if(fs['existsSync'](_0x2da3a1)){const _0x4f1dae={};if(_0x300314[_0x311ddd(0x25a)]===_0x311ddd(0x1eb))_0x4f1dae[_0x311ddd(0x1eb)]=fs['readFileSy'+'nc'](_0x2da3a1);else{if(_0x300314[_0x311ddd(0x25a)]===_0x311ddd(0x26c))_0x4f1dae[_0x311ddd(0x26c)]=fs[_0x311ddd(0x255)+'nc'](_0x2da3a1);else _0x300314['type']===_0x311ddd(0x24c)&&(_0x4f1dae['audio']=fs[_0x311ddd(0x255)+'nc'](_0x2da3a1),_0x4f1dae[_0x311ddd(0x22a)]=!![]);}Object[_0x311ddd(0x241)](_0x4f1dae)[_0x311ddd(0x248)]&&await _0x215fd2['sendMessag'+'e'](_0x4174c4,_0x4f1dae,{'quoted':fakeContact});}}catch(_0x476cf9){console[_0x311ddd(0x24e)](_0x311ddd(0x259)+_0x311ddd(0x21b)+_0x311ddd(0x25c),_0x476cf9?.['message'],_0x311ddd(0x216),_0x476cf9?.['stack']?.[_0x311ddd(0x256)]('\x0a')[0x21d6+-0x9*0x398+-0x1*0x17d]);}}async function mentionToggleCommand(_0x2d25e5,_0x4aff47,_0x439f8d){const _0x2fe8e5=_0x3956;try{const _0x4be979=_0x439f8d['key'][_0x2fe8e5(0x213)+'t']||_0x439f8d[_0x2fe8e5(0x221)][_0x2fe8e5(0x245)],_0x555244=createFakeContact(_0x4be979),_0x47f94c=getBotName();if(!await isAuthorized(_0x2d25e5,_0x439f8d)){await _0x2d25e5['sendMessag'+'e'](_0x4aff47,{'text':'*'+_0x47f94c+(_0x2fe8e5(0x20f)+_0x2fe8e5(0x210)+'!')},{'quoted':_0x555244});return;}const _0x4ad371=_0x439f8d[_0x2fe8e5(0x22d)]?.[_0x2fe8e5(0x224)+'on']||_0x439f8d[_0x2fe8e5(0x22d)]?.[_0x2fe8e5(0x222)+'xtMessage']?.['text']||'',_0x23124a=_0x4ad371['trim']()['split']('\x20')[_0x2fe8e5(0x208)](-0x1699+0x1545+0x155),_0x3178b8=_0x23124a[-0x16d3+0x14de*-0x1+-0x8bd*-0x5]?.[_0x2fe8e5(0x26d)+'e'](),_0x36dbb4=loadState();if(!_0x3178b8){const _0x383e23='*'+_0x47f94c+(_0x2fe8e5(0x1ef)+'EPLY*\x0a\x0a')+(_0x2fe8e5(0x21a)+(_0x36dbb4[_0x2fe8e5(0x1fd)]?'ON':_0x2fe8e5(0x1fe))+'\x0a')+('Type:\x20'+_0x36dbb4[_0x2fe8e5(0x25a)]+'\x0a\x0a')+(_0x2fe8e5(0x21e)+'*\x0a')+(_0x2fe8e5(0x25d)+_0x2fe8e5(0x260)+'\x0a')+(_0x2fe8e5(0x25d)+_0x2fe8e5(0x220)+'le\x0a')+(_0x2fe8e5(0x257)+_0x2fe8e5(0x235)+_0x2fe8e5(0x249)+_0x2fe8e5(0x236));await _0x2d25e5['sendMessag'+'e'](_0x4aff47,{'text':_0x383e23},{'quoted':_0x555244});return;}const _0x1f5e7d=parseToggleCommand(_0x3178b8);if(_0x1f5e7d==='on')_0x36dbb4[_0x2fe8e5(0x1fd)]=!![],saveState(_0x36dbb4),await _0x2d25e5[_0x2fe8e5(0x237)+'e'](_0x4aff47,{'text':'*'+_0x47f94c+(_0x2fe8e5(0x1ee)+_0x2fe8e5(0x23a)+_0x2fe8e5(0x21f))},{'quoted':_0x555244});else _0x1f5e7d===_0x2fe8e5(0x250)?(_0x36dbb4[_0x2fe8e5(0x1fd)]=![],saveState(_0x36dbb4),await _0x2d25e5[_0x2fe8e5(0x237)+'e'](_0x4aff47,{'text':'*'+_0x47f94c+('*\x0aMention\x20'+_0x2fe8e5(0x238)+_0x2fe8e5(0x21c))},{'quoted':_0x555244})):await _0x2d25e5[_0x2fe8e5(0x237)+'e'](_0x4aff47,{'text':'*'+_0x47f94c+(_0x2fe8e5(0x242)+_0x2fe8e5(0x1ec))},{'quoted':_0x555244});}catch(_0x662b2b){console[_0x2fe8e5(0x24e)](_0x2fe8e5(0x215)+_0x2fe8e5(0x253)+_0x2fe8e5(0x202),_0x662b2b[_0x2fe8e5(0x22d)],_0x2fe8e5(0x216),_0x662b2b[_0x2fe8e5(0x247)]?.['split']('\x0a')[-0x3e*0x4+-0x1e2*0xb+0x15af]);}}async function setMentionCommand(_0x38f2ef,_0x527579,_0xa753d6){const _0x34d685=_0x3956;try{const _0x5c5270=_0xa753d6[_0x34d685(0x221)][_0x34d685(0x213)+'t']||_0xa753d6[_0x34d685(0x221)]['remoteJid'],_0x588eab=createFakeContact(_0x5c5270),_0x52a2ce=getBotName();if(!await isAuthorized(_0x38f2ef,_0xa753d6)){await _0x38f2ef[_0x34d685(0x237)+'e'](_0x527579,{'text':'*'+_0x52a2ce+(_0x34d685(0x20f)+_0x34d685(0x210)+'!')},{'quoted':_0x588eab});return;}const _0x5acdf1=_0xa753d6['message']?.[_0x34d685(0x222)+_0x34d685(0x229)]?.[_0x34d685(0x1f4)+'o']?.[_0x34d685(0x264)+'age'];if(!_0x5acdf1){await _0x38f2ef['sendMessag'+'e'](_0x527579,{'text':'*'+_0x52a2ce+(_0x34d685(0x1fc)+_0x34d685(0x269)+_0x34d685(0x24a)+_0x34d685(0x1fb)+_0x34d685(0x1f3)+'t\x20it\x20as\x20me'+_0x34d685(0x1f6)+'y.')},{'quoted':_0x588eab});return;}const _0x3d0197=loadState();let _0x5ee159=null,_0x93aa15=null;if(_0x5acdf1['stickerMes'+'sage'])_0x5ee159=_0x34d685(0x22e),_0x93aa15=_0x5acdf1['stickerMes'+_0x34d685(0x1f9)];else{if(_0x5acdf1['imageMessa'+'ge'])_0x5ee159=_0x34d685(0x1eb),_0x93aa15=_0x5acdf1[_0x34d685(0x268)+'ge'];else{if(_0x5acdf1[_0x34d685(0x25e)+'ge'])_0x5ee159='video',_0x93aa15=_0x5acdf1['videoMessa'+'ge'];else _0x5acdf1[_0x34d685(0x246)+'ge']&&(_0x5ee159=_0x34d685(0x24c),_0x93aa15=_0x5acdf1[_0x34d685(0x246)+'ge']);}}if(!_0x5ee159||!_0x93aa15){await _0x38f2ef[_0x34d685(0x237)+'e'](_0x527579,{'text':'*'+_0x52a2ce+('*\x0aUnsuppor'+_0x34d685(0x26e)+_0x34d685(0x266)+_0x34d685(0x231)+_0x34d685(0x23c)+_0x34d685(0x243)+'o.')},{'quoted':_0x588eab});return;}try{const _0x3039e3=await downloadContentFromMessage(_0x93aa15,_0x5ee159===_0x34d685(0x22e)?_0x34d685(0x22e):_0x5ee159);let _0xdfc8cb=Buffer[_0x34d685(0x252)]([]);for await(const _0x2ad545 of _0x3039e3){_0xdfc8cb=Buffer[_0x34d685(0x25f)]([_0xdfc8cb,_0x2ad545]);}const _0x46b006=path['join'](__dirname,'..',_0x34d685(0x1f7));!fs[_0x34d685(0x226)](_0x46b006)&&fs[_0x34d685(0x223)](_0x46b006,{'recursive':!![]});const _0x17f33c=_0x5ee159===_0x34d685(0x22e)?_0x34d685(0x1ff):_0x5ee159===_0x34d685(0x1eb)?_0x34d685(0x265):_0x5ee159===_0x34d685(0x26c)?'mp4':_0x34d685(0x233),_0x2e73c9=_0x34d685(0x244)+_0x34d685(0x205)+_0x17f33c,_0x52155f=path['join'](_0x46b006,_0x2e73c9);fs[_0x34d685(0x22b)+_0x34d685(0x240)](_0x52155f,_0xdfc8cb),_0x3d0197[_0x34d685(0x209)]=_0x34d685(0x25b)+_0x2e73c9,_0x3d0197[_0x34d685(0x25a)]=_0x5ee159,_0x3d0197[_0x34d685(0x1fd)]=!![],saveState(_0x3d0197),await _0x38f2ef['sendMessag'+'e'](_0x527579,{'text':'*'+_0x52a2ce+(_0x34d685(0x1ee)+_0x34d685(0x1ea)+_0x34d685(0x272))+_0x5ee159+'!'},{'quoted':_0x588eab});}catch(_0x5e8807){await _0x38f2ef[_0x34d685(0x237)+'e'](_0x527579,{'text':'*'+_0x52a2ce+(_0x34d685(0x218)+_0x34d685(0x20c)+'\x20media:\x20')+_0x5e8807[_0x34d685(0x22d)]},{'quoted':_0x588eab});}}catch(_0x57eebc){console['error']('Error\x20in\x20s'+_0x34d685(0x267),_0x57eebc[_0x34d685(0x22d)],_0x34d685(0x216),_0x57eebc[_0x34d685(0x247)]?.[_0x34d685(0x256)]('\x0a')[-0x1*-0x28d+0x8f2+0x5bf*-0x2]);}}module[_0x457bd6(0x1f0)]={'handleMentionDetection':handleMentionDetection,'mentionToggleCommand':mentionToggleCommand,'setMentionCommand':setMentionCommand};
|