Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JSON文件中存储多个通道ID_Javascript_Json_Discord_Discord.js - Fatal编程技术网

Javascript 在JSON文件中存储多个通道ID

Javascript 在JSON文件中存储多个通道ID,javascript,json,discord,discord.js,Javascript,Json,Discord,Discord.js,我正在使用Discord.js制作一个bot,它只需要跟踪某个通道中的消息,我目前将此硬编码用于测试目的 var{channelID}=require(`./config.json`); bot.on(“消息”,异步(消息)=>{ const args=message.content.split(+/+/g); if(message.channel.id===channelID){ // ... } }); 我希望它在一个JSON文件中存储多个ID,并有一个[p]setchannel命令,允许

我正在使用Discord.js制作一个bot,它只需要跟踪某个通道中的消息,我目前将此硬编码用于测试目的

var{channelID}=require(`./config.json`);
bot.on(“消息”,异步(消息)=>{
const args=message.content.split(+/+/g);
if(message.channel.id===channelID){
// ...
}
});
我希望它在一个JSON文件中存储多个ID,并有一个
[p]setchannel
命令,允许我添加一个


我试过导游,运气不好

您可能想做的是存储一个ID数组,以便以后检索它们

JSON文件中的
channelIDs
属性应设置为空数组。在代码中,您可以按如下方式获取它:

const{channelIDs}=require('./config.json')//现在它是一个空数组:[]
当你想更新这个数组时,你应该首先更新你的本地数组,然后你可以更新配置文件:要做到这一点,你可以结合使用

const fs=require('fs'))
函数addChannelID(id){
channelIDs.push(id)//将新id推送到数组中
让newConfigObj={//创建新对象。。。
…需要('./config.json'),//…通过获取所有当前值。。。
ChannelID/…和更新ChannelID
}
//为文件创建新字符串,这样就不会太难读取
让newFileString=JSON.stringify(newConfigObj,null,2)
fs.writeFileSync('./config.json',newFileString)//更新文件
}
设置此函数后,您可以随时添加新ID,只需调用
addChannelID('channel\u ID')

要检查是否应考虑消息来自的频道,您可以使用:

if(channelid.includes(message.channel.id)){
//嗯
}

好的,我想我添加的是正确的。因此,在我添加频道的命令中,我是否只需将
addChannelID('channel\u id')
放入其中。假设这是正确的,当运行代码我得到:TypeError:cannotread属性'push'的undefinedWell时,您必须用通道的实际id替换
'channel\u id'
,这类似于
message.channel.id
。此外,您必须确保在使用它的文件中正确声明了
channelid
,并且JSON文件的相应属性设置为空数组