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

103
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 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