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

209
Vistas
¿Cómo edito un valor .json a través de los comandos de discordia?

Soy nuevo en la codificación y me he codificado un bot de discordia codificado en Node.js que puede cambiar todo config.json, iniciar el bot, detener el bot, crear instancias, etc. Estoy atascado en una parte donde desea cambiar una parte específica de config.json y no toda la configuración.

 { "cookie": "", "proxy": "", "webhook": "https://discord.com/api/webhooks/...", "sending": [ 1647598632, 1647676420 ], "receiving": [ 124127383 ] }

Quiero cambiar las cosas "Enviando" (actualmente 1647598632, 1647676420) y "Recibiendo" (actualmente 124127383) desde un simple comando de discordia como,

 $mass_send 124127383 [1647598632,1647676420].

Lo quiero para poder cambiar los ID. Si desea cruzar una referencia con el código que hice para cambiar la configuración completa , no las variables específicas, hágamelo saber. Gracias a quien ayude.

Tengo un comando de actualización de configuración, pero actualiza toda la configuración en lugar de una parte específica de la configuración.

 } else if (command === '$setconfig') { if (message.attachments.size < 1) return message.reply({ embeds: [ new MessageEmbed() .setColor('RED') .setDescription('Please attach a new config file.') ] }) const attachment = message.attachments.first(); console.log(attachment); if (!attachment.contentType || attachment.contentType.indexOf('text/plain') < 0) return message.reply({ embeds: [ new MessageEmbed() .setColor('RED') .setDescription('Config must be a .txt/.ini file.') ] }) superagent('GET', attachment.url) .then(resp => { const configText = resp.text; try { ini.parse(configText); } catch { return message.reply({ embeds: [ new MessageEmbed() .setColor('RED') .setDescription('Failed to parse ini file.') ] }) } fs.writeFileSync(instanceDirectory + '/settings.ini', configText); return message.reply({ embeds: [ new MessageEmbed() .setColor('RED') .setDescription('Config file successfully updated.\nstop the bot with `$stop`') ] }) })

Quiero editar una parte específica en lugar de toda la configuración completa. Por favor, hágamelo saber si esto es posible ¡Gracias! También hágamelo saber si no está claro, puedo proporcionar más información.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Logré esto antes cuando intentaba usar un archivo .json como base de datos temporal en uno de mis bots más antiguos. El código ya no existe, pero creo que podrías sacar algo de esto.

Lo que noté es que cuando requiere () un archivo json, los contenidos se almacenan en caché en la variable, por lo tanto, editar los valores en la variable cambia solo los contenidos del json almacenado en caché dentro de la variable, no el archivo json en sí. Esto le permite ejecutar operaciones de javascript en él sin afectar el aspecto general del archivo json (como agregarlo, etc.).

Luego, cuando haya terminado y desee actualizar el archivo json para conservar los datos, usaría JSON.Stringify() en la variable que contiene todos esos datos y usaría fs para reemplazar el valor de config.json con el JSON en cadena.

Para dar una visión programática de lo que estoy diciendo, haré todo lo posible para mostrarlo en código

 var config = require('config.json'); // get config.json's value into the variable console.log(config) // this shows the value of the variable, which should print out a json object to the command line var newstuff = { username: "DiscordUser", id: "1345678910" }; config.push(newstuff) // add new data to the JSON, however this only affects the variable. In your case, this is where you'll want to manipulate the JSON to adjust the specific values of your json keys to the desired values console.log(config) // should show config.json + the newly added content var stringifiedconfig = JSON.Stringify(config); // convert the JSON content to a string so that we can put the JSON into the file fs.writeFile('config.json', stringifiedconfig); // replace the value of config.json with the stringified config. var newconfig = require('config.json'); // fetch new config.json so that you don't have to refresh the bot

Este post te puede ayudar, te recomiendo leerlo.
Espero que esto responda a su pregunta y que no sea un malentendido.

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