Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

329
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!