UNPKG

notmebotz-tools

Version:

Sebuah Tools yang berfungsi untuk mendownload Video atau Foto dari media sosial, serta sebagai tools yang berguna untuk aplikasi kamu seperti untuk BOT

64 lines (55 loc) 1.76 kB
const axios = require('axios') const cheerio = require('cheerio') const qs = require('qs') async function fbdl(url) { const verifyPayload = qs.stringify({ url }) const verifyRes = await axios.post('https://fdownloader.net/api/userverify', verifyPayload, { headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Accept': '*/*', 'X-Requested-With': 'XMLHttpRequest' } }) const cftoken = verifyRes.data?.token if (!cftoken) throw new Error('Gagal mendapatkan token') const ajaxPayload = qs.stringify({ k_exp: Math.floor(Date.now() / 1000) + 1800, k_token: '4901a847f621da898b5429bf38df6f3a0959738cd4eb52a2bf0cf44b3eb44cad', q: url, lang: 'id', web: 'fdownloader.net', v: 'v2', w: '', cftoken }) const ajaxRes = await axios.post('https://v3.fdownloader.net/api/ajaxSearch', ajaxPayload, { headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Accept': '*/*' } }) const { status, data: html } = ajaxRes.data if (status !== 'ok' || !html) throw new Error('Gagal ambil data') const $ = cheerio.load(html) const thumbnail = $('.image-fb img').attr('src') || '' const duration = $('.content p').text().trim() const title = $('.content h3').text().trim() const links = [] $('a.download-link-fb').each((_, el) => { const link = $(el).attr('href') const quality = $(el).attr('title')?.replace('Download ', '') || 'Unknown' const format = link?.includes('.mp4') ? 'mp4' : 'unknown' if (link) links.push({ quality, format, link }) }) return { author: "Herza", status: 200, data: { title, duration, thumbnail, links } } } module.exports = { fbdl }