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

94
Views
¿El filtro awaitMessages no se ejecuta .entonces?

Estoy ejecutando un aviso de dm desde mi bot, donde el jugador debe responder antes de que el bot continúe preguntando. Configuré un filtro para que el bot no detecte ni cuente su propio mensaje, pero no parece estar activando la función ".then()".

Mi código:

 let filter = m => m.author.id != client.user.id channel.awaitMessages(filter, {max: 1, time: 1000*180, errors: ['time']}) .then(msg => { console.log("got to the then") let replymsgobject = msg.first() let reply = replymsgobject.content let checkstringarr = [ "payment", "about", "team", "requirements" ] if (contains("or", reply, checkstringarr)) { channel.send(`Your post doesn't follow the format.`) } else { channel.send(`succesfully set your post message, would you like to add any extra comments?`) let filter = m => m.author.id != client.user.id channel.awaitMessages(filter, {max: 1, time: 1000*120, errors: ['time']}) .then(replymsg => { if (contains("only", replymsg.content, "no")) { //some stuff } else { //some stuff } }) .catch(collectedcatchmsg => { channel.send(`timed out`) }) } }) .catch(collectedcatchmsg => { channel.send(`timed out`) })
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

@Toasty dijo (lo siento, Toasty), "esperará hasta que termine el tiempo". Esto es incorrecto , le dará la promesa una vez que, por ejemplo, se haya alcanzado el máximo de mensajes.

¿Por qué esperaría 3 minutos si obtiene la respuesta requerida en 10 segundos?

Ahora estoy un poco perdido, ¿quieres que el ejecutor de comandos responda a ese recolector de mensajes o no? Porque en este momento su filtro no acepta ningún mensaje enviado por el ejecutor del comando/remitente del mensaje.

Para arreglar esto, simplemente edite su filtro

 const filter = m => m.author.id === message.author.id;

si desea que se recopile el mensaje de otra persona y no los autores del mensaje, entonces haría

 const filter = m => m.author.id !== message.author.id;
about 4 years ago · Juan Pablo Isaza Report

0

¡Resulta que hubo 2 errores! En primer lugar, se suponía que el diccionario de filtros estaba dentro de la tabla con los requisitos, etc. El segundo error fue usar != en lugar de !== Gracias a @Patrik por ayudar aquí!

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!