Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

330
Vistas
discord.js DiscordAPIError: mensaje desconocido

Tengo una matriz que estoy recorriendo a través de reacciones en una inserción. Cuando se presiona una reacción, el mensaje debe eliminarse y la función vuelve a repetirse. En la segunda pulsación de reacción, recibo este error:

 (node:12908) UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown Message

En cada pulsación de reacción después de la primera, la cantidad de este error impreso se duplica.

Código:

 function movieChoiceEmbed(movies, message, count) { pagecount = count; message.channel.send({embed: { color: '#D733FF', title: 'Choose movie', fields: [ { name: movies[pagecount].title, value: movies[pagecount].description, inline: true, }, { name: movies[pagecount+1].title, value: movies[pagecount+1].description, inline: true, }, { name: '\u200b', value: '\u200b', inline: false, }, { name: movies[pagecount+2].title, value: movies[pagecount+2].description, inline: true, }, { name: movies[pagecount+3].title, value: movies[pagecount+3].description, inline: true, }, ], timestamp: new Date(), footer: { icon_url: client.user.displayAvatarURL(), text: 'Andrea Gafa' } }}) .then(sentEmbed => { sentEmbed.react("⏪"); sentEmbed.react("⏩"); }) .catch(); client.on("messageReactionAdd", async (reaction, user) => { // When a reaction is added if(user.bot) return; if(reaction.emoji.name == "⏪") { await reaction.message.delete(); count -= 4; movieChoiceEmbed(movies, message, count); }else if(reaction.emoji.name == "⏩") { await reaction.message.delete(); count += 4; movieChoiceEmbed(movies, message, count); } return; }); }

Intenté eliminar el último mensaje con el mismo resultado:

 await message.channel.lastMessage.delete();

¿Cualquier pista? Estoy bastante perdido aquí.

Editar:

El evento messagereactionadd que está dentro de la función parece ser el problema. Ponerlo fuera soluciona el problema.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

su error se debe a que está recibiendo una promesa que no se detecta. Tiene varias llamadas que son asíncronas y que devuelven promesas, una o más de ellas están causando un error. Les agregaría bloques de captura, y luego esto lo ayudará a aislar dónde radica su problema. Por ejemplo:

 await reaction.message.delete();

podría cambiarse a:

 await reaction.message.delete() .then(() { /* do something if interested */ }) .catch(err => { console.error(err); });

agregue esto a todas sus funciones prometidas y sabrá dónde tiene problemas.

Ahora, en cuanto al error en sí, está intentando eliminar un mensaje que, potencialmente, ya se eliminó. ¿Querías eliminar una reacción o un mensaje? Si eliminó un mensaje y luego intenta hacer algo con el mensaje en las llamadas posteriores, entonces ese es el problema.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda