use proxy on Hapi too

This commit is contained in:
supositware 2021-09-13 15:46:28 +02:00
parent 0c6af04fd3
commit 2261105368

View file

@ -115,13 +115,23 @@ class DownloadCommand extends Command {
const params = new URLSearchParams(); const params = new URLSearchParams();
params.append('url', args.link.href); params.append('url', args.link.href);
params.append('proxy', proxy[args.proxy].ip);
fetch(`${Hapi}/download`, {method: 'POST', body: params}) fetch(`${Hapi}/download`, {method: 'POST', body: params})
.then(async res => { .then(async res => {
console.log(`status is ${res.status}`); console.log(`status is ${res.status}`);
if (res.status !== 200) { if (res.status !== 200) {
console.log('Status is not 200. Abort'); console.log('Status is not 200. Abort');
return message.channel.send('An error has occurred.');
if (args.proxy != null) {
args.proxy = args.proxy + 1;
} else {
args.proxy = 0;
args.proxyAuto = true;
}
if (!proxy[args.proxy]) return message.channel.send('`HTTP Error 429: Too Many Requests.`\nThe website you tried to download from probably has the bot blocked along with its proxy');
return this.client.commandHandler.runCommand(message, this.client.commandHandler.findCommand('download'), args);
} }
if (res.headers.get('content-type') === 'application/json; charset=utf-8') { // If we receive JSON it mean it started compressing the video if (res.headers.get('content-type') === 'application/json; charset=utf-8') { // If we receive JSON it mean it started compressing the video
@ -200,6 +210,7 @@ class DownloadCommand extends Command {
} }
}); });
} else { // No Hapi server, let the bot download it } else { // No Hapi server, let the bot download it
console.log('[Download] Hapi is not online.');
if (args.proxy && !args.proxyAuto) { // args.proxyAuto is only provided when the command is run after a error 429 if (args.proxy && !args.proxyAuto) { // args.proxyAuto is only provided when the command is run after a error 429
args.proxy = args.proxy - 1; args.proxy = args.proxy - 1;
if (!proxy[args.proxy]) args.proxy = 0; if (!proxy[args.proxy]) args.proxy = 0;