projek3 / plugins /play.js
devstok's picture
Upload folder using huggingface_hub
47ab1ce verified
const axios = require("axios");
const yts = require("yt-search");
const fs = require("fs");
let handler = async (m, { conn, usedPrefix, command, text }) => {
// Memastikan ada input teks
if (!text) {
throw `*• Contoh :* ${usedPrefix + command} *<query>*`;
}
m.reply("Tunggu sebentar...");
let videoUrl;
// Mencari video berdasarkan teks
let result = await yts(text);
videoUrl = result.videos[0]?.url; // Ambil URL video pertama
if (!videoUrl) {
return m.reply("Tidak ada video ditemukan dengan pencarian tersebut.");
}
// Encode URL untuk digunakan dalam permintaan API
const encodedUrl = encodeURIComponent(videoUrl);
const apiUrl = `https://Ikygantengbangetanjay-api.hf.space/yt?query=${encodedUrl}`;
try {
console.log(`Mengirim permintaan ke API: ${apiUrl}`); // Log URL API
let response = await axios.get(apiUrl);
console.log(`Respons dari API:`, response.data); // Log respons dari API
let data = response.data;
// Memeriksa apakah hasil valid
if (!data.success || !data.result) {
return m.reply("Tidak ada hasil ditemukan.");
}
let videoData = data.result;
let cap = `*乂 Y T M P 3 - P L A Y*\n\n` +
`◦ Judul : ${videoData.title}\n` +
`◦ Link Video : ${videoData.url}\n` +
`◦ Durasi : ${videoData.timestamp}\n` +
`◦ Penulis : ${videoData.author.name}\n` +
`◦ Views : ${videoData.views}\n` +
`◦ Diunggah : ${videoData.ago}`;
await conn.sendMessage(m.chat, { text: cap }, { quoted: m });
// Mengunduh audio
const audioResponse = await axios.get(videoData.download.audio, { responseType: 'arraybuffer' });
const audioBuffer = Buffer.from(audioResponse.data, 'binary');
// Mengunduh thumbnail
const thumbnailResponse = await axios.get(videoData.thumbnail, { responseType: 'arraybuffer' });
const thumbnailBuffer = Buffer.from(thumbnailResponse.data, 'binary');
// Kirim audio sebagai dokumen dengan thumbnail
await conn.sendMessage(m.chat, {
document: audioBuffer,
mimetype: 'audio/mpeg',
fileName: `${videoData.title}.mp3`,
caption: cap,
contextInfo: {
externalAdReply: {
title: "乂 Y T M P 3 - P L A Y",
body: videoData.title,
mediaType: 2,
sourceUrl: videoData.url,
mediaUrl: videoData.url,
thumbnailUrl: videoData.thumbnail || "", // Thumbnail untuk tampilan
renderLargerThumbnail: true
}
}
}, { quoted: m });
} catch (error) {
console.error("Terjadi kesalahan:", error); // Log kesalahan
m.reply("Terjadi kesalahan saat mengunduh audio. Silakan periksa log untuk detail.");
}
}
handler.help = ["ytmp3", "yta", "play"].map(a => a + " *[query]*");
handler.tags = ["downloader"];
handler.command = ["ytmp3", "yta", "play"];
handler.premium = 50
module.exports = handler;