If I let several minutes go by without answering I get this error:
(node:14012) UnhandledPromiseRejectionWarning: # (node:14012) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:14012) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
How could fix it? I want the time to answer not affect. I try putting "catch" but it doesn't work.
const Discord = require("discord.js");
const Client = require("../src/structures/client");
module.exports = {
name: `quiz`,
aliases: 'q',
/**
* @param {Client} client
* @param {Message} message
* @param {String[]} args
*/
run: async (client, message, args) => {
const preguntas = ['Puedo explicar mis acciones :', 'Las personas no me ven como yo me veo a mi mismo/misma :', 'Pienso en las emociones que conllevan mis acciones : ', "Puedo identificar normalmente mis sentimientos :", "Cada día dedico algo de tiempo a la reflexión", "Puedo mantener la calma, incluso en circunstancias difíciles :", "Soy propenso/propensa a controlar los arrebatos de ira :", "No suelo sentirme desgraciado/desgraciada :", "Me siento calmado y pacífico con las cosas, otras personas o incluso conmigo mismo/misma :", "Suelo controlarme y evitar hacer cosas de las que me arrepiento :", "Generalmente tengo una idea precisa de cómo me perciben las personas con las que interactuo :", "Puedo interactuar con los demás bastante bien :", "Encuentro sencillo entender como se sienten los demás :", "Puedo mostrar empatía y hacer coincidir mis sentimientos con los de otra persona durante una interacción :", "Observo cómo reaccionan los demás para entenderles :", "Admito los errores y me disculpo fácilmente :", "Los demás se sienten bien después de hablar conmigo :", "Puedo reaccionar con calma y sensibilidad ante las emociones de los demás :", "Los demás me respetan y me estiman, incluso cuando no están de acuerdo conmigo :", "Puedo persuadir a los demás para que adopten mi punto de vista. sin coaccionarlos :"];
const respuestas = `1 ) Nunca
2 ) Casi nunca
3 ) A veces
4 ) Usualmente
5 ) Siempre`
const time = 50;
var autoconciencia = [];
var autogestion = [];
var concienciasocial = [];
var relaciones = [];
var i = 0;
function resultados(array1, array2, array3, array4) {
var resultado_autoconciencia = 0;
var resultado_autogestion = 0;
var resultado_concienciasocial = 0;
var resultado_relaciones = 0;
var evaluacion;
for (var i = 0; i < array1.length; i++) {
resultado_autoconciencia = resultado_autoconciencia + array1[i]
}
for (var i = 0; i < array2.length; i++) {
resultado_autogestion = resultado_autogestion + array2[i]
}
for (var i = 0; i < array3.length; i++) {
resultado_concienciasocial = resultado_concienciasocial + array3[i]
}
for (var i = 0; i < array4.length; i++) {
resultado_relaciones = resultado_relaciones + array4[i]
}
if (resultado_autoconciencia < 17 || resultado_autogestion < 17 || resultado_concienciasocial < 17 || resultado_relaciones < 17) {
evaluacion = "Lo sentimos, no has conseguido el rol-SOPORTE";
} else {
evaluacion = "Enhorabuena!!!, has conseguido el rol-SOPORTE";
// console.log(message.guild.roles);
// console.log(message.guild.roles.cache.find(r => r.name === 'SOPORTE'));
let role = message.guild.roles.cache.find(r => r.name === 'SOPORTE');
if (role) message.member.roles.add(role);
}
return {
resultado_autoconciencia,
resultado_autogestion,
resultado_concienciasocial,
resultado_relaciones,
evaluacion
};
}
function pusharrays(reaction, array) {
switch (reaction) {
case '1️⃣':
array.push(1);
break;
case '2️⃣':
array.push(2);
break;
case '3️⃣':
array.push(3);
break;
case '4️⃣':
array.push(4);
break;
case '5️⃣':
array.push(5);
break;
}
}
nextquestion(i);
function nextquestion(i) {
if (i < preguntas.length) {
message.channel.send(new Discord.MessageEmbed().setAuthor(`${i+1}: ${preguntas[i]}`, message.client.user.avatarURL).setDescription(`${respuestas}`).setColor('#ffdb26')).then(async msg => {
await msg.react('1️⃣');
await msg.react('2️⃣');
await msg.react('3️⃣');
await msg.react('4️⃣');
await msg.react('5️⃣');
const filter = (reaction, user) => {
return ['1️⃣', '2️⃣', '3️⃣', '4️⃣', '5️⃣'].includes(reaction.emoji.name) && !user.bot;
};
msg.awaitReactions(filter, {
max: 1,
time: time * 1000,
errors: ['time']
}).then(collected => {
var reaction = collected.first().emoji.name;
var challanger = collected.first().users.cache.last();
if (reaction) {
if (i == 0 || i == 1 || i == 2 || i == 3 || i == 4) {
pusharrays(reaction, autoconciencia);
i++;
nextquestion(i);
} else if (i == 5 || i == 6 || i == 7 || i == 8 || i == 9) {
pusharrays(reaction, autogestion);
i++;
nextquestion(i);
} else if (i == 10 || i == 11 || i == 12 || i == 13 || i == 14) {
pusharrays(reaction, concienciasocial);
i++;
nextquestion(i);
} else if (i == 15 || i == 16 || i == 17 || i == 18 || i == 19) {
pusharrays(reaction, relaciones);
i++;
nextquestion(i);
}
}
})
})
} else {
let resultado = resultados(autoconciencia, autogestion, concienciasocial, relaciones);
message.channel.send(new Discord.MessageEmbed().setColor('#ffdb26').setThumbnail("https://cdn.discordapp.com/icons/814901488726835261/19e955580ad014d50ec8fde47669696f.webp").setTitle(`${resultado.evaluacion}`).addField("PUNTAJE AUTOCONCIENCIA : ", `${resultado.resultado_autoconciencia}`).addField("PUNTAJE AUTOGESTIÓN : ", `${resultado.resultado_autogestion}`, " ", " ").addField("PUNTAJE CONCIENCIA SOCIAL : ", `${resultado.resultado_concienciasocial}`).addField("PUNTAJE RELACIONES : ", `${resultado.resultado_relaciones}`).setFooter("por: ꧁BOT_DESPACHO_D꧂", 'https://cdn.discordapp.com/icons/814901488726835261/19e955580ad014d50ec8fde47669696f.webp')).then(async msg => {
await msg.react('????');
const filter = (reaction, user) => {
return ['????'].includes(reaction.emoji.name) && !user.bot;
};
msg.awaitReactions(filter, {
max: 1,
time: time * 1000,
errors: ['time']
}).then(collected => {
var reaction = collected.first().emoji.name;
var challanger = collected.first().users.cache.last();
if (reaction == "????") {
message.channel.bulkDelete(22);
}
})
})
}
}
}
}