/*
š Nama Fitur: Play
š·ļø Type : Plugin ESM
š Sumber : -
š Sumber Api : https://api.alfixd.my.id
āļø By AlfiXD
*/
import axios from 'axios'
import yts from 'yt-search'
let handler = async (m, { conn, args, text, command }) => {
if (!text) return m.reply(`*Contoh:* ${command} god of war short`)
m.reply(wait)
try {
let search = await yts(text)
let video = search.videos[0]
if (!video) return m.reply('Video tidak ditemukan, coba kata kunci lain.')
const api = `https://api.alfixd.my.id/api/ytdl?url=${encodeURIComponent(video.url)}&format=mp3`;
const res = await axios.get(api)
const result = res.data?.result
if (!result?.download_url) return m.reply('Gagal mendapatkan URL audio.')
// await conn.sendMessage(m.chat, {
// image: { url: result.thumbnail },
let caption =`⢠*Title:* ${video.title}\n⢠*Duration:* ${video.timestamp}\n⢠*Upload at:* ${video.ago}\n⢠*Descriptions:* ${video.description}\n⢠*Views:* ${video.views}\n⢠*Link:* ${video.url}\n\n> Mohon tunggu, audio sedang dikirim...`
// }, { quoted: m });
await conn.relayMessage(m.chat, {
extendedTextMessage: {
text: caption,
contextInfo: {
externalAdReply: {
title: video.title,
mediaType: 1,
previewType: 0,
renderLargerThumbnail: true,
thumbnailUrl: video.image,
sourceUrl: video.url
}
},
mentions: [m.sender]
}
}, {});
await conn.sendMessage(m.chat, {
audio: { url: result.download_url },
mimetype: "audio/mpeg"
contextInfo: {
externalAdReply: {
title: result.title,
body: "",
thumbnailUrl: video.image,
sourceUrl: video.url,
mediaType: 1,
showAdAttribution: true,
renderLargerThumbnail: true
}
}
}, {
quoted: m
});
} catch (e) {
console.error(e)
m.reply(`Terjadi kesalahan saat memproses permintaan. Coba lagi nanti. ${e.message}`)
}
};
handler.help = ['play'].map(v => v + ' ')
handler.command = ['play']
handler.tags = ['downloader']
export default handler