He estado trabajando en mi sistema de tickets y su proceso de registro de transcripciones, y un día comenzó a aparecer este error y las transcripciones comenzaron a fallar en el envío. Esto no solía ser una cosa antes. El error completo es:
[Error Handling System] Multiple Resolves reject Promise { <rejected> AbortError: The user aborted a request. at abort (/PC/Bot/bot/node_modules/discord.js/node_modules/node-fetch/lib/index.js:1448:16) at EventTarget.abortAndFinalize (/PC/Bot/bot/node_modules/discord.js/node_modules/node-fetch/lib/index.js:1463:4) at EventTarget.[nodejs.internal.kHybridDispatch] (node:internal/event_target:460:20) at EventTarget.dispatchEvent (node:internal/event_target:405:26) at abortSignal (node:internal/abort_controller:97:10) at AbortController.abort (node:internal/abort_controller:122:5) at Timeout.<anonymous> (/PC/Bot/bot/node_modules/discord.js/src/rest/APIRequest.js:72:49) at listOnTimeout (node:internal/timers:557:17) at processTimers (node:internal/timers:500:7) { type: 'aborted' } }mi código es:
setTimeout(() => { interaction.channel.delete({ reason: `[Ticket System] Ticket Closed` }).then(async ch => { const mdb = require('./../models/tickets') mdb.findOne({ Channel: ch.id }, async (err, data) => { if (err) throw err; if (data) { const openedBy = interaction.guild.members.cache.get(ch.topic.split(" ").splice(1).toString()) fs.writeFileSync(`../${ch.name} - ${ch.id}.txt`, data.Content.join("\n\n")) let embed = new Discord.MessageEmbed() .setTitle("Ticket Closed") .addField("<:ticket1:872962350473433089> Ticket Name", `${ch.name} (${ch.id})`) .addField(`<:person:890913045457563718> Opened By`, `${openedBy}`) .addField("<:admin:872930262516908113> Closed By", `${interaction.user} (${interaction.user.id})`) .addField(`<:open:914148680959934514> Open Time`, `<t:${moment(ch.createdTimestamp).format("X")}>`) .setTimestamp() .setFooter({ text: `ID: ${uuidv4()}` }) const atta = new Discord.MessageAttachment(fs.createReadStream(`../${ch.name}-${ch.id}.txt`)) const logChannel = client.channels.cache.get(transcripts_channel); logChannel.send({ embeds: [embed], files: [atta] }) mdb.findOneAndDelete({ Channel: ch.id }) } }) }) }, 10000)Intenté eliminar partes de MongoDB, intenté disminuir el tiempo de espera y muchos más... Ninguno de ellos ayudó.
¡Gracias por adelantado!
Ese es un error de la API de Discord, Discord recibe una solicitud de discord.js pero tarda demasiado en procesarse, por lo que se cancela. Para obtener más información, este problema y esta solicitud de extracción de discord.js.
Etiqueta del servidor oficial discord.js:
AbortError: The user aborted a request.
Una solicitud tomó más tiempo que el restRequestTimeout especificado (valor predeterminado de 15 segundos) y se anuló para no bloquear el controlador de solicitudes.
• Esto puede deberse a un error interno del servidor del lado de Discord o simplemente a una conexión lenta.
• En caso de una conexión lenta, la opción restRequestTimeout en ClientOptions se puede aumentar para evitar futuros AbortErrors.
Verifique que su Internet sea estable y que Discord no tenga ningún problema (página de estado) . ¿Puedes visitar https://discord.com/app en tu navegador? ¿Tienes un proxy o VPN habilitado?
Si aún sucede, puede probar la segunda opción, que es cambiar el restRequestTimeout en su constructor de Cliente.
const client = new Client({ restRequestTimeout: 60000 // change the timeout to 1 minute // other options like your intents... });