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,673 +1 @@
|
|
|
1
|
-
const fs = require('fs');
|
|
2
|
-
const path = require('path');
|
|
3
|
-
const { downloadContentFromMessage } = require('@whiskeysockets/baileys');
|
|
4
|
-
const { writeFile, unlink, readdir, stat } = require('fs/promises');
|
|
5
|
-
const { getOwnerConfig, setOwnerConfig, getGroupConfig, setGroupConfig, parseToggleCommand } = require('../../Database/settingsStore');
|
|
6
|
-
const db = require('../../Database/database');
|
|
7
|
-
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
8
|
-
|
|
9
|
-
const TEMP_MEDIA_DIR = path.join(__dirname, '../tmp');
|
|
10
|
-
const MESSAGE_RETENTION_SECONDS = 604800;
|
|
11
|
-
const MESSAGE_RETENTION_MS = MESSAGE_RETENTION_SECONDS * 1000;
|
|
12
|
-
|
|
13
|
-
async function ensureTempDir() {
|
|
14
|
-
try {
|
|
15
|
-
await fs.promises.mkdir(TEMP_MEDIA_DIR, { recursive: true });
|
|
16
|
-
} catch {}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
async function getFolderSizeInMB(folderPath) {
|
|
20
|
-
try {
|
|
21
|
-
const files = await readdir(folderPath);
|
|
22
|
-
let totalSize = 0;
|
|
23
|
-
for (const file of files) {
|
|
24
|
-
const filePath = path.join(folderPath, file);
|
|
25
|
-
try {
|
|
26
|
-
const stats = await stat(filePath);
|
|
27
|
-
if (stats.isFile()) totalSize += stats.size;
|
|
28
|
-
} catch {}
|
|
29
|
-
}
|
|
30
|
-
return totalSize / (1024 * 1024);
|
|
31
|
-
} catch {
|
|
32
|
-
return 0;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
async function cleanTempFolder(maxStorageMB = 200) {
|
|
37
|
-
try {
|
|
38
|
-
const sizeMB = await getFolderSizeInMB(TEMP_MEDIA_DIR);
|
|
39
|
-
if (sizeMB > maxStorageMB) {
|
|
40
|
-
const files = await readdir(TEMP_MEDIA_DIR);
|
|
41
|
-
let deletedCount = 0;
|
|
42
|
-
for (const file of files) {
|
|
43
|
-
const filePath = path.join(TEMP_MEDIA_DIR, file);
|
|
44
|
-
try {
|
|
45
|
-
await unlink(filePath);
|
|
46
|
-
deletedCount++;
|
|
47
|
-
} catch {}
|
|
48
|
-
}
|
|
49
|
-
return deletedCount;
|
|
50
|
-
}
|
|
51
|
-
return 0;
|
|
52
|
-
} catch {
|
|
53
|
-
return 0;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
async function isAuthorized(sock, message) {
|
|
58
|
-
try {
|
|
59
|
-
const senderId = message.key.participant || message.key.remoteJid;
|
|
60
|
-
if (message.key.fromMe) return true;
|
|
61
|
-
return db.isSudo(senderId);
|
|
62
|
-
} catch {
|
|
63
|
-
return message.key.fromMe;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function normalizeOwnerConfig(raw) {
|
|
68
|
-
if (!raw || typeof raw !== 'object') {
|
|
69
|
-
return { gc: { enabled: true, mode: 'private' }, pm: { enabled: true, mode: 'private' } };
|
|
70
|
-
}
|
|
71
|
-
if (raw.gc && raw.pm) return raw;
|
|
72
|
-
const enabled = raw.enabled !== undefined ? raw.enabled : true;
|
|
73
|
-
const mode = raw.mode || 'private';
|
|
74
|
-
return { gc: { enabled, mode }, pm: { enabled, mode } };
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
function getEffectiveConfig(chatId) {
|
|
78
|
-
const isGroup = chatId.endsWith('@g.us');
|
|
79
|
-
if (isGroup) {
|
|
80
|
-
if (db.hasGroupSetting(chatId, 'antidelete')) {
|
|
81
|
-
const groupConf = getGroupConfig(chatId, 'antidelete');
|
|
82
|
-
if (typeof groupConf === 'object' && groupConf.enabled !== undefined) {
|
|
83
|
-
return groupConf;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
const ownerRaw = getOwnerConfig('antidelete');
|
|
87
|
-
const ownerConf = normalizeOwnerConfig(ownerRaw);
|
|
88
|
-
return { enabled: ownerConf.gc.enabled, mode: ownerConf.gc.mode };
|
|
89
|
-
} else {
|
|
90
|
-
const ownerRaw = getOwnerConfig('antidelete');
|
|
91
|
-
const ownerConf = normalizeOwnerConfig(ownerRaw);
|
|
92
|
-
return { enabled: ownerConf.pm.enabled, mode: ownerConf.pm.mode };
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
async function handleAntideleteCommand(sock, chatId, message, match) {
|
|
97
|
-
const botName = getBotName();
|
|
98
|
-
const senderId = message.key.participant || message.key.remoteJid;
|
|
99
|
-
const fake = createFakeContact(senderId);
|
|
100
|
-
|
|
101
|
-
if (!await isAuthorized(sock, message)) {
|
|
102
|
-
return sock.sendMessage(chatId, {
|
|
103
|
-
text: `┌─ *${botName}* ─┐\n│\n│ Owner only command!\n│\n└─────────────┘`
|
|
104
|
-
}, { quoted: fake });
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
const isGroup = chatId.endsWith('@g.us');
|
|
108
|
-
const ownerRaw = getOwnerConfig('antidelete');
|
|
109
|
-
const ownerConf = normalizeOwnerConfig(ownerRaw);
|
|
110
|
-
|
|
111
|
-
if (!match) {
|
|
112
|
-
const sizeMB = await getFolderSizeInMB(TEMP_MEDIA_DIR);
|
|
113
|
-
const msgCount = db.getMessageCount();
|
|
114
|
-
let groupStatus = '';
|
|
115
|
-
if (isGroup) {
|
|
116
|
-
const gc = getEffectiveConfig(chatId);
|
|
117
|
-
groupStatus = `This Group: ${gc.enabled ? 'ON' : 'OFF'} (${gc.mode})\n`;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
const text = `┌─ *${botName}* ─┐
|
|
121
|
-
│
|
|
122
|
-
│ Groups: ${ownerConf.gc.enabled ? 'ON' : 'OFF'} (${ownerConf.gc.mode})
|
|
123
|
-
│ PMs: ${ownerConf.pm.enabled ? 'ON' : 'OFF'} (${ownerConf.pm.mode})
|
|
124
|
-
│ ${groupStatus}Storage: ${sizeMB.toFixed(1)}MB
|
|
125
|
-
│ Messages: ${msgCount}
|
|
126
|
-
│ Retention: 7 days
|
|
127
|
-
│
|
|
128
|
-
│ Commands:
|
|
129
|
-
│ .antidelete on/off
|
|
130
|
-
│ .antidelete gc on/off/private/chat/both
|
|
131
|
-
│ .antidelete pm on/off/private/chat/both
|
|
132
|
-
│ .antidelete private/chat/both
|
|
133
|
-
│ .antidelete clean | stats
|
|
134
|
-
│
|
|
135
|
-
└─────────────┘`;
|
|
136
|
-
|
|
137
|
-
await sock.sendMessage(chatId, { text }, { quoted: fake });
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
const command = match.toLowerCase().trim();
|
|
142
|
-
let responseText = '';
|
|
143
|
-
|
|
144
|
-
const parts = command.split(/\s+/);
|
|
145
|
-
const scope = parts[0];
|
|
146
|
-
const action = parts[1] || '';
|
|
147
|
-
|
|
148
|
-
if (scope === 'gc' || scope === 'group' || scope === 'groups') {
|
|
149
|
-
const toggle = parseToggleCommand(action);
|
|
150
|
-
if (toggle === 'on') {
|
|
151
|
-
ownerConf.gc.enabled = true;
|
|
152
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
153
|
-
responseText = `┌─ *${botName}* ─┐
|
|
154
|
-
│
|
|
155
|
-
│ Antidelete GROUPS: ON
|
|
156
|
-
│ Mode: ${ownerConf.gc.mode}
|
|
157
|
-
│
|
|
158
|
-
└─────────────┘`;
|
|
159
|
-
} else if (toggle === 'off') {
|
|
160
|
-
ownerConf.gc.enabled = false;
|
|
161
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
162
|
-
responseText = `┌─ *${botName}* ─┐
|
|
163
|
-
│
|
|
164
|
-
│ Antidelete GROUPS: OFF
|
|
165
|
-
│
|
|
166
|
-
└─────────────┘`;
|
|
167
|
-
} else if (['private', 'prvt', 'priv'].includes(action)) {
|
|
168
|
-
ownerConf.gc.enabled = true;
|
|
169
|
-
ownerConf.gc.mode = 'private';
|
|
170
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
171
|
-
responseText = `┌─ *${botName}* ─┐
|
|
172
|
-
│
|
|
173
|
-
│ Antidelete GROUPS: PRIVATE
|
|
174
|
-
│ Deleted messages → Owner DM
|
|
175
|
-
│
|
|
176
|
-
└─────────────┘`;
|
|
177
|
-
} else if (['chat', 'cht'].includes(action)) {
|
|
178
|
-
ownerConf.gc.enabled = true;
|
|
179
|
-
ownerConf.gc.mode = 'chat';
|
|
180
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
181
|
-
responseText = `┌─ *${botName}* ─┐
|
|
182
|
-
│
|
|
183
|
-
│ Antidelete GROUPS: CHAT
|
|
184
|
-
│ Deleted messages → This chat
|
|
185
|
-
│
|
|
186
|
-
└─────────────┘`;
|
|
187
|
-
} else if (['both', 'all'].includes(action)) {
|
|
188
|
-
ownerConf.gc.enabled = true;
|
|
189
|
-
ownerConf.gc.mode = 'both';
|
|
190
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
191
|
-
responseText = `┌─ *${botName}* ─┐
|
|
192
|
-
│
|
|
193
|
-
│ Antidelete GROUPS: BOTH
|
|
194
|
-
│ Deleted messages → Owner + Chat
|
|
195
|
-
│
|
|
196
|
-
└─────────────┘`;
|
|
197
|
-
} else {
|
|
198
|
-
responseText = `┌─ *${botName}* ─┐
|
|
199
|
-
│
|
|
200
|
-
│ Usage:
|
|
201
|
-
│ .antidelete gc on/off
|
|
202
|
-
│ .antidelete gc private/chat/both
|
|
203
|
-
│
|
|
204
|
-
└─────────────┘`;
|
|
205
|
-
}
|
|
206
|
-
} else if (scope === 'pm' || scope === 'dm' || scope === 'pms' || scope === 'dms') {
|
|
207
|
-
const toggle = parseToggleCommand(action);
|
|
208
|
-
if (toggle === 'on') {
|
|
209
|
-
ownerConf.pm.enabled = true;
|
|
210
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
211
|
-
responseText = `┌─ *${botName}* ─┐
|
|
212
|
-
│
|
|
213
|
-
│ Antidelete PMs: ON
|
|
214
|
-
│ Mode: ${ownerConf.pm.mode}
|
|
215
|
-
│
|
|
216
|
-
└─────────────┘`;
|
|
217
|
-
} else if (toggle === 'off') {
|
|
218
|
-
ownerConf.pm.enabled = false;
|
|
219
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
220
|
-
responseText = `┌─ *${botName}* ─┐
|
|
221
|
-
│
|
|
222
|
-
│ Antidelete PMs: OFF
|
|
223
|
-
│
|
|
224
|
-
└─────────────┘`;
|
|
225
|
-
} else if (['private', 'prvt', 'priv'].includes(action)) {
|
|
226
|
-
ownerConf.pm.enabled = true;
|
|
227
|
-
ownerConf.pm.mode = 'private';
|
|
228
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
229
|
-
responseText = `┌─ *${botName}* ─┐
|
|
230
|
-
│
|
|
231
|
-
│ Antidelete PMs: PRIVATE
|
|
232
|
-
│ Deleted PMs → Owner DM
|
|
233
|
-
│
|
|
234
|
-
└─────────────┘`;
|
|
235
|
-
} else if (['chat', 'cht'].includes(action)) {
|
|
236
|
-
ownerConf.pm.enabled = true;
|
|
237
|
-
ownerConf.pm.mode = 'chat';
|
|
238
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
239
|
-
responseText = `┌─ *${botName}* ─┐
|
|
240
|
-
│
|
|
241
|
-
│ Antidelete PMs: CHAT
|
|
242
|
-
│ Deleted PMs → Same chat
|
|
243
|
-
│
|
|
244
|
-
└─────────────┘`;
|
|
245
|
-
} else if (['both', 'all'].includes(action)) {
|
|
246
|
-
ownerConf.pm.enabled = true;
|
|
247
|
-
ownerConf.pm.mode = 'both';
|
|
248
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
249
|
-
responseText = `┌─ *${botName}* ─┐
|
|
250
|
-
│
|
|
251
|
-
│ Antidelete PMs: BOTH
|
|
252
|
-
│ Deleted PMs → Owner + Chat
|
|
253
|
-
│
|
|
254
|
-
└─────────────┘`;
|
|
255
|
-
} else {
|
|
256
|
-
responseText = `┌─ *${botName}* ─┐
|
|
257
|
-
│
|
|
258
|
-
│ Usage:
|
|
259
|
-
│ .antidelete pm on/off
|
|
260
|
-
│ .antidelete pm private/chat/both
|
|
261
|
-
│
|
|
262
|
-
└─────────────┘`;
|
|
263
|
-
}
|
|
264
|
-
} else {
|
|
265
|
-
const toggle = parseToggleCommand(scope);
|
|
266
|
-
if (toggle === 'on') {
|
|
267
|
-
if (isGroup) {
|
|
268
|
-
setGroupConfig(chatId, 'antidelete', { enabled: true, mode: 'private' });
|
|
269
|
-
responseText = `┌─ *${botName}* ─┐
|
|
270
|
-
│
|
|
271
|
-
│ Antidelete ENABLED for this group
|
|
272
|
-
│ Mode: private
|
|
273
|
-
│
|
|
274
|
-
└─────────────┘`;
|
|
275
|
-
} else {
|
|
276
|
-
ownerConf.gc.enabled = true;
|
|
277
|
-
ownerConf.pm.enabled = true;
|
|
278
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
279
|
-
responseText = `┌─ *${botName}* ─┐
|
|
280
|
-
│
|
|
281
|
-
│ Antidelete ENABLED
|
|
282
|
-
│ Groups + PMs
|
|
283
|
-
│
|
|
284
|
-
└─────────────┘`;
|
|
285
|
-
}
|
|
286
|
-
} else if (toggle === 'off') {
|
|
287
|
-
if (isGroup) {
|
|
288
|
-
setGroupConfig(chatId, 'antidelete', { enabled: false, mode: 'private' });
|
|
289
|
-
responseText = `┌─ *${botName}* ─┐
|
|
290
|
-
│
|
|
291
|
-
│ Antidelete DISABLED for this group
|
|
292
|
-
│
|
|
293
|
-
└─────────────┘`;
|
|
294
|
-
} else {
|
|
295
|
-
ownerConf.gc.enabled = false;
|
|
296
|
-
ownerConf.pm.enabled = false;
|
|
297
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
298
|
-
responseText = `┌─ *${botName}* ─┐
|
|
299
|
-
│
|
|
300
|
-
│ Antidelete DISABLED
|
|
301
|
-
│ Groups + PMs
|
|
302
|
-
│
|
|
303
|
-
└─────────────┘`;
|
|
304
|
-
}
|
|
305
|
-
} else if (['private', 'prvt', 'priv'].includes(scope)) {
|
|
306
|
-
if (isGroup) {
|
|
307
|
-
setGroupConfig(chatId, 'antidelete', { enabled: true, mode: 'private' });
|
|
308
|
-
responseText = `┌─ *${botName}* ─┐
|
|
309
|
-
│
|
|
310
|
-
│ Antidelete PRIVATE
|
|
311
|
-
│ Deleted messages → Owner DM
|
|
312
|
-
│
|
|
313
|
-
└─────────────┘`;
|
|
314
|
-
} else {
|
|
315
|
-
ownerConf.pm.enabled = true;
|
|
316
|
-
ownerConf.pm.mode = 'private';
|
|
317
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
318
|
-
responseText = `┌─ *${botName}* ─┐
|
|
319
|
-
│
|
|
320
|
-
│ Antidelete PMs: PRIVATE
|
|
321
|
-
│ Deleted PMs → Owner DM
|
|
322
|
-
│
|
|
323
|
-
└─────────────┘`;
|
|
324
|
-
}
|
|
325
|
-
} else if (['chat', 'cht'].includes(scope)) {
|
|
326
|
-
if (isGroup) {
|
|
327
|
-
setGroupConfig(chatId, 'antidelete', { enabled: true, mode: 'chat' });
|
|
328
|
-
responseText = `┌─ *${botName}* ─┐
|
|
329
|
-
│
|
|
330
|
-
│ Antidelete CHAT
|
|
331
|
-
│ Deleted messages → This chat
|
|
332
|
-
│
|
|
333
|
-
└─────────────┘`;
|
|
334
|
-
} else {
|
|
335
|
-
ownerConf.pm.enabled = true;
|
|
336
|
-
ownerConf.pm.mode = 'chat';
|
|
337
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
338
|
-
responseText = `┌─ *${botName}* ─┐
|
|
339
|
-
│
|
|
340
|
-
│ Antidelete PMs: CHAT
|
|
341
|
-
│ Deleted PMs → Same chat
|
|
342
|
-
│
|
|
343
|
-
└─────────────┘`;
|
|
344
|
-
}
|
|
345
|
-
} else if (['both', 'all'].includes(scope)) {
|
|
346
|
-
if (isGroup) {
|
|
347
|
-
setGroupConfig(chatId, 'antidelete', { enabled: true, mode: 'both' });
|
|
348
|
-
responseText = `┌─ *${botName}* ─┐
|
|
349
|
-
│
|
|
350
|
-
│ Antidelete BOTH
|
|
351
|
-
│ Deleted messages → Owner + Chat
|
|
352
|
-
│
|
|
353
|
-
└─────────────┘`;
|
|
354
|
-
} else {
|
|
355
|
-
ownerConf.pm.enabled = true;
|
|
356
|
-
ownerConf.pm.mode = 'both';
|
|
357
|
-
setOwnerConfig('antidelete', ownerConf);
|
|
358
|
-
responseText = `┌─ *${botName}* ─┐
|
|
359
|
-
│
|
|
360
|
-
│ Antidelete PMs: BOTH
|
|
361
|
-
│ Deleted PMs → Owner + Chat
|
|
362
|
-
│
|
|
363
|
-
└─────────────┘`;
|
|
364
|
-
}
|
|
365
|
-
} else if (scope === 'clean' || scope === 'clear') {
|
|
366
|
-
const deleted = await cleanTempFolder(0);
|
|
367
|
-
const cleaned = db.cleanOldMessages(0);
|
|
368
|
-
responseText = `┌─ *${botName}* ─┐
|
|
369
|
-
│
|
|
370
|
-
│ Cleaned: ${deleted} files, ${cleaned} messages
|
|
371
|
-
│
|
|
372
|
-
└─────────────┘`;
|
|
373
|
-
} else if (scope === 'stats' || scope === 'status') {
|
|
374
|
-
const sizeMB = await getFolderSizeInMB(TEMP_MEDIA_DIR);
|
|
375
|
-
const msgCount = db.getMessageCount();
|
|
376
|
-
responseText = `┌─ *${botName}* ─┐
|
|
377
|
-
│
|
|
378
|
-
│ Messages: ${msgCount}
|
|
379
|
-
│ Storage: ${sizeMB.toFixed(1)}MB
|
|
380
|
-
│ Groups: ${ownerConf.gc.enabled ? 'ON' : 'OFF'} (${ownerConf.gc.mode})
|
|
381
|
-
│ PMs: ${ownerConf.pm.enabled ? 'ON' : 'OFF'} (${ownerConf.pm.mode})
|
|
382
|
-
│ Retention: 7 days
|
|
383
|
-
│
|
|
384
|
-
└─────────────┘`;
|
|
385
|
-
} else {
|
|
386
|
-
responseText = `┌─ *${botName}* ─┐
|
|
387
|
-
│
|
|
388
|
-
│ Invalid command!
|
|
389
|
-
│ Use: .antidelete on/off
|
|
390
|
-
│ .antidelete gc on/off/private/chat/both
|
|
391
|
-
│ .antidelete pm on/off/private/chat/both
|
|
392
|
-
│ .antidelete private/chat/both
|
|
393
|
-
│ .antidelete clean | stats
|
|
394
|
-
│
|
|
395
|
-
└─────────────┘`;
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
await sock.sendMessage(chatId, { text: responseText }, { quoted: fake });
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
async function storeMessage(sock, message) {
|
|
403
|
-
try {
|
|
404
|
-
await ensureTempDir();
|
|
405
|
-
|
|
406
|
-
const chatId = message.key.remoteJid;
|
|
407
|
-
if (!chatId) return;
|
|
408
|
-
if (!message.key?.id) return;
|
|
409
|
-
if (chatId === 'status@broadcast') return;
|
|
410
|
-
|
|
411
|
-
const messageId = message.key.id;
|
|
412
|
-
const sender = message.key.participant || message.key.remoteJid;
|
|
413
|
-
const pushName = message.pushName || 'Unknown';
|
|
414
|
-
|
|
415
|
-
let content = '';
|
|
416
|
-
let mediaType = null;
|
|
417
|
-
let mediaPath = null;
|
|
418
|
-
let isViewOnce = false;
|
|
419
|
-
|
|
420
|
-
const msg = message.message;
|
|
421
|
-
if (!msg) return;
|
|
422
|
-
|
|
423
|
-
if (msg.protocolMessage || msg.senderKeyDistributionMessage) return;
|
|
424
|
-
|
|
425
|
-
const viewOnceContainer = msg.viewOnceMessageV2?.message || msg.viewOnceMessage?.message;
|
|
426
|
-
|
|
427
|
-
if (viewOnceContainer) {
|
|
428
|
-
isViewOnce = true;
|
|
429
|
-
if (viewOnceContainer.imageMessage) {
|
|
430
|
-
mediaType = 'image';
|
|
431
|
-
content = viewOnceContainer.imageMessage.caption || '';
|
|
432
|
-
mediaPath = await downloadMedia(viewOnceContainer.imageMessage, 'image', `${Date.now()}_viewonce.jpg`);
|
|
433
|
-
} else if (viewOnceContainer.videoMessage) {
|
|
434
|
-
mediaType = 'video';
|
|
435
|
-
content = viewOnceContainer.videoMessage.caption || '';
|
|
436
|
-
mediaPath = await downloadMedia(viewOnceContainer.videoMessage, 'video', `${Date.now()}_viewonce.mp4`);
|
|
437
|
-
}
|
|
438
|
-
} else {
|
|
439
|
-
if (msg.conversation) {
|
|
440
|
-
content = msg.conversation;
|
|
441
|
-
} else if (msg.extendedTextMessage?.text) {
|
|
442
|
-
content = msg.extendedTextMessage.text;
|
|
443
|
-
} else if (msg.imageMessage) {
|
|
444
|
-
mediaType = 'image';
|
|
445
|
-
content = msg.imageMessage.caption || '';
|
|
446
|
-
mediaPath = await downloadMedia(msg.imageMessage, 'image', `${Date.now()}.jpg`);
|
|
447
|
-
} else if (msg.videoMessage) {
|
|
448
|
-
mediaType = 'video';
|
|
449
|
-
content = msg.videoMessage.caption || '';
|
|
450
|
-
mediaPath = await downloadMedia(msg.videoMessage, 'video', `${Date.now()}.mp4`);
|
|
451
|
-
} else if (msg.stickerMessage) {
|
|
452
|
-
mediaType = 'sticker';
|
|
453
|
-
mediaPath = await downloadMedia(msg.stickerMessage, 'sticker', `${Date.now()}.webp`);
|
|
454
|
-
} else if (msg.audioMessage) {
|
|
455
|
-
mediaType = 'audio';
|
|
456
|
-
const ext = msg.audioMessage.mimetype?.includes('ogg') ? 'ogg' : 'mp3';
|
|
457
|
-
mediaPath = await downloadMedia(msg.audioMessage, 'audio', `${Date.now()}.${ext}`);
|
|
458
|
-
} else if (msg.documentMessage) {
|
|
459
|
-
mediaType = 'document';
|
|
460
|
-
content = msg.documentMessage.fileName || 'Document';
|
|
461
|
-
mediaPath = await downloadMedia(msg.documentMessage, 'document', `${Date.now()}_${msg.documentMessage.fileName || 'file'}`);
|
|
462
|
-
}
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
if (content || mediaType) {
|
|
466
|
-
db.storeMessage(messageId, chatId, sender, content, mediaType, mediaPath, isViewOnce, pushName);
|
|
467
|
-
|
|
468
|
-
if (isViewOnce && mediaPath) {
|
|
469
|
-
const config = getEffectiveConfig(chatId);
|
|
470
|
-
if (config.enabled) {
|
|
471
|
-
await handleViewOnceForward(sock, config, { messageId, chatId, sender, content, mediaType, mediaPath, isViewOnce, pushName });
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
} catch (err) {
|
|
477
|
-
console.error('Error storing message:', err.message, 'Line:', err.stack?.split('\n')[1]);
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
async function downloadMedia(message, type, fileName) {
|
|
482
|
-
try {
|
|
483
|
-
const stream = await downloadContentFromMessage(message, type);
|
|
484
|
-
let buffer = Buffer.from([]);
|
|
485
|
-
for await (const chunk of stream) {
|
|
486
|
-
buffer = Buffer.concat([buffer, chunk]);
|
|
487
|
-
}
|
|
488
|
-
const filePath = path.join(TEMP_MEDIA_DIR, fileName);
|
|
489
|
-
await writeFile(filePath, buffer);
|
|
490
|
-
return filePath;
|
|
491
|
-
} catch {
|
|
492
|
-
return null;
|
|
493
|
-
}
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
async function handleViewOnceForward(sock, config, storedMessage) {
|
|
497
|
-
try {
|
|
498
|
-
if (!storedMessage.mediaPath || !fs.existsSync(storedMessage.mediaPath)) return;
|
|
499
|
-
|
|
500
|
-
const botName = getBotName();
|
|
501
|
-
const senderName = storedMessage.sender.split('@')[0];
|
|
502
|
-
const fake = createFakeContact(storedMessage.sender);
|
|
503
|
-
|
|
504
|
-
const mediaOptions = {
|
|
505
|
-
caption: `*${botName} - VIEW ONCE*\n\nFrom: @${senderName}\nName: ${storedMessage.pushName}\nType: ${storedMessage.mediaType}`,
|
|
506
|
-
mentions: [storedMessage.sender]
|
|
507
|
-
};
|
|
508
|
-
|
|
509
|
-
const targets = getNotificationTargets(sock, storedMessage.chatId, config);
|
|
510
|
-
|
|
511
|
-
for (const target of targets) {
|
|
512
|
-
try {
|
|
513
|
-
if (storedMessage.mediaType === 'image') {
|
|
514
|
-
await sock.sendMessage(target, { image: { url: storedMessage.mediaPath }, ...mediaOptions }, { quoted: fake });
|
|
515
|
-
} else if (storedMessage.mediaType === 'video') {
|
|
516
|
-
await sock.sendMessage(target, { video: { url: storedMessage.mediaPath }, ...mediaOptions }, { quoted: fake });
|
|
517
|
-
}
|
|
518
|
-
} catch {}
|
|
519
|
-
}
|
|
520
|
-
|
|
521
|
-
} catch {}
|
|
522
|
-
}
|
|
523
|
-
|
|
524
|
-
function getNotificationTargets(sock, chatId, config) {
|
|
525
|
-
const targets = [];
|
|
526
|
-
const ownerNumber = sock.user.id.split(':')[0] + '@s.whatsapp.net';
|
|
527
|
-
const mode = config.mode || 'private';
|
|
528
|
-
|
|
529
|
-
if (mode === 'private' || mode === 'both') {
|
|
530
|
-
targets.push(ownerNumber);
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
if ((mode === 'chat' || mode === 'both') && chatId !== ownerNumber) {
|
|
534
|
-
targets.push(chatId);
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
if (targets.length === 0) targets.push(ownerNumber);
|
|
538
|
-
|
|
539
|
-
return targets;
|
|
540
|
-
}
|
|
541
|
-
|
|
542
|
-
async function handleMessageRevocation(sock, revocationMessage) {
|
|
543
|
-
try {
|
|
544
|
-
const chatId = revocationMessage.key.remoteJid;
|
|
545
|
-
if (!chatId) return;
|
|
546
|
-
|
|
547
|
-
const config = getEffectiveConfig(chatId);
|
|
548
|
-
if (!config.enabled) return;
|
|
549
|
-
|
|
550
|
-
const messageId = revocationMessage.message?.protocolMessage?.key?.id;
|
|
551
|
-
if (!messageId) return;
|
|
552
|
-
|
|
553
|
-
const deletedBy = revocationMessage.participant || revocationMessage.key.participant || revocationMessage.key.remoteJid;
|
|
554
|
-
const ownerNumber = sock.user.id.split(':')[0] + '@s.whatsapp.net';
|
|
555
|
-
|
|
556
|
-
if (deletedBy.includes(sock.user.id) || deletedBy === ownerNumber) return;
|
|
557
|
-
|
|
558
|
-
const original = db.getMessage(messageId);
|
|
559
|
-
if (!original) return;
|
|
560
|
-
|
|
561
|
-
const targets = getNotificationTargets(sock, original.chat_jid, config);
|
|
562
|
-
if (targets.length === 0) return;
|
|
563
|
-
|
|
564
|
-
await sendDeletionNotification(sock, original, deletedBy, targets);
|
|
565
|
-
|
|
566
|
-
db.deleteMessage(messageId);
|
|
567
|
-
if (original.media_path && fs.existsSync(original.media_path)) {
|
|
568
|
-
unlink(original.media_path).catch(() => {});
|
|
569
|
-
}
|
|
570
|
-
|
|
571
|
-
} catch (err) {
|
|
572
|
-
console.error('Error handling revocation:', err.message, 'Line:', err.stack?.split('\n')[1]);
|
|
573
|
-
}
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
async function sendDeletionNotification(sock, original, deletedBy, targets) {
|
|
577
|
-
try {
|
|
578
|
-
const botName = getBotName();
|
|
579
|
-
const senderName = original.sender_jid.split('@')[0];
|
|
580
|
-
const deleterName = deletedBy.split('@')[0];
|
|
581
|
-
const fake = createFakeContact(original.sender_jid);
|
|
582
|
-
|
|
583
|
-
let groupName = '';
|
|
584
|
-
if (original.chat_jid.endsWith('@g.us')) {
|
|
585
|
-
try {
|
|
586
|
-
const metadata = await sock.groupMetadata(original.chat_jid);
|
|
587
|
-
groupName = metadata.subject;
|
|
588
|
-
} catch {}
|
|
589
|
-
}
|
|
590
|
-
|
|
591
|
-
const time = new Date(original.timestamp * 1000).toLocaleString('en-US', {
|
|
592
|
-
hour12: true, hour: '2-digit', minute: '2-digit',
|
|
593
|
-
day: '2-digit', month: '2-digit', year: 'numeric'
|
|
594
|
-
});
|
|
595
|
-
|
|
596
|
-
let header = `┌─ *${botName}* ─┐\n│\n│ MESSAGE DELETED\n│\n│`;
|
|
597
|
-
let body = `\n│ Deleted by: @${deleterName}\n│ Sender: @${senderName}\n│ Name: ${original.push_name || 'Unknown'}\n│ Time: ${time}`;
|
|
598
|
-
if (groupName) body += `\n│ Group: ${groupName}`;
|
|
599
|
-
if (original.is_view_once) body += `\n│ Type: View Once`;
|
|
600
|
-
if (original.content) {
|
|
601
|
-
body += `\n│\n│ *DELETED MESSAGE:*\n│ ${original.content.substring(0, 500)}${original.content.length > 500 ? '...' : ''}`;
|
|
602
|
-
}
|
|
603
|
-
let footer = `\n│\n└─────────────┘`;
|
|
604
|
-
|
|
605
|
-
const text = header + body + footer;
|
|
606
|
-
|
|
607
|
-
const textMessage = {
|
|
608
|
-
text,
|
|
609
|
-
mentions: [deletedBy, original.sender_jid]
|
|
610
|
-
};
|
|
611
|
-
|
|
612
|
-
for (const target of targets) {
|
|
613
|
-
try {
|
|
614
|
-
await sock.sendMessage(target, textMessage, { quoted: fake });
|
|
615
|
-
} catch {}
|
|
616
|
-
}
|
|
617
|
-
|
|
618
|
-
if (original.media_type && original.media_path && fs.existsSync(original.media_path)) {
|
|
619
|
-
await sendMediaNotification(sock, original, targets);
|
|
620
|
-
}
|
|
621
|
-
|
|
622
|
-
} catch {}
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
async function sendMediaNotification(sock, original, targets) {
|
|
626
|
-
const botName = getBotName();
|
|
627
|
-
const senderName = original.sender_jid.split('@')[0];
|
|
628
|
-
const fake = createFakeContact(original.sender_jid);
|
|
629
|
-
|
|
630
|
-
const mediaOptions = {
|
|
631
|
-
caption: `┌─ *${botName}* ─┐
|
|
632
|
-
│
|
|
633
|
-
│ DELETED ${original.media_type.toUpperCase()}
|
|
634
|
-
│ From: @${senderName}
|
|
635
|
-
│
|
|
636
|
-
└─────────────┘`,
|
|
637
|
-
mentions: [original.sender_jid]
|
|
638
|
-
};
|
|
639
|
-
|
|
640
|
-
for (const target of targets) {
|
|
641
|
-
try {
|
|
642
|
-
switch (original.media_type) {
|
|
643
|
-
case 'image':
|
|
644
|
-
await sock.sendMessage(target, { image: { url: original.media_path }, ...mediaOptions }, { quoted: fake });
|
|
645
|
-
break;
|
|
646
|
-
case 'sticker':
|
|
647
|
-
await sock.sendMessage(target, { sticker: { url: original.media_path } });
|
|
648
|
-
break;
|
|
649
|
-
case 'video':
|
|
650
|
-
await sock.sendMessage(target, { video: { url: original.media_path }, ...mediaOptions }, { quoted: fake });
|
|
651
|
-
break;
|
|
652
|
-
case 'audio':
|
|
653
|
-
await sock.sendMessage(target, { audio: { url: original.media_path }, mimetype: 'audio/mpeg', ptt: false });
|
|
654
|
-
break;
|
|
655
|
-
case 'document':
|
|
656
|
-
await sock.sendMessage(target, { document: { url: original.media_path }, fileName: path.basename(original.media_path), ...mediaOptions }, { quoted: fake });
|
|
657
|
-
break;
|
|
658
|
-
}
|
|
659
|
-
} catch {}
|
|
660
|
-
}
|
|
661
|
-
}
|
|
662
|
-
|
|
663
|
-
setInterval(() => {
|
|
664
|
-
db.cleanOldMessages(MESSAGE_RETENTION_SECONDS);
|
|
665
|
-
cleanTempFolder(200);
|
|
666
|
-
}, 3600000);
|
|
667
|
-
|
|
668
|
-
module.exports = {
|
|
669
|
-
handleAntideleteCommand,
|
|
670
|
-
handleMessageRevocation,
|
|
671
|
-
storeMessage,
|
|
672
|
-
cleanTempFolder
|
|
673
|
-
};
|
|
1
|
+
const _0x16b18a=_0x2bb0;(function(_0x91bc50,_0x43e1e9){const _0x395aea=_0x2bb0,_0x3df70a=_0x91bc50();while(!![]){try{const _0x31ac27=-parseInt(_0x395aea(0xa7))/(0xd6*-0x14+0x1bf3+0x3*-0x3be)+-parseInt(_0x395aea(0xd6))/(0x1de0+-0x4a3+-0x193b)+-parseInt(_0x395aea(0x13e))/(-0x2a2+-0x1d83+0x2028)+parseInt(_0x395aea(0x11b))/(-0x59f*-0x3+0x168f+-0x9da*0x4)*(parseInt(_0x395aea(0x133))/(-0x2685+0x15b7+0x10d3))+-parseInt(_0x395aea(0xae))/(0x1d*0xb5+-0xa69+-0x2*0x509)+-parseInt(_0x395aea(0xed))/(0x10b5+-0x173c+0x68e)+parseInt(_0x395aea(0xb7))/(-0x13a7*-0x1+-0x6a9*-0x1+-0x1a48);if(_0x31ac27===_0x43e1e9)break;else _0x3df70a['push'](_0x3df70a['shift']());}catch(_0x132e9a){_0x3df70a['push'](_0x3df70a['shift']());}}}(_0x5c20,0x1f3*-0x2fa+-0x1*-0x1c3427+-0x7f785));const fs=require('fs'),path=require('path'),{downloadContentFromMessage}=require('@whiskeyso'+'ckets/bail'+'eys'),{writeFile,unlink,readdir,stat}=require(_0x16b18a(0x172)+'s'),{getOwnerConfig,setOwnerConfig,getGroupConfig,setGroupConfig,parseToggleCommand}=require(_0x16b18a(0x128)+_0x16b18a(0xf7)+_0x16b18a(0xdb)),db=require('../../Data'+'base/datab'+_0x16b18a(0xea)),{createFakeContact,getBotName}=require(_0x16b18a(0xf8)+_0x16b18a(0x11d)+_0x16b18a(0x186)),TEMP_MEDIA_DIR=path['join'](__dirname,_0x16b18a(0xb0)),MESSAGE_RETENTION_SECONDS=0x740dd+0x38c*-0x191+-0x3*-0x282a5,MESSAGE_RETENTION_MS=MESSAGE_RETENTION_SECONDS*(0x193b+0x1597*-0x1+-0x4*-0x11);function _0x5c20(){const _0x389132=['DMLKzw8','y2HHDf9QAwq','C2vUzgvY','zw5HyMXLza','BwfUzcek4PscifvZ','rvrfraRILiik4Psc','CgfYDgLJAxbHBG','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psy','Aw1Hz2vnzxnZyq','mtm4odG2nNvpzePmzG','DMLLD09Uy2vnzq','yw50AwrLBgv0zq','C2fNzq','B3iGDgHPCYbNCG','BMDZu3rVCMu','BgvUz3rO','A2v5','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psy','zxrLihbTihbYAq','C2L6zq','yxvKAw9nzxnZyq','AxzHDguVy2HHDa','lMPWzW','C3vIAMvJDa','CMLUzW','z3jVDxbnzxrHza','B2zM','C2vUzgvYs2v5ra','r1jpvvbtoIbptG','yxnL','kqRILiiG','CWRILiik4Psu4Psa4Psa4Psa4Psa4Psa','nZeYmJeWmufAB1vcvG','yM90AaRILiik4Psu4Psa4Psa','cUkuGGRILjtILidILidILidILidILidILia','Chj2Da','D25LCIbetqRILiik','BgLUzYbYzxzVyW','y29TBwfUzcek4Psc','CIaRienOyxqk4Psc','Bw9Kzq','B2jQzwn0','yMfZzs9Zzxr0Aq','lI4VlI4Vzgf2zq','kqRILiiGuMv0zw50','z2vZoIa','zxrLihbYAxzHDa','r1jpvvbtoIbprG','ue1ZoIbct1ricG','zxH0zw5Kzwruzq','tw9KztOG','ChvZAa','ihbYAxzHDguk4Psc','Bgv0zsbVBI9VzG','y2HHDeLK','yxrPB246','ic0GvKLfvYbptG','C3rHDhvZ','kIdILidILjak4PsccUkuGIbd','svzbveuk4PscierL','zNjVBq','y29Uy2f0','4PsccUkuLokuGokuGokuGokuGokuGokuGokuGa','cUkuGIbhCM91CdOG','tuik4Pscie1LC3nH','u3rVCMfNztOG','ue1ZoIbptGRILiiG','BNvTzxjPyW','BM93','Aw1Hz2u','ignOyxqk4PsccUkuLokuGa','zxHWB3j0CW','z2vZiokgKIbuAgLZ','AgfZr3jVDxbtzq','cUkuGIboyw1LoIa','zNjVBu1L','4Psa4Psa4Psa4Psa4Psy','kIdILidILjak4PsccUkuGIbp','ndrAu1bwtu8','C3bSAxq','BgLIl2zHA2vdBW','4Psm4PsaicO','y2H0','ChjVDg9JB2Xnzq','igj5oIba','ru5bqKXfrcbMBW','zwqGue1ZiokgKIbp','zwqGBwvZC2fNzq','C2fNztOk4Pscic5H','BxaZ','C3nHz2vZ','lI4VlI4Vrgf0yq','AwrLBgv0zsbWBq','DMf0zs9JAgf0lW','C2vUzgvYx2PPza','Dg9vChbLCKnHCW','yxvKAw8','rxjYB3iGAgfUza','yxvKAw8VBxbLzW','cUkuGGRILiiGkKrfteu','y2HHDc9IB3rOcG','Cg1Z','mtC1ntK1wKnhEwnP','BgvHBMvKoIa','AxntDwrV','Dgv4Da','qgCUDxm','CIb0AgLZigDYBW','kIdILidILjak4PsccUkuGIbn','AM9PBG','C3vIC3rYAw5N','rtOQcUkuGIa','DguVy2HHDc9IBW','nteZmZG0z2Pwv1PV','l3bYAxzHDguVyW','ru5bqKXfraRILiiG','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','t0zg','EhrnzxnZywDL','zgvSzxrLtwvZCW','yM90Aa','ywDL','ywXS','Aw5Nig1LC3nHzW','C3rHDhmk4PsccUkuLokuGa','BwLTzxr5Cgu','AxngAwXL','lI4U','mI1KAwDPDa','ChvZAe5HBwu','tuik4PscieDYB3vW','ue1ZcUkuGGRILjtILidILidILia','CYdIHPiGvgHPCYbJ','CMvTB3rLsMLK','BNrPzgvSzxrLia','veuk4PscierLBgv0','qvqk4PscierLBgv0','cUkuLokuGokuGokuGokuGokuGokuGokuGokuGa','C3rPy2TLCK1LCW','qhmUD2HHDhnHCa','Cc5Uzxq','y2XLyxi','AaRILiiGlMfUDgLK','r1jpvvbtoIbquG','zsbWBsbVBI9VzG','4Psa4Psa4Psa4Psy','4Psa4Psa4Psy','zw5KC1DPDgG','C2vUze1LC3nHzW','zsbJBgvHBIb8ia','qK9usaRILiiGrgvS','BwTKAxi','kYbdAgf0cUkuGGRILjq','4Psa4Psa4Psa4Psa4Psa4Psy','igzPBgvZlca','BwvKAwfqyxrO','zwXLDguGy2XLyq','zg1Z','cUkuGIbgCM9ToIba','Dxak4Pscie1Vzgu6','q291BNq','C3nHz2vZiokgKIbp','BwvKAwfFDhLWzq','zw4Tvvm','Aw9UoIa3igrHEq','zNmVChjVBwLZzq','Dg9gAxHLza','ztOGlMfUDgLKzq','y2HHDa','C3rHDhvZqgjYBW','zxnZywDLCZOG','lMfUDgLKzwXLDa','4Pscic5HBNrPzgvS','BK1LC3nHz2u','CZOG','CM91Chm6ia','zxjYB3i','zxHPC3rZu3LUyW','cUkuGIbuExbLoIbw','B246idCGzgf5CW','DhjPBq','Cg0GB24VB2zMcG','C3rHDhm','reLtqujmruqk4Psc','zxrLigDJihbYAq','BNrHy3q','BwvKAwfuExbL','kIdILidILjak4PsccUkuGIbb','tgLUztO','lNDLyNa','x3zPzxDVBMnLlG','Aw5JBhvKzxm','ue1ZoIbdsefucG','ywDLCYdIHPiGt3DU','DgGk4PscicaGicaG','z3jVDxbZ','z2v0twvZC2fNzq','ChjVBwLZzxm','ue1ZiokgKIbtyw1L','lM1Wna','kIdILidILjak4PsccUkuGIbv','y2fWDgLVBG','q0uQcGPgCM9ToG','zGRILiiGicaGicaU','BwvZC2fNzq','l2jVDgGk4PscicaG','cUkuGIbuAw1LoIa','ANbN','kqRILiiGue1ZoIa','kIdILidILjak4PsccUkuGIbe','z2vZiokgKIbpD25L','kIdILidILjak4PsccUkuGIbj','Bgv0zwqGBwvZCW','zg9JDw1LBNrnzq','C3rHy2S','4Psu4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','zg9JDw1LBNq','yxrH','C3nHz2u','yMfZzw5HBwu','ue1ZoIbprKyk4Psc','BI9VzMyk4Pscic5H','B2DN','vw5RBM93BG','D25LCIbVBMX5ia','DgLTzxn0yw1W','C3rVCMvnzxnZyq','cK5HBwu6ia','otiWnZzYr1HHrfK','AxnFDMLLD19VBG','veGk4PscierLBgv0','4PscierLBgv0zwqG','ywrJyxn0','y29UDMvYC2f0Aq','Bxa0','mZuWmtmYnev0zgPvyG','q0HbvaRILiiGrgvS','lI4VDg1W','zxrLzcbTzxnZyq','reLtqujmruqGzG','zMLSzu5HBwu','rgvSzxrLzcbTzq','y2f0y2G','ue1ZoIbquKLwqq','mJq5ndy2mZjpsMnPEg8','DgLKzwXLDguGBW','ue1ZiokgKIbpD25L','Dg9mB3DLCKnHCW','zI9WCML2yxrLlW','DxnLCG','y2XLyw5pBgrnzq','cUkuGIbtzw5Kzxi6','BNzHBgLKignVBq','y29UDgvUDa','ChjPDMf0zs9JAa','ig1LC3nHz2vZcG','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psy','DMLKzw9nzxnZyq','icaGlMfUDgLKzq','r1jpvvbtoIbdsa','txmk4PsccUkuLokuGokuGokuGokuGa','BwvKAwfFCgf0Aa','zs9JAgf0l2jVDa','4Psa4Psa4Psa4Psa4Psa4Psa4Psy','ChjPDMf0zq','ChjPDG'];_0x5c20=function(){return _0x389132;};return _0x5c20();}async function ensureTempDir(){const _0x339eb6=_0x2bb0;try{await fs[_0x339eb6(0x88)][_0x339eb6(0x164)](TEMP_MEDIA_DIR,{'recursive':!![]});}catch{}}async function getFolderSizeInMB(_0x29585c){const _0x5c614f=_0x2bb0;try{const _0x39380f=await readdir(_0x29585c);let _0x5332ce=-0xa92+0x6cc+0x3c6;for(const _0xd6e2b0 of _0x39380f){const _0x5a6bbe=path[_0x5c614f(0x13a)](_0x29585c,_0xd6e2b0);try{const _0x1e01ea=await stat(_0x5a6bbe);if(_0x1e01ea[_0x5c614f(0x14b)]())_0x5332ce+=_0x1e01ea[_0x5c614f(0xe0)];}catch{}}return _0x5332ce/((0x992+-0x2025+0x1a93)*(-0x1d05+0x5*-0x1+0x210a));}catch{return-0x17*-0x109+-0x227a+0xaab;}}async function cleanTempFolder(_0x51624d=0x11*0x11b+0x1*0x810+-0x1a13){try{const _0x314f3c=await getFolderSizeInMB(TEMP_MEDIA_DIR);if(_0x314f3c>_0x51624d){const _0x202e13=await readdir(TEMP_MEDIA_DIR);let _0x361ce4=-0x2*0x116f+-0x1*0x67+0x2345*0x1;for(const _0x3785a6 of _0x202e13){const _0x33b9b1=path['join'](TEMP_MEDIA_DIR,_0x3785a6);try{await unlink(_0x33b9b1),_0x361ce4++;}catch{}}return _0x361ce4;}return-0x6b2*-0x2+0x1a5*0xb+-0x1*0x1f7b;}catch{return 0x2569+0x1bac+-0x4115;}}async function isAuthorized(_0x50971a,_0x5f4019){const _0x269856=_0x2bb0;try{const _0x3ead31=_0x5f4019[_0x269856(0xdd)][_0x269856(0xd3)+'t']||_0x5f4019[_0x269856(0xdd)]['remoteJid'];if(_0x5f4019[_0x269856(0xdd)]['fromMe'])return!![];return db[_0x269856(0x135)](_0x3ead31);}catch{return _0x5f4019[_0x269856(0xdd)][_0x269856(0x118)];}}function normalizeOwnerConfig(_0x2e19b2){const _0x3e1b07=_0x2bb0;if(!_0x2e19b2||typeof _0x2e19b2!==_0x3e1b07(0xf6))return{'gc':{'enabled':!![],'mode':'private'},'pm':{'enabled':!![],'mode':_0x3e1b07(0xcb)}};if(_0x2e19b2['gc']&&_0x2e19b2['pm'])return _0x2e19b2;const _0x6223a0=_0x2e19b2[_0x3e1b07(0xd0)]!==undefined?_0x2e19b2[_0x3e1b07(0xd0)]:!![],_0x31c885=_0x2e19b2[_0x3e1b07(0xf5)]||_0x3e1b07(0xcb);return{'gc':{'enabled':_0x6223a0,'mode':_0x31c885},'pm':{'enabled':_0x6223a0,'mode':_0x31c885}};}function getEffectiveConfig(_0x53c601){const _0x30ec69=_0x2bb0,_0x3d6550=_0x53c601[_0x30ec69(0x160)](_0x30ec69(0x137));if(_0x3d6550){if(db[_0x30ec69(0x116)+'tting'](_0x53c601,'antidelete')){const _0x4b4c8a=getGroupConfig(_0x53c601,_0x30ec69(0xd8));if(typeof _0x4b4c8a===_0x30ec69(0xf6)&&_0x4b4c8a[_0x30ec69(0xd0)]!==undefined)return _0x4b4c8a;}const _0x9e4013=getOwnerConfig(_0x30ec69(0xd8)),_0x36523b=normalizeOwnerConfig(_0x9e4013);return{'enabled':_0x36523b['gc']['enabled'],'mode':_0x36523b['gc'][_0x30ec69(0xf5)]};}else{const _0x2fb016=getOwnerConfig(_0x30ec69(0xd8)),_0x3c9a9b=normalizeOwnerConfig(_0x2fb016);return{'enabled':_0x3c9a9b['pm'][_0x30ec69(0xd0)],'mode':_0x3c9a9b['pm']['mode']};}}async function handleAntideleteCommand(_0x34035e,_0x1bffac,_0x2ecc44,_0x2fd752){const _0x48d7bd=_0x2bb0,_0x433eb5=getBotName(),_0x2994df=_0x2ecc44[_0x48d7bd(0xdd)][_0x48d7bd(0xd3)+'t']||_0x2ecc44[_0x48d7bd(0xdd)][_0x48d7bd(0x152)],_0x3d2053=createFakeContact(_0x2994df);if(!await isAuthorized(_0x34035e,_0x2ecc44))return _0x34035e['sendMessag'+'e'](_0x1bffac,{'text':_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x11a)+_0x48d7bd(0xa3)+_0x48d7bd(0xf3)+_0x48d7bd(0x156)+_0x48d7bd(0x166))},{'quoted':_0x3d2053});const _0x51c589=_0x1bffac[_0x48d7bd(0x160)](_0x48d7bd(0x137)),_0xaf5ef1=getOwnerConfig(_0x48d7bd(0xd8)),_0x43c7cc=normalizeOwnerConfig(_0xaf5ef1);if(!_0x2fd752){const _0x2907a6=await getFolderSizeInMB(TEMP_MEDIA_DIR),_0x4a53c0=db['getMessage'+'Count']();let _0x983fe8='';if(_0x51c589){const _0x3526b1=getEffectiveConfig(_0x1bffac);_0x983fe8='This\x20Group'+':\x20'+(_0x3526b1[_0x48d7bd(0xd0)]?'ON':_0x48d7bd(0x142))+'\x20('+_0x3526b1[_0x48d7bd(0xf5)]+')\x0a';}const _0x5c162d=_0x48d7bd(0x11e)+_0x433eb5+('*\x20─┐\x0a│\x0a│\x20G'+_0x48d7bd(0x17c))+(_0x43c7cc['gc'][_0x48d7bd(0xd0)]?'ON':_0x48d7bd(0x142))+'\x20('+_0x43c7cc['gc'][_0x48d7bd(0xf5)]+_0x48d7bd(0x93)+(_0x43c7cc['pm'][_0x48d7bd(0xd0)]?'ON':_0x48d7bd(0x142))+'\x20('+_0x43c7cc['pm']['mode']+_0x48d7bd(0xeb)+_0x983fe8+_0x48d7bd(0x10e)+_0x2907a6[_0x48d7bd(0x173)](0x3c7*-0x7+0xbfb+-0x211*-0x7)+(_0x48d7bd(0x10d)+_0x48d7bd(0xfa))+_0x4a53c0+('\x0a│\x20Retenti'+_0x48d7bd(0x180)+'\x0a│\x0a│\x20Comma'+'nds:\x0a│\x20.an'+_0x48d7bd(0xb8)+_0x48d7bd(0xa0)+_0x48d7bd(0x153)+'gc\x20on/off/'+_0x48d7bd(0xc1)+'at/both\x0a│\x20'+'.antidelet'+_0x48d7bd(0x15d)+_0x48d7bd(0xbb)+_0x48d7bd(0x131)+_0x48d7bd(0x179)+_0x48d7bd(0xfb)+_0x48d7bd(0xc9)+_0x48d7bd(0x15b)+_0x48d7bd(0x169)+'n\x20|\x20stats\x0a'+_0x48d7bd(0x10b)+_0x48d7bd(0xca));await _0x34035e[_0x48d7bd(0x161)+'e'](_0x1bffac,{'text':_0x5c162d},{'quoted':_0x3d2053});return;}const _0x4d0db9=_0x2fd752[_0x48d7bd(0xba)+'e']()[_0x48d7bd(0x181)]();let _0xdf715f='';const _0x17a9bd=_0x4d0db9[_0x48d7bd(0x11c)](/\s+/),_0x19f2a1=_0x17a9bd[0x2*-0x905+0x6fe+-0xe*-0xca],_0x21ab7a=_0x17a9bd[0x249+-0x29*0xdd+0x211d]||'';if(_0x19f2a1==='gc'||_0x19f2a1==='group'||_0x19f2a1===_0x48d7bd(0x86)){const _0xfbceeb=parseToggleCommand(_0x21ab7a);if(_0xfbceeb==='on')_0x43c7cc['gc'][_0x48d7bd(0xd0)]=!![],setOwnerConfig(_0x48d7bd(0xd8),_0x43c7cc),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x7e)+_0x48d7bd(0x153)+_0x48d7bd(0xe9)+'\x0a│\x20Mode:\x20')+_0x43c7cc['gc']['mode']+('\x0a│\x0a└──────'+_0x48d7bd(0xd4));else{if(_0xfbceeb==='off')_0x43c7cc['gc'][_0x48d7bd(0xd0)]=![],setOwnerConfig(_0x48d7bd(0xd8),_0x43c7cc),_0xdf715f='┌─\x20*'+_0x433eb5+(_0x48d7bd(0x7e)+_0x48d7bd(0x153)+_0x48d7bd(0xfc)+'F\x0a│\x0a└─────'+_0x48d7bd(0xc3));else{if(['private',_0x48d7bd(0xf0),_0x48d7bd(0xcc)][_0x48d7bd(0x82)](_0x21ab7a))_0x43c7cc['gc']['enabled']=!![],_0x43c7cc['gc'][_0x48d7bd(0xf5)]=_0x48d7bd(0xcb),setOwnerConfig(_0x48d7bd(0xd8),_0x43c7cc),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x7e)+'ntidelete\x20'+_0x48d7bd(0x15c)+_0x48d7bd(0x108)+_0x48d7bd(0x97)+_0x48d7bd(0x84)+'er\x20DM\x0a│\x0a└─'+_0x48d7bd(0x141)+_0x48d7bd(0x15f));else{if([_0x48d7bd(0x175),_0x48d7bd(0x11f)][_0x48d7bd(0x82)](_0x21ab7a))_0x43c7cc['gc'][_0x48d7bd(0xd0)]=!![],_0x43c7cc['gc']['mode']=_0x48d7bd(0x175),setOwnerConfig('antidelete',_0x43c7cc),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+('*\x20─┐\x0a│\x0a│\x20A'+_0x48d7bd(0x153)+_0x48d7bd(0xc6)+_0x48d7bd(0x155)+'ed\x20message'+_0x48d7bd(0x151)+'hat\x0a│\x0a└───'+_0x48d7bd(0x141)+'┘');else[_0x48d7bd(0x145),_0x48d7bd(0x147)][_0x48d7bd(0x82)](_0x21ab7a)?(_0x43c7cc['gc']['enabled']=!![],_0x43c7cc['gc'][_0x48d7bd(0xf5)]=_0x48d7bd(0x145),setOwnerConfig(_0x48d7bd(0xd8),_0x43c7cc),_0xdf715f='┌─\x20*'+_0x433eb5+(_0x48d7bd(0x7e)+'ntidelete\x20'+'GROUPS:\x20BO'+_0x48d7bd(0xa9)+_0x48d7bd(0x124)+'s\x20→\x20Owner\x20'+_0x48d7bd(0x165)+_0x48d7bd(0x141)+_0x48d7bd(0x15e))):_0xdf715f='┌─\x20*'+_0x433eb5+(_0x48d7bd(0x8b)+_0x48d7bd(0x125)+_0x48d7bd(0x153)+'gc\x20on/off\x0a'+'│\x20.antidel'+_0x48d7bd(0x185)+_0x48d7bd(0x12a)+_0x48d7bd(0xee)+_0x48d7bd(0x141)+'─┘');}}}}else{if(_0x19f2a1==='pm'||_0x19f2a1==='dm'||_0x19f2a1===_0x48d7bd(0x132)||_0x19f2a1===_0x48d7bd(0x16a)){const _0x45f92d=parseToggleCommand(_0x21ab7a);if(_0x45f92d==='on')_0x43c7cc['pm'][_0x48d7bd(0xd0)]=!![],setOwnerConfig(_0x48d7bd(0xd8),_0x43c7cc),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x7e)+'ntidelete\x20'+_0x48d7bd(0x10f)+_0x48d7bd(0xff))+_0x43c7cc['pm']['mode']+(_0x48d7bd(0xef)+'───────┘');else{if(_0x45f92d===_0x48d7bd(0xe7))_0x43c7cc['pm']['enabled']=![],setOwnerConfig(_0x48d7bd(0xd8),_0x43c7cc),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x7e)+_0x48d7bd(0x153)+_0x48d7bd(0x9f)+'\x0a└────────'+'─────┘');else{if(['private',_0x48d7bd(0xf0),_0x48d7bd(0xcc)][_0x48d7bd(0x82)](_0x21ab7a))_0x43c7cc['pm'][_0x48d7bd(0xd0)]=!![],_0x43c7cc['pm']['mode']=_0x48d7bd(0xcb),setOwnerConfig('antidelete',_0x43c7cc),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+('*\x20─┐\x0a│\x0a│\x20A'+_0x48d7bd(0x153)+_0x48d7bd(0xb6)+_0x48d7bd(0x154)+'ed\x20PMs\x20→\x20O'+_0x48d7bd(0xf1)+_0x48d7bd(0x9a)+'────┘');else{if([_0x48d7bd(0x175),'cht'][_0x48d7bd(0x82)](_0x21ab7a))_0x43c7cc['pm']['enabled']=!![],_0x43c7cc['pm'][_0x48d7bd(0xf5)]='chat',setOwnerConfig(_0x48d7bd(0xd8),_0x43c7cc),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x7e)+_0x48d7bd(0x153)+_0x48d7bd(0x83)+_0x48d7bd(0xaa)+_0x48d7bd(0x89)+_0x48d7bd(0x113)+_0x48d7bd(0x141)+_0x48d7bd(0x15f));else['both',_0x48d7bd(0x147)][_0x48d7bd(0x82)](_0x21ab7a)?(_0x43c7cc['pm'][_0x48d7bd(0xd0)]=!![],_0x43c7cc['pm'][_0x48d7bd(0xf5)]=_0x48d7bd(0x145),setOwnerConfig('antidelete',_0x43c7cc),_0xdf715f='┌─\x20*'+_0x433eb5+('*\x20─┐\x0a│\x0a│\x20A'+'ntidelete\x20'+_0x48d7bd(0xfd)+_0x48d7bd(0xaa)+_0x48d7bd(0xb9)+_0x48d7bd(0xf4)+_0x48d7bd(0x156)+_0x48d7bd(0x166))):_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x8b)+_0x48d7bd(0x125)+_0x48d7bd(0x153)+_0x48d7bd(0x182)+_0x48d7bd(0x179)+_0x48d7bd(0xdf)+'vate/chat/'+_0x48d7bd(0xee)+_0x48d7bd(0x141)+'─┘');}}}}else{const _0xbac1af=parseToggleCommand(_0x19f2a1);if(_0xbac1af==='on')_0x51c589?(setGroupConfig(_0x1bffac,'antidelete',{'enabled':!![],'mode':_0x48d7bd(0xcb)}),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+('*\x20─┐\x0a│\x0a│\x20A'+'ntidelete\x20'+_0x48d7bd(0x122)+_0x48d7bd(0x138)+_0x48d7bd(0x16c)+_0x48d7bd(0x101)+_0x48d7bd(0x156)+_0x48d7bd(0x166))):(_0x43c7cc['gc'][_0x48d7bd(0xd0)]=!![],_0x43c7cc['pm']['enabled']=!![],setOwnerConfig('antidelete',_0x43c7cc),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x7e)+_0x48d7bd(0x153)+_0x48d7bd(0x140)+'Groups\x20+\x20P'+_0x48d7bd(0xc7)+_0x48d7bd(0xde)));else{if(_0xbac1af===_0x48d7bd(0xe7))_0x51c589?(setGroupConfig(_0x1bffac,_0x48d7bd(0xd8),{'enabled':![],'mode':_0x48d7bd(0xcb)}),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+('*\x20─┐\x0a│\x0a│\x20A'+'ntidelete\x20'+_0x48d7bd(0xb2)+_0x48d7bd(0xda)+'oup\x0a│\x0a└───'+_0x48d7bd(0x141)+'┘')):(_0x43c7cc['gc'][_0x48d7bd(0xd0)]=![],_0x43c7cc['pm'][_0x48d7bd(0xd0)]=![],setOwnerConfig('antidelete',_0x43c7cc),_0xdf715f='┌─\x20*'+_0x433eb5+(_0x48d7bd(0x7e)+_0x48d7bd(0x153)+_0x48d7bd(0x184)+'\x20Groups\x20+\x20'+_0x48d7bd(0x150)+_0x48d7bd(0x141)+'┘'));else{if([_0x48d7bd(0xcb),_0x48d7bd(0xf0),'priv'][_0x48d7bd(0x82)](_0x19f2a1))_0x51c589?(setGroupConfig(_0x1bffac,_0x48d7bd(0xd8),{'enabled':!![],'mode':_0x48d7bd(0xcb)}),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x7e)+_0x48d7bd(0x153)+'PRIVATE\x0a│\x20'+_0x48d7bd(0xb4)+_0x48d7bd(0x16e)+_0x48d7bd(0xf1)+_0x48d7bd(0x9a)+'────┘')):(_0x43c7cc['pm'][_0x48d7bd(0xd0)]=!![],_0x43c7cc['pm']['mode']=_0x48d7bd(0xcb),setOwnerConfig('antidelete',_0x43c7cc),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x7e)+_0x48d7bd(0x153)+_0x48d7bd(0xb6)+_0x48d7bd(0x154)+_0x48d7bd(0x123)+_0x48d7bd(0xf1)+_0x48d7bd(0x9a)+_0x48d7bd(0x119)));else{if([_0x48d7bd(0x175),'cht']['includes'](_0x19f2a1))_0x51c589?(setGroupConfig(_0x1bffac,_0x48d7bd(0xd8),{'enabled':!![],'mode':_0x48d7bd(0x175)}),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x7e)+'ntidelete\x20'+_0x48d7bd(0xaf)+_0x48d7bd(0xb1)+_0x48d7bd(0x115)+_0x48d7bd(0x113)+_0x48d7bd(0x141)+_0x48d7bd(0x15f))):(_0x43c7cc['pm']['enabled']=!![],_0x43c7cc['pm'][_0x48d7bd(0xf5)]=_0x48d7bd(0x175),setOwnerConfig(_0x48d7bd(0xd8),_0x43c7cc),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x7e)+'ntidelete\x20'+_0x48d7bd(0x83)+_0x48d7bd(0xaa)+'PMs\x20→\x20Same'+'\x20chat\x0a│\x0a└─'+_0x48d7bd(0x141)+_0x48d7bd(0x15f)));else{if([_0x48d7bd(0x145),_0x48d7bd(0x147)]['includes'](_0x19f2a1))_0x51c589?(setGroupConfig(_0x1bffac,_0x48d7bd(0xd8),{'enabled':!![],'mode':_0x48d7bd(0x145)}),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x7e)+_0x48d7bd(0x153)+_0x48d7bd(0x163)+_0x48d7bd(0xb1)+_0x48d7bd(0x95)+_0x48d7bd(0xf4)+_0x48d7bd(0x156)+_0x48d7bd(0x166))):(_0x43c7cc['pm']['enabled']=!![],_0x43c7cc['pm'][_0x48d7bd(0xf5)]='both',setOwnerConfig(_0x48d7bd(0xd8),_0x43c7cc),_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x7e)+_0x48d7bd(0x153)+_0x48d7bd(0xfd)+_0x48d7bd(0xaa)+'PMs\x20→\x20Owne'+_0x48d7bd(0xf4)+_0x48d7bd(0x156)+_0x48d7bd(0x166)));else{if(_0x19f2a1==='clean'||_0x19f2a1===_0x48d7bd(0x15a)){const _0xc725ce=await cleanTempFolder(0x545*-0x1+0x25bc+-0x2077),_0x4be64d=db[_0x48d7bd(0xbd)+'ssages'](0x1c0*-0x8+0x8*-0x443+0x72*0x6c);_0xdf715f='┌─\x20*'+_0x433eb5+(_0x48d7bd(0x107)+_0x48d7bd(0x134))+_0xc725ce+_0x48d7bd(0x167)+_0x4be64d+(_0x48d7bd(0xc2)+_0x48d7bd(0x10b)+'──────┘');}else{if(_0x19f2a1===_0x48d7bd(0x183)||_0x19f2a1===_0x48d7bd(0x106)){const _0x194db7=await getFolderSizeInMB(TEMP_MEDIA_DIR),_0x304b3f=db[_0x48d7bd(0x87)+_0x48d7bd(0x16d)]();_0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x139)+_0x48d7bd(0x177))+_0x304b3f+('\x0a│\x20Storage'+':\x20')+_0x194db7[_0x48d7bd(0x173)](-0x14*-0xb5+0x1*0x7cd+-0x15f0)+(_0x48d7bd(0x14f)+_0x48d7bd(0x17b))+(_0x43c7cc['gc'][_0x48d7bd(0xd0)]?'ON':_0x48d7bd(0x142))+'\x20('+_0x43c7cc['gc']['mode']+_0x48d7bd(0x93)+(_0x43c7cc['pm'][_0x48d7bd(0xd0)]?'ON':_0x48d7bd(0x142))+'\x20('+_0x43c7cc['pm'][_0x48d7bd(0xf5)]+(_0x48d7bd(0xf9)+_0x48d7bd(0x171)+_0x48d7bd(0xec)+'────────┘');}else _0xdf715f=_0x48d7bd(0x11e)+_0x433eb5+(_0x48d7bd(0x96)+_0x48d7bd(0xbf)+_0x48d7bd(0xd1)+_0x48d7bd(0x174)+_0x48d7bd(0x102)+_0x48d7bd(0x8e)+_0x48d7bd(0xd8)+'\x20gc\x20on/off'+_0x48d7bd(0x13f)+'hat/both\x0a│'+'\x20\x20\x20\x20\x20\x20.ant'+_0x48d7bd(0x129)+'\x20on/off/pr'+_0x48d7bd(0xe2)+_0x48d7bd(0x90)+_0x48d7bd(0xc5)+'lete\x20priva'+_0x48d7bd(0x13d)+_0x48d7bd(0x85)+_0x48d7bd(0x178)+_0x48d7bd(0x162)+_0x48d7bd(0x149)+_0x48d7bd(0x141)+_0x48d7bd(0x15f));}}}}}}}}await _0x34035e['sendMessag'+'e'](_0x1bffac,{'text':_0xdf715f},{'quoted':_0x3d2053});}function _0x2bb0(_0x29413b,_0x5dbe57){_0x29413b=_0x29413b-(0xb11+-0x6b7+-0x3dd);const _0x34f370=_0x5c20();let _0x5d503f=_0x34f370[_0x29413b];if(_0x2bb0['cvzCYv']===undefined){var _0x699363=function(_0x406597){const _0x5449e4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c827b='',_0x46160a='';for(let _0x3b1211=-0xd3e+-0x2*0xe95+-0x17*-0x1d8,_0x47d06c,_0x40f263,_0x393512=0x4*-0x42a+0x1ac2+-0x1af*0x6;_0x40f263=_0x406597['charAt'](_0x393512++);~_0x40f263&&(_0x47d06c=_0x3b1211%(0x251*-0x5+0x15f6+-0xa5d)?_0x47d06c*(0x6cc+-0x4e2+-0xd5*0x2)+_0x40f263:_0x40f263,_0x3b1211++%(-0xfc9+-0xd7+0x10a4))?_0x3c827b+=String['fromCharCode'](-0xb2*0x11+-0x25ca*-0x1+-0x3*0x853&_0x47d06c>>(-(0x2*-0x107e+0x1*-0x22e5+0x1*0x43e3)*_0x3b1211&-0x385+-0x2*0x116f+-0x1*-0x2669)):0x1a*0x107+-0x1cf*-0xb+0x123*-0x29){_0x40f263=_0x5449e4['indexOf'](_0x40f263);}for(let _0x431120=0xa67*0x1+-0x1250+0x7e9,_0x1b1aa1=_0x3c827b['length'];_0x431120<_0x1b1aa1;_0x431120++){_0x46160a+='%'+('00'+_0x3c827b['charCodeAt'](_0x431120)['toString'](0x1a77*-0x1+-0x1*0x1a71+-0x388*-0xf))['slice'](-(0x2*-0x905+0x6fe+-0xa*-0x11b));}return decodeURIComponent(_0x46160a);};_0x2bb0['mhEiwh']=_0x699363,_0x2bb0['rleRSW']={},_0x2bb0['cvzCYv']=!![];}const _0x24eb8e=_0x34f370[0x249+-0x29*0xdd+0x211c],_0x1e99a7=_0x29413b+_0x24eb8e,_0x613e84=_0x2bb0['rleRSW'][_0x1e99a7];return!_0x613e84?(_0x5d503f=_0x2bb0['mhEiwh'](_0x5d503f),_0x2bb0['rleRSW'][_0x1e99a7]=_0x5d503f):_0x5d503f=_0x613e84,_0x5d503f;}async function storeMessage(_0x45ba84,_0x5a6a33){const _0x2aea89=_0x2bb0;try{await ensureTempDir();const _0x37d116=_0x5a6a33[_0x2aea89(0xdd)]['remoteJid'];if(!_0x37d116)return;if(!_0x5a6a33[_0x2aea89(0xdd)]?.['id'])return;if(_0x37d116===_0x2aea89(0x176)+_0x2aea89(0xab))return;const _0x41ab2e=_0x5a6a33[_0x2aea89(0xdd)]['id'],_0x55d018=_0x5a6a33['key'][_0x2aea89(0xd3)+'t']||_0x5a6a33[_0x2aea89(0xdd)][_0x2aea89(0x152)],_0x58507a=_0x5a6a33[_0x2aea89(0x14e)]||_0x2aea89(0xa2);let _0x3d82ed='',_0x35fb7a=null,_0x34a1a4=null,_0x1aa564=![];const _0x26e67c=_0x5a6a33[_0x2aea89(0x8f)];if(!_0x26e67c)return;if(_0x26e67c[_0x2aea89(0x120)+_0x2aea89(0x9d)]||_0x26e67c[_0x2aea89(0xe8)+'istributio'+_0x2aea89(0x17a)])return;const _0xa57509=_0x26e67c[_0x2aea89(0xd7)+'ssageV2']?.[_0x2aea89(0x8f)]||_0x26e67c[_0x2aea89(0xd7)+_0x2aea89(0x9d)]?.[_0x2aea89(0x8f)];if(_0xa57509){_0x1aa564=!![];if(_0xa57509[_0x2aea89(0xd5)+'ge'])_0x35fb7a=_0x2aea89(0x112),_0x3d82ed=_0xa57509[_0x2aea89(0xd5)+'ge']['caption']||'',_0x34a1a4=await downloadMedia(_0xa57509['imageMessa'+'ge'],'image',Date['now']()+(_0x2aea89(0x81)+_0x2aea89(0x92)));else _0xa57509[_0x2aea89(0xc4)+'ge']&&(_0x35fb7a=_0x2aea89(0xcd),_0x3d82ed=_0xa57509[_0x2aea89(0xc4)+'ge'][_0x2aea89(0x8c)]||'',_0x34a1a4=await downloadMedia(_0xa57509[_0x2aea89(0xc4)+'ge'],_0x2aea89(0xcd),Date[_0x2aea89(0x111)]()+('_viewonce.'+_0x2aea89(0xad))));}else{if(_0x26e67c[_0x2aea89(0xac)+'on'])_0x3d82ed=_0x26e67c[_0x2aea89(0xac)+'on'];else{if(_0x26e67c[_0x2aea89(0xfe)+_0x2aea89(0x143)]?.[_0x2aea89(0x136)])_0x3d82ed=_0x26e67c['extendedTe'+_0x2aea89(0x143)][_0x2aea89(0x136)];else{if(_0x26e67c['imageMessa'+'ge'])_0x35fb7a='image',_0x3d82ed=_0x26e67c[_0x2aea89(0xd5)+'ge']['caption']||'',_0x34a1a4=await downloadMedia(_0x26e67c[_0x2aea89(0xd5)+'ge'],_0x2aea89(0x112),Date[_0x2aea89(0x111)]()+_0x2aea89(0xe3));else{if(_0x26e67c[_0x2aea89(0xc4)+'ge'])_0x35fb7a='video',_0x3d82ed=_0x26e67c[_0x2aea89(0xc4)+'ge']['caption']||'',_0x34a1a4=await downloadMedia(_0x26e67c['videoMessa'+'ge'],_0x2aea89(0xcd),Date[_0x2aea89(0x111)]()+_0x2aea89(0x8a));else{if(_0x26e67c[_0x2aea89(0x157)+'sage'])_0x35fb7a='sticker',_0x34a1a4=await downloadMedia(_0x26e67c[_0x2aea89(0x157)+_0x2aea89(0xd9)],'sticker',Date[_0x2aea89(0x111)]()+_0x2aea89(0x80));else{if(_0x26e67c['audioMessa'+'ge']){_0x35fb7a='audio';const _0x32b237=_0x26e67c[_0x2aea89(0xe1)+'ge'][_0x2aea89(0x14a)]?.[_0x2aea89(0x82)](_0x2aea89(0xa1))?'ogg':_0x2aea89(0x126);_0x34a1a4=await downloadMedia(_0x26e67c[_0x2aea89(0xe1)+'ge'],'audio',Date[_0x2aea89(0x111)]()+'.'+_0x32b237);}else _0x26e67c[_0x2aea89(0x98)+_0x2aea89(0x9d)]&&(_0x35fb7a=_0x2aea89(0x9b),_0x3d82ed=_0x26e67c['documentMe'+_0x2aea89(0x9d)][_0x2aea89(0xb3)]||'Document',_0x34a1a4=await downloadMedia(_0x26e67c['documentMe'+_0x2aea89(0x9d)],_0x2aea89(0x9b),Date[_0x2aea89(0x111)]()+'_'+(_0x26e67c[_0x2aea89(0x98)+_0x2aea89(0x9d)][_0x2aea89(0xb3)]||'file')));}}}}}}if(_0x3d82ed||_0x35fb7a){db[_0x2aea89(0xa5)+'ge'](_0x41ab2e,_0x37d116,_0x55d018,_0x3d82ed,_0x35fb7a,_0x34a1a4,_0x1aa564,_0x58507a);if(_0x1aa564&&_0x34a1a4){const _0x265674=getEffectiveConfig(_0x37d116);_0x265674[_0x2aea89(0xd0)]&&await handleViewOnceForward(_0x45ba84,_0x265674,{'messageId':_0x41ab2e,'chatId':_0x37d116,'sender':_0x55d018,'content':_0x3d82ed,'mediaType':_0x35fb7a,'mediaPath':_0x34a1a4,'isViewOnce':_0x1aa564,'pushName':_0x58507a});}}}catch(_0x17d6ce){console[_0x2aea89(0x17d)]('Error\x20stor'+_0x2aea89(0x148)+'e:',_0x17d6ce[_0x2aea89(0x8f)],_0x2aea89(0x7f),_0x17d6ce[_0x2aea89(0x99)]?.[_0x2aea89(0x11c)]('\x0a')[-0x2*-0x85a+0x17d+-0x610*0x3]);}}async function downloadMedia(_0x324054,_0x3bb19d,_0x4d84a1){const _0x2817fa=_0x2bb0;try{const _0x3d4104=await downloadContentFromMessage(_0x324054,_0x3bb19d);let _0xf27b93=Buffer[_0x2817fa(0x109)]([]);for await(const _0x18534c of _0x3d4104){_0xf27b93=Buffer[_0x2817fa(0x10a)]([_0xf27b93,_0x18534c]);}const _0x215dc2=path['join'](TEMP_MEDIA_DIR,_0x4d84a1);return await writeFile(_0x215dc2,_0xf27b93),_0x215dc2;}catch{return null;}}async function handleViewOnceForward(_0x5563d5,_0x5ae5fc,_0x4f050b){const _0x1d2eb2=_0x2bb0;try{if(!_0x4f050b[_0x1d2eb2(0x168)]||!fs[_0x1d2eb2(0x17e)](_0x4f050b['mediaPath']))return;const _0x4298ff=getBotName(),_0x19bc42=_0x4f050b['sender'][_0x1d2eb2(0x11c)]('@')[0x18c6+-0x2048+0x782],_0x205811=createFakeContact(_0x4f050b['sender']),_0x574471={'caption':'*'+_0x4298ff+(_0x1d2eb2(0x105)+_0x1d2eb2(0x8d)+'\x20@')+_0x19bc42+_0x1d2eb2(0xa6)+_0x4f050b['pushName']+'\x0aType:\x20'+_0x4f050b[_0x1d2eb2(0x7d)],'mentions':[_0x4f050b[_0x1d2eb2(0xcf)]]},_0x244f3b=getNotificationTargets(_0x5563d5,_0x4f050b[_0x1d2eb2(0x103)],_0x5ae5fc);for(const _0x3f4028 of _0x244f3b){try{if(_0x4f050b['mediaType']==='image')await _0x5563d5['sendMessag'+'e'](_0x3f4028,{'image':{'url':_0x4f050b[_0x1d2eb2(0x168)]},..._0x574471},{'quoted':_0x205811});else _0x4f050b['mediaType']===_0x1d2eb2(0xcd)&&await _0x5563d5[_0x1d2eb2(0x161)+'e'](_0x3f4028,{'video':{'url':_0x4f050b['mediaPath']},..._0x574471},{'quoted':_0x205811});}catch{}}}catch{}}function getNotificationTargets(_0x57162a,_0x51d01f,_0x1dad83){const _0x53037a=_0x2bb0,_0x72e81e=[],_0x13761d=_0x57162a[_0x53037a(0xbc)]['id'][_0x53037a(0x11c)](':')[0x3a5*-0x1+-0xd*-0xe2+-0x7d5]+(_0x53037a(0x158)+_0x53037a(0x159)),_0x183aab=_0x1dad83[_0x53037a(0xf5)]||_0x53037a(0xcb);(_0x183aab===_0x53037a(0xcb)||_0x183aab===_0x53037a(0x145))&&_0x72e81e['push'](_0x13761d);(_0x183aab==='chat'||_0x183aab===_0x53037a(0x145))&&_0x51d01f!==_0x13761d&&_0x72e81e[_0x53037a(0x100)](_0x51d01f);if(_0x72e81e[_0x53037a(0xdc)]===0x24a6*0x1+0x895+-0x2d3b*0x1)_0x72e81e['push'](_0x13761d);return _0x72e81e;}async function handleMessageRevocation(_0x4ecc5b,_0x34e1ed){const _0x3b895d=_0x2bb0;try{const _0x3f9c41=_0x34e1ed[_0x3b895d(0xdd)][_0x3b895d(0x152)];if(!_0x3f9c41)return;const _0x299096=getEffectiveConfig(_0x3f9c41);if(!_0x299096[_0x3b895d(0xd0)])return;const _0x24dff8=_0x34e1ed[_0x3b895d(0x8f)]?.[_0x3b895d(0x120)+_0x3b895d(0x9d)]?.['key']?.['id'];if(!_0x24dff8)return;const _0x28dea5=_0x34e1ed[_0x3b895d(0xd3)+'t']||_0x34e1ed[_0x3b895d(0xdd)][_0x3b895d(0xd3)+'t']||_0x34e1ed[_0x3b895d(0xdd)][_0x3b895d(0x152)],_0x3a779a=_0x4ecc5b['user']['id'][_0x3b895d(0x11c)](':')[0x12de+-0x1*0x260+-0x107e]+(_0x3b895d(0x158)+_0x3b895d(0x159));if(_0x28dea5[_0x3b895d(0x82)](_0x4ecc5b[_0x3b895d(0xbc)]['id'])||_0x28dea5===_0x3a779a)return;const _0x127af9=db[_0x3b895d(0x87)](_0x24dff8);if(!_0x127af9)return;const _0xf389c2=getNotificationTargets(_0x4ecc5b,_0x127af9[_0x3b895d(0xce)],_0x299096);if(_0xf389c2[_0x3b895d(0xdc)]===0x23d3+0x171c+-0x3aef)return;await sendDeletionNotification(_0x4ecc5b,_0x127af9,_0x28dea5,_0xf389c2),db[_0x3b895d(0x144)+_0x3b895d(0x146)](_0x24dff8),_0x127af9[_0x3b895d(0xc8)]&&fs[_0x3b895d(0x17e)](_0x127af9[_0x3b895d(0xc8)])&&unlink(_0x127af9[_0x3b895d(0xc8)])[_0x3b895d(0xb5)](()=>{});}catch(_0x3a58e9){console[_0x3b895d(0x17d)](_0x3b895d(0x12e)+_0x3b895d(0xf2)+_0x3b895d(0x104),_0x3a58e9[_0x3b895d(0x8f)],_0x3b895d(0x7f),_0x3a58e9[_0x3b895d(0x99)]?.['split']('\x0a')[-0x161e+0x6db*0x1+0x3d1*0x4]);}}async function sendDeletionNotification(_0x1e839b,_0xaaa18f,_0x3a511a,_0x215209){const _0x1639c8=_0x2bb0;try{const _0x4fbcaa=getBotName(),_0x1632dc=_0xaaa18f[_0x1639c8(0x12b)][_0x1639c8(0x11c)]('@')[-0xd8*-0x22+0x1432+-0x1871*0x2],_0x88540=_0x3a511a[_0x1639c8(0x11c)]('@')[0x2199*-0x1+0xf*0x295+0xdb*-0x6],_0x386b08=createFakeContact(_0xaaa18f['sender_jid']);let _0xcbff62='';if(_0xaaa18f[_0x1639c8(0xce)][_0x1639c8(0x160)](_0x1639c8(0x137)))try{const _0x3d3846=await _0x1e839b[_0x1639c8(0xe6)+_0x1639c8(0x9c)](_0xaaa18f[_0x1639c8(0xce)]);_0xcbff62=_0x3d3846[_0x1639c8(0xe4)];}catch{}const _0x652f76=new Date(_0xaaa18f[_0x1639c8(0xa4)]*(-0x3*0x25+-0x265*-0x3+-0x1c*0x1a))['toLocaleSt'+_0x1639c8(0xe5)](_0x1639c8(0x170),{'hour12':!![],'hour':_0x1639c8(0x14d),'minute':_0x1639c8(0x14d),'day':_0x1639c8(0x14d),'month':_0x1639c8(0x14d),'year':_0x1639c8(0x110)});let _0x38c20f=_0x1639c8(0x11e)+_0x4fbcaa+('*\x20─┐\x0a│\x0a│\x20M'+'ESSAGE\x20DEL'+_0x1639c8(0xd2)),_0x2f68af='\x0a│\x20Deleted'+_0x1639c8(0x121)+_0x88540+(_0x1639c8(0xbe)+'\x20@')+_0x1632dc+_0x1639c8(0x117)+(_0xaaa18f['push_name']||_0x1639c8(0xa2))+_0x1639c8(0x91)+_0x652f76;if(_0xcbff62)_0x2f68af+=_0x1639c8(0x10c)+_0xcbff62;if(_0xaaa18f[_0x1639c8(0xa8)+'ce'])_0x2f68af+=_0x1639c8(0x17f)+'iew\x20Once';_0xaaa18f[_0x1639c8(0xc0)]&&(_0x2f68af+=_0x1639c8(0x130)+'TED\x20MESSAG'+_0x1639c8(0x13c)+_0xaaa18f[_0x1639c8(0xc0)][_0x1639c8(0x13b)](-0x1*-0x2191+-0x79*-0x2f+-0x1c*0x1fe,-0xef*-0x8+-0x86a+0x2e6)+(_0xaaa18f['content'][_0x1639c8(0xdc)]>0x217d+-0x166a+-0x91f*0x1?_0x1639c8(0x14c):''));let _0x274713=_0x1639c8(0xef)+_0x1639c8(0xd4);const _0x40667c=_0x38c20f+_0x2f68af+_0x274713,_0x3b31b2={'text':_0x40667c,'mentions':[_0x3a511a,_0xaaa18f['sender_jid']]};for(const _0x4ed617 of _0x215209){try{await _0x1e839b[_0x1639c8(0x161)+'e'](_0x4ed617,_0x3b31b2,{'quoted':_0x386b08});}catch{}}_0xaaa18f[_0x1639c8(0x16f)]&&_0xaaa18f['media_path']&&fs[_0x1639c8(0x17e)](_0xaaa18f[_0x1639c8(0xc8)])&&await sendMediaNotification(_0x1e839b,_0xaaa18f,_0x215209);}catch{}}async function sendMediaNotification(_0x4f859f,_0xccfad0,_0x511435){const _0x53d548=_0x2bb0,_0x2d2c3b=getBotName(),_0x29b2fc=_0xccfad0['sender_jid'][_0x53d548(0x11c)]('@')[0xdd7+0x23c6+-0x319d*0x1],_0x4b3acc=createFakeContact(_0xccfad0[_0x53d548(0x12b)]),_0x411197={'caption':_0x53d548(0x11e)+_0x2d2c3b+(_0x53d548(0x94)+'ELETED\x20')+_0xccfad0[_0x53d548(0x16f)][_0x53d548(0x12c)+'e']()+_0x53d548(0x16b)+_0x29b2fc+(_0x53d548(0xef)+'───────┘'),'mentions':[_0xccfad0[_0x53d548(0x12b)]]};for(const _0x176dbf of _0x511435){try{switch(_0xccfad0[_0x53d548(0x16f)]){case _0x53d548(0x112):await _0x4f859f[_0x53d548(0x161)+'e'](_0x176dbf,{'image':{'url':_0xccfad0[_0x53d548(0xc8)]},..._0x411197},{'quoted':_0x4b3acc});break;case'sticker':await _0x4f859f[_0x53d548(0x161)+'e'](_0x176dbf,{'sticker':{'url':_0xccfad0[_0x53d548(0xc8)]}});break;case _0x53d548(0xcd):await _0x4f859f['sendMessag'+'e'](_0x176dbf,{'video':{'url':_0xccfad0[_0x53d548(0xc8)]},..._0x411197},{'quoted':_0x4b3acc});break;case _0x53d548(0x12d):await _0x4f859f[_0x53d548(0x161)+'e'](_0x176dbf,{'audio':{'url':_0xccfad0[_0x53d548(0xc8)]},'mimetype':_0x53d548(0x12f),'ptt':![]});break;case _0x53d548(0x9b):await _0x4f859f[_0x53d548(0x161)+'e'](_0x176dbf,{'document':{'url':_0xccfad0[_0x53d548(0xc8)]},'fileName':path[_0x53d548(0x9e)](_0xccfad0[_0x53d548(0xc8)]),..._0x411197},{'quoted':_0x4b3acc});break;}}catch{}}}setInterval(()=>{const _0x30c29d=_0x2bb0;db[_0x30c29d(0xbd)+_0x30c29d(0x127)](MESSAGE_RETENTION_SECONDS),cleanTempFolder(0x69b+0x20ec+0x1*-0x26bf);},0x7af4*-0x7a+0x54f1ed+0x1c94db),module[_0x16b18a(0x114)]={'handleAntideleteCommand':handleAntideleteCommand,'handleMessageRevocation':handleMessageRevocation,'storeMessage':storeMessage,'cleanTempFolder':cleanTempFolder};
|