import axios from 'axios'; import cheerio from 'cheerio'; //import {search, download} from 'aptoide-scraper'; const handler = async (m, {conn, usedPrefix, command, text}) => { const apkpureApi = 'https://apkpure.com/api/v2/search?q='; const apkpureDownloadApi = 'https://apkpure.com/api/v2/download?id='; if (!text) throw `โš ๏ธ *๐™€๐™จ๐™˜๐™ง๐™ž๐™—๐™– ๐™š๐™ก ๐™ฃ๐™ค๐™ข๐™—๐™ง๐™š ๐™™๐™š๐™ก ๐˜ผ๐™‹๐™†*` m.react("โŒ›") try { const res = await fetch(`https://api.dorratz.com/v2/apk-dl?text=${text}`); const data = await res.json(); const response = `โ‰ช๏ผค๏ผฅ๏ผณ๏ผฃ๏ผก๏ผฒ๏ผง๏ผก๏ผค๏ผฏ ๏ผก๏ผฐ๏ผซ๏ผณ๐Ÿš€โ‰ซ โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ€ข โ”ƒ๐Ÿ’ซ ๐™‰๐™Š๐™ˆ๐˜ฝ๐™๐™€: ${data.name} โ”ƒ๐Ÿ“ฆ ๐™‹๐˜ผ๐˜พ๐™†๐˜ผ๐™‚๐™€: ${data.package} โ”ƒ๐Ÿ•’ ๐™๐™‡๐™๐™„๐™ˆ๐˜ผ ๐˜ผ๐˜พ๐™๐™๐™‡๐™„๐™•๐˜ผ๐˜พ๐™„๐™Š๐™‰: ${data.lastUpdate} โ”ƒ๐Ÿ’ช ๐™‹๐™€๐™Ž๐™Š: ${data.size} โ”—โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ€ข > *โณ แดฑหขแต–แต‰สณแต‰ แต˜โฟ แตแต’แตแต‰โฟแต—แต’ หขแต˜หข แตƒแต–แต หขแต‰ แต‰หขแต—แตƒ แต‰โฟแต›แถฆแตƒโฟแตˆแต’...*`; await conn.sendFile(m.chat, data.icon, 'error.jpg', response, m, null, fake); const apkSize = data.size.toLowerCase(); if (apkSize.includes('gb') || (apkSize.includes('mb') && parseFloat(apkSize) > 999)) { return await m.reply('*๐™€๐™ก ๐™–๐™ฅ๐™  ๐™š๐™จ ๐™ข๐™ช๐™ฎ ๐™ฅ๐™š๐™จ๐™–๐™™๐™ค.*'); } await conn.sendMessage(m.chat, {document: { url: data.dllink }, mimetype: 'application/vnd.android.package-archive', fileName: `${data.name}.apk`, caption: null }, { quoted: m }); await m.react("โœ…"); } catch { try { const res = await fetch(`${apis}/download/apk?query=${text}`); const data = await res.json(); const apkData = data.data; const response = `โ‰ช๏ผค๏ผฅ๏ผณ๏ผฃ๏ผก๏ผฒ๏ผง๏ผก๏ผค๏ผฏ ๏ผก๏ผฐ๏ผซ๏ผณ๐Ÿš€โ‰ซ โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ€ข โ”ƒ๐Ÿ’ซ ๐™‰๐™Š๐™ˆ๐˜ฝ๐™๐™€: ${apkData.name} โ”ƒ๐Ÿ‘ค ๐˜ฟ๐™€๐™Ž๐˜ผ๐™๐™๐™Š๐™‡๐™‡๐™Š: ${apkData.developer} โ”ƒ๐Ÿ•’ ๐™๐™‡๐™๐™„๐™ˆ๐˜ผ ๐˜ผ๐˜พ๐™๐™๐™‡๐™„๐™•๐˜ผ๐˜พ๐™„๐™Š๐™‰: ${apkData.publish} โ”ƒ๐Ÿ’ช ๐™‹๐™€๐™Ž๐™Š: ${apkData.size} โ”—โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ€ข > *โณ แดฑหขแต–แต‰สณแต‰ แต˜โฟ แตแต’แตแต‰โฟแต—แต’ หขแต˜หข แตƒแต–แต หขแต‰ แต‰หขแต—แตƒ แต‰โฟแต›แถฆแตƒโฟแตˆแต’...*` await conn.sendFile(m.chat, apkData.image, 'error,jpg', response, m, null, fake); if (apkData.size.includes('GB') || parseFloat(apkData.size.replace(' MB', '')) > 999) { return await m.reply('*๐™€๐™ก ๐™–๐™ฅ๐™  ๐™š๐™จ ๐™ข๐™ช๐™ฎ ๐™ฅ๐™š๐™จ๐™–๐™™๐™ค.*') } await conn.sendMessage(m.chat, {document: { url: apkData.download }, mimetype: 'application/vnd.android.package-archive', fileName: `${apkData.name}.apk`, caption: null }, { quoted: m }); await m.react("โœ…") } catch { try { const searchA = await search(text); const data5 = await download(searchA[0].id); let response = `โ‰ช๏ผค๏ผฅ๏ผณ๏ผฃ๏ผก๏ผฒ๏ผง๏ผก๏ผค๏ผฏ ๏ผก๏ผฐ๏ผซ๏ผณ๐Ÿš€โ‰ซ โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ€ข โ”ƒ๐Ÿ’ซ ๐™‰๐™Š๐™ˆ๐˜ฝ๐™๐™€: ${data5.name} โ”ƒ๐Ÿ“ฆ ๐™‹๐˜ผ๐˜พ๐™†๐˜ผ๐™‚๐™€: ${data5.package} โ”ƒ๐Ÿ•’ ๐™๐™‡๐™๐™„๐™ˆ๐˜ผ ๐˜ผ๐˜พ๐™๐™๐™‡๐™„๐™•๐˜ผ๐˜พ๐™„๐™Š๐™‰: ${data5.lastup} โ”ƒ๐Ÿ’ช ๐™‹๐™€๐™Ž๐™Š: ${data5.size} โ”—โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ€ข > *โณ แดฑหขแต–แต‰สณแต‰ แต˜โฟ แตแต’แตแต‰โฟแต—แต’ หขแต˜หข แตƒแต–แต หขแต‰ แต‰หขแต—แตƒ แต‰โฟแต›แถฆแตƒโฟแตˆแต’...*` await conn.sendFile(m.chat, data5.icon, 'akp.jpg', response, m, false, fake) //conn.sendMessage(m.chat, {image: {url: data5.icon}, caption: response}, {quoted: m}); if (data5.size.includes('GB') || data5.size.replace(' MB', '') > 999) { return await m.reply('*๐™€๐™ก ๐™–๐™ฅ๐™  ๐™š๐™จ ๐™ข๐™ช๐™ฎ ๐™ฅ๐™š๐™จ๐™–๐™™๐™ค.*')} await conn.sendMessage(m.chat, {document: {url: data5.dllink}, mimetype: 'application/vnd.android.package-archive', fileName: data5.name + '.apk', caption: null}, {quoted: m}); m.react("โœ…") } catch (e) { m.react(`โŒ`) console.log(e) handler.limit = false }}}} handler.help = ['apk', 'apkmod']; handler.tags = ['downloader']; handler.command = /^(apkmod|apk|modapk|dapk2|aptoide|aptoidedl)$/i; handler.register = true handler.limit = 2 export default handler; async function searchApk(text) { const response = await axios.get(`${apkpureApi}${encodeURIComponent(text)}`); const data = response.data; return data.results; } async function downloadApk(id) { const response = await axios.get(`${apkpureDownloadApi}${id}`); const data = response.data; return data; }