/* šŸ“Œ 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