Javascript Discord.js编写和编辑json文件

Javascript Discord.js编写和编辑json文件,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我正在使用node.js创建一个discord bot,我创建了一个setup命令,当启动该命令时,会自动创建一个发生某些事情的通道。 基本上,我希望在使用命令“setup”并创建通道时,分配给var“idsetup”的通道id保存在我的config.json文件中 我需要这样做,因为我必须很容易地传递通道id,以便在main.js上执行一些控件,现在我使用“模块导出”,但非常烦人,因为有太多不可用的控件要做 简而言之,我想添加config.json文件中创建的通道的id,这样我就可以使用这个i

我正在使用node.js创建一个discord bot,我创建了一个setup命令,当启动该命令时,会自动创建一个发生某些事情的通道。 基本上,我希望在使用命令“setup”并创建通道时,分配给var“idsetup”的通道id保存在我的config.json文件中

我需要这样做,因为我必须很容易地传递通道id,以便在main.js上执行一些控件,现在我使用“模块导出”,但非常烦人,因为有太多不可用的控件要做

简而言之,我想添加config.json文件中创建的通道的id,这样我就可以使用这个id并对其进行编辑

(在某些情况下,我需要对其进行编辑,因为,例如,如果我删除频道,则必须删除配置中的id)

你能帮我吗

对不起,英语不好:(

My setup.js
const{Message}=require(“discord.js”);
module.exports={
名称:“安装程序”,
描述:“ruoli con emote”,
异步执行(消息、args、Discord、客户端、ChannelActive、idSetup){
让tembed=newdiscord.MessageEmbed()
.setColor(“#42f5cb”)
.setTitle('利普罗杜齐翁al momento内的尼斯苏纳峡谷地带:('))
.setImage('https://wallpaperaccess.com/thumb/1552191.png')
.setFooter('il prefisso per questo serverè:');

var botname='访问文件 要访问文件,您需要(文件),但这不会更新,因此这里有一个不断更新文件信息的函数: 不断更新文件

//这里可以有任何设置和其他代码,只要//没有已命名为requireuncache的函数即可
功能需求缓存(模块){
删除require.cache【require.resolve(模块)】;
返回要求(模块);
}
var配置;
设置间隔(()=>{
config=requireUncached('./config.json');
}, 500)
//现在您可以使用变量'config'获取config.json
写入文件
要写入文件,您需要“fs”

//其他需要的东西
常数fs=要求('fs');
const cName='./config.json';
//让我们跳过定义配置的部分
函数预写入(文件){
var myJson=JSON.stringify(文件);
var JsonCut=myJson.slice(0,myJson.length-1);
返回JsonCut;
}
最后一个函数(如何实际执行)

fs.writeFile(cName,prepToWrite(config)+'`要在JSON格式中添加的任何内容,请记住在添加的所有内容之前添加逗号,并在'''末尾添加额外的'}',(err)=>{
如果(错误)抛出错误;
返回;
}

非常感谢,这工作得很好,但是我有一个问题,当我尝试使用config中的'IDSETUP'执行一些控件时,它会返回一个值作为undefinedI,我在setup.jsthen(createdChannel=>{var IDSETUP=createdChannel.id;fs.writeFile(cName,prepToWrite(config)+,“IDSETUP”:“${IDSETUP}”“,(err)=>{if(err)throw err;return;})这在我的主函数requireuncache(module){delete require.cache[require.resolve(module)];return require(module);}var config;setInterval(()=>{config=requireuncache('./config.json');},500)const fs=require('fs');const cName=('./config.json');
const { Message } = require("discord.js");

module.exports = {
    name: 'setup',
    description: "ruoli con emote",
    async execute(message, args, Discord, client, ChannelActive, idSetup) {

            let tembed = new Discord.MessageEmbed()
            .setColor('#42f5cb')
            .setTitle('Nessuna canzone in riproduzione al momento :(')
            .setImage('https://wallpaperaccess.com/thumb/1552191.png')
            .setFooter('il prefisso per questo server è: *');

        var botname = 'ACCESSING THE FILE
To access the file, you need require(file), but this will not update, so here is a function to constantly update the file info: CONSTANTLY UPDATE FILE

//whatever setup and other code can be here, as long as //there is no function already named requireUncached
function requireUncached(module) {
delete require.cache[require.resolve(module)];
return require(module);
}
var config;
setInterval(() => {
config = requireUncached('./config.json');
}, 500)
//and now you can get config.json with the variable 'config'