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

243
Vistas
¿Cómo puedo almacenar datos en un archivo json continuo para discord js?

Quiero tomar la información del mensaje del usuario y guardarla en un archivo JSON y estos datos se agregan constantemente, pero con el siguiente código, estos datos se reemplazan constantemente. y no reemplazo los datos. Quiero agregar datos. Este es mi código:

 const fs = require("fs"); const { Client, Intents } = require("discord.js"); const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES], }); const now = new Date(); const obj = { table: [], }; let confirm = false; const { badWords } = require("../badWordList.json"); client.on("message", async (message) => { if (message.author.bot) return; for (let i = 0; i < badWords.length; i++) { if (message.content.toLowerCase().includes(badWords[i].toLowerCase())) confirm = true; } if (confirm) { obj.table.push({ name: message.author.username, date: `${now.getFullYear()}/${now.getMonth()}/${now.getDate()}`, message: message.channel.messages.channel.lastMessage.cleanContent, }); fs.writeFile("myjsonfile.json", JSON.stringify(obj), function (err) { if (err) throw err; console.log("complete"); }); } });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Cuando se usa fs.writeFile() , reemplaza el contenido del archivo, como está escrito en los documentos .

A primera vista, es posible que desee utilizar fs.write() , consulte los documentos para su uso.

Pero los documentos de NodeJS dicen:

No es seguro usar fs.write() varias veces en el mismo archivo sin esperar la devolución de llamada. Para este escenario, se recomienda fs.createWriteStream() .

Como está en modo asíncrono, probablemente debería definir un flujo de escritura en el archivo y luego escribirlo, le da algo como eso:

 // -snip- const whateverJsonFileStream = fs.createWriteStream("myjsonfile.json"); client.on("message", async (message) => { //-snip- if (confirm) { obj.table.push({ name: message.author.username, date: `${now.getFullYear()}/${now.getMonth()}/${now.getDate()}`, message: message.channel.messages.channel.lastMessage.cleanContent, }); whateverJsonFileStream.write(JSON.stringify(obj), function (err) { if (err) throw err; console.log("complete"); }); } });
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