Spaces:
Paused
Paused
File size: 1,433 Bytes
8de10f9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
import pkg from "nayan-media-downloader";
const { GDLink } = pkg;
import config from '../../config.cjs';
const gdriveDownload = async (m, Matrix) => {
const prefix = config.PREFIX;
const cmd = m.body.startsWith(prefix) ? m.body.slice(prefix.length).split(' ')[0].toLowerCase() : '';
const text = m.body.slice(prefix.length + cmd.length).trim();
const validCommands = ['gdrive', 'gd', 'gddownload'];
if (validCommands.includes(cmd)) {
if (!text) return m.reply('Please provide a Google Drive URL.');
try {
await m.React('🕘');
const gdriveUrl = text;
const gdriveInfo = await GDLink(gdriveUrl);
if (gdriveInfo && gdriveInfo.status && gdriveInfo.data) {
const mediaUrl = gdriveInfo.data;
const caption = `> © Powered By Ethix-MD`;
// Inferring the file type based on the file extension
const extension = mediaUrl.split('.').pop().toLowerCase();
// Send the media using Matrix.sendMedia
await Matrix.sendMedia(m.from, mediaUrl, extension, caption, m);
await m.React('✅');
} else {
throw new Error('Invalid response from Google Drive.');
}
} catch (error) {
console.error('Error downloading Google Drive file:', error.message);
m.reply('Error downloading Google Drive file.');
await m.React('❌');
}
}
};
export default gdriveDownload;
|