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

223
Vistas
Temporizador de cuenta atrás asíncrono

Usando Node.js 16.9.0

¡Hola todos!

Así que en mi servidor de discordia tengo algunos amigos a los que les gusta "Llamar dormidos", pero necesitan que un moderador los desconecte unas horas después de que se duerman. Me gustaría agregar un comando a mi bot de discordia que funcione como ".sleepcall 3h", y luego en 3 horas se desconectarían del VC en el que se encuentran. Mi pensamiento actual es crear una entrada en mi sql db con el desconecte el tiempo (hora actual + tiempo de espera deseado), y luego haga que se ejecute un ciclo cada minuto para ver si alguien necesita ser desconectado. Alguien me mencionó que hay una manera de hacer eso con bucles en lugar de JS, y necesito un poco de dirección para comenzar. Creo que podré hacer todo el código de soporte, pero estoy un poco perdido sobre cómo hacer el temporizador. Soy competente en C++, pero nunca antes había incursionado en lenguajes asincrónicos.

¿Cómo haría una función que, después de ser llamada, esperaría 1 hora (por ejemplo) y luego llamaría a otra función MIENTRAS también es asíncrona que permite que varios temporizadores funcionen a la vez?

Mi sudocódigo:

 //userID = 8 digit integer //timeout = time until disconnect in seconds function disconnect (userID, timeout){ while (timeout >0){ timeout-1 second wait 1 second } if (timeout == 0){ disconnect(userID) } }

Necesitaría varias instancias de la función de cuenta regresiva para poder ejecutarse al mismo tiempo para permitir que varios usuarios usen el bot

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

0

Le recomendaría usar las funciones setTimeout() y clearTimeout() en javascript. Lea más sobre ellos aquí .

Como función de devolución de llamada, proporcionaría su función de desconexión. En la llamada, javascript iniciará el temporizador y, después de la cantidad proporcionada de tiempo de espera, se ejecutará la función de devolución de llamada. La cuenta regresiva ocurrirá detrás de escena (asincrónica) mientras que todas las demás funciones funcionarán normalmente.

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