Quiero hacer una pequeña función de ping de chat muerto para mi bot de discordia. La hora a la que envía el ping debe ser aleatoria. Probé este código aquí abajo, pero el intervalo no espera hasta que finaliza la "espera" y lo repite un número ilimitado de veces. ¿Existe tal vez una alternativa?
setInterval(function() { var rating = Math.floor(Math.random() * 5000000) + 5000; setTimeout(function(){ client.channels.cache.get('933372453009379338').send(`testing ${rating}`) }, rating); }, 1);Simplemente use setTimeout solamente y deje que su devolución de llamada inicie la próxima ejecución de esa lógica:
function loop() { var rating = Math.floor(Math.random() * 5000000) + 5000; setTimeout(function(){ client.channels.cache.get('933372453009379338').send(`testing ${rating}`); loop(); }, rating); } loop(); // start it