TiktokTranscript.js

by Sxyz
49 Raw
const axios = require("axios");
const cheerio = require("cheerio");

let handler = async (m, { sock, text }) => {
    if (!text) return m.reply("> Masukkan Link Tiktok Yang Ingin Di Transcript");
    
    try {
        let textResult = await tiktokTranscript(text)
        return m.reply(`*BERIKUT ADALAH HASIL TRANSCRIPT*\n> ${textResult}`)
    } catch (e) {
        console.error(e.message);
        return m.reply("> Terjadi Error Sudah Lapor Ke Developer Script")
    }
}

handler.command = "tttranscript";
handler.alias = ["ttt"];
handler.category = ["tools"];
handler.description = "Perbesar resolusi foto";
handler.settings = {};

module.exports = handler;

async function getNewProxy() {
  let { data } = await axios.get("https://free-proxy-list.net/");
  let $ = cheerio.load(data);

  let proxies = [];
  
  $("tbody tr").each((_, element) => {
    let tds = $(element).find("td");
    let ip = $(tds[0]).text();
    let port = $(tds[1]).text();
    let https = $(tds[6]).text().toLowerCase();

    if (https === "yes") {
      proxies.push({ ip, port });
    }
  });

  if (proxies.length === 0) {
    throw new Error("Tidak ada proxy HTTPS yang tersedia");
  }

  return proxies[Math.floor(Math.random() * proxies.length)];
}

async function tiktokTranscript(url) {
  const { ip, port } = await getNewProxy();
  
  try {
    const { data } = await axios.get(
      `https://scriptadmin.tokbackup.com/v1/tiktok/fetchTikTokData?video=${url}&get_transcript=true&ip=${ip}`,
      {
        headers: {
          "X-Api-Key": "Toktools2024@!NowMust",
          "User-Agent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Mobile Safari/537.36",
          "Accept": "application/json, text/plain, */*",
          "Accept-Language": "en-US,en;q=0.9",
          "Referer": "https://script.tokaudit.io/",
          "Origin": "https://script.tokaudit.io",
          "Sec-Ch-Ua": '"Not A(Brand)";v="8", "Chromium";v="132"',
          "Sec-Ch-Ua-Mobile": "?1",
          "Sec-Ch-Ua-Platform": "Android",
          "Sec-Fetch-Dest": "empty",
          "Sec-Fetch-Mode": "cors",
          "Sec-Fetch-Site": "cross-site"
        }
      }
    );
    
    return data.subtitles;
  } catch (error) {
    console.error("Error fetching TikTok transcript:", error);
    throw error;
  }
}