Fitur Search - Detail - Download [ APK ]

by BiyuOffc
44 Raw
case 'apk': {
  if (!q) return m.reply('Contoh:\n.apk search Mobile Legends\n.apk detail \n.apk download ')
  let [cmd, ...args] = q.split(' ')
  let text = args.join(' ')

  switch (cmd.toLowerCase()) {
    case 'search':
      if (!text) return m.reply('Contoh: .apk search Mobile Legends')
      try {
        let res = await fetch(`https://www.velyn.biz.id/api/search/apk4freesearch?query=${encodeURIComponent(text)}`)
        let data = await res.json()
        if (!data.status || !data.result || data.result.length === 0) return m.reply('Tidak ditemukan hasil.')
        let teks = `*Hasil Pencarian APK untuk:* ${text}\n\n`
        for (let i = 0; i < data.result.length; i++) {
          let apk = data.result[i]
          teks += `*${i + 1}. ${apk.title || '-'}*\n`
          teks += `Developer: ${apk.developer || '-'}\n`
          teks += `Versi: ${apk.version || '-'}\n`
          teks += `Rating: ${apk.rating || '-'}\n`
          teks += `Link: ${apk.link || '-'}\n\n`
        }
        let thumb = data.result[0].image || null
        conn.sendMessage(m.chat, {
          image: { url: thumb },
          caption: teks,
        }, { quoted: m })
      } catch (e) {
        console.error(e)
        m.reply('Terjadi kesalahan saat mencari APK.')
      }
      break

    case 'detail':
      if (!text) return m.reply('Contoh: .apk detail https://apk4free.net/mobile-legends/')
      try {
        let res = await fetch(`https://www.velyn.biz.id/api/search/apk4freedetail?url=${encodeURIComponent(text)}`)
        let data = await res.json()
        if (!data.status || !data.result) return m.reply('Detail APK tidak ditemukan.')
        const d = data.result
        let caption = `*${d.title || 'Tanpa Judul'}*\n\n`
        caption += `*Versi:* ${d.version || '-'}\n`
        caption += `*Genre:* ${d.genre || '-'}\n`
        caption += `*Developer:* ${d.developer || '-'}\n`
        caption += `*Rating:* ${d.rating || '-'} (${d.votes || '-'} suara)\n`
        caption += `*Requirement:* Android ${d.requirements || '-'}\n`
        caption += `*Total Download:* ${d.downloads || '-'}\n`
        caption += `*Playstore:* ${d.playstore || '-'}\n`
        caption += `*Download Link:* ${d.download || '-'}\n\n`
        caption += `*Deskripsi Singkat:*\n${d.description || '-'}\n\n`
        caption += `*Yang Baru:*\n${d.whatsnew || '-'}`

        await conn.sendMessage(m.chat, {
          image: { url: d.icon || '' },
          caption,
        }, { quoted: m })

        if (Array.isArray(d.images) && d.images.length > 0) {
          for (let img of d.images) {
            await conn.sendMessage(m.chat, {
              image: { url: img },
              caption: 'Screenshot',
            }, { quoted: m })
          }
        }

        if (Array.isArray(d.related) && d.related.length > 0) {
          let teks = `*Rekomendasi APK Terkait:*\n\n`
          for (let rel of d.related) {
            teks += `• *${rel.title || '-'}*\n`
            teks += `Developer: ${rel.developer || '-'}\n`
            teks += `Versi: ${rel.version || '-'}\n`
            teks += `Rating: ${rel.rating || '-'}\n`
            teks += `Link: ${rel.link || '-'}\n\n`
          }
          await m.reply(teks)
        }
      } catch (e) {
        console.error(e)
        m.reply('Gagal mengambil detail APK.')
      }
      break

    case 'download': case 'dowload': 
      if (!text) return m.reply('Contoh: .apk download https://apk4free.net/pubg-mobile/download/')
      try {
        const axios = require('axios')
        const res = await axios.get(`https://www.velyn.biz.id/api/search/apk4freedownload?url=${text}`)
        const data = res.data
        if (!data.status) return m.reply('Gagal mengambil data APK!')
        const apk = data.result

        const caption = `*APK DITEMUKAN!*\n\n` +
                        `*Title:* ${apk.title}\n` +
                        `*Package:* ${apk.package}\n` +
                        `*Version:* ${apk.version}\n` +
                        `*Size:* ${apk.size || 'Tidak tersedia'}\n` +
                        `*Requirements:* ${apk.requirements}\n\n` +
                        `*Link Download:*\n${apk.url}`
        await conn.sendMessage(m.chat, {
          text: caption,
          contextInfo: {
            externalAdReply: {
              title: apk.title,
              body: "Download APK Gratis",
              thumbnailUrl: 'https://img12.pixhost.to/images/1545/585982689_biyuofficial.jpg', 
              mediaType: 1,
              mediaUrl: apk.url,
              sourceUrl: apk.url
            }
          }
        }, { quoted: m })
        await conn.sendMessage(m.chat, {
          document: { url: apk.url },
          mimetype: 'application/vnd.android.package-archive',
          fileName: `${apk.title.replace(/\s+/g, '_')}.apk`
        }, { quoted: m })
      } catch (e) {
        console.log(e)
        m.reply('Terjadi kesalahan, coba lagi nanti.')
      }
      break

    default:
      m.reply('Subperintah tidak dikenali!\nGunakan:\n.apk search \n.apk detail \n.apk download ')
  }
}
break