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

167
Vistas
tiempo de reutilización para el bot de contracción

Quiero que mi bot responda el comando "!ayuda" que la gente escribirá en el chat, pero solo una vez cada 60 segundos

 require('dotenv').config(); const tmi = require('tmi.js'); const client = new tmi.Client({ channels: [ 'test' ], identity: { username: process.env.TWITCH_BOT_USERNAME, password: process.env.TWITCH_OATH_TOKEN } }); client.connect(); client.on('message', (channel, tags, message, self) => { const send = message === "!help" if ( !send ) return; { client.say(channel, `This message shouldn't send more then once eveyr 60 seconds`) } console.log(`${tags['display-name']}: ${message}`); }); ```
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede usar new Date() para obtener la fecha y hora actual. Y new Date().getTime() le da una cantidad de milisegundos desde la época (desde 1970-01-01 00:00:00 UTC).

 // get the current time const timeNow = new Date().getTime()

Cada vez que envía una respuesta '!help' , guarda la hora actual.

 // the time of the last help message let lastHelpTime = 0 // ... later when sending the message // update the last help message time lastHelpTime = timeNow

En cada comando '!help' , compara timeNow con el valor guardado lastHelpTime para evitar enviarlo nuevamente en un minuto. Para permitir una nueva respuesta, la diferencia timeNow - lastHelpTime debe ser superior a 60 segundos, pero debido a que tenemos que comparar milisegundos, significa que la diferencia debe ser superior a 60 * 1000 milisegundos.

 // check if at least 1 minute has elapsed since the last help message if (timeNow - lastHelpTime > 60 * 1000) //...

Combinado todo junto en su código original

 // the time of the last help message let lastHelpTime = 0 client.on('message', (channel, tags, message, self) => { const send = message === "!help" if ( !send ) return; // get the current time const timeNow = new Date().getTime() // check if at least 1 minute has elapsed since the last help message if (timeNow - lastHelpTime > 60 * 1000) { // update the last help message time lastHelpTime = timeNow // post the help message in chat client.say(channel, `This is the help message`) } console.log(`${tags['display-name']}: ${message}`); });
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