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

236
Vistas
El canal Discord.js setName no se activa en setInterval

Creé un bot de discordia que hace algunas cosas en algunos servidores, una de las características para mostrar la fecha/hora como nombre de canal, tengo uno que está escrito de la misma manera que muestra el recuento de miembros y se actualiza pero la fecha vez que uno parece ejecutarse una vez y nunca vuelve a cambiar el nombre.

 const events = {}; const getDateTime = (format) => { format = format || "d/m/yh:i" var now = new Date(), year = now.getFullYear(), month = now.getMonth()+1, day = now.getDate(), hour = now.getHours(), minute = now.getMinutes(), second = now.getSeconds(); if(month.toString().length == 1) { month = '0'+month; } if(day.toString().length == 1) { day = '0'+day; } if(hour.toString().length == 1) { hour = '0'+hour; } if(minute.toString().length == 1) { minute = '0'+minute; } if(second.toString().length == 1) { second = '0'+second; } return format.replace("d", day) .replace("m", month) .replace("y", year) .replace("h", hour) .replace("i", minute) .replace("s", second) } module.exports = (client, guildId, channelId, format) => { const guild = client.guilds.cache.get(guildId); events[guildId] = setInterval(()=> { const channel = guild.channels.cache.get(channelId); const date = getDateTime(format); const clock = "🕒 "; channel.setName(date); }, 1000 * 60); } module.exports.list = () => { return events; } module.exports.stop = (guildId) => { clearInterval(events[guildId]); }

esto se ejecuta llamándolo como

 const guildDateTime = require("./guildDateTime"); // inside the client.on("ready") client.guilds.cache.forEach(guild => { // other guild based features guildMemberCount(client, guild.id, channelConfig.memberCount.channel) guildDateTime(client, guild.id, channelConfig.dateTime.channel, channelConfig.dateTime.format); });

He puesto console.log en el setInterval al que se llama y se repite, pero el nombre del canal solo cambia una vez y nunca vuelve a cambiar, este método se usa en otra función que hace lo mismo para cambiarle el nombre al recuento de miembros, esto funciona perfecto sin problemas.

¿Hay algo que me falta en esto?

cualquiera con alguna idea.

about 4 years ago · Juan Pablo Isaza
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