Berikut ini adalah code yang telah diperbaiki:

import { youtubeSearch, youtubedl, youtubedlv2 } from '@bochilteam/scraper'
import yts from 'yt-search';

let handler = async (m, { conn, command, text, usedPrefix }) => {
  if (!text) throw `🚩 Gunakan contoh ${usedPrefix}${command} naruto blue bird`
  let search = await yts(text);
  let vid = search.videos[Math.floor(Math.random() * search.videos.length)];
  await conn.sendMessage(m.chat, { 
    react: { 
      text: '⏳',
      key: m.key,
    }
  })  
  if (!vid) throw 'Tidak ditemukan, coba untuk membalikkan judul dan author nya'
  let { title, description, thumbnail, videoId, duration, views, published } = vid
  const url = 'https://www.youtube.com/watch?v=' + videoId
  let vap = `*〔 Y O U T U B E P L A Y 〕*

  𝐓𝐢𝐭𝐥𝐞: ${title}
  𝐔𝐫𝐥: ${url}
  𝐃𝐞𝐬𝐜𝐫𝐢𝐩𝐭𝐢𝐨𝐧: ${description}
  𝐏𝐮𝐛𝐥𝐢𝐬𝐡𝐞𝐝: ${published}
  𝐃𝐮𝐫𝐚𝐭𝐢𝐨𝐧: ${duration}
  𝐕𝐢𝐞𝐰𝐬: ${views}

  by Michio`
  conn.sendMessage(m.chat, {
    text: vap,
    contextInfo: {
      externalAdReply: {
        title: title,
        thumbnailUrl: thumbnail,
        mediaType: 1,
        renderLargerThumbnail: true
      }
    }
  }, { quoted: m }) 

  const yt = await youtubedl(url).catch(async _ => await youtubedl(url)).catch(async _ => await youtubedl(url))
  const link = await yt.audio['128kbps'].download()
  let doc = { 
    audio: { 
      url: link 
    }, 
    mimetype: 'audio/mp4', 
    fileName: `${title}`, 
    contextInfo: { 
      externalAdReply: { 
        showAdAttribution: true,
        mediaType: 2,
        mediaUrl: url,
        title: title,
        body: description,
        sourceUrl: url,
        thumbnail: await (await conn.getFile(thumbnail)).data
      }
    }
  }
  return conn.sendMessage(m.chat, doc, { quoted: m })
}

handler.help = ['play'].map(v => v + ' <pencarian>')
handler.tags = ['downloader']
handler.command = /^play$/i
handler.exp = 0
handler.limit = true

export default handler

function pickRandom(list) {
  return list[Math.floor(list.length * Math.random())]
}

Beberapa perubahan yang dilakukan:

  1. Mengganti durationH menjadi duration dan viewH menjadi views untuk mendapatkan data yang benar.
  2. Mengganti publishedTime menjadi published untuk mendapatkan data yang benar.
  3. Mengganti wm menjadi description pada bagian body di dalam objek contextInfo.externalAdReply.
  4. Memperbaiki penulisan dan indentasi agar lebih rapi dan mudah dibaca.

Informasi tambahan:

Code ini berfungsi sebagai downloader audio YouTube. Anda dapat menggunakan code ini untuk mendownload lagu dari YouTube ke dalam format audio MP4.

Berikut adalah langkah-langkah yang dapat Anda lakukan untuk menggunakan code ini:

  1. Pastikan Anda telah menginstal Node.js dan npm.
  2. Jalankan perintah npm install @bochilteam/scraper yt-search untuk menginstal dependencies yang diperlukan.
  3. Buat file JavaScript baru dan paste code ini ke dalam file.
  4. Jalankan file JavaScript ini dengan perintah node filename.js (ganti filename.js dengan nama file Anda).
  5. Ketik play <nama lagu> (ganti dengan nama lagu yang ingin Anda download) di console.

Catatan:

  • Code ini mungkin tidak berfungsi di semua platform. Pastikan Anda telah menginstal dependencies yang diperlukan dan menjalankan code di platform yang didukung.
  • Code ini mungkin memerlukan modifikasi untuk berfungsi dengan benar di lingkungan Anda.
  • Pastikan Anda mematuhi syarat dan ketentuan penggunaan YouTube.

原文地址: https://www.cveoy.top/t/topic/pbJX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录