Tengo un código que debería editar un mensaje de discordia por cada ejecución. Todo parece funcionar bien, pero cuando agrego la funcionalidad de intervalo (para ejecutar el código cada minuto) ya no se puede editar el mensaje del bot:
llamar:
setInterval(function () { var data = getData(response, list); editMessage(data) }, 60000)función con edición de mensajes
function editMessage(data) { client.on('ready', () => { client.guilds.cache.get('server').channels.cache.get('channel').messages.fetch('message').then(message => { message.edit('new message content'); }).catch(err => { console.error(err); });; }); } Así que puedo recibir los data dentro de la función editMessage , pero cualquier cosa que vaya dentro de client.on('ready', () => {... no se puede activar con la función de intervalo. ¿Cuál podría ser el caso?
Estoy usando la versión 12 de Discord.js.
Solo para que conste, hice este trabajo con un enfoque diferente. Envolví la función setInterval dentro de client.on y funciona según lo previsto.
client.on('ready', () => { client.guilds.cache.get('server').channels.cache.get('channel').messages.fetch('message').then(message => { setInterval(function () { message.edit('new message content'); console.log('new message content') }, 1 * 30000); }).catch(err => { console.error(err); });; });