File size: 1,986 Bytes
47ab1ce |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
let fetch = require('node-fetch');
let handler = async (m, { conn, args, usedPrefix, command }) => {
if (!args[0]) throw `*Contoh:* ${usedPrefix}${command} https://www.instagram.com/p/ByxKbUSnubS/?utm_source=ig_web_copy_link`;
if (!args[0].match(/instagram/gi)) {
throw `URL Instagram Tidak Valid!`;
}
await m.reply("Tunggu sebentar...");
try {
const api = await fetch(`https://btch.us.kg/download/igdl?url=${encodeURIComponent(args[0])}`);
const res = await api.json();
if (!res.status || res.code !== 200 || !res.result || res.result.length === 0) {
throw `Tidak ada hasil ditemukan.`;
}
const limitnya = 3; // Batas jumlah media yang akan dikirim
for (let i = 0; i < Math.min(limitnya, res.result.length); i++) {
await sleep(3000); // Delay sebelum mengirim
const mediaUrl = res.result[i].url;
const mediaType = mediaUrl.endsWith('.mp4') ? 'video' : 'image'; // Cek apakah media adalah video atau gambar
if (mediaType === 'video') {
conn.sendFile(m.chat, mediaUrl, null, `*Instagram Downloader*\n\n` +
`◦ Watermark: ${res.result[i].wm}\n` +
`◦ Thumbnail: ${res.result[i].thumbnail}`, m);
} else {
conn.sendFile(m.chat, mediaUrl, null, `*Instagram Downloader*\n\n` +
`◦ Watermark: ${res.result[i].wm}`, m);
}
}
} catch (e) {
console.error("Terjadi kesalahan:", e); // Log kesalahan
throw `Terjadi kesalahan saat mengunduh media. Silakan periksa log untuk detail.`;
}
}
handler.help = ['instagram'].map(v => v + ' <url>');
handler.tags = ['downloader'];
handler.command = /^(ig|instagram|igdl|instagramdl|igstory)$/i;
handler.limit = true;
module.exports = handler;
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
} |