I just want it to play the song although it plays the song for about 20 seconds and then stops and gives me the following error:
RequestError: Timeout awaiting 'request' for 30000ms
2021-02-20T07:55:21.000350+00:00 app[worker.1]: at ClientRequest.<anonymous> (/app/node_modules/got/dist/source/core/index.js:953:65)
2021-02-20T07:55:21.000351+00:00 app[worker.1]: at Object.onceWrapper (events.js:422:26)
2021-02-20T07:55:21.000352+00:00 app[worker.1]: at ClientRequest.emit (events.js:327:22)
2021-02-20T07:55:21.000353+00:00 app[worker.1]: at ClientRequest.origin.emit (/app/node_modules/@szmarczak/http-timer/dist/source/index.js:39:20)
2021-02-20T07:55:21.000353+00:00 app[worker.1]: at TLSSocket.socketErrorListener (_http_client.js:469:9)
2021-02-20T07:55:21.000354+00:00 app[worker.1]: at TLSSocket.emit (events.js:315:20)
2021-02-20T07:55:21.000354+00:00 app[worker.1]: at emitErrorNT (internal/streams/destroy.js:106:8)
2021-02-20T07:55:21.000354+00:00 app[worker.1]: at emitErrorCloseNT (internal/streams/destroy.js:74:3)
2021-02-20T07:55:21.000355+00:00 app[worker.1]: at processTicksAndRejections (internal/process/task_queues.js:80:21)
2021-02-20T07:55:21.000356+00:00 app[worker.1]: at Timeout.timeoutHandler [as _onTimeout] (/app/node_modules/got/dist/source/core/utils/timed-out.js:36:25)
2021-02-20T07:55:21.000356+00:00 app[worker.1]: at listOnTimeout (internal/timers.js:556:17)
2021-02-20T07:55:21.000356+00:00 app[worker.1]: at processTimers (internal/timers.js:497:7) {
2021-02-20T07:55:21.000357+00:00 app[worker.1]: name: 'TimeoutError',
2021-02-20T07:55:21.000357+00:00 app[worker.1]: code: 'ETIMEDOUT',
2021-02-20T07:55:21.000358+00:00 app[worker.1]: timings: {
2021-02-20T07:55:21.000358+00:00 app[worker.1]: start: 1613807690995,
2021-02-20T07:55:21.000359+00:00 app[worker.1]: socket: 1613807690995,
2021-02-20T07:55:21.000359+00:00 app[worker.1]: lookup: 1613807690996,
2021-02-20T07:55:21.000360+00:00 app[worker.1]: connect: 1613807690998,
2021-02-20T07:55:21.000360+00:00 app[worker.1]: secureConnect: 1613807691002,
2021-02-20T07:55:21.000360+00:00 app[worker.1]: upload: 1613807691002,
2021-02-20T07:55:21.000361+00:00 app[worker.1]: response: 1613807691027,
2021-02-20T07:55:21.000361+00:00 app[worker.1]: end: undefined,
2021-02-20T07:55:21.000361+00:00 app[worker.1]: error: 1613807720997,
2021-02-20T07:55:21.000362+00:00 app[worker.1]: abort: 1613807720999,
2021-02-20T07:55:21.000362+00:00 app[worker.1]: phases: {
2021-02-20T07:55:21.000363+00:00 app[worker.1]: wait: 0,
2021-02-20T07:55:21.000363+00:00 app[worker.1]: dns: 1,
2021-02-20T07:55:21.000363+00:00 app[worker.1]: tcp: 2,
2021-02-20T07:55:21.000364+00:00 app[worker.1]: tls: 4,
2021-02-20T07:55:21.000364+00:00 app[worker.1]: request: 0,
2021-02-20T07:55:21.000364+00:00 app[worker.1]: firstByte: 25,
2021-02-20T07:55:21.000365+00:00 app[worker.1]: download: undefined,
2021-02-20T07:55:21.000365+00:00 app[worker.1]: total: 30004
2021-02-20T07:55:21.000365+00:00 app[worker.1]: }
2021-02-20T07:55:21.000366+00:00 app[worker.1]: },
2021-02-20T07:55:21.000366+00:00 app[worker.1]: event: 'request'
2021-02-20T07:55:21.000366+00:00 app[worker.1]: }
Here is part of my code were it would of probably errored out or the timeout thingy:
setTimeout(async function() {
dispatcher = connection.play(ytdl(url))
.on('finish', () => {
y = number.get(`y`);
number = editJsonFile(`number/${message.guild.id}.json`);
number.set(`y`, y+1);
number.save();
checker = editJsonFile(`checker/${message.guild.id}.json`);
checker.set(`checker`, checking--);
checker.save();
voiceChannel.leave();
try {
delete require.cache[require.resolve(`./queue.js`)];
let commandFile = require(`./queue.js`);
commandFile.run(client, message, args);
} catch(e) {
console.log(e.stack);
}
})
.on('error', error => {
console.log(error);
});
dispatcher.setVolumeLogarithmic(5 / 5);
message.channel.send("📻 Playing...");
}, 2000);
}
}
I want it to play normally using youtube-dl and not ytdl-core (ytdl is defined as youtube-dl) Any thoughts on how to fix this problem?
Found the Answer: I was using ytdl-core not ytdl-core-discord