goat
command
aldl
No description
0
views
0
likes
0
installs
raw source
const axios = require("axios");
const fs = require("fs-extra");
const path = require("path");
const CUSTOM_API_URL = "https://toshiro-api-editz6t9.vercel.app/api/downloader/alldl";
function detectPlatform(url) {
if (url.includes("tiktok.com")) return "TikTok";
if (url.includes("facebook.com") || url.includes("fb.watch")) return "Facebook";
if (url.includes("instagram.com")) return "Instagram";
if (url.includes("youtube.com") || url.includes("youtu.be")) return "YouTube";
if (url.includes("x.com") || url.includes("twitter.com")) return "Twitter / X";
if (url.includes("pin.it") || url.includes("pinterest.com")) return "Pinterest";
return "Unknown";
}
module.exports = {
config: {
name: "aldl",
version: "4.3",
author: "Toshiro Editz",
role: 0,
category: "media",
description: {
en: "Auto download videos from TikTok, Facebook, Instagram, YouTube, X/Twitter, Pinterest"
},
guide: { en: "[video_link]" }
},
onStart: async function () {},
onChat: async function ({ api, event }) {
const text = event.body || "";
const SUPPORTED = [
"https://vt.tiktok.com",
"https://www.tiktok.com/",
"https://vm.tiktok.com",
"https://www.facebook.com/share/v",
"https://www.facebook.com/share/r",
"https://www.instagram.com/",
"https://youtu.be/",
"https://youtube.com/",
"https://x.com/",
"https://twitter.com/",
"https://pin.it/",
"https://www.pinterest.com/"
];
if (!SUPPORTED.some(link => text.startsWith(link))) return;
api.setMessageReaction("๐ค", event.messageID, () => {}, true);
const startTime = Date.now();
try {
const cacheDir = path.join(__dirname, "cache");
await fs.ensureDir(cacheDir);
const filePath = path.join(cacheDir, `autodl_${Date.now()}.mp4`);
const res = await axios.get(CUSTOM_API_URL + "?url=" + encodeURIComponent(text), {
timeout: 20000
});
const response = res.data;
if (!response.success) {
api.setMessageReaction("โ", event.messageID, () => {}, true);
return api.sendMessage(
`โ Failed: ${response.message || "Unknown error"}`,
event.threadID,
event.messageID
);
}
const result = response.result || {};
const downloadUrl = result.video || result.url;
const title = result.title || "Unknown Title";
const author = result.author || "Unknown";
const platform = detectPlatform(text);
if (!downloadUrl) {
api.setMessageReaction("โ", event.messageID, () => {}, true);
return api.sendMessage(
"โ No video found for this link",
event.threadID,
event.messageID
);
}
const buffer = (
await axios.get(downloadUrl, {
responseType: "arraybuffer",
timeout: 30000
})
).data;
await fs.writeFile(filePath, Buffer.from(buffer));
api.setMessageReaction("โ
", event.messageID, () => {}, true);
const speed = ((Date.now() - startTime) / 1000).toFixed(2);
const msg = `
โญโใ โ
Auto Download ใโโฎ
โ ๐ Title : ${title}
โ ๐ Platform : ${platform}
โ ๐ค Author : ${author}
โ โก Speed : ${speed}s
โ ๐ User ID : ${event.senderID}
โฐโโโโโโโโโโโโโโโโโโฏ
`;
api.sendMessage(
{
body: msg,
attachment: fs.createReadStream(filePath)
},
event.threadID,
() => fs.unlinkSync(filePath),
event.messageID
);
} catch (err) {
console.error(err);
api.setMessageReaction("โ", event.messageID, () => {}, true);
api.sendMessage(
`โ Error: ${err.message}`,
event.threadID,
event.messageID
);
}
}
};