Changed the way you choose the proxy and added --listproxy
Signed-off-by: loicbersier <loic.bersier1@gmail.com>
This commit is contained in:
parent
fb0d1b405c
commit
8abe1bd25c
1 changed files with 36 additions and 5 deletions
|
@ -17,7 +17,8 @@ class DownloadCommand extends Command {
|
||||||
type: 'url',
|
type: 'url',
|
||||||
prompt: {
|
prompt: {
|
||||||
start: 'Please send the URL of which video you want to download. Say `cancel` to stop the command',
|
start: 'Please send the URL of which video you want to download. Say `cancel` to stop the command',
|
||||||
retry: 'Please send a valid URL of the video you want to download. Say `cancel` to stop the command'
|
retry: 'Please send a valid URL of the video you want to download. Say `cancel` to stop the command',
|
||||||
|
optional: true
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -32,22 +33,52 @@ class DownloadCommand extends Command {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'proxy',
|
id: 'proxy',
|
||||||
|
match: 'option',
|
||||||
|
flag: ['--proxy'],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'listproxy',
|
||||||
match: 'flag',
|
match: 'flag',
|
||||||
flag: ['--proxy']
|
flag: ['--listproxy', '--proxylist']
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
description: {
|
description: {
|
||||||
content: 'Download videos from different website from the link you provided, use "-s" to make the vid a spoiler',
|
content: 'Download videos from different website from the link you provided, use `-s` to make the vid a spoiler, `--proxy #` to select a proxy, `--listproxy` to see a list of proxy',
|
||||||
usage: '[link] [caption]',
|
usage: '[link] [caption]',
|
||||||
examples: ['https://www.youtube.com/watch?v=6n3pFFPSlW4 Look at this funny gnome']
|
examples: ['https://www.youtube.com/watch?v=6n3pFFPSlW4 Look at this funny gnome', 'https://www.youtube.com/watch?v=6n3pFFPSlW4 --proxy 1']
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async exec(message, args) {
|
async exec(message, args) {
|
||||||
|
if (!args.link) return message.channel.send('Please try again with a valid URL.');
|
||||||
|
|
||||||
|
if (args.listproxy) {
|
||||||
|
let proxys = [];
|
||||||
|
|
||||||
|
let i = 0;
|
||||||
|
proxy.forEach(proxy => {
|
||||||
|
i++;
|
||||||
|
proxys.push(`[${i}] ${ proxy.hidden ? '[IP HIDDEN]' : proxy.ip.substring(0, proxy.ip.length - 5)} - ${proxy.country}`);
|
||||||
|
});
|
||||||
|
|
||||||
|
const Embed = this.client.util.embed()
|
||||||
|
.setColor(message.member ? message.member.displayHexColor : 'NAVY')
|
||||||
|
.setTitle('List of available proxy')
|
||||||
|
.setDescription(proxys.join('\n'))
|
||||||
|
.setFooter('You can help me get more proxy by either donating to me or providing a proxy for me');
|
||||||
|
|
||||||
|
return message.channel.send(Embed);
|
||||||
|
}
|
||||||
|
|
||||||
let loadingmsg = await message.channel.send('Downloading <a:loadingmin:527579785212329984>');
|
let loadingmsg = await message.channel.send('Downloading <a:loadingmin:527579785212329984>');
|
||||||
let filename = `${message.id}_video`;
|
let filename = `${message.id}_video`;
|
||||||
|
|
||||||
|
if (args.proxy) {
|
||||||
|
args.proxy = args.proxy -1;
|
||||||
|
if (!proxy[args.proxy]) args.proxy = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (args.spoiler) {
|
if (args.spoiler) {
|
||||||
filename = `SPOILER_${message.id}_video`;
|
filename = `SPOILER_${message.id}_video`;
|
||||||
}
|
}
|
||||||
|
@ -58,7 +89,7 @@ class DownloadCommand extends Command {
|
||||||
.setDescription(args.caption ? args.caption : '')
|
.setDescription(args.caption ? args.caption : '')
|
||||||
.setFooter(`You can get the original video by clicking on the "downloaded by ${message.author.username}" message!`);
|
.setFooter(`You can get the original video by clicking on the "downloaded by ${message.author.username}" message!`);
|
||||||
|
|
||||||
downloader(args.link.href, args.proxy ? ['--proxy', proxy] : null, `${os.tmpdir()}/${filename}.mp4`)
|
downloader(args.link.href, args.proxy ? ['--proxy', proxy[args.proxy].ip] : null, `${os.tmpdir()}/${filename}.mp4`)
|
||||||
.on('error', async err => {
|
.on('error', async err => {
|
||||||
if (err.includes('HTTP Error 429: Too Many Requests')) return message.channel.send('`HTTP Error 429: Too Many Requests.`\nThe website you tried to download from probably has the bot blocked, you can try again with the `--proxy` option and hope it work.');
|
if (err.includes('HTTP Error 429: Too Many Requests')) return message.channel.send('`HTTP Error 429: Too Many Requests.`\nThe website you tried to download from probably has the bot blocked, you can try again with the `--proxy` option and hope it work.');
|
||||||
return message.channel.send(err, { code: true });
|
return message.channel.send(err, { code: true });
|
||||||
|
|
Loading…
Reference in a new issue