𝐃𝐀𝐑𝐑𝐄𝐋𝐋 πŒπ”π‚π‡π„π‘πˆ ⚑ commited on
Commit
c4e245d
Β·
unverified Β·
1 Parent(s): a34117c

Update dl-mediafire.js

Browse files
Files changed (1) hide show
  1. plugins/dl-mediafire.js +81 -1
plugins/dl-mediafire.js CHANGED
@@ -6,8 +6,87 @@ const axios = require("axios");
6
 
7
 
8
 
9
-
10
  cmd({
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  pattern: 'mediafirepro',
12
  desc: 'Download MediaFire files',
13
  category: 'download',
@@ -69,3 +148,4 @@ cmd({
69
  reply(`*An error occurred while processing your request. Please try again later.*\n\nError details: ${error.message}\n${error.stack}`);
70
  }
71
  });
 
 
6
 
7
 
8
 
 
9
  cmd({
10
+ pattern: 'mediafirep',
11
+ desc: 'Download MediaFire files',
12
+ category: 'download',
13
+ filename: __filename
14
+ }, async (conn, mek, m, {
15
+ body,
16
+ from,
17
+ quoted,
18
+ isCmd,
19
+ command,
20
+ args,
21
+ q,
22
+ isGroup,
23
+ sender,
24
+ senderNumber,
25
+ botNumber2,
26
+ botNumber,
27
+ pushname,
28
+ isMe,
29
+ isOwner,
30
+ groupMetadata,
31
+ groupName,
32
+ participants,
33
+ groupAdmins,
34
+ isBotAdmins,
35
+ isAdmins,
36
+ reply
37
+ }) => {
38
+ try {
39
+ const text = body.trim().replace(command, '').trim();
40
+ if (!text) return reply(`*Example*: ${command} https://www.mediafire.com/file/n6tgcrktbnov1oy/Queen_Anita-V4.zip/file`);
41
+
42
+ await reply('> *Processing...*');
43
+
44
+ const apiUrl = `https://api.davidcyriltech.my.id/mediafire?url=${encodeURIComponent(text)}`;
45
+
46
+ let retries = 0;
47
+ const maxRetries = 3;
48
+ const retryDelay = 500; // 500ms
49
+
50
+ while (retries < maxRetries) {
51
+ try {
52
+ const apiResponse = await axios.get(apiUrl);
53
+ console.log('API response:', apiResponse);
54
+
55
+ if (apiResponse.data && apiResponse.data.downloadLink) {
56
+ const { fileName, mimeType, downloadLink } = apiResponse.data;
57
+
58
+ await conn.sendMessage(m.chat, {
59
+ document: { url: downloadLink },
60
+ mimetype: mimeType,
61
+ fileName: fileName,
62
+ caption: `πŸ“¦ *File Name:* ${fileName}\n\n> α΄˜α΄α΄‘α΄‡Κ€α΄‡α΄… ʙʏ α΄…α΄€α΄ Ιͺα΄… ᴄʏʀΙͺʟ α΄›α΄‡α΄„Κœ`
63
+ }, { quoted: m });
64
+ return;
65
+ } else {
66
+ reply(`*Failed to fetch file details! Please check the MediaFire URL and try again.*`);
67
+ return;
68
+ }
69
+ } catch (error) {
70
+ console.error('Error fetching API response:', error);
71
+ if (error.response && error.response.status === 500) {
72
+ retries++;
73
+ await new Promise(resolve => setTimeout(resolve, retryDelay));
74
+ } else {
75
+ reply(`*Error fetching API response: ${error.message}*`);
76
+ return;
77
+ }
78
+ }
79
+ }
80
+
81
+ reply(`*Failed to fetch API response after ${maxRetries} retries.*`);
82
+ } catch (error) {
83
+ console.error('Error during MediaFire command:', error);
84
+ reply(`*An error occurred while processing your request. Please try again later.*\n\nError details: ${error.message}\n${error.stack}`);
85
+ }
86
+ });
87
+
88
+
89
+ /*cmd({
90
  pattern: 'mediafirepro',
91
  desc: 'Download MediaFire files',
92
  category: 'download',
 
148
  reply(`*An error occurred while processing your request. Please try again later.*\n\nError details: ${error.message}\n${error.stack}`);
149
  }
150
  });
151
+ */