All-Media-download
javascriptv1MITنُشر ٢١ أغسطس ٢٠٢٦· ♥ 0 · ⬇ 2 · 💬 0
يحمل فيديوهات من جميع المنصات by prototype
// plugins/universal.js
import axios from 'axios';
const API_URL = 'https://2b.hidenfree.com';
async function getInfo(url) {
const { data } = await axios.get(`${API_URL}/api/universal/info`, {
params: { url },
timeout: 30000,
validateStatus: () => true
});
return data;
}
async function download(url, type = 'video') {
const { data } = await axios.get(`${API_URL}/api/universal/public`, {
params: { api_key: 'free_key', url, type },
timeout: 300000,
validateStatus: () => true
});
return data;
}
async function downloadFile(fileKey) {
const res = await axios.get(`${API_URL}/api/universal/download?file=${fileKey}`, {
responseType: 'arraybuffer',
timeout: 300000,
validateStatus: () => true
});
return Buffer.from(res.data);
}
let handler = async (m, { conn, text }) => {
if (!text) return m.reply('📥 *تحميل عام*\n\n📌 .تحميل <رابط>');
if (!text.includes('http')) return m.reply('❌ أرسل رابط صالح');
await m.react('⏳');
try {
// ✅ 1. جلب المعلومات
const info = await getInfo(text);
// ✅ 2. إرسال معلومات + صورة
let msgText = `📥 *${info.title || 'فيديو'}*\n`;
if (info.uploader || info.author) msgText += `👤 ${info.uploader || info.author}\n`;
if (info.duration) msgText += `⏱️ ${info.duration}\n`;
if (info.views) msgText += `👁 ${info.views}\n`;
msgText += `\n⏳ *جاري التحميل...*`;
if (info.thumbnail || info.cover) {
await conn.sendMessage(m.chat, {
image: { url: info.thumbnail || info.cover },
caption: msgText
}, { quoted: m });
} else {
await m.reply(msgText);
}
// ✅ 3. التحميل
const dlData = await download(text, 'video');
if (!dlData?.success || !dlData?.fileKey) throw new Error(dlData?.error || 'فشل التحميل');
const buffer = await downloadFile(dlData.fileKey);
if (!buffer.length) throw new Error('ملف فارغ');
const mime = dlData.mime || 'video/mp4';
if (mime.includes('video')) {
await conn.sendMessage(m.chat, {
video: buffer,
caption: `✅ *${dlData.title || info.title || 'تم التحميل'}*`
}, { quoted: m });
} else if (mime.includes('audio')) {
await conn.sendMessage(m.chat, {
audio: buffer,
mimetype: 'audio/mpeg',
fileName: dlData.filename || 'audio.mp3',
ptt: false
}, { quoted: m });
} else {
await conn.sendMessage(m.chat, {
document: buffer,
fileName: dlData.filename || 'file',
mimetype: mime
}, { quoted: m });
}
await m.react('✅');
} catch (e) {
console.error('[Universal]', e.message);
await m.react('❌');
m.reply('❌ ' + e.message);
}
};
handler.command = /^(تحميل|universal|download)$/i;
handler.tags = ['downloader'];
export default handler;
التعليقات (0)
سجّل الدخول للتعليق.