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,282 +1 @@
|
|
|
1
|
-
const { exec } = require('child_process');
|
|
2
|
-
const fs = require('fs');
|
|
3
|
-
const path = require('path');
|
|
4
|
-
const crypto = require('crypto');
|
|
5
|
-
const https = require('https');
|
|
6
|
-
const settings = require('../../daveset');
|
|
7
|
-
const isOwnerOrSudo = require('../../davelib/isOwner');
|
|
8
|
-
|
|
9
|
-
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
10
|
-
function run(cmd) {
|
|
11
|
-
return new Promise((resolve, reject) => {
|
|
12
|
-
exec(cmd, { windowsHide: true }, (err, stdout, stderr) => {
|
|
13
|
-
if (err) return reject(new Error(stderr || stdout || err.message));
|
|
14
|
-
resolve(stdout.toString().trim());
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const SKIP_DIRS = new Set([
|
|
20
|
-
'node_modules', '.git', 'tmp', 'temp', 'attached_assets'
|
|
21
|
-
]);
|
|
22
|
-
|
|
23
|
-
const PROTECTED_FILES = new Set([
|
|
24
|
-
'.env', 'baileys_store.json', '.migration_status.json',
|
|
25
|
-
'package-lock.json', 'creds.json', 'settings.js',
|
|
26
|
-
'replit.md', '.replit', 'replit.nix'
|
|
27
|
-
]);
|
|
28
|
-
|
|
29
|
-
const PROTECTED_DIR_PREFIXES = [
|
|
30
|
-
'session/',
|
|
31
|
-
'persistent_data/',
|
|
32
|
-
'data/',
|
|
33
|
-
'auth_info/',
|
|
34
|
-
'auth_info_baileys/',
|
|
35
|
-
'.local/'
|
|
36
|
-
];
|
|
37
|
-
|
|
38
|
-
function isProtected(relativePath) {
|
|
39
|
-
if (PROTECTED_FILES.has(relativePath)) return true;
|
|
40
|
-
for (const prefix of PROTECTED_DIR_PREFIXES) {
|
|
41
|
-
if (relativePath.startsWith(prefix)) return true;
|
|
42
|
-
}
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function shouldSkipDir(dirName) {
|
|
47
|
-
return SKIP_DIRS.has(dirName);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function fileHash(filePath) {
|
|
51
|
-
try {
|
|
52
|
-
const content = fs.readFileSync(filePath);
|
|
53
|
-
return crypto.createHash('md5').update(content).digest('hex');
|
|
54
|
-
} catch {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
async function hasGitRepo() {
|
|
60
|
-
const gitDir = path.join(process.cwd(), '.git');
|
|
61
|
-
if (!fs.existsSync(gitDir)) return false;
|
|
62
|
-
try {
|
|
63
|
-
await run('git --version');
|
|
64
|
-
return true;
|
|
65
|
-
} catch {
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
function backupProtectedFiles() {
|
|
71
|
-
const backups = {};
|
|
72
|
-
const filesToBackup = [...PROTECTED_FILES];
|
|
73
|
-
for (const dir of PROTECTED_DIR_PREFIXES) {
|
|
74
|
-
const dirPath = path.join(process.cwd(), dir.replace(/\/$/, ''));
|
|
75
|
-
if (fs.existsSync(dirPath) && fs.lstatSync(dirPath).isDirectory()) {
|
|
76
|
-
filesToBackup.push(dir);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
for (const file of PROTECTED_FILES) {
|
|
80
|
-
const filePath = path.join(process.cwd(), file);
|
|
81
|
-
if (fs.existsSync(filePath)) {
|
|
82
|
-
try {
|
|
83
|
-
backups[file] = fs.readFileSync(filePath);
|
|
84
|
-
} catch {}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return backups;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
function restoreProtectedFiles(backups) {
|
|
91
|
-
for (const [file, content] of Object.entries(backups)) {
|
|
92
|
-
const filePath = path.join(process.cwd(), file);
|
|
93
|
-
try {
|
|
94
|
-
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
95
|
-
fs.writeFileSync(filePath, content);
|
|
96
|
-
} catch {}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
async function updateViaGit() {
|
|
101
|
-
const oldRev = await run('git rev-parse HEAD').catch(() => 'unknown');
|
|
102
|
-
await run('git fetch --all --prune 2>/dev/null');
|
|
103
|
-
const newRev = await run('git rev-parse origin/main').catch(() => 'unknown');
|
|
104
|
-
|
|
105
|
-
const alreadyUpToDate = oldRev === newRev;
|
|
106
|
-
const commits = alreadyUpToDate ? '' : await run(`git log --pretty=format:"%h %s" ${oldRev}..${newRev}`).catch(() => '');
|
|
107
|
-
|
|
108
|
-
const backups = backupProtectedFiles();
|
|
109
|
-
|
|
110
|
-
await run(`git reset --hard ${newRev}`);
|
|
111
|
-
await run('git clean -fd -e session/ -e data/ -e persistent_data/ -e auth_info/ -e auth_info_baileys/ -e creds.json -e settings.js -e .env');
|
|
112
|
-
|
|
113
|
-
restoreProtectedFiles(backups);
|
|
114
|
-
|
|
115
|
-
return { oldRev, newRev, alreadyUpToDate, commits };
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
function downloadFile(url, dest, visited = new Set()) {
|
|
119
|
-
return new Promise((resolve, reject) => {
|
|
120
|
-
if (visited.has(url) || visited.size > 5) return reject(new Error('Too many redirects'));
|
|
121
|
-
visited.add(url);
|
|
122
|
-
|
|
123
|
-
const client = url.startsWith('https://') ? https : require('http');
|
|
124
|
-
const req = client.get(url, { headers: { 'User-Agent': 'DAVE-X-Updater/3.0' } }, res => {
|
|
125
|
-
if ([301, 302, 303, 307, 308].includes(res.statusCode)) {
|
|
126
|
-
const nextUrl = new URL(res.headers.location, url).toString();
|
|
127
|
-
res.resume();
|
|
128
|
-
return downloadFile(nextUrl, dest, visited).then(resolve).catch(reject);
|
|
129
|
-
}
|
|
130
|
-
if (res.statusCode !== 200) return reject(new Error(`HTTP ${res.statusCode}`));
|
|
131
|
-
|
|
132
|
-
const file = fs.createWriteStream(dest);
|
|
133
|
-
res.pipe(file);
|
|
134
|
-
file.on('finish', () => file.close(resolve));
|
|
135
|
-
file.on('error', err => {
|
|
136
|
-
fs.unlink(dest, () => reject(err));
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
req.on('error', err => fs.unlink(dest, () => reject(err)));
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
async function extractZip(zipPath, outDir) {
|
|
144
|
-
if (process.platform === 'win32') {
|
|
145
|
-
await run(`powershell -NoProfile -Command "Expand-Archive -Path '${zipPath}' -DestinationPath '${outDir}' -Force"`);
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
for (const tool of ['unzip', '7z', 'busybox unzip']) {
|
|
149
|
-
try {
|
|
150
|
-
await run(`command -v ${tool.split(' ')[0]}`);
|
|
151
|
-
await run(`${tool} -o '${zipPath}' -d '${outDir}'`);
|
|
152
|
-
return;
|
|
153
|
-
} catch {}
|
|
154
|
-
}
|
|
155
|
-
throw new Error("No unzip tool found");
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
function smartCopyRecursive(src, dest, ignoreTopLevel = [], relative = '', stats = { updated: [], skipped: [], added: [] }) {
|
|
159
|
-
if (!fs.existsSync(dest)) fs.mkdirSync(dest, { recursive: true });
|
|
160
|
-
for (const entry of fs.readdirSync(src)) {
|
|
161
|
-
if (ignoreTopLevel.includes(entry) && relative === '') continue;
|
|
162
|
-
const s = path.join(src, entry);
|
|
163
|
-
const d = path.join(dest, entry);
|
|
164
|
-
const rel = relative ? `${relative}/${entry}` : entry;
|
|
165
|
-
const stat = fs.lstatSync(s);
|
|
166
|
-
|
|
167
|
-
if (stat.isDirectory()) {
|
|
168
|
-
if (shouldSkipDir(entry)) {
|
|
169
|
-
continue;
|
|
170
|
-
}
|
|
171
|
-
smartCopyRecursive(s, d, ignoreTopLevel, rel, stats);
|
|
172
|
-
} else {
|
|
173
|
-
if (isProtected(rel)) {
|
|
174
|
-
stats.skipped.push(rel);
|
|
175
|
-
continue;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
if (fs.existsSync(d)) {
|
|
179
|
-
const srcHash = fileHash(s);
|
|
180
|
-
const destHash = fileHash(d);
|
|
181
|
-
if (srcHash && destHash && srcHash === destHash) {
|
|
182
|
-
stats.skipped.push(rel);
|
|
183
|
-
continue;
|
|
184
|
-
}
|
|
185
|
-
stats.updated.push(rel);
|
|
186
|
-
} else {
|
|
187
|
-
stats.added.push(rel);
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
fs.mkdirSync(path.dirname(d), { recursive: true });
|
|
191
|
-
fs.copyFileSync(s, d);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
return stats;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
async function updateViaZip(zipUrl) {
|
|
198
|
-
if (!zipUrl) throw new Error('No ZIP URL configured.');
|
|
199
|
-
|
|
200
|
-
const tmpDir = path.join(process.cwd(), 'tmp');
|
|
201
|
-
fs.mkdirSync(tmpDir, { recursive: true });
|
|
202
|
-
|
|
203
|
-
const zipPath = path.join(tmpDir, 'update.zip');
|
|
204
|
-
await downloadFile(zipUrl, zipPath);
|
|
205
|
-
|
|
206
|
-
const extractTo = path.join(tmpDir, 'update_extract');
|
|
207
|
-
fs.rmSync(extractTo, { recursive: true, force: true });
|
|
208
|
-
await extractZip(zipPath, extractTo);
|
|
209
|
-
|
|
210
|
-
const entries = fs.readdirSync(extractTo);
|
|
211
|
-
const root = entries.length === 1 && fs.lstatSync(path.join(extractTo, entries[0])).isDirectory()
|
|
212
|
-
? path.join(extractTo, entries[0])
|
|
213
|
-
: extractTo;
|
|
214
|
-
|
|
215
|
-
const ignoreTopLevel = ['node_modules', '.git', 'tmp', 'temp'];
|
|
216
|
-
const stats = smartCopyRecursive(root, process.cwd(), ignoreTopLevel, '', { updated: [], skipped: [], added: [] });
|
|
217
|
-
|
|
218
|
-
fs.rmSync(extractTo, { recursive: true, force: true });
|
|
219
|
-
fs.rmSync(zipPath, { force: true });
|
|
220
|
-
|
|
221
|
-
return stats;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
async function restartProcess(sock, chatId, message) {
|
|
225
|
-
const fakeContact = createFakeContact(message);
|
|
226
|
-
await sock.sendMessage(chatId, { text: 'Update finished restarting' }, { quoted: fakeContact }).catch(() => {});
|
|
227
|
-
try {
|
|
228
|
-
await run('pm2 restart all');
|
|
229
|
-
} catch {
|
|
230
|
-
setTimeout(() => process.exit(0), 500);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
async function updateCommand(sock, chatId, message, zipOverride) {
|
|
235
|
-
const fakeContact = createFakeContact(message);
|
|
236
|
-
const botName = getBotName();
|
|
237
|
-
const senderId = message.key.participant || message.key.remoteJid;
|
|
238
|
-
const isOwner = await isOwnerOrSudo(senderId, sock, chatId);
|
|
239
|
-
|
|
240
|
-
if (!message.key.fromMe && !isOwner) {
|
|
241
|
-
return sock.sendMessage(chatId, { text: `*${botName}*\nOwner only command!` }, { quoted: fakeContact });
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
let statusMessage;
|
|
245
|
-
try {
|
|
246
|
-
statusMessage = await sock.sendMessage(chatId, { text: `*${botName} UPDATE*\n\nInitializing update...\nYour settings and data will be preserved` }, { quoted: fakeContact });
|
|
247
|
-
|
|
248
|
-
if (await hasGitRepo()) {
|
|
249
|
-
await sock.sendMessage(chatId, { text: `*${botName} UPDATE*\n\nSyncing repository...`, edit: statusMessage.key });
|
|
250
|
-
const { oldRev, newRev, alreadyUpToDate } = await updateViaGit();
|
|
251
|
-
const summary = alreadyUpToDate ? 'Already up to date!' : `Updated: ${oldRev.slice(0, 7)} -> ${newRev.slice(0, 7)}`;
|
|
252
|
-
await sock.sendMessage(chatId, { text: `*${botName} UPDATE*\n\n${summary}\nInstalling dependencies...`, edit: statusMessage.key });
|
|
253
|
-
} else {
|
|
254
|
-
await sock.sendMessage(chatId, { text: `*${botName} UPDATE*\n\nDownloading update archive...`, edit: statusMessage.key });
|
|
255
|
-
const stats = await updateViaZip(zipOverride || settings.updateZipUrl || process.env.UPDATE_ZIP_URL);
|
|
256
|
-
|
|
257
|
-
let summary = `*${botName} UPDATE*\n\n`;
|
|
258
|
-
summary += `Updated: ${stats.updated.length} files\n`;
|
|
259
|
-
summary += `Added: ${stats.added.length} new files\n`;
|
|
260
|
-
summary += `Skipped: ${stats.skipped.length} files\n`;
|
|
261
|
-
summary += `Settings & data: preserved\n`;
|
|
262
|
-
summary += `Installing dependencies...`;
|
|
263
|
-
|
|
264
|
-
await sock.sendMessage(chatId, { text: summary, edit: statusMessage.key });
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
await run('npm install --no-audit --no-fund 2>/dev/null');
|
|
268
|
-
await sock.sendMessage(chatId, { text: `*${botName} UPDATE*\n\nUpdate complete! Settings preserved.\nRestarting...`, edit: statusMessage.key });
|
|
269
|
-
await restartProcess(sock, chatId, message);
|
|
270
|
-
} catch (err) {
|
|
271
|
-
console.error('Update failed:', err);
|
|
272
|
-
const safeErr = String(err.message || err).replace(/https?:\/\/[^\s]+/g, '[hidden]').slice(0, 500);
|
|
273
|
-
const errorMsg = `*${botName} UPDATE*\n\nUpdate failed: ${safeErr}`;
|
|
274
|
-
if (statusMessage?.key) {
|
|
275
|
-
await sock.sendMessage(chatId, { text: errorMsg, edit: statusMessage.key });
|
|
276
|
-
} else {
|
|
277
|
-
await sock.sendMessage(chatId, { text: errorMsg }, { quoted: fakeContact });
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
module.exports = updateCommand;
|
|
1
|
+
function _0x229a(){const _0x39b2eb=['y29TBwfUzcaTDG','CNnLieHfquq','tM8GDw56AxaGDa','AM9PBG','zvn0CMvHBq','zgLNzxn0','C3bSAxq','kGPpD25LCIbVBG','ic0+ia','vg9Vig1HBNKGCG','Dg9tDhjPBMC','sw5PDgLHBgL6Aq','CgLWzq','nZaYntuXn2PhCNrsCW','ndmWnZu2EKHbsNLe','igrHDgeGD2LSBa','B3jLlMPZB24','C2vZC2LVBI8','l21HAw4','DgvTCa','CgXLDguHifnLDa','C3rHCNrZv2L0Aa','z2L0igXVzYaTlq','CgfJA2fNzs1SBW','yxrHlYaTzsbHDq','ChjLDhr5pwzVCG','ihrVigrHDguH','jYaTzcaN','u2TPChbLzdOG','w2HPzgrLBL0','y29WEuzPBgvtEq','yMfPBgv5CY8','zxHWB3j0CW','DgLUz3mGChjLCW','CMvHzgrPCLn5BG','ig5LDYbMAwXLCW','zxnZ','tM8GwKLqifvsta','nNb5y0vSDG','z2L0ihjLC2v0ia','C3rHDhvZq29Kzq','zw50CMLLCW','y2LLCY4UlG','C2vUze1LC3nHzW','BNvSBa','x1vsta','Dw56Axa','C2vYDMvKcG','y3j5ChrV','zNjVBu1L','BcaTlw5Vlwf1za','A2v5','z2L0ignSzwfUia','u3LUy2LUzYbYzq','BwvZC2fNzq','B19IywLSzxLZlW','CNnPC3rLBNrFza','DxbKyxrLza','Cg9ZAxrVCNKUlG','y2HPBgrFChjVyW','vxbKyxrLigzPBG','DgfYDgLUzY4UlG','sw5ZDgfSBgLUzW','DhrPBMDZlMPZia','yxrLCI8ZlJa','Ahr0Chm','ls1HBgWGls1WCG','C2TPChbLza','ndCWnZy0r09NBM9N','BNrHy3q','zgLYBMfTzq','lI4kww91CIbZzq','BhKGy29TBwfUza','nZu1swzPvxPp','mZCXmJaWogLgvKTwBG','vxbKyxrLignVBq','CMvZDw1L','BgvKoG','mJmWmZa3z1H5zMjh','vxbKyxrLzdOG','y3jLzhmUANnVBG','rg93BMXVywrPBG','vvbeqvrfx1Pjua','cKLUC3rHBgXPBG','ic1LignYzwrZlG','Bhn0yxrtEw5J','AxqGls1UBY1MDq','lI4VlI4Vzgf2zq','DgGGjW','CMnOAxzLlI4U','y3DK','Bwf0oIiLAcaLCW','zYbKzxbLBMrLBG','zsbHDxrOx2LUzG','AxneAxjLy3rVCG','yxv0Af9PBMzVxW','CgfYDgLJAxbHBG','jYaTrM9Yy2uI','ywrK','CMvHzezPBgvtEq','zMLUAxnO','z2L0ihjLDI1Wyq','x3n0yxr1CY5QCW','AwvZlI4U','yMfPBgv5C19ZDa','AgvHzgvYCW','lMDPDa','yxj0Aw5N','DgHLBG','zYb1CgrHDguGyq','C3nLDhm','C2LVBI8GlwuGza','Dg1W','zxHPC3rZu3LUyW','C2XPy2u','C2v0','Aw9U','CM1tEw5J','CMvTB3rLsMLK','BM9Kzv9TB2r1Ba','yNvZEwjVEcb1BG','zxHPDa','yxv0Af9PBMzVlW','mty4odq3svrKv2XJ','CgvYC2LZDgvUDa','DgLVBLbHDgGGjW','ywrKzwq','CNnLig9YAwDPBG','DxbKyxrLwMLWvq','z2L0ic0TDMvYCW','y2f0y2G','z2v0','lM1Pz3jHDgLVBG','zgf0ys8','AgfZ','Aw5JBhvKzxm','qwrKzwq6ia','BMCGDxbKyxrLlG','C2L6zq','Bg9JyxrPB24','D3jPDgvgAwXLuW','BgvUz3rO','ANnVBIaTzsbZzq','vxbKyxrLigzHAq','ignVBMzPz3vYzq','zxjYB3i','nJu0nK9jtLb5wq','yxr0ywnOzwrFyq','BgLIl2zHA2vdBW','zxj2zwqUcLjLCW','BwTKAxjtEw5J','Cgf0Aa','DhjPBq','CMnOAxzLic1qyq','ifvqrefursOkcG','igrLCgvUzgvUyW','DxbKyxrLlNPPCa','refwrs1ylvvWza','ChvZAa','y3jLyxrLsgfZAa','Dw5RBM93BG','zw52','CMvWBgfJzq','Dw5SAw5R','igzPBgvZcG','DhrPBMDZigfUza','CgXHDgzVCM0','y3jLyxrLv3jPDa','lMvUDG','igjLihbYzxnLCG','Cg93zxjZAgvSBa','Ew5J','lwuGlMvUDG'];_0x229a=function(){return _0x39b2eb;};return _0x229a();}const _0x46cb2d=_0x382a;function _0x382a(_0x525d6f,_0x54b1ef){_0x525d6f=_0x525d6f-(-0x224b+0x9d*0xb+0x1cf3);const _0x2a5a5b=_0x229a();let _0x20062f=_0x2a5a5b[_0x525d6f];if(_0x382a['cSrLSZ']===undefined){var _0x4cf8dd=function(_0x43caa5){const _0x6c37e6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x22b9a7='',_0xeee2d4='';for(let _0x381194=0x2*0x57+0x1*0x18df+0x198d*-0x1,_0x306465,_0x43a76c,_0x29109b=-0x268e+0x83d+-0x255*-0xd;_0x43a76c=_0x43caa5['charAt'](_0x29109b++);~_0x43a76c&&(_0x306465=_0x381194%(0x313*0x9+-0x271*-0x6+0x7*-0x60b)?_0x306465*(0x847*-0x1+0x36a*-0x4+0x162f)+_0x43a76c:_0x43a76c,_0x381194++%(0x1*-0xb3+-0x9*-0x265+-0xe*0x17d))?_0x22b9a7+=String['fromCharCode'](-0x2650+-0x15e+-0x9*-0x485&_0x306465>>(-(0x2505+-0x1704+-0xdff)*_0x381194&0x1*0x61f+0x1ebd+-0x126b*0x2)):-0x3*-0x890+-0x5*0xf1+-0x14fb){_0x43a76c=_0x6c37e6['indexOf'](_0x43a76c);}for(let _0x54f193=-0x5f*-0x56+-0x1eea*0x1+0x100*-0x1,_0x39cf20=_0x22b9a7['length'];_0x54f193<_0x39cf20;_0x54f193++){_0xeee2d4+='%'+('00'+_0x22b9a7['charCodeAt'](_0x54f193)['toString'](0x11f5*0x2+-0x1574+0x1*-0xe66))['slice'](-(-0x1*-0x2185+-0x1*0x17c2+0x1*-0x9c1));}return decodeURIComponent(_0xeee2d4);};_0x382a['LkwKiD']=_0x4cf8dd,_0x382a['PHSJYU']={},_0x382a['cSrLSZ']=!![];}const _0x242338=_0x2a5a5b[-0x121e+-0x205f+0x327d],_0x17b7e3=_0x525d6f+_0x242338,_0xa678e8=_0x382a['PHSJYU'][_0x17b7e3];return!_0xa678e8?(_0x20062f=_0x382a['LkwKiD'](_0x20062f),_0x382a['PHSJYU'][_0x17b7e3]=_0x20062f):_0x20062f=_0xa678e8,_0x20062f;}(function(_0x5b8452,_0x5d0471){const _0x5433a8=_0x382a,_0xe06895=_0x5b8452();while(!![]){try{const _0xa4db5d=-parseInt(_0x5433a8(0x201))/(0x7*-0x1c3+-0x1*-0x2634+-0x25a*0xb)+parseInt(_0x5433a8(0x194))/(0x3*-0x931+0x1775+-0x58*-0xc)*(parseInt(_0x5433a8(0x1ac))/(0x251e+0x6b3+0xb2*-0x3f))+-parseInt(_0x5433a8(0x1ca))/(-0x1bfb+-0x1*-0x1053+0x2*0x5d6)+-parseInt(_0x5433a8(0x1cf))/(-0x18e9+0x38*-0x5c+0x49*0x9e)*(parseInt(_0x5433a8(0x16b))/(-0xec2*-0x1+-0x1*0x18ad+0x5*0x1fd))+-parseInt(_0x5433a8(0x1d4))/(-0x1465+0x4*-0x37e+0x2264)+-parseInt(_0x5433a8(0x1d0))/(0x1765+-0x137*0xe+-0x65b)+parseInt(_0x5433a8(0x193))/(-0x99d+-0xde7*0x1+0x178d);if(_0xa4db5d===_0x5d0471)break;else _0xe06895['push'](_0xe06895['shift']());}catch(_0x2144c0){_0xe06895['push'](_0xe06895['shift']());}}}(_0x229a,0x1a26a+0x53*0x5a3+0x8dd1*0x1));const {exec}=require(_0x46cb2d(0x1c1)+_0x46cb2d(0x1aa)),fs=require('fs'),path=require(_0x46cb2d(0x170)),crypto=require(_0x46cb2d(0x1b6)),https=require(_0x46cb2d(0x1c7)),settings=require('../../dave'+_0x46cb2d(0x1f9)),isOwnerOrSudo=require('../../dave'+'lib/isOwne'+'r'),{createFakeContact,getBotName}=require(_0x46cb2d(0x1dd)+_0x46cb2d(0x16d)+_0x46cb2d(0x1cb));function run(_0x6412ae){return new Promise((_0x464336,_0x186a01)=>{exec(_0x6412ae,{'windowsHide':!![]},(_0x29e19b,_0x502fe1,_0x2a9bdd)=>{const _0x16ca75=_0x382a;if(_0x29e19b)return _0x186a01(new Error(_0x2a9bdd||_0x502fe1||_0x29e19b['message']));_0x464336(_0x502fe1[_0x16ca75(0x190)]()[_0x16ca75(0x171)]());});});}const SKIP_DIRS=new Set([_0x46cb2d(0x1fd)+'es',_0x46cb2d(0x1f0),_0x46cb2d(0x1f6),_0x46cb2d(0x199),_0x46cb2d(0x16c)+_0x46cb2d(0x1f4)]),PROTECTED_FILES=new Set([_0x46cb2d(0x181),_0x46cb2d(0x1ee)+_0x46cb2d(0x196),_0x46cb2d(0x20a)+_0x46cb2d(0x1ec)+'on',_0x46cb2d(0x19d)+'ck.json',_0x46cb2d(0x1d6),'settings.j'+'s','replit.md','.replit','replit.nix']),PROTECTED_DIR_PREFIXES=[_0x46cb2d(0x197),_0x46cb2d(0x202)+'_data/',_0x46cb2d(0x20b),_0x46cb2d(0x200),_0x46cb2d(0x1e5)+_0x46cb2d(0x1a5),'.local/'];function isProtected(_0x31d1ef){const _0x32c601=_0x382a;if(PROTECTED_FILES[_0x32c601(0x20c)](_0x31d1ef))return!![];for(const _0xdb7d51 of PROTECTED_DIR_PREFIXES){if(_0x31d1ef[_0x32c601(0x19b)](_0xdb7d51))return!![];}return![];}function shouldSkipDir(_0x38f2e4){const _0x1bdf87=_0x382a;return SKIP_DIRS[_0x1bdf87(0x20c)](_0x38f2e4);}function fileHash(_0xbc69c8){const _0x954894=_0x382a;try{const _0x252e82=fs[_0x954894(0x1e9)+'nc'](_0xbc69c8);return crypto[_0x954894(0x178)]('md5')['update'](_0x252e82)[_0x954894(0x18b)]('hex');}catch{return null;}}async function hasGitRepo(){const _0x168e2d=_0x382a,_0x4a8b17=path[_0x168e2d(0x189)](process[_0x168e2d(0x1e0)](),_0x168e2d(0x1f0));if(!fs['existsSync'](_0x4a8b17))return![];try{return await run(_0x168e2d(0x207)+_0x168e2d(0x1fa)),!![];}catch{return![];}}function backupProtectedFiles(){const _0xce5371=_0x382a,_0xa2b92b={},_0x55c71e=[...PROTECTED_FILES];for(const _0x4df658 of PROTECTED_DIR_PREFIXES){const _0x5d5901=path[_0xce5371(0x189)](process[_0xce5371(0x1e0)](),_0x4df658[_0xce5371(0x17b)](/\/$/,''));fs[_0xce5371(0x1f7)](_0x5d5901)&&fs[_0xce5371(0x1db)](_0x5d5901)[_0xce5371(0x1e4)+'y']()&&_0x55c71e['push'](_0x4df658);}for(const _0x330d77 of PROTECTED_FILES){const _0x5cf12d=path[_0xce5371(0x189)](process[_0xce5371(0x1e0)](),_0x330d77);if(fs['existsSync'](_0x5cf12d))try{_0xa2b92b[_0x330d77]=fs['readFileSy'+'nc'](_0x5cf12d);}catch{}}return _0xa2b92b;}function restoreProtectedFiles(_0x46eb38){const _0x2744ff=_0x382a;for(const [_0x5f4316,_0x37fb22]of Object[_0x2744ff(0x1af)](_0x46eb38)){const _0x2f27b6=path[_0x2744ff(0x189)](process[_0x2744ff(0x1e0)](),_0x5f4316);try{fs[_0x2744ff(0x16f)](path[_0x2744ff(0x1cc)](_0x2f27b6),{'recursive':!![]}),fs[_0x2744ff(0x212)+_0x2744ff(0x184)](_0x2f27b6,_0x37fb22);}catch{}}}async function updateViaGit(){const _0x2a1957=_0x382a,_0x43a812=await run(_0x2a1957(0x1eb)+_0x2a1957(0x187))[_0x2a1957(0x208)](()=>_0x2a1957(0x179));await run('git\x20fetch\x20'+_0x2a1957(0x1c8)+'une\x202>/dev'+'/null');const _0x3517b7=await run('git\x20rev-pa'+_0x2a1957(0x205)+_0x2a1957(0x198))[_0x2a1957(0x208)](()=>'unknown'),_0x32037c=_0x43a812===_0x3517b7,_0x487a02=_0x32037c?'':await run(_0x2a1957(0x19c)+_0x2a1957(0x19f)+_0x2a1957(0x1e1)+'\x22\x20'+_0x43a812+'..'+_0x3517b7)['catch'](()=>''),_0x5a633a=backupProtectedFiles();return await run(_0x2a1957(0x1ad)+'--hard\x20'+_0x3517b7),await run(_0x2a1957(0x1ba)+'-fd\x20-e\x20ses'+_0x2a1957(0x1f5)+'ata/\x20-e\x20pe'+_0x2a1957(0x1be)+_0x2a1957(0x19e)+'th_info/\x20-'+_0x2a1957(0x1e3)+_0x2a1957(0x1bd)+_0x2a1957(0x1da)+_0x2a1957(0x167)+_0x2a1957(0x1c5)+_0x2a1957(0x185)),restoreProtectedFiles(_0x5a633a),{'oldRev':_0x43a812,'newRev':_0x3517b7,'alreadyUpToDate':_0x32037c,'commits':_0x487a02};}function downloadFile(_0x17f6d5,_0x52d6e6,_0x95880c=new Set()){return new Promise((_0x406949,_0x135bd8)=>{const _0x18a064=_0x382a;if(_0x95880c[_0x18a064(0x20c)](_0x17f6d5)||_0x95880c[_0x18a064(0x210)]>0x1002*0x2+0x130+-0x1*0x212f)return _0x135bd8(new Error(_0x18a064(0x18f)+'edirects'));_0x95880c[_0x18a064(0x1e8)](_0x17f6d5);const _0x2c08b1=_0x17f6d5[_0x18a064(0x19b)]('https://')?https:require('http'),_0x46bcde=_0x2c08b1[_0x18a064(0x209)](_0x17f6d5,{'headers':{'User-Agent':_0x18a064(0x176)+_0x18a064(0x1c6)}},_0x292c36=>{const _0x86fa2d=_0x382a;if([-0x1ef5+0x3*0x985+0xb7*0x5,0x1*0x124d+-0x1dfd+0xcde,0x68f*0x1+0x1dc1+-0x2321,0x72f*0x3+0x1306+-0x2d*0xe0,-0x2650+-0x15e+-0x1*-0x28e2][_0x86fa2d(0x20d)](_0x292c36[_0x86fa2d(0x1ae)])){const _0x325306=new URL(_0x292c36[_0x86fa2d(0x1ef)][_0x86fa2d(0x211)],_0x17f6d5)[_0x86fa2d(0x190)]();return _0x292c36[_0x86fa2d(0x1d2)](),downloadFile(_0x325306,_0x52d6e6,_0x95880c)[_0x86fa2d(0x1f2)](_0x406949)['catch'](_0x135bd8);}if(_0x292c36[_0x86fa2d(0x1ae)]!==0x2505+-0x1704+-0xd39)return _0x135bd8(new Error('HTTP\x20'+_0x292c36[_0x86fa2d(0x1ae)]));const _0x33f817=fs[_0x86fa2d(0x180)+_0x86fa2d(0x18a)](_0x52d6e6);_0x292c36[_0x86fa2d(0x192)](_0x33f817),_0x33f817['on'](_0x86fa2d(0x1ea),()=>_0x33f817['close'](_0x406949)),_0x33f817['on']('error',_0x13aa57=>{const _0x1a0305=_0x382a;fs[_0x1a0305(0x17c)](_0x52d6e6,()=>_0x135bd8(_0x13aa57));});});_0x46bcde['on'](_0x18a064(0x16a),_0x22ae6c=>fs['unlink'](_0x52d6e6,()=>_0x135bd8(_0x22ae6c)));});}async function extractZip(_0x90c24b,_0x1e3374){const _0x22866f=_0x382a;if(process[_0x22866f(0x17f)]==='win32'){await run(_0x22866f(0x183)+'\x20-NoProfil'+'e\x20-Command'+'\x20\x22Expand-A'+_0x22866f(0x172)+_0x22866f(0x1de)+_0x90c24b+('\x27\x20-Destina'+_0x22866f(0x203))+_0x1e3374+_0x22866f(0x1e7));return;}for(const _0x4a1c7f of[_0x22866f(0x1b4),'7z',_0x22866f(0x1fe)+'zip']){try{await run(_0x22866f(0x186)+'\x20'+_0x4a1c7f[_0x22866f(0x18c)]('\x20')[0x1*0x61f+0x1ebd+-0x24dc*0x1]),await run(_0x4a1c7f+'\x20-o\x20\x27'+_0x90c24b+_0x22866f(0x1a1)+_0x1e3374+'\x27');return;}catch{}}throw new Error(_0x22866f(0x188)+'ool\x20found');}function smartCopyRecursive(_0x3dab6e,_0x28a738,_0x312350=[],_0x294cf1='',_0x320aea={'updated':[],'skipped':[],'added':[]}){const _0x47e113=_0x382a;if(!fs[_0x47e113(0x1f7)](_0x28a738))fs[_0x47e113(0x16f)](_0x28a738,{'recursive':!![]});for(const _0xae530c of fs[_0x47e113(0x1a8)+'c'](_0x3dab6e)){if(_0x312350['includes'](_0xae530c)&&_0x294cf1==='')continue;const _0x536117=path[_0x47e113(0x189)](_0x3dab6e,_0xae530c),_0x169cd0=path[_0x47e113(0x189)](_0x28a738,_0xae530c),_0x1825ed=_0x294cf1?_0x294cf1+'/'+_0xae530c:_0xae530c,_0x2ce0b1=fs['lstatSync'](_0x536117);if(_0x2ce0b1[_0x47e113(0x1e4)+'y']()){if(shouldSkipDir(_0xae530c))continue;smartCopyRecursive(_0x536117,_0x169cd0,_0x312350,_0x1825ed,_0x320aea);}else{if(isProtected(_0x1825ed)){_0x320aea[_0x47e113(0x1c9)]['push'](_0x1825ed);continue;}if(fs[_0x47e113(0x1f7)](_0x169cd0)){const _0x1aec7d=fileHash(_0x536117),_0x1edf9c=fileHash(_0x169cd0);if(_0x1aec7d&&_0x1edf9c&&_0x1aec7d===_0x1edf9c){_0x320aea[_0x47e113(0x1c9)]['push'](_0x1825ed);continue;}_0x320aea[_0x47e113(0x1bf)]['push'](_0x1825ed);}else _0x320aea[_0x47e113(0x204)][_0x47e113(0x177)](_0x1825ed);fs[_0x47e113(0x16f)](path['dirname'](_0x169cd0),{'recursive':!![]}),fs[_0x47e113(0x1a4)+'nc'](_0x536117,_0x169cd0);}}return _0x320aea;}async function updateViaZip(_0x199929){const _0x13f58d=_0x382a;if(!_0x199929)throw new Error(_0x13f58d(0x1ab)+_0x13f58d(0x169)+'d.');const _0x1dca60=path['join'](process[_0x13f58d(0x1e0)](),_0x13f58d(0x1f6));fs[_0x13f58d(0x16f)](_0x1dca60,{'recursive':!![]});const _0x36432d=path[_0x13f58d(0x189)](_0x1dca60,_0x13f58d(0x175));await downloadFile(_0x199929,_0x36432d);const _0x1d2702=path[_0x13f58d(0x189)](_0x1dca60,'update_ext'+'ract');fs[_0x13f58d(0x1fb)](_0x1d2702,{'recursive':!![],'force':!![]}),await extractZip(_0x36432d,_0x1d2702);const _0x15d3a3=fs[_0x13f58d(0x1a8)+'c'](_0x1d2702),_0x3ed1b0=_0x15d3a3['length']===-0x3*-0x890+-0x5*0xf1+-0x14fa&&fs[_0x13f58d(0x1db)](path[_0x13f58d(0x189)](_0x1d2702,_0x15d3a3[-0x5f*-0x56+-0x1eea*0x1+0x100*-0x1]))[_0x13f58d(0x1e4)+'y']()?path[_0x13f58d(0x189)](_0x1d2702,_0x15d3a3[0x11f5*0x2+-0x1574+0x1*-0xe76]):_0x1d2702,_0x3c893f=[_0x13f58d(0x1fd)+'es',_0x13f58d(0x1f0),_0x13f58d(0x1f6),_0x13f58d(0x199)],_0x4e0d1f=smartCopyRecursive(_0x3ed1b0,process[_0x13f58d(0x1e0)](),_0x3c893f,'',{'updated':[],'skipped':[],'added':[]});return fs['rmSync'](_0x1d2702,{'recursive':!![],'force':!![]}),fs['rmSync'](_0x36432d,{'force':!![]}),_0x4e0d1f;}async function restartProcess(_0x31e80c,_0x2aec12,_0x546f14){const _0x2cf558=_0x382a,_0x4730f8=createFakeContact(_0x546f14);await _0x31e80c['sendMessag'+'e'](_0x2aec12,{'text':_0x2cf558(0x1c2)+'ished\x20rest'+_0x2cf558(0x1f1)},{'quoted':_0x4730f8})[_0x2cf558(0x208)](()=>{});try{await run('pm2\x20restar'+'t\x20all');}catch{setTimeout(()=>process[_0x2cf558(0x1ff)](-0x1*-0x2185+-0x1*0x17c2+0x1*-0x9c3),-0x121e+-0x205f+0x3471);}}async function updateCommand(_0x272bf7,_0x38c96a,_0x337371,_0x2325c2){const _0x384a35=_0x382a,_0x271c60=createFakeContact(_0x337371),_0x2cadb7=getBotName(),_0x2da943=_0x337371['key'][_0x384a35(0x1e6)+'t']||_0x337371[_0x384a35(0x1b9)][_0x384a35(0x1fc)],_0x3bb603=await isOwnerOrSudo(_0x2da943,_0x272bf7,_0x38c96a);if(!_0x337371[_0x384a35(0x1b9)][_0x384a35(0x1b7)]&&!_0x3bb603)return _0x272bf7['sendMessag'+'e'](_0x38c96a,{'text':'*'+_0x2cadb7+(_0x384a35(0x18d)+_0x384a35(0x1ce)+'!')},{'quoted':_0x271c60});let _0x1dc644;try{_0x1dc644=await _0x272bf7['sendMessag'+'e'](_0x38c96a,{'text':'*'+_0x2cadb7+('\x20UPDATE*\x0a\x0a'+_0x384a35(0x191)+_0x384a35(0x20f)+_0x384a35(0x1cd)+_0x384a35(0x17e)+_0x384a35(0x195)+_0x384a35(0x182)+'ved')},{'quoted':_0x271c60});if(await hasGitRepo()){await _0x272bf7[_0x384a35(0x1b1)+'e'](_0x38c96a,{'text':'*'+_0x2cadb7+(_0x384a35(0x173)+_0x384a35(0x1bb)+_0x384a35(0x1c0)+'.'),'edit':_0x1dc644['key']});const {oldRev:_0x44739a,newRev:_0x485acf,alreadyUpToDate:_0x505c1a}=await updateViaGit(),_0x24ba22=_0x505c1a?'Already\x20up'+_0x384a35(0x1a0):_0x384a35(0x1d5)+_0x44739a[_0x384a35(0x1f8)](0x1c69+0x1e52+-0x5*0xbbf,-0x25dc*0x1+-0x1e8c+0x446f)+_0x384a35(0x18e)+_0x485acf[_0x384a35(0x1f8)](-0x2*-0x36f+0x2*0x4a+-0x772,-0x15d2+-0x17c8+-0x2da1*-0x1);await _0x272bf7[_0x384a35(0x1b1)+'e'](_0x38c96a,{'text':'*'+_0x2cadb7+_0x384a35(0x173)+_0x24ba22+(_0x384a35(0x1d9)+_0x384a35(0x1e2)+_0x384a35(0x1b0)),'edit':_0x1dc644[_0x384a35(0x1b9)]});}else{await _0x272bf7[_0x384a35(0x1b1)+'e'](_0x38c96a,{'text':'*'+_0x2cadb7+(_0x384a35(0x173)+_0x384a35(0x1d7)+_0x384a35(0x1f3)+_0x384a35(0x1df)),'edit':_0x1dc644[_0x384a35(0x1b9)]});const _0x43bad6=await updateViaZip(_0x2325c2||settings[_0x384a35(0x206)+'rl']||process[_0x384a35(0x17a)][_0x384a35(0x1d8)+_0x384a35(0x1b3)]);let _0x40f900='*'+_0x2cadb7+'\x20UPDATE*\x0a\x0a';_0x40f900+=_0x384a35(0x1d5)+_0x43bad6['updated'][_0x384a35(0x213)]+_0x384a35(0x17d),_0x40f900+=_0x384a35(0x20e)+_0x43bad6['added'][_0x384a35(0x213)]+(_0x384a35(0x1a9)+'\x0a'),_0x40f900+=_0x384a35(0x1a2)+_0x43bad6['skipped']['length']+_0x384a35(0x17d),_0x40f900+='Settings\x20&'+'\x20data:\x20pre'+_0x384a35(0x1b5),_0x40f900+=_0x384a35(0x1c4)+_0x384a35(0x174)+_0x384a35(0x1ed),await _0x272bf7['sendMessag'+'e'](_0x38c96a,{'text':_0x40f900,'edit':_0x1dc644['key']});}await run('npm\x20instal'+_0x384a35(0x1b8)+_0x384a35(0x1dc)+'nd\x202>/dev/'+_0x384a35(0x1b2)),await _0x272bf7[_0x384a35(0x1b1)+'e'](_0x38c96a,{'text':'*'+_0x2cadb7+(_0x384a35(0x173)+_0x384a35(0x1d1)+_0x384a35(0x19a)+_0x384a35(0x1a7)+_0x384a35(0x16e)+_0x384a35(0x1c3)),'edit':_0x1dc644[_0x384a35(0x1b9)]}),await restartProcess(_0x272bf7,_0x38c96a,_0x337371);}catch(_0x54242b){console[_0x384a35(0x16a)]('Update\x20fai'+_0x384a35(0x1d3),_0x54242b);const _0x2fb56e=String(_0x54242b[_0x384a35(0x1bc)]||_0x54242b)['replace'](/https?:\/\/[^\s]+/g,_0x384a35(0x1a3))[_0x384a35(0x1f8)](-0x23*0x94+0x152e*0x1+-0x2*0x79,0xfa4+0x65*-0x39+0x8cd*0x1),_0x1a0fa3='*'+_0x2cadb7+(_0x384a35(0x173)+_0x384a35(0x168)+'led:\x20')+_0x2fb56e;_0x1dc644?.[_0x384a35(0x1b9)]?await _0x272bf7['sendMessag'+'e'](_0x38c96a,{'text':_0x1a0fa3,'edit':_0x1dc644[_0x384a35(0x1b9)]}):await _0x272bf7[_0x384a35(0x1b1)+'e'](_0x38c96a,{'text':_0x1a0fa3},{'quoted':_0x271c60});}}module[_0x46cb2d(0x1a6)]=updateCommand;
|
|
@@ -1,239 +1 @@
|
|
|
1
|
-
const fetch = require('node-fetch');
|
|
2
|
-
const { createFakeContact, getBotName } = require('../../davelib/fakeContact');
|
|
3
|
-
|
|
4
|
-
async function bibleCommand(sock, chatId, message, text, prefix) {
|
|
5
|
-
try {
|
|
6
|
-
const fake = createFakeContact(message);
|
|
7
|
-
const BASE_URL = "https://bible-api.com";
|
|
8
|
-
|
|
9
|
-
if (!text || text.trim() === '') {
|
|
10
|
-
await sock.sendMessage(chatId, {
|
|
11
|
-
text: `✦ *BIBLE*
|
|
12
|
-
╭─────────────────
|
|
13
|
-
│
|
|
14
|
-
│ Usage:
|
|
15
|
-
│ ${prefix}bible <chapter:verse>
|
|
16
|
-
│
|
|
17
|
-
│ Examples:
|
|
18
|
-
│ ${prefix}bible John 3:16
|
|
19
|
-
│ ${prefix}bible Genesis 1:1
|
|
20
|
-
│ ${prefix}bible Psalm 23
|
|
21
|
-
│
|
|
22
|
-
│ Use ${prefix}biblelist for all books
|
|
23
|
-
│
|
|
24
|
-
╰─────────────────`
|
|
25
|
-
}, { quoted: fake });
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const chapterInput = encodeURIComponent(text.trim());
|
|
30
|
-
const chapterRes = await fetch(`${BASE_URL}/${chapterInput}`);
|
|
31
|
-
|
|
32
|
-
if (!chapterRes.ok) {
|
|
33
|
-
await sock.sendMessage(chatId, {
|
|
34
|
-
text: `✦ *ERROR*
|
|
35
|
-
╭─────────────────
|
|
36
|
-
│
|
|
37
|
-
│ Invalid format!
|
|
38
|
-
│
|
|
39
|
-
│ Use: Book Chapter:Verse
|
|
40
|
-
│ Example: ${prefix}bible John 3:16
|
|
41
|
-
│
|
|
42
|
-
╰─────────────────`
|
|
43
|
-
}, { quoted: fake });
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
const chapterData = await chapterRes.json();
|
|
48
|
-
const bibleText = `✦ *BIBLE*
|
|
49
|
-
╭─────────────────
|
|
50
|
-
│
|
|
51
|
-
│ Reference: ${chapterData.reference}
|
|
52
|
-
│ Translation: ${chapterData.translation_name}
|
|
53
|
-
│ Verses: ${chapterData.verses.length}
|
|
54
|
-
│
|
|
55
|
-
│ ${chapterData.text}
|
|
56
|
-
│
|
|
57
|
-
╰─────────────────`;
|
|
58
|
-
|
|
59
|
-
await sock.sendMessage(chatId, { text: bibleText }, { quoted: fake });
|
|
60
|
-
|
|
61
|
-
} catch (error) {
|
|
62
|
-
console.error('Bible command error:', error);
|
|
63
|
-
const fake = createFakeContact(message);
|
|
64
|
-
await sock.sendMessage(chatId, {
|
|
65
|
-
text: `✦ *ERROR*
|
|
66
|
-
╭─────────────────
|
|
67
|
-
│
|
|
68
|
-
│ ${error.message}
|
|
69
|
-
│
|
|
70
|
-
╰─────────────────`
|
|
71
|
-
}, { quoted: fake });
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
async function bibleListCommand(sock, chatId, message) {
|
|
76
|
-
try {
|
|
77
|
-
const fake = createFakeContact(message);
|
|
78
|
-
|
|
79
|
-
const bibleList = `✦ *OLD TESTAMENT*
|
|
80
|
-
╭────────────────────────────────
|
|
81
|
-
│ Genesis • Exodus • Leviticus • Numbers • Deuteronomy
|
|
82
|
-
│ Joshua • Judges • Ruth • 1 Samuel • 2 Samuel
|
|
83
|
-
│ 1 Kings • 2 Kings • 1 Chronicles • 2 Chronicles
|
|
84
|
-
│ Ezra • Nehemiah • Esther • Job • Psalms
|
|
85
|
-
│ Proverbs • Ecclesiastes • Song of Solomon
|
|
86
|
-
│ Isaiah • Jeremiah • Lamentations • Ezekiel
|
|
87
|
-
│ Daniel • Hosea • Joel • Amos • Obadiah
|
|
88
|
-
│ Jonah • Micah • Nahum • Habakkuk
|
|
89
|
-
│ Zephaniah • Haggai • Zechariah • Malachi
|
|
90
|
-
╰────────────────────────────────
|
|
91
|
-
|
|
92
|
-
✦ *NEW TESTAMENT*
|
|
93
|
-
╭────────────────────────────────
|
|
94
|
-
│ Matthew • Mark • Luke • John • Acts
|
|
95
|
-
│ Romans • 1 Corinthians • 2 Corinthians
|
|
96
|
-
│ Galatians • Ephesians • Philippians
|
|
97
|
-
│ Colossians • 1 Thessalonians • 2 Thessalonians
|
|
98
|
-
│ 1 Timothy • 2 Timothy • Titus • Philemon
|
|
99
|
-
│ Hebrews • James • 1 Peter • 2 Peter
|
|
100
|
-
│ 1 John • 2 John • 3 John • Jude • Revelation
|
|
101
|
-
╰────────────────────────────────
|
|
102
|
-
|
|
103
|
-
✦ *USAGE*
|
|
104
|
-
╭─────────────────
|
|
105
|
-
│ .bible John 3:16
|
|
106
|
-
│ .bible Genesis 1:1
|
|
107
|
-
╰─────────────────`;
|
|
108
|
-
|
|
109
|
-
await sock.sendMessage(chatId, { text: bibleList }, { quoted: fake });
|
|
110
|
-
|
|
111
|
-
} catch (error) {
|
|
112
|
-
console.error('Bible list command error:', error);
|
|
113
|
-
const fake = createFakeContact(message);
|
|
114
|
-
await sock.sendMessage(chatId, {
|
|
115
|
-
text: `✦ *ERROR*
|
|
116
|
-
╭─────────────────
|
|
117
|
-
│
|
|
118
|
-
│ Failed to fetch Bible list
|
|
119
|
-
│
|
|
120
|
-
╰─────────────────`
|
|
121
|
-
}, { quoted: fake });
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
async function quranCommand(sock, chatId, message, text) {
|
|
126
|
-
try {
|
|
127
|
-
const fake = createFakeContact(message);
|
|
128
|
-
|
|
129
|
-
if (!text || isNaN(parseInt(text.trim()))) {
|
|
130
|
-
await sock.sendMessage(chatId, {
|
|
131
|
-
text: `✦ *QURAN*
|
|
132
|
-
╭─────────────────
|
|
133
|
-
│
|
|
134
|
-
│ Usage:
|
|
135
|
-
│ .quran <surah>
|
|
136
|
-
│
|
|
137
|
-
│ Example:
|
|
138
|
-
│ .quran 1
|
|
139
|
-
│
|
|
140
|
-
│ Surahs available:
|
|
141
|
-
│ 1 - 114
|
|
142
|
-
│
|
|
143
|
-
╰─────────────────`
|
|
144
|
-
}, { quoted: fake });
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
const surahNumber = parseInt(text.trim());
|
|
149
|
-
|
|
150
|
-
if (surahNumber < 1 || surahNumber > 114) {
|
|
151
|
-
await sock.sendMessage(chatId, {
|
|
152
|
-
text: `✦ *ERROR*
|
|
153
|
-
╭─────────────────
|
|
154
|
-
│
|
|
155
|
-
│ Invalid number!
|
|
156
|
-
│ Use 1 - 114
|
|
157
|
-
│
|
|
158
|
-
╰─────────────────`
|
|
159
|
-
}, { quoted: fake });
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
const url = `https://apis.davidcyriltech.my.id/quran?surah=${surahNumber}`;
|
|
164
|
-
const res = await fetch(url);
|
|
165
|
-
const data = await res.json();
|
|
166
|
-
|
|
167
|
-
if (!data.success) {
|
|
168
|
-
await sock.sendMessage(chatId, {
|
|
169
|
-
text: `✦ *ERROR*
|
|
170
|
-
╭─────────────────
|
|
171
|
-
│
|
|
172
|
-
│ Could not fetch Surah
|
|
173
|
-
│
|
|
174
|
-
╰─────────────────`
|
|
175
|
-
}, { quoted: fake });
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
const { number, name, type, ayahCount, tafsir, recitation } = data.surah;
|
|
180
|
-
|
|
181
|
-
let replyText = `✦ *SURAH ${name.english}*
|
|
182
|
-
╭─────────────────
|
|
183
|
-
│
|
|
184
|
-
│ Arabic: ${name.arabic}
|
|
185
|
-
│ Number: ${number}
|
|
186
|
-
│ Type: ${type}
|
|
187
|
-
│ Ayahs: ${ayahCount}
|
|
188
|
-
│
|
|
189
|
-
│ Tafsir:
|
|
190
|
-
│ ${tafsir.id}
|
|
191
|
-
│
|
|
192
|
-
╰─────────────────`;
|
|
193
|
-
|
|
194
|
-
// Send text first
|
|
195
|
-
await sock.sendMessage(chatId, { text: replyText }, { quoted: fake });
|
|
196
|
-
|
|
197
|
-
// Then send audio if available
|
|
198
|
-
if (recitation) {
|
|
199
|
-
try {
|
|
200
|
-
const audioRes = await fetch(recitation);
|
|
201
|
-
const audioBuffer = await audioRes.buffer();
|
|
202
|
-
|
|
203
|
-
await sock.sendMessage(chatId, {
|
|
204
|
-
audio: audioBuffer,
|
|
205
|
-
mimetype: "audio/mpeg",
|
|
206
|
-
ptt: false
|
|
207
|
-
}, { quoted: fake });
|
|
208
|
-
} catch (audioError) {
|
|
209
|
-
console.error('Audio download error:', audioError);
|
|
210
|
-
await sock.sendMessage(chatId, {
|
|
211
|
-
text: `✦ *AUDIO*
|
|
212
|
-
╭─────────────────
|
|
213
|
-
│
|
|
214
|
-
│ Recitation unavailable
|
|
215
|
-
│
|
|
216
|
-
╰─────────────────`
|
|
217
|
-
}, { quoted: fake });
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
} catch (error) {
|
|
222
|
-
console.error('Quran command error:', error);
|
|
223
|
-
const fake = createFakeContact(message);
|
|
224
|
-
await sock.sendMessage(chatId, {
|
|
225
|
-
text: `✦ *ERROR*
|
|
226
|
-
╭─────────────────
|
|
227
|
-
│
|
|
228
|
-
│ Failed to fetch Quran data
|
|
229
|
-
│
|
|
230
|
-
╰─────────────────`
|
|
231
|
-
}, { quoted: fake });
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
module.exports = {
|
|
236
|
-
bibleCommand,
|
|
237
|
-
bibleListCommand,
|
|
238
|
-
quranCommand
|
|
239
|
-
};
|
|
1
|
+
function _0x42a9(){const _0x44799d=['AaOGiokuGIbkB25H','DhjHBNnSyxrPBW','cIaG4Pscic5IAwjS','iokuGIaXifrPBw90','CZOG','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','iokaOIbozwHLBwLH','igrHDgekicdILiik','C2uGmsaTideXna','yMXLlwfWAs5JBW','lMLKl3f1CMfUpW','BgLIl2zHA2vdBW','CYdIGkiGrxbOzxnP','zsbkB2HUidm6mq','oGOGiokuGIaUCxvY','BL9Uyw1L','iokuGIbvC2u6iejV','zw5NBgLZAa','zM9YigfSBcbIBW','iokuGIbtDxjHAhmG','mtH6BMzpveS','BGOGiokuGIbjC2fP','4PwW4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','Ahr0Chm6lY9IAq','C2LZide6mqOGia','yMLIBguGr2vUzq','CYdIGkiGmIblAw5N','cIaG4PscideGlsaX','zwnPDgf0Aw9Uia','cIaG4PsccIaG4Pscifi','iokaOIbkB2iG4OcIifa','ywGG4OcIiePLCMvT','Bg9HzcbLCNjVCG','qMLIBguGBgLZDa','mZyYmtm0nwvAqMzSrW','AxrPy3vZiokaOIbo','C2fNztOkicdILiiG','DgvYcIaG4PscideG','ienOCM9UAwnSzq','BM9Kzs1MzxrJAa','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4PsacGO','cIaG4Pscief5ywHZ','icdILBdILidILidILidILidILidILidILia','DgvZiokaOIbtB25N','cIaG4PsccIaG4PscieK','ievJy2XLC2LHCW','iev6zwTPzwWkia','yxr0Agv3iokaOIbn','AwfOiokaOIbmyw1L','oLzLCNnLcIaG4Psc','iokvREkuGokuGokuGokuGokuGokuGokuGokuGa','ndi0mZaZmMHMBKLTuG','C3vJy2vZCW','zxrJAcbtDxjHAa','idm6mtykicdILiik','B24kicdILBdILidILidILidILia','B21HBNmG4OcIideG','B3rOEsdIGkiGvgL0','cIaG4Pscifr5Cgu6','Dw1IzxjZiokaOIbe','lNf1CMfUidXZDq','yMLIBgvSAxn0ia','BNrHDgLVBNmG4OcI','CYdIGkiGt2jHzgLH','ywXVBMLHBNmkia','cIaG4PsciePVC2H1','4PYMicPpteqGvevt','lI4VlI4Vzgf2zq','icdILA3ILidILidILidILidILidILidILia','yMLIBguGpgnOyq','AwfOiokaOIbnywXH','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','CJOG','B2r1CYdIGkiGtgv2','CWOGiokuGIbfENjH','ChrLCJP2zxjZzq','CYdIGkiGmsbdAhjV','4PYMicPcsujmrsOk','AsdIGkiGwMvJAgfY','4Psa4PsacIaG4PsccIaG4Psc','mJqYmfbuBgTWBq','yw5ZiokaOIbqAgLS','ywGG4OcIieHHz2DH','BsaYmWOGiokuGGOG','cUkCPIaQtKvxifrf','odGXmdqZAuvlsNzU','4PYMicPtvvjbsca','cIaG4PsccIaG4Psciey','icdILiiG','zxv0zxjVBM9TEq','4PYMicPfuLjpuIOk','mte0mZyXnZblu3HLu2y','DxmG4OcIifbOAwXL','mM13wLLdAq','4PYMicPbvurjtYOk','ig9MifnVBg9TBW','mJq0oti3ohjJA1HRsa','cIaG4Pscie51BwjL','BNrOAwfUCWOGia','ysdIGkiGsNvKz2vZ','zxrJAcbrDxjHBG','igXPC3qkicdILiik','CNjVCJO','4PscienVBg9ZC2LH','Bgf0Aw9UoIa','qwn0CWOGiokuGIbs','icdILiiGmsblAw5N','BNzHBgLKigzVCG','idiGu2fTDwvScG','4Psa4Psa4PsacIaG4PscieDL','C2vUze1LC3nHzW','uhjVDMvYyNmG4OcI','iokaOIbkB2HUiokaOIa','4PwT4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','4Psa4Psa4Psa4Psa4Psa4Psa4Psa','yxjHyMLJ','zqOGiokuGGOGiokvSokuGa','iefYywjPyZOG','u1rbtuvovcOkia','sM9OBIdIGkiGmIbk','q29YAw50AgLHBG','ote5mdC2D0TJv0rN','zxrJAcbcAwjSzq','BgvUz3rO','4Psa4Psa4Psa4Psa4Psa','DMvYC2vZ','B3vSzcbUB3qGzG','DhjPBq','zxjYB3i','qxvKAw8Gzg93BG','AcdIGkiGrxn0AgvY','idm6mtykicdILiiG','cIaG4PsccIaG4Pscifu','Ag4G4OcIieP1zguG','nZe2nw1MtwffDG','C3nHBg9UAwfUCW','AhKG4OcIidiGvgLT','yxjRiokaOIbmDwTL','CMLSDgvJAc5TEq','cIaG4PsccIaG4Psciem','yNjLD3mG4OcIiePH','C2fSBxmkicdILiiG','msbtyw11zwWG4OcI','ywLSzwqGDg8GzG','AcdIGkiGtwLJywGG','yxvKAw8VBxbLzW','qMLIBguGy29TBq','4PYMicPvu0fhrsOk','4OcIie5HAhvTiokaOIa','AxmUzgf2AwrJEq','cIaG4PsccIaG4Pscia','C3vYywG','ANnVBG','yw4GmqOGiokuGGOG','Ahr0Chm6lY9HCa','4Psa4Psa4Psa4PsacIaG4Pscie0','yw5KigvYCM9YoG','cIaG4PsccIaG4PwW4Psa4Psa'];_0x42a9=function(){return _0x44799d;};return _0x42a9();}const _0xdd24a=_0x2fb1;(function(_0x4c5a70,_0xe5ec96){const _0x260341=_0x2fb1,_0xefb6f0=_0x4c5a70();while(!![]){try{const _0x186035=parseInt(_0x260341(0x102))/(0x7d*0x8+0x8a*0x7+0x3*-0x28f)*(parseInt(_0x260341(0x11e))/(0x17*0x1+-0x1912*0x1+0x1*0x18fd))+-parseInt(_0x260341(0xfa))/(0x1e2e*0x1+0xb6f+-0x299a)+-parseInt(_0x260341(0xf5))/(0x8aa+0xceb*0x1+-0x1591)*(-parseInt(_0x260341(0x12b))/(-0x303*0xa+-0x8f*-0x7+0x1a3a))+-parseInt(_0x260341(0x105))/(0x1*-0x101f+0x1eda+0x1*-0xeb5)+-parseInt(_0x260341(0x165))/(0x1*-0x2425+-0x2323+-0x4c1*-0xf)+-parseInt(_0x260341(0x176))/(0x1535+-0x771+0x125*-0xc)*(parseInt(_0x260341(0x157))/(0x129b+0x430*-0x6+0x68e))+parseInt(_0x260341(0x100))/(-0x24e5+0xe49+-0xd*-0x1be);if(_0x186035===_0xe5ec96)break;else _0xefb6f0['push'](_0xefb6f0['shift']());}catch(_0x486a53){_0xefb6f0['push'](_0xefb6f0['shift']());}}}(_0x42a9,0x76d7*-0x1d+-0x2*-0x7acbd+0x806a8));const fetch=require(_0xdd24a(0x16a)),{createFakeContact,getBotName}=require(_0xdd24a(0xe8)+_0xdd24a(0x14e)+'ntact');async function bibleCommand(_0x469136,_0x3f9f3d,_0x4b3395,_0x1750d2,_0x544e27){const _0x40b9f5=_0x2fb1;try{const _0xefc61e=createFakeContact(_0x4b3395),_0xc05884=_0x40b9f5(0x15a)+_0x40b9f5(0x14c)+'m';if(!_0x1750d2||_0x1750d2[_0x40b9f5(0x124)]()===''){await _0x469136[_0x40b9f5(0x113)+'e'](_0x3f9f3d,{'text':_0x40b9f5(0xf2)+_0x40b9f5(0xe9)+'──────────'+_0x40b9f5(0x129)+'sage:\x0a\x20\x20│\x20'+_0x544e27+(_0x40b9f5(0xea)+_0x40b9f5(0xf0)+'>\x0a\x20\x20│\x0a\x20\x20│\x20'+'Examples:\x0a'+_0x40b9f5(0xfd))+_0x544e27+('bible\x20John'+_0x40b9f5(0x128))+_0x544e27+(_0x40b9f5(0x15c)+_0x40b9f5(0x15b)+'│\x20')+_0x544e27+('bible\x20Psal'+_0x40b9f5(0xf8)+'\x20│\x20Use\x20')+_0x544e27+(_0x40b9f5(0xe2)+_0x40b9f5(0x155)+'oks\x0a\x20\x20│\x0a\x20\x20'+_0x40b9f5(0x159)+_0x40b9f5(0xec))},{'quoted':_0xefc61e});return;}const _0x4d1944=encodeURIComponent(_0x1750d2[_0x40b9f5(0x124)]()),_0x31af13=await fetch(_0xc05884+'/'+_0x4d1944);if(!_0x31af13['ok']){await _0x469136[_0x40b9f5(0x113)+'e'](_0x3f9f3d,{'text':_0x40b9f5(0xff)+'\x20\x20╭───────'+'──────────'+'\x0a\x20\x20│\x0a\x20\x20│\x20I'+_0x40b9f5(0x110)+'mat!\x0a\x20\x20│\x0a\x20'+_0x40b9f5(0x153)+'ok\x20Chapter'+_0x40b9f5(0x174)+'\x20Example:\x20'+_0x544e27+('bible\x20John'+_0x40b9f5(0x179)+_0x40b9f5(0x16d)+_0x40b9f5(0x148))},{'quoted':_0xefc61e});return;}const _0x103f19=await _0x31af13[_0x40b9f5(0x13d)](),_0x35cd77=_0x40b9f5(0xf2)+_0x40b9f5(0xe9)+_0x40b9f5(0x148)+_0x40b9f5(0x160)+'eference:\x20'+_0x103f19['reference']+('\x0a\x20\x20│\x20Trans'+_0x40b9f5(0x10d))+_0x103f19[_0x40b9f5(0x144)+_0x40b9f5(0x152)]+('\x0a\x20\x20│\x20Verse'+_0x40b9f5(0x147))+_0x103f19[_0x40b9f5(0x122)][_0x40b9f5(0x120)]+'\x0a\x20\x20│\x0a\x20\x20│\x20'+_0x103f19['text']+(_0x40b9f5(0x142)+_0x40b9f5(0x148)+_0x40b9f5(0x121));await _0x469136[_0x40b9f5(0x113)+'e'](_0x3f9f3d,{'text':_0x35cd77},{'quoted':_0xefc61e});}catch(_0x5360fe){console['error'](_0x40b9f5(0x137)+_0x40b9f5(0x141),_0x5360fe);const _0x4b8a28=createFakeContact(_0x4b3395);await _0x469136[_0x40b9f5(0x113)+'e'](_0x3f9f3d,{'text':_0x40b9f5(0xff)+_0x40b9f5(0xe9)+_0x40b9f5(0x148)+_0x40b9f5(0x13b)+_0x5360fe['message']+(_0x40b9f5(0x142)+'──────────'+'─────')},{'quoted':_0x4b8a28});}}async function bibleListCommand(_0x436cb4,_0x282bfb,_0x2f2e16){const _0x254c3a=_0x2fb1;try{const _0x141ed1=createFakeContact(_0x2f2e16),_0x22d447=_0x254c3a(0xe7)+'TAMENT*\x0a\x20\x20'+_0x254c3a(0x116)+'──────────'+_0x254c3a(0x148)+_0x254c3a(0x112)+'nesis\x20•\x20Ex'+_0x254c3a(0xee)+_0x254c3a(0x166)+_0x254c3a(0xe0)+_0x254c3a(0xfe)+_0x254c3a(0xe6)+_0x254c3a(0x108)+'\x20•\x20Ruth\x20•\x20'+_0x254c3a(0x133)+_0x254c3a(0x111)+_0x254c3a(0x10f)+_0x254c3a(0x15d)+_0x254c3a(0xf1)+'nicles\x20•\x202'+_0x254c3a(0x169)+_0x254c3a(0xef)+_0x254c3a(0x149)+_0x254c3a(0x127)+_0x254c3a(0x161)+_0x254c3a(0x132)+_0x254c3a(0x114)+_0x254c3a(0x170)+_0x254c3a(0x16e)+_0x254c3a(0x104)+_0x254c3a(0x158)+_0x254c3a(0x162)+_0x254c3a(0x173)+_0x254c3a(0xe3)+_0x254c3a(0x171)+'\x20│\x20Daniel\x20'+'•\x20Hosea\x20•\x20'+'Joel\x20•\x20Amo'+_0x254c3a(0xe4)+_0x254c3a(0x143)+_0x254c3a(0x135)+_0x254c3a(0x139)+'Habakkuk\x0a\x20'+'\x20│\x20Zephani'+_0x254c3a(0xf7)+_0x254c3a(0xf3)+_0x254c3a(0xeb)+'chi\x0a\x20\x20╰───'+_0x254c3a(0x148)+_0x254c3a(0x148)+'─────────\x0a'+_0x254c3a(0xf9)+_0x254c3a(0x11b)+_0x254c3a(0x175)+_0x254c3a(0x148)+_0x254c3a(0x148)+_0x254c3a(0x140)+_0x254c3a(0x172)+_0x254c3a(0x12e)+_0x254c3a(0x115)+_0x254c3a(0x10e)+_0x254c3a(0x17b)+_0x254c3a(0x11d)+'s\x20•\x202\x20Cori'+_0x254c3a(0x107)+'│\x20Galatian'+_0x254c3a(0x14f)+_0x254c3a(0xf6)+'ippians\x0a\x20\x20'+_0x254c3a(0x10c)+'ns\x20•\x201\x20The'+_0x254c3a(0x12c)+'\x20•\x202\x20Thess'+_0x254c3a(0xe5)+_0x254c3a(0x146)+_0x254c3a(0x12d)+_0x254c3a(0xde)+_0x254c3a(0x101)+'mon\x0a\x20\x20│\x20He'+_0x254c3a(0x131)+'mes\x20•\x201\x20Pe'+'ter\x20•\x202\x20Pe'+_0x254c3a(0x168)+_0x254c3a(0x11c)+'ohn\x20•\x203\x20Jo'+_0x254c3a(0x12a)+'•\x20Revelati'+_0x254c3a(0x17a)+_0x254c3a(0x148)+_0x254c3a(0x148)+_0x254c3a(0x16b)+_0x254c3a(0x138)+_0x254c3a(0xe9)+_0x254c3a(0x148)+_0x254c3a(0x145)+_0x254c3a(0x150)+'6\x0a\x20\x20│\x20.bib'+'le\x20Genesis'+'\x201:1\x0a\x20\x20╰──'+_0x254c3a(0x148)+_0x254c3a(0x121);await _0x436cb4[_0x254c3a(0x113)+'e'](_0x282bfb,{'text':_0x22d447},{'quoted':_0x141ed1});}catch(_0x2f1343){console['error'](_0x254c3a(0x164)+'\x20command\x20e'+_0x254c3a(0x10b),_0x2f1343);const _0x25bc88=createFakeContact(_0x2f2e16);await _0x436cb4['sendMessag'+'e'](_0x282bfb,{'text':_0x254c3a(0xff)+_0x254c3a(0xe9)+_0x254c3a(0x148)+_0x254c3a(0xfc)+_0x254c3a(0x134)+_0x254c3a(0x11f)+_0x254c3a(0x10a)+_0x254c3a(0x16d)+_0x254c3a(0x148)},{'quoted':_0x25bc88});}}async function quranCommand(_0xf1efc8,_0x2417b8,_0x4389b3,_0x4094c7){const _0x312f1f=_0x2fb1;try{const _0x2ad338=createFakeContact(_0x4389b3);if(!_0x4094c7||isNaN(parseInt(_0x4094c7[_0x312f1f(0x124)]()))){await _0xf1efc8[_0x312f1f(0x113)+'e'](_0x2417b8,{'text':'✦\x20*QURAN*\x0a'+'\x20\x20╭───────'+_0x312f1f(0x148)+'\x0a\x20\x20│\x0a\x20\x20│\x20U'+_0x312f1f(0x167)+_0x312f1f(0xe1)+'rah>\x0a\x20\x20│\x0a\x20'+'\x20│\x20Example'+_0x312f1f(0x151)+_0x312f1f(0x13e)+_0x312f1f(0x156)+'available:'+_0x312f1f(0x15e)+'14\x0a\x20\x20│\x0a\x20\x20╰'+'──────────'+_0x312f1f(0x117)},{'quoted':_0x2ad338});return;}const _0x2cc4f2=parseInt(_0x4094c7[_0x312f1f(0x124)]());if(_0x2cc4f2<0xdf0+-0x5ff+-0x3f8*0x2||_0x2cc4f2>0x1f02+-0xf15+-0xf7b*0x1){await _0xf1efc8[_0x312f1f(0x113)+'e'](_0x2417b8,{'text':_0x312f1f(0xff)+_0x312f1f(0xe9)+'──────────'+_0x312f1f(0x16f)+'nvalid\x20num'+'ber!\x0a\x20\x20│\x20U'+_0x312f1f(0x14b)+_0x312f1f(0x142)+_0x312f1f(0x148)+'─────'},{'quoted':_0x2ad338});return;}const _0x13728b=_0x312f1f(0x13f)+_0x312f1f(0x13a)+_0x312f1f(0x12f)+_0x312f1f(0x14d)+'surah='+_0x2cc4f2,_0x2de156=await fetch(_0x13728b),_0x9644e6=await _0x2de156[_0x312f1f(0x13d)]();if(!_0x9644e6[_0x312f1f(0x177)]){await _0xf1efc8[_0x312f1f(0x113)+'e'](_0x2417b8,{'text':'✦\x20*ERROR*\x0a'+_0x312f1f(0xe9)+'──────────'+_0x312f1f(0x130)+_0x312f1f(0x123)+_0x312f1f(0x178)+'\x0a\x20\x20│\x0a\x20\x20╰──'+_0x312f1f(0x148)+_0x312f1f(0x121)},{'quoted':_0x2ad338});return;}const {number:_0x2f69d7,name:_0x5c1a68,type:_0x14d6dd,ayahCount:_0x547840,tafsir:_0x10a94b,recitation:_0xfe434}=_0x9644e6[_0x312f1f(0x13c)];let _0x4f1eb5=_0x312f1f(0xfb)+_0x5c1a68[_0x312f1f(0x154)]+('*\x0a\x20\x20╭─────'+_0x312f1f(0x148)+_0x312f1f(0xf4)+_0x312f1f(0x11a))+_0x5c1a68[_0x312f1f(0x118)]+(_0x312f1f(0x106)+_0x312f1f(0xed))+_0x2f69d7+(_0x312f1f(0xdf)+'\x20')+_0x14d6dd+(_0x312f1f(0x16c)+':\x20')+_0x547840+('\x0a\x20\x20│\x0a\x20\x20│\x20T'+'afsir:\x0a\x20\x20│'+'\x20')+_0x10a94b['id']+(_0x312f1f(0x142)+_0x312f1f(0x148)+_0x312f1f(0x121));await _0xf1efc8[_0x312f1f(0x113)+'e'](_0x2417b8,{'text':_0x4f1eb5},{'quoted':_0x2ad338});if(_0xfe434)try{const _0x3bea7f=await fetch(_0xfe434),_0x325b88=await _0x3bea7f['buffer']();await _0xf1efc8[_0x312f1f(0x113)+'e'](_0x2417b8,{'audio':_0x325b88,'mimetype':_0x312f1f(0x136),'ptt':![]},{'quoted':_0x2ad338});}catch(_0x11401c){console[_0x312f1f(0x125)](_0x312f1f(0x126)+_0x312f1f(0x163)+':',_0x11401c),await _0xf1efc8[_0x312f1f(0x113)+'e'](_0x2417b8,{'text':_0x312f1f(0x103)+'\x20\x20╭───────'+'──────────'+'\x0a\x20\x20│\x0a\x20\x20│\x20R'+_0x312f1f(0x15f)+'unavailabl'+_0x312f1f(0x119)+_0x312f1f(0x148)+'──────'},{'quoted':_0x2ad338});}}catch(_0x3c8bc5){console['error']('Quran\x20comm'+'and\x20error:',_0x3c8bc5);const _0x3a2dc9=createFakeContact(_0x4389b3);await _0xf1efc8[_0x312f1f(0x113)+'e'](_0x2417b8,{'text':'✦\x20*ERROR*\x0a'+_0x312f1f(0xe9)+_0x312f1f(0x148)+_0x312f1f(0xfc)+_0x312f1f(0x134)+_0x312f1f(0x109)+_0x312f1f(0x14a)+_0x312f1f(0x16d)+_0x312f1f(0x148)},{'quoted':_0x3a2dc9});}}function _0x2fb1(_0x589468,_0x35daf9){_0x589468=_0x589468-(-0x144*-0x1+-0x132d*0x2+0x12fa*0x2);const _0xbe8f25=_0x42a9();let _0xed5eb6=_0xbe8f25[_0x589468];if(_0x2fb1['DTSegF']===undefined){var _0x3794fa=function(_0x18a8a7){const _0x4c7691='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x52d97c='',_0x15c6af='';for(let _0x13be43=-0x3*-0x96e+0x16de+-0x3328,_0x1c5b55,_0x16b900,_0x166a47=-0xc*-0x12e+-0x205b+0x1233;_0x16b900=_0x18a8a7['charAt'](_0x166a47++);~_0x16b900&&(_0x1c5b55=_0x13be43%(0x1*0x11d7+-0x43f*0x9+-0x105*-0x14)?_0x1c5b55*(-0x1d39*0x1+0xc7*0x1f+0x10*0x56)+_0x16b900:_0x16b900,_0x13be43++%(-0x629+-0x6b+0x698))?_0x52d97c+=String['fromCharCode'](-0x827+0x1b*-0xfd+0x23d5&_0x1c5b55>>(-(-0x264+-0x1723+0x1989)*_0x13be43&-0x112*-0x22+-0x1600+0x3*-0x4ca)):0x7*0x50+0x130*-0x15+0x16c0){_0x16b900=_0x4c7691['indexOf'](_0x16b900);}for(let _0x94307d=0x1a11+-0xc46+0xb*-0x141,_0x4663fb=_0x52d97c['length'];_0x94307d<_0x4663fb;_0x94307d++){_0x15c6af+='%'+('00'+_0x52d97c['charCodeAt'](_0x94307d)['toString'](-0x11b8+0x156b+-0x3a3))['slice'](-(0x2441+-0x250f+0xd0));}return decodeURIComponent(_0x15c6af);};_0x2fb1['agZwdi']=_0x3794fa,_0x2fb1['Anyjho']={},_0x2fb1['DTSegF']=!![];}const _0x43cd85=_0xbe8f25[-0x15c*-0x1c+0x2582+-0x4b92*0x1],_0x41a5de=_0x589468+_0x43cd85,_0x274d70=_0x2fb1['Anyjho'][_0x41a5de];return!_0x274d70?(_0xed5eb6=_0x2fb1['agZwdi'](_0xed5eb6),_0x2fb1['Anyjho'][_0x41a5de]=_0xed5eb6):_0xed5eb6=_0x274d70,_0xed5eb6;}module['exports']={'bibleCommand':bibleCommand,'bibleListCommand':bibleListCommand,'quranCommand':quranCommand};
|