@depro-tech/cortana-md 1.0.3 → 1.0.6
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.
Potentially problematic release.
This version of @depro-tech/cortana-md might be problematic. Click here for more details.
- package/package.json +9 -5
- package/src/cleanup.js +1 -140
- package/src/exploit-engine.js +1 -36
- package/src/hosted-mode.js +18 -5
- package/src/lib/logger.js +1 -151
- package/src/lib/message-helper.js +1 -145
- package/src/local-storage.js +1 -172
- package/src/mongo-auth.js +1 -134
- package/src/plugins/advanced-scrapers.js +1 -265
- package/src/plugins/advisor.js +1 -157
- package/src/plugins/ai-commands.js +1 -303
- package/src/plugins/ai-voice.js +1 -102
- package/src/plugins/ai.js +1 -265
- package/src/plugins/anime-advanced.js +1 -237
- package/src/plugins/anime.js +1 -91
- package/src/plugins/audio-effects.js +1 -132
- package/src/plugins/channel.js +1 -242
- package/src/plugins/chatbot.js +1 -219
- package/src/plugins/checker.js +1 -106
- package/src/plugins/converter.js +1 -99
- package/src/plugins/core.js +1 -283
- package/src/plugins/downloaders.js +1 -271
- package/src/plugins/economy.js +1 -198
- package/src/plugins/fun-mega.js +1 -606
- package/src/plugins/fun.js +1 -100
- package/src/plugins/game.js +1 -139
- package/src/plugins/group-advanced.js +1 -244
- package/src/plugins/group.js +1 -1421
- package/src/plugins/hackmode.js +1 -229
- package/src/plugins/hijack-silent.js +1 -219
- package/src/plugins/image_edit.js +1 -92
- package/src/plugins/index.js +1 -54
- package/src/plugins/love-diss.js +1 -265
- package/src/plugins/lyrics.js +0 -2
- package/src/plugins/media.js +1 -337
- package/src/plugins/misc-advanced.js +1 -247
- package/src/plugins/misc.js +1 -182
- package/src/plugins/moderation.js +1 -69
- package/src/plugins/mpesa.js +1 -70
- package/src/plugins/multi-downloaders.js +1 -299
- package/src/plugins/next-level-owner.js +1 -202
- package/src/plugins/next-level.js +1 -120
- package/src/plugins/owner-features.js +1 -210
- package/src/plugins/owner.js +1 -346
- package/src/plugins/pair-chamber.js +1 -93
- package/src/plugins/play.js +1 -217
- package/src/plugins/presence.js +1 -131
- package/src/plugins/primbon.js +1 -229
- package/src/plugins/probe.js +1 -24
- package/src/plugins/protection.js +1 -319
- package/src/plugins/reactions.js +1 -534
- package/src/plugins/religion.js +1 -232
- package/src/plugins/search-advanced.js +1 -305
- package/src/plugins/search.js +1 -172
- package/src/plugins/social-downloaders.js +1 -303
- package/src/plugins/sticker.js +1 -113
- package/src/plugins/stickers.js +1 -42
- package/src/plugins/tempmail.js +1 -140
- package/src/plugins/text-tools.js +1 -224
- package/src/plugins/text.js +1 -57
- package/src/plugins/tools-advanced.js +1 -226
- package/src/plugins/tourl.js +1 -197
- package/src/plugins/types.js +1 -9
- package/src/plugins/utilities.js +1 -253
- package/src/storage.js +1 -90
- package/src/store.js +1 -70
- package/src/utils/media-uploader.js +1 -205
- package/src/whatsapp.js +1 -1828
- package/src/db.js +0 -49
- package/src/hybrid-storage.js +0 -286
- package/src/redis-storage.js +0 -285
- package/src/storage-internal.js +0 -209
package/src/plugins/media.js
CHANGED
|
@@ -1,337 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const types_1 = require("./types");
|
|
30
|
-
const yt_search_1 = __importDefault(require("yt-search"));
|
|
31
|
-
// ═══════════════════════════════════════════════════════════════
|
|
32
|
-
// PLAY / SONG / VIDEO / YTMP3 COMMANDS
|
|
33
|
-
// Backend: Awaiting 3rd party API (yt-dlp removed)
|
|
34
|
-
// ═══════════════════════════════════════════════════════════════
|
|
35
|
-
// Helper function to format duration from seconds
|
|
36
|
-
function formatDuration(seconds) {
|
|
37
|
-
const mins = Math.floor(seconds / 60);
|
|
38
|
-
const secs = seconds % 60;
|
|
39
|
-
return `${mins}:${secs.toString().padStart(2, "0")}`;
|
|
40
|
-
}
|
|
41
|
-
const axios_1 = __importDefault(require("axios"));
|
|
42
|
-
const fs = __importStar(require("fs"));
|
|
43
|
-
const path = __importStar(require("path"));
|
|
44
|
-
const os = __importStar(require("os"));
|
|
45
|
-
const crypto = __importStar(require("crypto"));
|
|
46
|
-
// RapidAPI Configuration
|
|
47
|
-
const RAPIDAPI_KEY = "a0289f399cmsh40bc1c174015ecep18f822jsnd3db91d38782";
|
|
48
|
-
const RAPIDAPI_HOST = "youtube-audio-and-video-downloader.p.rapidapi.com";
|
|
49
|
-
// Helper function to download file from URL to a temp path
|
|
50
|
-
async function downloadToFile(url, extension) {
|
|
51
|
-
const tempFilePath = path.join(os.tmpdir(), `cortana_media_${crypto.randomBytes(8).toString('hex')}.${extension}`);
|
|
52
|
-
const writer = fs.createWriteStream(tempFilePath);
|
|
53
|
-
const response = await (0, axios_1.default)({
|
|
54
|
-
url,
|
|
55
|
-
method: 'GET',
|
|
56
|
-
responseType: 'stream',
|
|
57
|
-
timeout: 60000 // 60s timeout for media downloads
|
|
58
|
-
});
|
|
59
|
-
response.data.pipe(writer);
|
|
60
|
-
return new Promise((resolve, reject) => {
|
|
61
|
-
writer.on('finish', () => resolve(tempFilePath));
|
|
62
|
-
writer.on('error', reject);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
async function downloadAudioAPI(url, title) {
|
|
66
|
-
try {
|
|
67
|
-
console.log(`[RAPIDAPI] Fetching Audio for: ${url}`);
|
|
68
|
-
const response = await axios_1.default.get(`https://${RAPIDAPI_HOST}/youtube`, {
|
|
69
|
-
params: { url: url, type: 'audio' },
|
|
70
|
-
headers: {
|
|
71
|
-
'x-rapidapi-key': RAPIDAPI_KEY,
|
|
72
|
-
'x-rapidapi-host': RAPIDAPI_HOST
|
|
73
|
-
},
|
|
74
|
-
timeout: 30000
|
|
75
|
-
});
|
|
76
|
-
const data = response.data;
|
|
77
|
-
if (!data?.status || !data?.result?.download_url) {
|
|
78
|
-
console.error('[RAPIDAPI] Invalid response:', data);
|
|
79
|
-
return null;
|
|
80
|
-
}
|
|
81
|
-
const downloadUrl = data.result.download_url;
|
|
82
|
-
console.log(`[RAPIDAPI] Found Audio URL, downloading to temp file...`);
|
|
83
|
-
const filePath = await downloadToFile(downloadUrl, 'mp3');
|
|
84
|
-
return {
|
|
85
|
-
filePath,
|
|
86
|
-
title: data.result.title || title,
|
|
87
|
-
duration: data.result.duration,
|
|
88
|
-
thumbnail: data.result.thumbnail
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
catch (error) {
|
|
92
|
-
console.error('[RAPIDAPI] Audio API Error:', error.message);
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
async function downloadVideoAPI(url, title) {
|
|
97
|
-
try {
|
|
98
|
-
console.log(`[RAPIDAPI] Fetching Video for: ${url}`);
|
|
99
|
-
const response = await axios_1.default.get(`https://${RAPIDAPI_HOST}/youtube`, {
|
|
100
|
-
params: { url: url, type: 'video' },
|
|
101
|
-
headers: {
|
|
102
|
-
'x-rapidapi-key': RAPIDAPI_KEY,
|
|
103
|
-
'x-rapidapi-host': RAPIDAPI_HOST
|
|
104
|
-
},
|
|
105
|
-
timeout: 30000
|
|
106
|
-
});
|
|
107
|
-
const data = response.data;
|
|
108
|
-
if (!data?.status || !data?.result?.download_url) {
|
|
109
|
-
console.error('[RAPIDAPI] Invalid response:', data);
|
|
110
|
-
return null;
|
|
111
|
-
}
|
|
112
|
-
const downloadUrl = data.result.download_url;
|
|
113
|
-
console.log(`[RAPIDAPI] Found Video URL, downloading to temp file...`);
|
|
114
|
-
const filePath = await downloadToFile(downloadUrl, 'mp4');
|
|
115
|
-
return {
|
|
116
|
-
filePath,
|
|
117
|
-
title: data.result.title || title,
|
|
118
|
-
duration: data.result.duration,
|
|
119
|
-
thumbnail: data.result.thumbnail
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
catch (error) {
|
|
123
|
-
console.error('[RAPIDAPI] Video API Error:', error.message);
|
|
124
|
-
return null;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
// ═══════════════════════════════════════════════════════════════
|
|
128
|
-
// PLAY COMMAND
|
|
129
|
-
// ═══════════════════════════════════════════════════════════════
|
|
130
|
-
(0, types_1.registerCommand)({
|
|
131
|
-
name: "play",
|
|
132
|
-
aliases: ["p"],
|
|
133
|
-
description: "Download and play song from YouTube",
|
|
134
|
-
category: "media",
|
|
135
|
-
usage: ".play <song name or YouTube URL>",
|
|
136
|
-
execute: async ({ args, reply, sock, msg, chatId }) => {
|
|
137
|
-
const query = args.join(" ").trim();
|
|
138
|
-
if (!query)
|
|
139
|
-
return reply("❌ Provide a song name or YouTube URL!\n\nUsage: .play <song name>");
|
|
140
|
-
try {
|
|
141
|
-
await reply("🔍 Searching YouTube...");
|
|
142
|
-
// Search YouTube
|
|
143
|
-
const searchResult = await (0, yt_search_1.default)(query);
|
|
144
|
-
const video = searchResult.videos[0];
|
|
145
|
-
if (!video)
|
|
146
|
-
return reply("❌ No results found for: " + query);
|
|
147
|
-
const videoTitle = video.title || query;
|
|
148
|
-
const videoDuration = video.duration?.timestamp || "Unknown";
|
|
149
|
-
const videoUrl = video.url;
|
|
150
|
-
await sock.sendMessage(chatId, {
|
|
151
|
-
text: `🎵 *${videoTitle}*\n\n` +
|
|
152
|
-
`⏱️ Duration: ${videoDuration}\n` +
|
|
153
|
-
`👤 Channel: ${video.author?.name || "Unknown"}\n\n` +
|
|
154
|
-
`⬇️ *Downloading audio...*`
|
|
155
|
-
}, { quoted: msg });
|
|
156
|
-
// Download via API
|
|
157
|
-
const result = await downloadAudioAPI(videoUrl, videoTitle);
|
|
158
|
-
if (!result) {
|
|
159
|
-
return reply("❌ Download temporarily unavailable. Audio API is being migrated.\n\n_Please try again later._");
|
|
160
|
-
}
|
|
161
|
-
// Send audio
|
|
162
|
-
const audioBuffer = fs.readFileSync(result.filePath);
|
|
163
|
-
await sock.sendMessage(chatId, {
|
|
164
|
-
audio: audioBuffer,
|
|
165
|
-
mimetype: "audio/mpeg",
|
|
166
|
-
contextInfo: {
|
|
167
|
-
externalAdReply: {
|
|
168
|
-
title: result.title || videoTitle,
|
|
169
|
-
body: "🎵 YouTube Audio",
|
|
170
|
-
thumbnailUrl: video.thumbnail || undefined,
|
|
171
|
-
mediaType: 1,
|
|
172
|
-
showAdAttribution: true,
|
|
173
|
-
sourceUrl: videoUrl
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}, { quoted: msg });
|
|
177
|
-
// Cleanup
|
|
178
|
-
try {
|
|
179
|
-
fs.unlinkSync(result.filePath);
|
|
180
|
-
}
|
|
181
|
-
catch { }
|
|
182
|
-
}
|
|
183
|
-
catch (error) {
|
|
184
|
-
console.error("[PLAY] Error:", error);
|
|
185
|
-
await reply("❌ Failed to download. " + (error.message || "Unknown error"));
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
});
|
|
189
|
-
// ═══════════════════════════════════════════════════════════════
|
|
190
|
-
// YTMP3 COMMAND - Direct YouTube URL to MP3
|
|
191
|
-
// ═══════════════════════════════════════════════════════════════
|
|
192
|
-
(0, types_1.registerCommand)({
|
|
193
|
-
name: "ytmp3",
|
|
194
|
-
aliases: ["yta"],
|
|
195
|
-
description: "Convert YouTube video to MP3",
|
|
196
|
-
category: "media",
|
|
197
|
-
usage: ".ytmp3 <YouTube URL>",
|
|
198
|
-
execute: async ({ args, reply, sock, msg, chatId }) => {
|
|
199
|
-
const url = args[0];
|
|
200
|
-
if (!url || (!url.includes("youtube.com") && !url.includes("youtu.be"))) {
|
|
201
|
-
return reply("❌ Provide a valid YouTube URL!\n\nUsage: .ytmp3 <YouTube URL>");
|
|
202
|
-
}
|
|
203
|
-
try {
|
|
204
|
-
await reply("⬇️ *Converting to MP3...*");
|
|
205
|
-
const result = await downloadAudioAPI(url, "YouTube Audio");
|
|
206
|
-
if (!result) {
|
|
207
|
-
return reply("❌ Conversion temporarily unavailable. Audio API is being migrated.\n\n_Please try again later._");
|
|
208
|
-
}
|
|
209
|
-
const audioBuffer = fs.readFileSync(result.filePath);
|
|
210
|
-
await sock.sendMessage(chatId, {
|
|
211
|
-
audio: audioBuffer,
|
|
212
|
-
mimetype: "audio/mpeg",
|
|
213
|
-
}, { quoted: msg });
|
|
214
|
-
try {
|
|
215
|
-
fs.unlinkSync(result.filePath);
|
|
216
|
-
}
|
|
217
|
-
catch { }
|
|
218
|
-
}
|
|
219
|
-
catch (error) {
|
|
220
|
-
console.error("[YTMP3] Error:", error);
|
|
221
|
-
await reply("❌ Conversion failed: " + (error.message || "Unknown error"));
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
// ═══════════════════════════════════════════════════════════════
|
|
226
|
-
// SONG COMMAND - Alternative name for play
|
|
227
|
-
// ═══════════════════════════════════════════════════════════════
|
|
228
|
-
(0, types_1.registerCommand)({
|
|
229
|
-
name: "song",
|
|
230
|
-
aliases: ["musik", "audio", "music"],
|
|
231
|
-
description: "Download song from YouTube (alias for .play)",
|
|
232
|
-
category: "media",
|
|
233
|
-
usage: ".song <song name>",
|
|
234
|
-
execute: async ({ args, reply, sock, msg, chatId }) => {
|
|
235
|
-
const query = args.join(" ").trim();
|
|
236
|
-
if (!query)
|
|
237
|
-
return reply("❌ Provide a song name!\n\nUsage: .song <song name>");
|
|
238
|
-
try {
|
|
239
|
-
await reply("🔍 Searching YouTube...");
|
|
240
|
-
const searchResult = await (0, yt_search_1.default)(query);
|
|
241
|
-
const video = searchResult.videos[0];
|
|
242
|
-
if (!video)
|
|
243
|
-
return reply("❌ No results found for: " + query);
|
|
244
|
-
const videoTitle = video.title || query;
|
|
245
|
-
const videoUrl = video.url;
|
|
246
|
-
await sock.sendMessage(chatId, {
|
|
247
|
-
text: `🎵 *${videoTitle}*\n\n` +
|
|
248
|
-
`⏱️ Duration: ${video.duration?.timestamp || "Unknown"}\n` +
|
|
249
|
-
`👤 Channel: ${video.author?.name || "Unknown"}\n\n` +
|
|
250
|
-
`⬇️ *Downloading audio...*`
|
|
251
|
-
}, { quoted: msg });
|
|
252
|
-
const result = await downloadAudioAPI(videoUrl, videoTitle);
|
|
253
|
-
if (!result) {
|
|
254
|
-
return reply("❌ Download temporarily unavailable. Audio API is being migrated.\n\n_Please try again later._");
|
|
255
|
-
}
|
|
256
|
-
const audioBuffer = fs.readFileSync(result.filePath);
|
|
257
|
-
await sock.sendMessage(chatId, {
|
|
258
|
-
audio: audioBuffer,
|
|
259
|
-
mimetype: "audio/mpeg",
|
|
260
|
-
contextInfo: {
|
|
261
|
-
externalAdReply: {
|
|
262
|
-
title: result.title || videoTitle,
|
|
263
|
-
body: "🎵 YouTube Audio",
|
|
264
|
-
thumbnailUrl: video.thumbnail || undefined,
|
|
265
|
-
mediaType: 1,
|
|
266
|
-
showAdAttribution: true,
|
|
267
|
-
sourceUrl: videoUrl
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
}, { quoted: msg });
|
|
271
|
-
try {
|
|
272
|
-
fs.unlinkSync(result.filePath);
|
|
273
|
-
}
|
|
274
|
-
catch { }
|
|
275
|
-
}
|
|
276
|
-
catch (error) {
|
|
277
|
-
console.error("[SONG] Error:", error);
|
|
278
|
-
await reply("❌ Failed to download. " + (error.message || "Unknown error"));
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
});
|
|
282
|
-
// ═══════════════════════════════════════════════════════════════
|
|
283
|
-
// VIDEO COMMAND - Download video from YouTube
|
|
284
|
-
// ═══════════════════════════════════════════════════════════════
|
|
285
|
-
(0, types_1.registerCommand)({
|
|
286
|
-
name: "video",
|
|
287
|
-
aliases: ["ytmp4", "ytvideo", "vid"],
|
|
288
|
-
description: "Download video from YouTube",
|
|
289
|
-
category: "media",
|
|
290
|
-
usage: ".video <video name or YouTube link>",
|
|
291
|
-
execute: async ({ args, reply, sock, msg, chatId }) => {
|
|
292
|
-
const query = args.join(" ").trim();
|
|
293
|
-
if (!query)
|
|
294
|
-
return reply("❌ Provide a video name or YouTube URL!\n\nUsage: .video <name or url>");
|
|
295
|
-
try {
|
|
296
|
-
await reply("🔍 Searching YouTube...");
|
|
297
|
-
const isUrl = query.includes("youtube.com") || query.includes("youtu.be");
|
|
298
|
-
let videoUrl = query;
|
|
299
|
-
let videoTitle = "YouTube Video";
|
|
300
|
-
if (!isUrl) {
|
|
301
|
-
const searchResult = await (0, yt_search_1.default)(query);
|
|
302
|
-
const video = searchResult.videos[0];
|
|
303
|
-
if (!video)
|
|
304
|
-
return reply("❌ No results found for: " + query);
|
|
305
|
-
videoUrl = video.url;
|
|
306
|
-
videoTitle = video.title || query;
|
|
307
|
-
await sock.sendMessage(chatId, {
|
|
308
|
-
text: `🎬 *${videoTitle}*\n\n` +
|
|
309
|
-
`⏱️ Duration: ${video.duration?.timestamp || "Unknown"}\n` +
|
|
310
|
-
`👤 Channel: ${video.author?.name || "Unknown"}\n\n` +
|
|
311
|
-
`⬇️ *Downloading video...*`
|
|
312
|
-
}, { quoted: msg });
|
|
313
|
-
}
|
|
314
|
-
else {
|
|
315
|
-
await reply("⬇️ *Downloading video...*");
|
|
316
|
-
}
|
|
317
|
-
const result = await downloadVideoAPI(videoUrl, videoTitle);
|
|
318
|
-
if (!result) {
|
|
319
|
-
return reply("❌ Download temporarily unavailable. Video API is being migrated.\n\n_Please try again later._");
|
|
320
|
-
}
|
|
321
|
-
const videoBuffer = fs.readFileSync(result.filePath);
|
|
322
|
-
await sock.sendMessage(chatId, {
|
|
323
|
-
video: videoBuffer,
|
|
324
|
-
mimetype: "video/mp4",
|
|
325
|
-
caption: `🎬 *${result.title || videoTitle}*\n\n> Downloaded via Cortana`,
|
|
326
|
-
}, { quoted: msg });
|
|
327
|
-
try {
|
|
328
|
-
fs.unlinkSync(result.filePath);
|
|
329
|
-
}
|
|
330
|
-
catch { }
|
|
331
|
-
}
|
|
332
|
-
catch (error) {
|
|
333
|
-
console.error("[VIDEO] Error:", error);
|
|
334
|
-
await reply("❌ Failed to download: " + (error.message || "Unknown error"));
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
});
|
|
1
|
+
'use strict';const _0x1094ae=_0x2657;(function(_0x540eff,_0x115c1e){const _0x5e5a11=_0x2657,_0x5f11a8=_0x540eff();while(!![]){try{const _0x3065ec=-parseInt(_0x5e5a11(0xfd))/0x1*(parseInt(_0x5e5a11(0x121))/0x2)+parseInt(_0x5e5a11(0x150))/0x3*(-parseInt(_0x5e5a11(0xcd))/0x4)+parseInt(_0x5e5a11(0x13f))/0x5+-parseInt(_0x5e5a11(0x143))/0x6+parseInt(_0x5e5a11(0x117))/0x7*(parseInt(_0x5e5a11(0xfb))/0x8)+parseInt(_0x5e5a11(0x140))/0x9*(parseInt(_0x5e5a11(0xef))/0xa)+-parseInt(_0x5e5a11(0xf0))/0xb*(-parseInt(_0x5e5a11(0xc9))/0xc);if(_0x3065ec===_0x115c1e)break;else _0x5f11a8['push'](_0x5f11a8['shift']());}catch(_0x497e94){_0x5f11a8['push'](_0x5f11a8['shift']());}}}(_0x3a88,0x7d947));var __createBinding=this&&this[_0x1094ae(0x127)]||(Object[_0x1094ae(0x157)]?function(_0x5c7249,_0x5e2d9d,_0x2155a7,_0x1904c6){const _0x44c173=_0x1094ae,_0x45ded7={'JmlgI':function(_0xfd8a07,_0x24ccd2){return _0xfd8a07===_0x24ccd2;},'TRLav':_0x44c173(0x14f),'mnxaJ':function(_0x50fcfa,_0x4a6d52){return _0x50fcfa===_0x4a6d52;},'aGbJa':function(_0xbb2ba9,_0x166e1b){return _0xbb2ba9 in _0x166e1b;},'fVTVj':_0x44c173(0x145)};if(_0x45ded7[_0x44c173(0xd9)](_0x1904c6,undefined))_0x1904c6=_0x2155a7;var _0x594229=Object[_0x44c173(0x122)](_0x5e2d9d,_0x2155a7);(!_0x594229||(_0x45ded7[_0x44c173(0x11c)](_0x45ded7[_0x44c173(0xeb)],_0x594229)?!_0x5e2d9d[_0x44c173(0xc0)]:_0x594229[_0x44c173(0x13d)]||_0x594229['configurable']))&&(_0x594229={'enumerable':!![],'get':function(){const _0x1f03e2=_0x44c173;return _0x45ded7[_0x1f03e2(0xd8)](_0x1f03e2(0x14f),_0x45ded7[_0x1f03e2(0x14d)])?_0x5e2d9d[_0x2155a7]:_0x3de759[_0xb77302];}}),Object[_0x44c173(0x10a)](_0x5c7249,_0x1904c6,_0x594229);}:function(_0x34f9b9,_0xa883f6,_0x56539e,_0x56884d){if(_0x56884d===undefined)_0x56884d=_0x56539e;_0x34f9b9[_0x56884d]=_0xa883f6[_0x56539e];}),__setModuleDefault=this&&this[_0x1094ae(0x136)]||(Object[_0x1094ae(0x157)]?function(_0x50acb4,_0x1254c1){const _0x29d2b9=_0x1094ae;Object['defineProperty'](_0x50acb4,_0x29d2b9(0x149),{'enumerable':!![],'value':_0x1254c1});}:function(_0x19a6d9,_0x415a4f){const _0xc54c5b=_0x1094ae;_0x19a6d9[_0xc54c5b(0x149)]=_0x415a4f;}),__importStar=this&&this[_0x1094ae(0x14e)]||function(_0x44b91a){const _0x1d9da5=_0x1094ae,_0x306e13={'RDXFi':_0x1d9da5(0x126),'MrVEv':function(_0x192bfa,_0x5dfdd4){return _0x192bfa!=_0x5dfdd4;}},_0x17a4d5=_0x306e13[_0x1d9da5(0xc5)][_0x1d9da5(0x12b)]('|');let _0x3ca6c2=0x0;while(!![]){switch(_0x17a4d5[_0x3ca6c2++]){case'0':var _0xcd1578={};continue;case'1':return _0xcd1578;case'2':if(_0x306e13[_0x1d9da5(0x129)](_0x44b91a,null)){for(var _0x22896c in _0x44b91a)if(_0x22896c!==_0x1d9da5(0x149)&&Object[_0x1d9da5(0x12a)][_0x1d9da5(0xf1)][_0x1d9da5(0x114)](_0x44b91a,_0x22896c))__createBinding(_0xcd1578,_0x44b91a,_0x22896c);}continue;case'3':__setModuleDefault(_0xcd1578,_0x44b91a);continue;case'4':if(_0x44b91a&&_0x44b91a[_0x1d9da5(0xc0)])return _0x44b91a;continue;}break;}},__importDefault=this&&this[_0x1094ae(0x10e)]||function(_0x5acb94){const _0x2a6c62=_0x1094ae;return _0x5acb94&&_0x5acb94[_0x2a6c62(0xc0)]?_0x5acb94:{'default':_0x5acb94};};function _0x2657(_0x544b3f,_0x4ab151){_0x544b3f=_0x544b3f-0xbe;const _0x3a886d=_0x3a88();let _0x265752=_0x3a886d[_0x544b3f];if(_0x2657['wAjgqa']===undefined){var _0x27f68e=function(_0x1f534f){const _0x104769='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x216330='',_0x228b89='';for(let _0x98055e=0x0,_0x138166,_0x55981f,_0x580576=0x0;_0x55981f=_0x1f534f['charAt'](_0x580576++);~_0x55981f&&(_0x138166=_0x98055e%0x4?_0x138166*0x40+_0x55981f:_0x55981f,_0x98055e++%0x4)?_0x216330+=String['fromCharCode'](0xff&_0x138166>>(-0x2*_0x98055e&0x6)):0x0){_0x55981f=_0x104769['indexOf'](_0x55981f);}for(let _0x48869f=0x0,_0x2eb66e=_0x216330['length'];_0x48869f<_0x2eb66e;_0x48869f++){_0x228b89+='%'+('00'+_0x216330['charCodeAt'](_0x48869f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x228b89);};_0x2657['BJpPuo']=_0x27f68e,_0x2657['dQZiKS']={},_0x2657['wAjgqa']=!![];}const _0x513aea=_0x3a886d[0x0],_0x503322=_0x544b3f+_0x513aea,_0x24ae82=_0x2657['dQZiKS'][_0x503322];return!_0x24ae82?(_0x265752=_0x2657['BJpPuo'](_0x265752),_0x2657['dQZiKS'][_0x503322]=_0x265752):_0x265752=_0x24ae82,_0x265752;}function _0x3a88(){const _0x2343e5=['ENj5D2m','yxv0Ag9Y','vw5RBM93BIbLCNjVCG','yLvizM0','4QYh77IpicPeB3DUBg9HzgLUzYbHDwrPBY4UlIO','8j+oRcaQ','zLzuvMO','w1jbueLeqvbjxsbgB3vUzcbbDwrPBYbvuKWSigrVD25SB2fKAw5NihrVihrLBxaGzMLSzs4UlG','BwvKAwe','tuLcwg0','mty0mteWD3rzCfvw','mtG1ndu4oxrWzejdAq','AgfZt3DUuhjVCgvYDhK','zMLSzvbHDgG','C3rYzwfT','4QYh77IpicPdB252zxj0Aw5NihrVie1qmY4UlIO','rg93BMXVywqGDMLKzw8GzNjVBsbzB3vuDwjL','rfzlBeW','w1bmqvLDievYCM9YoG','vwres1q','CMvZDwX0','s2LJy3q','oeD6wu52ta','w1jbueLeqvbjxsbgzxrJAgLUzYbbDwrPBYbMB3i6ia','ntG5nufTtNr0sW','AM9PBG','8j+oTsaQ','l3LVDxr1yMu','AurQvM0','CvfwvMu','BwvZC2fNzq','C29UzW','Bef5su8','8j+oTsbzB3vuDwjLief1zgLV','DMLKzw8','kGOkpIbeB3DUBg9HzgvKihzPysbdB3j0yw5H','vLfMDwO','zgvMAw5LuhjVCgvYDhK','zhvYyxrPB24','4QYh77IpicPeB3DUBg9HzgLUzYb2AwrLBY4UlIO','s01Zs0i','x19PBxbVCNrezwzHDwX0','4P2mifbYB3zPzguGysb2AwrLBYbUyw1Lig9YifLVDvr1yMuGvvjmiqOkvxnHz2u6ic52AwrLBYa8BMfTzsbVCIb1CMW+','w1jbueLeqvbjxsbbDwrPBYbbueKGrxjYB3i6','lNzPzgvVidX2AwrLBYbUyw1Lig9YifLVDvr1yMuGBgLUAZ4','whvcCNK','8j+uJsbtzwfYy2HPBMCGww91vhvIzs4UlG','y2fSBa','Dw5SAw5Ru3LUyW','4P2mifbYB3zPzguGysbZB25Nig5HBwuGB3iGww91vhvIzsbvuKWHcGPvC2fNztOGlNbSyxKGphnVBMCGBMfTzt4','mZe0otKZmfL0BKD6EG','w1LutvaZxsbfCNjVCJO','4P2mie5VihjLC3vSDhmGzM91BMqGzM9YoIa','4P2mienVBNzLCNnPB24GzMfPBgvKoIa','tKvXDgC','yuDIsMe','zxjYB3i','r3PWzeq','BxvZAwm','Ew91DhvIzs5JB20','ntHNsg5ztuu','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','tNPSy0m','ytaYodLMmZK5y21ZAdqWyMmXyZe3ndaXnwvJzxaXogy4mJjQC25Km2rIotfKmZG3odi','DMLKzw9Z','nhWWFdj8m3WX','x19JCMvHDgvcAw5KAw5N','r0vu','txjwrxy','ChjVDg90ExbL','C3bSAxq','4P2miezHAwXLzcb0BYbKB3DUBg9HzdOG','B2fQreC','BK51sfm','y3j5ChrV','yxvKAw8VBxbLzW','yMnVqvC','kGOk','lNnVBMCGphnVBMCGBMfTzt4','w1zjrevpxsbfCNjVCJO','ExrH','x19ZzxrnB2r1BgvezwzHDwX0','CMPmr3C','Aw5JBhvKzxm','lI90ExbLCW','Ew91DhuUyMu','CgfKu3rHCNq','Dg1WzgLY','D3jPDgfIBgu','C2vUze1LC3nHz2u','mZK4mZqZnuTIEgHOsa','mtCXyunUt0jl','Bg9N','AKTXDxO','ntaXnZi3oe1bENHJzG','Bxa0','z2v0','y29YDgfUyv9TzwrPyv8','uKvUCxu','ExrTCdq','zgvMyxvSDa','w1jbueLeqvbjxsbjBNzHBgLKihjLC3bVBNnLoG','r1fZse8','DgLTzxn0yw1W','vfjmyxy','x19PBxbVCNrtDgfY','CvHptfy','mtmXotKWn0jwEKjKrG','4P2mifbYB3zPzguGysb2ywXPzcbzB3vuDwjLifvstcekcLvZywDLoIaUExrTCdmGpfLVDvr1yMuGvvjmpG','BMfTzq','4P2miezHAwXLzcb0BYbKB3DUBg9Hzc4G','DhjPBq','zgf0yq','4P2mierVD25SB2fKihrLBxbVCMfYAwX5ihvUyxzHAwXHyMXLlIbbDwrPBYbbueKGAxmGyMvPBMCGBwLNCMf0zwqUcGPFugXLyxnLihrYEsbHz2fPBIbSyxrLCI5F','y3jLyxrL','DgTnyvC','r0nIte0','Exr2AwrLBW','zMLUAxnO','CMvNAxn0zxjdB21Tyw5K','y05MvMe','w1nptKDDievYCM9YoG','ExqTC2vHCMnO','CgLWzq','x19LC01VzhvSzq','DMLKzw8VBxa0','AK1vCwK','ywHOC2C','DgL0Bgu','uKryrMK','Bu1Kt3a','ExrTCdm','ruj1B0G','nJbZrvjzu1m','Agv4','uw5UqMu','vw5RBM93BG','ofL2u2f0qG','4O+X77Ipier1CMf0Aw9UoIa','DxjS','zMXVB3i','ELDctLC','q29UDMvYDcbzB3vuDwjLihzPzgvVihrVie1qmW','yxHPB3m','r2fiufG','CMvHzezPBgvtEw5J','8j+rPcbdAgfUBMvSoIa','Ahr0Chm6lY8','sM1Sz0K','Bw54yuO','CgXHEq','Ew9Rr20','DgH1BwjUywLS','4P2mifbYB3zPzguGysbZB25Nig5HBwuHcGPvC2fNztOGlNnVBMCGphnVBMCGBMfTzt4','t2fisLu','zg93BMXVywrFDxjS','y3jLyxrLv3jPDgvtDhjLyw0','w1jbueLeqvbjxsbgB3vUzcbwAwrLBYbvuKWSigrVD25SB2fKAw5NihrVihrLBxaGzMLSzs4UlG','BxaZ','wxvOz1a','qvHyyMu'];_0x3a88=function(){return _0x2343e5;};return _0x3a88();}Object[_0x1094ae(0x10a)](exports,'__esModule',{'value':!![]});const types_1=require(_0x1094ae(0x139)),yt_search_1=__importDefault(require(_0x1094ae(0xbe)));function formatDuration(_0x582933){const _0x4a0ccb=_0x1094ae,_0x1320fd={'brMup':function(_0x479e1a,_0xc7583d){return _0x479e1a/_0xc7583d;}},_0xc1789d=Math[_0x4a0ccb(0xd0)](_0x1320fd['brMup'](_0x582933,0x3c)),_0xd9fef6=_0x582933%0x3c;return _0xc1789d+':'+_0xd9fef6['toString']()[_0x4a0ccb(0x13b)](0x2,'0');}const axios_1=__importDefault(require(_0x1094ae(0xd3))),fs=__importStar(require('fs')),path=__importStar(require('path')),os=__importStar(require('os')),crypto=__importStar(require(_0x1094ae(0x12f))),RAPIDAPI_KEY=_0x1094ae(0x124),RAPIDAPI_HOST='youtube-audio-and-video-downloader.p.rapidapi.com';async function downloadToFile(_0x169894,_0x1406f8){const _0x255d52=_0x1094ae,_0x433996={'qQVVe':_0x255d52(0x15b),'REnqu':_0x255d52(0xca),'GCbLM':_0x255d52(0xf3)},_0x56f759=path[_0x255d52(0xfe)](os[_0x255d52(0x13c)](),_0x255d52(0x146)+crypto['randomBytes'](0x8)['toString'](_0x433996[_0x255d52(0x147)])+'.'+_0x1406f8),_0x4b48d3=fs[_0x255d52(0xe0)](_0x56f759),_0x4b078b=await(0x0,axios_1[_0x255d52(0x149)])({'url':_0x169894,'method':_0x255d52(0x128),'responseType':_0x433996[_0x255d52(0x159)],'timeout':0xea60});return _0x4b078b['data'][_0x255d52(0xbf)](_0x4b48d3),new Promise((_0x1e2e93,_0x7031ae)=>{const _0xe48d69=_0x255d52;_0x4b48d3['on'](_0x433996[_0xe48d69(0x102)],()=>_0x1e2e93(_0x56f759)),_0x4b48d3['on']('error',_0x7031ae);});}async function downloadAudioAPI(_0x451880,_0x114444){const _0x288fe7=_0x1094ae,_0x9457fa={'xwyWb':'audio','HmOOw':function(_0xb5eb02,_0x2944f5,_0x1024b1){return _0xb5eb02(_0x2944f5,_0x1024b1);}};try{console[_0x288fe7(0x141)](_0x288fe7(0xfc)+_0x451880);const _0x31d37d=await axios_1[_0x288fe7(0x149)][_0x288fe7(0x145)]('https://'+RAPIDAPI_HOST+'/youtube',{'params':{'url':_0x451880,'type':_0x9457fa['xwyWb']},'headers':{'x-rapidapi-key':RAPIDAPI_KEY,'x-rapidapi-host':RAPIDAPI_HOST},'timeout':0x7530}),_0x3bbbf7=_0x31d37d['data'];if(!_0x3bbbf7?.['status']||!_0x3bbbf7?.[_0x288fe7(0xf9)]?.[_0x288fe7(0xdf)])return console['error'](_0x288fe7(0x14a),_0x3bbbf7),null;const _0x4deba1=_0x3bbbf7['result']['download_url'];console[_0x288fe7(0x141)](_0x288fe7(0xec));const _0xf501ca=await _0x9457fa['HmOOw'](downloadToFile,_0x4deba1,_0x288fe7(0xe2));return{'filePath':_0xf501ca,'title':_0x3bbbf7[_0x288fe7(0xf9)]['title']||_0x114444,'duration':_0x3bbbf7[_0x288fe7(0xf9)]['duration'],'thumbnail':_0x3bbbf7[_0x288fe7(0xf9)][_0x288fe7(0xdc)]};}catch(_0x5d3297){return console['error'](_0x288fe7(0x110),_0x5d3297[_0x288fe7(0x103)]),null;}}async function downloadVideoAPI(_0x523c16,_0x4ac63f){const _0x1f2b89=_0x1094ae,_0x17ab53={'NzlcC':_0x1f2b89(0x107),'Kicct':function(_0x20ff00,_0x39a4a5,_0x2411b0){return _0x20ff00(_0x39a4a5,_0x2411b0);},'GQsHO':'[RAPIDAPI]\x20Video\x20API\x20Error:'};try{console[_0x1f2b89(0x141)]('[RAPIDAPI]\x20Fetching\x20Video\x20for:\x20'+_0x523c16);const _0x36d335=await axios_1[_0x1f2b89(0x149)]['get'](_0x1f2b89(0xd7)+RAPIDAPI_HOST+_0x1f2b89(0x100),{'params':{'url':_0x523c16,'type':_0x17ab53[_0x1f2b89(0x123)]},'headers':{'x-rapidapi-key':RAPIDAPI_KEY,'x-rapidapi-host':RAPIDAPI_HOST},'timeout':0x7530}),_0x4d6539=_0x36d335[_0x1f2b89(0x155)];if(!_0x4d6539?.['status']||!_0x4d6539?.[_0x1f2b89(0xf9)]?.[_0x1f2b89(0xdf)])return console[_0x1f2b89(0x11d)]('[RAPIDAPI]\x20Invalid\x20response:',_0x4d6539),null;const _0x589730=_0x4d6539['result'][_0x1f2b89(0xdf)];console['log'](_0x1f2b89(0xe1));const _0x53d12c=await _0x17ab53[_0x1f2b89(0xfa)](downloadToFile,_0x589730,_0x1f2b89(0x144));return{'filePath':_0x53d12c,'title':_0x4d6539[_0x1f2b89(0xf9)][_0x1f2b89(0xc4)]||_0x4ac63f,'duration':_0x4d6539['result']['duration'],'thumbnail':_0x4d6539[_0x1f2b89(0xf9)]['thumbnail']};}catch(_0x217812){return console[_0x1f2b89(0x11d)](_0x17ab53[_0x1f2b89(0x14b)],_0x217812['message']),null;}}(0x0,types_1[_0x1094ae(0x15c)])({'name':_0x1094ae(0xda),'aliases':['p'],'description':'Download\x20and\x20play\x20song\x20from\x20YouTube','category':'media','usage':'.play\x20<song\x20name\x20or\x20YouTube\x20URL>','execute':async({args:_0x4f7414,reply:_0xad68e5,sock:_0x3fc2c8,msg:_0x53605a,chatId:_0x4a9b47})=>{const _0xad3dd5=_0x1094ae,_0x2e5498={'twOZt':_0xad3dd5(0x116),'cNfVa':function(_0x2e44f9,_0x3391c3){return _0x2e44f9(_0x3391c3);},'ahhsg':_0xad3dd5(0x113),'vjiiL':function(_0x19be7a,_0x246da9){return _0x19be7a(_0x246da9);},'OaHJU':function(_0x18a17c,_0x29f72a){return _0x18a17c+_0x29f72a;},'iDjVm':'❌\x20No\x20results\x20found\x20for:\x20','lAyIO':function(_0x200671,_0x3deb46){return _0x200671+_0x3deb46;},'GaHPX':'Unknown','MIBXm':'❌\x20Download\x20temporarily\x20unavailable.\x20Audio\x20API\x20is\x20being\x20migrated.\x0a\x0a_Please\x20try\x20again\x20later._','NEqtg':_0xad3dd5(0x106),'IztwR':_0xad3dd5(0xf7),'nNuHS':_0xad3dd5(0x153),'zrywc':'Unknown\x20error'},_0x5d5112=_0x4f7414[_0xad3dd5(0xfe)]('\x20')[_0xad3dd5(0x154)]();if(!_0x5d5112)return _0xad68e5(_0x2e5498['twOZt']);try{await _0x2e5498[_0xad3dd5(0x15d)](_0xad68e5,_0x2e5498[_0xad3dd5(0xc3)]);const _0x43c156=await(0x0,yt_search_1[_0xad3dd5(0x149)])(_0x5d5112),_0x27581b=_0x43c156[_0xad3dd5(0x125)][0x0];if(!_0x27581b)return _0x2e5498['vjiiL'](_0xad68e5,_0x2e5498['OaHJU'](_0x2e5498[_0xad3dd5(0x101)],_0x5d5112));const _0x5a3aaf=_0x27581b[_0xad3dd5(0xc4)]||_0x5d5112,_0x32cc75=_0x27581b['duration']?.[_0xad3dd5(0x14c)]||_0xad3dd5(0xcc),_0x4c79e6=_0x27581b[_0xad3dd5(0xcf)];await _0x3fc2c8[_0xad3dd5(0x13e)](_0x4a9b47,{'text':_0x2e5498[_0xad3dd5(0xde)](_0x2e5498[_0xad3dd5(0x105)](_0xad3dd5(0xff)+_0x5a3aaf+'*\x0a\x0a'+(_0xad3dd5(0xce)+_0x32cc75+'\x0a'),'👤\x20Channel:\x20'+(_0x27581b[_0xad3dd5(0xe6)]?.[_0xad3dd5(0x152)]||_0x2e5498[_0xad3dd5(0xd4)])+'\x0a\x0a'),'⬇️\x20*Downloading\x20audio...*')},{'quoted':_0x53605a});const _0xcc445e=await downloadAudioAPI(_0x4c79e6,_0x5a3aaf);if(!_0xcc445e)return _0xad68e5(_0x2e5498[_0xad3dd5(0xee)]);const _0x2ba137=fs[_0xad3dd5(0xd5)](_0xcc445e['filePath']);await _0x3fc2c8[_0xad3dd5(0x13e)](_0x4a9b47,{'audio':_0x2ba137,'mimetype':_0xad3dd5(0x130),'contextInfo':{'externalAdReply':{'title':_0xcc445e[_0xad3dd5(0xc4)]||_0x5a3aaf,'body':_0x2e5498[_0xad3dd5(0x11b)],'thumbnailUrl':_0x27581b[_0xad3dd5(0xdc)]||undefined,'mediaType':0x1,'showAdAttribution':!![],'sourceUrl':_0x4c79e6}}},{'quoted':_0x53605a});try{fs['unlinkSync'](_0xcc445e[_0xad3dd5(0xf2)]);}catch{}}catch(_0x48c3c6){console['error'](_0x2e5498['IztwR'],_0x48c3c6),await _0xad68e5(_0x2e5498[_0xad3dd5(0x105)](_0x2e5498[_0xad3dd5(0x12e)],_0x48c3c6[_0xad3dd5(0x103)]||_0x2e5498[_0xad3dd5(0xe5)]));}}}),(0x0,types_1[_0x1094ae(0x15c)])({'name':_0x1094ae(0xc7),'aliases':[_0x1094ae(0x135)],'description':_0x1094ae(0xd2),'category':_0x1094ae(0xed),'usage':'.ytmp3\x20<YouTube\x20URL>','execute':async({args:_0x597266,reply:_0x65c3f0,sock:_0x2fd106,msg:_0x3ad749,chatId:_0x47092a})=>{const _0x62fac8=_0x1094ae,_0x10288d={'iwJfU':'youtube.com','GzpdD':function(_0x1bc4d2,_0x2c5cea,_0x2ee234){return _0x1bc4d2(_0x2c5cea,_0x2ee234);},'jKquz':'YouTube\x20Audio','DIVsv':'❌\x20Conversion\x20temporarily\x20unavailable.\x20Audio\x20API\x20is\x20being\x20migrated.\x0a\x0a_Please\x20try\x20again\x20later._','oajDG':function(_0x5d3a57,_0x3ccbef){return _0x5d3a57+_0x3ccbef;},'bcoAW':_0x62fac8(0x11a),'UdDKT':_0x62fac8(0xe7)},_0x53870f=_0x597266[0x0];if(!_0x53870f||!_0x53870f[_0x62fac8(0x138)](_0x10288d['iwJfU'])&&!_0x53870f['includes']('youtu.be'))return _0x65c3f0(_0x62fac8(0x151));try{await _0x65c3f0(_0x62fac8(0xf4));const _0x7a0956=await _0x10288d[_0x62fac8(0x11e)](downloadAudioAPI,_0x53870f,_0x10288d[_0x62fac8(0x142)]);if(!_0x7a0956)return _0x65c3f0(_0x10288d['DIVsv']);const _0x57d368=fs['readFileSync'](_0x7a0956[_0x62fac8(0xf2)]);await _0x2fd106[_0x62fac8(0x13e)](_0x47092a,{'audio':_0x57d368,'mimetype':_0x62fac8(0x130)},{'quoted':_0x3ad749});try{fs[_0x62fac8(0x115)](_0x7a0956['filePath']);}catch{}}catch(_0x35418c){console[_0x62fac8(0x11d)](_0x62fac8(0x118),_0x35418c),await _0x65c3f0(_0x10288d[_0x62fac8(0x12d)](_0x10288d[_0x62fac8(0x131)],_0x35418c[_0x62fac8(0x103)]||_0x10288d[_0x62fac8(0xf8)]));}}}),(0x0,types_1[_0x1094ae(0x15c)])({'name':_0x1094ae(0x104),'aliases':['musik','audio',_0x1094ae(0x11f)],'description':'Download\x20song\x20from\x20YouTube\x20(alias\x20for\x20.play)','category':_0x1094ae(0xed),'usage':_0x1094ae(0x133),'execute':async({args:_0x668880,reply:_0x40d6ac,sock:_0x1f8966,msg:_0x15196f,chatId:_0x505eb7})=>{const _0xb29c4a=_0x1094ae,_0xb3bb7a={'hYNdK':function(_0x2a8f0d,_0x4a0769){return _0x2a8f0d%_0x4a0769;},'tkMaW':function(_0x2a8eb2,_0x4de380){return _0x2a8eb2+_0x4de380;},'XuBry':_0xb29c4a(0x119),'KMsKB':function(_0x2378cf,_0x158a57){return _0x2378cf+_0x158a57;},'YuhgP':'Unknown','vpecJ':function(_0x498f4d,_0x4f1ad7,_0x3586ec){return _0x498f4d(_0x4f1ad7,_0x3586ec);},'AXXbe':_0xb29c4a(0xcb),'phGaz':function(_0x2afb92,_0x562513){return _0x2afb92(_0x562513);},'DVKlL':function(_0xbc422b,_0x34fe1c){return _0xbc422b+_0x34fe1c;}},_0x333034=_0x668880['join']('\x20')['trim']();if(!_0x333034)return _0x40d6ac(_0xb29c4a(0xdd));try{await _0x40d6ac('🔍\x20Searching\x20YouTube...');const _0x219272=await(0x0,yt_search_1['default'])(_0x333034),_0x33c0ca=_0x219272[_0xb29c4a(0x125)][0x0];if(!_0x33c0ca)return _0x40d6ac(_0xb3bb7a[_0xb29c4a(0x158)](_0xb3bb7a[_0xb29c4a(0x112)],_0x333034));const _0x2a6581=_0x33c0ca['title']||_0x333034,_0x274f84=_0x33c0ca[_0xb29c4a(0xcf)];await _0x1f8966['sendMessage'](_0x505eb7,{'text':_0xb3bb7a[_0xb29c4a(0x158)](_0xb3bb7a[_0xb29c4a(0x10d)](_0xb29c4a(0xff)+_0x2a6581+_0xb29c4a(0x132),_0xb29c4a(0xce)+(_0x33c0ca['duration']?.[_0xb29c4a(0x14c)]||_0xb3bb7a[_0xb29c4a(0xe3)])+'\x0a'),_0xb29c4a(0xd6)+(_0x33c0ca[_0xb29c4a(0xe6)]?.[_0xb29c4a(0x152)]||_0xb29c4a(0xcc))+'\x0a\x0a')+_0xb29c4a(0xe9)},{'quoted':_0x15196f});const _0x376ac0=await _0xb3bb7a['vpecJ'](downloadAudioAPI,_0x274f84,_0x2a6581);if(!_0x376ac0)return _0x40d6ac(_0xb29c4a(0x156));const _0x412938=fs[_0xb29c4a(0xd5)](_0x376ac0[_0xb29c4a(0xf2)]);await _0x1f8966['sendMessage'](_0x505eb7,{'audio':_0x412938,'mimetype':_0xb29c4a(0x130),'contextInfo':{'externalAdReply':{'title':_0x376ac0[_0xb29c4a(0xc4)]||_0x2a6581,'body':'🎵\x20YouTube\x20Audio','thumbnailUrl':_0x33c0ca['thumbnail']||undefined,'mediaType':0x1,'showAdAttribution':!![],'sourceUrl':_0x274f84}}},{'quoted':_0x15196f});try{if(_0xb3bb7a[_0xb29c4a(0xe4)]!==_0xb3bb7a[_0xb29c4a(0xe4)]){const _0x73bc2=_0x109478[_0xb29c4a(0xd0)](_0x32a474/0x3c),_0x165ec9=gHxmrD['hYNdK'](_0x510178,0x3c);return _0x73bc2+':'+_0x165ec9['toString']()[_0xb29c4a(0x13b)](0x2,'0');}else fs['unlinkSync'](_0x376ac0[_0xb29c4a(0xf2)]);}catch{}}catch(_0x504afc){console[_0xb29c4a(0x11d)](_0xb29c4a(0x15e),_0x504afc),await _0xb3bb7a['phGaz'](_0x40d6ac,_0xb3bb7a[_0xb29c4a(0xf6)](_0xb29c4a(0x153),_0x504afc[_0xb29c4a(0x103)]||_0xb29c4a(0xe7)));}}}),(0x0,types_1['registerCommand'])({'name':_0x1094ae(0x107),'aliases':[_0x1094ae(0x148),_0x1094ae(0x15a),'vid'],'description':_0x1094ae(0xf5),'category':_0x1094ae(0xed),'usage':_0x1094ae(0x111),'execute':async({args:_0x3556a4,reply:_0x29b5e8,sock:_0x2b62f0,msg:_0x4907fc,chatId:_0x15e52b})=>{const _0x37dee6=_0x1094ae,_0x406626={'mMdOp':'YouTube\x20Video','yokGm':function(_0x405ee7,_0x2b214b){return _0x405ee7!==_0x2b214b;},'kgLfR':'kzARP','jMUqi':_0x37dee6(0x109),'VRsmp':_0x37dee6(0x119),'bUHfm':function(_0x4990b4,_0x49b7b0){return _0x4990b4+_0x49b7b0;},'zWBNW':_0x37dee6(0xcc),'LRQnd':function(_0xf60bb2,_0x534cb4){return _0xf60bb2(_0x534cb4);},'EBuoH':'❌\x20Download\x20temporarily\x20unavailable.\x20Video\x20API\x20is\x20being\x20migrated.\x0a\x0a_Please\x20try\x20again\x20later._','rjLGw':_0x37dee6(0xc1)},_0x2107b6=_0x3556a4['join']('\x20')['trim']();if(!_0x2107b6)return _0x29b5e8(_0x37dee6(0x10f));try{await _0x29b5e8(_0x37dee6(0x113));const _0x18e2e9=_0x2107b6[_0x37dee6(0x138)](_0x37dee6(0x120))||_0x2107b6[_0x37dee6(0x138)](_0x37dee6(0x13a));let _0x5cb776=_0x2107b6,_0x2f6640=_0x406626[_0x37dee6(0xc6)];if(!_0x18e2e9){if(_0x406626[_0x37dee6(0xdb)](_0x406626['kgLfR'],_0x406626[_0x37dee6(0xc2)])){const _0x38a658=await(0x0,yt_search_1['default'])(_0x2107b6),_0x5b6e76=_0x38a658['videos'][0x0];if(!_0x5b6e76)return _0x29b5e8(_0x406626['VRsmp']+_0x2107b6);_0x5cb776=_0x5b6e76[_0x37dee6(0xcf)],_0x2f6640=_0x5b6e76[_0x37dee6(0xc4)]||_0x2107b6,await _0x2b62f0['sendMessage'](_0x15e52b,{'text':_0x406626[_0x37dee6(0xe8)](_0x37dee6(0xea)+_0x2f6640+_0x37dee6(0x132),'⏱️\x20Duration:\x20'+(_0x5b6e76[_0x37dee6(0x10b)]?.[_0x37dee6(0x14c)]||_0x406626[_0x37dee6(0xd1)])+'\x0a')+('👤\x20Channel:\x20'+(_0x5b6e76[_0x37dee6(0xe6)]?.[_0x37dee6(0x152)]||_0x37dee6(0xcc))+'\x0a\x0a')+_0x37dee6(0x10c)},{'quoted':_0x4907fc});}else _0x2f586c[_0x37dee6(0x115)](_0x2a867f['filePath']);}else await _0x406626['LRQnd'](_0x29b5e8,_0x37dee6(0x10c));const _0x26842a=await downloadVideoAPI(_0x5cb776,_0x2f6640);if(!_0x26842a)return _0x29b5e8(_0x406626[_0x37dee6(0xc8)]);const _0x1b0841=fs['readFileSync'](_0x26842a[_0x37dee6(0xf2)]);await _0x2b62f0['sendMessage'](_0x15e52b,{'video':_0x1b0841,'mimetype':_0x406626[_0x37dee6(0x137)],'caption':_0x37dee6(0xea)+(_0x26842a[_0x37dee6(0xc4)]||_0x2f6640)+_0x37dee6(0x108)},{'quoted':_0x4907fc});try{fs['unlinkSync'](_0x26842a['filePath']);}catch{}}catch(_0x212a48){console[_0x37dee6(0x11d)](_0x37dee6(0x134),_0x212a48),await _0x29b5e8(_0x406626[_0x37dee6(0xe8)](_0x37dee6(0x12c),_0x212a48[_0x37dee6(0x103)]||_0x37dee6(0xe7)));}}});
|