Kembali ke katalog plugin
download
mediafire
Unduh file dari link MediaFire
Download a file from a MediaFire link
plugins/download/mediafire.js
Lokasi file di repo kana-md
2
Perintah termasuk alias
2.3 KB
Ukuran file sumber
4/11/2026
Update terakhir, commit 5e7e0e7
Daftar perintah
Ketuk tombol salin untuk menyalin perintah, lalu tempel di chat WhatsApp bot KANA.
.mediafire.mfCara pakai
.mediafire <link mediafire>
Contoh
.mediafire https://www.mediafire.com/file/xxxx/file.zip/file
Kode sumber plugin
Cara pasang: simpan file ini ke folder plugins/download/ di bot KANA kamu, lalu restart bot. Pemilik source code lain bisa mengambil update plugin terbaru dari halaman ini kapan saja.
import { resolveMediafire } from '../../src/scrapers/download/mediafire.js'
import { downloadBuffer } from '../../src/scrapers/runner.js'
import { sendDocument, MAX_DOCUMENT_BYTES } from '../../src/ui/media.js'
export const config = {
name: 'mediafire',
alias: ['mf'],
category: 'download',
description: { id: 'Unduh file dari link MediaFire', en: 'Download a file from a MediaFire link' },
usage: '.mediafire <link mediafire>',
example: '.mediafire https://www.mediafire.com/file/xxxx/file.zip/file',
cooldown: 15,
limit: 3,
}
export const i18n = {
id: {
mediafire: {
needUrl: 'Kirim link MediaFire-nya dulu yaa, contoh: .mediafire https://www.mediafire.com/file/...~',
working: 'Sebentar, KANA ambilin filenya dari MediaFire dulu... {mood}',
failed: 'Mouu, gagal ambil filenya: {message}. Pastikan linknya benar dan filenya masih ada ya~',
tooBig: 'Aduh, filenya kegedean buat dikirim lewat WhatsApp (di atas 64 MB)~',
caption: '{fileName}',
},
},
en: {
mediafire: {
needUrl: 'Send the MediaFire link first, example: .mediafire https://www.mediafire.com/file/...~',
working: 'One sec, KANA is fetching the file from MediaFire... {mood}',
failed: 'Mouu, failed to fetch the file: {message}. Make sure the link is correct and the file still exists~',
tooBig: 'Oops, the file is too big to send over WhatsApp (over 64 MB)~',
caption: '{fileName}',
},
},
}
export const test = { input: '.mediafire http://www.mediafire.com/file/rqhuey1ouz6z4aq/VervalNoPonsel_04092020_publik.pdf/file', expect: /VervalNoPonsel/i }
export async function handler(ctx) {
const raw = ctx.args[0]
if (!raw) return ctx.reply(ctx.t('mediafire.needUrl'))
await ctx.reply(ctx.t('mediafire.working', { mood: ctx.say('mikir') }))
let resolved
let media
try {
resolved = await resolveMediafire(raw)
media = await downloadBuffer(resolved.directUrl, { maxBytes: MAX_DOCUMENT_BYTES, timeout: 120000 })
} catch (err) {
if (err.code === 'TOO_BIG') return ctx.reply(ctx.t('mediafire.tooBig'))
return ctx.reply(ctx.t('mediafire.failed', { message: err.message }))
}
await sendDocument(ctx, media.buffer, {
fileName: resolved.fileName,
mimetype: media.contentType || undefined,
caption: ctx.t('mediafire.caption', { fileName: resolved.fileName }),
})
}
