Estaba tratando de hacer un bot de discordia que mostrara información con un gráfico (chart.js), intenté hacer otro comando que hizo lo mismo pero acortando los momentos finales del gráfico, los datos del gráfico provienen de un archivo json, después de que los datos se acortan y la función finaliza, la variable json no se redefine (primera línea) como debería.
async function graficarc() { const datos = require('A:/OneDrive/bot generico/graficos/grafico.datos.json')//datos gets defined from json const width = 1800 const height = 1000 const backgroundColour = 'white' const canvas = new ChartJSNodeCanvas({width, height, backgroundColour}) datos["labels"] = datos["labels"].splice(214)//data gets shortened with splice() for (let i = 0; i < 3; i++) { datos["datasets"][i]["data"] = datos["datasets"][i]["data"].splice(215) } const configuration = { type: 'line', data: datos//data gets used } console.log(datos) const image = await canvas.renderToBuffer(configuration) const attachment = new Discord.MessageAttachment(image) return attachment }Extrañamente, este mismo error afecta la función del gráfico original (sin acortarse) y se acorta.
Código del gráfico original:
async function graficar() { const datos = require('A:/OneDrive/bot generico/graficos/grafico.datos.json') const width = 1800 const height = 1150 const backgroundColour = 'white' const canvas = new ChartJSNodeCanvas({width, height, backgroundColour}) const configuration = { type: 'line', data: datos } const image = await canvas.renderToBuffer(configuration) const attachment = new Discord.MessageAttachment(image) return attachment}
El comportamiento del error me hace pensar que el archivo json se está actualizando, pero no es así.