Javascript can';t似乎附加到.json数组中
目前我正试图为我的discord机器人添加一个黑名单数组。读取数组可以很好地工作,但是每当我尝试附加到bot节点时,都会以代码1退出 我试过几种方法,但似乎都不管用Javascript can';t似乎附加到.json数组中,javascript,node.js,json,bots,discord,Javascript,Node.js,Json,Bots,Discord,目前我正试图为我的discord机器人添加一个黑名单数组。读取数组可以很好地工作,但是每当我尝试附加到bot节点时,都会以代码1退出 我试过几种方法,但似乎都不管用 const data=require('./data.json'); data.serverData.blackListedColors.append(randomRoleColor); 返回: data.serverData.blackListedColors.append(ran
const data=require('./data.json');
data.serverData.blackListedColors.append(randomRoleColor);
返回:
data.serverData.blackListedColors.append(randomRoleColor);
^
TypeError: data.serverData.blackListedColors.append is not a function
at Client.<anonymous> (C:\Users\mtutt\OneDrive\Documenten\DiscordKeyBot\bot.js:363:59)
at Client.emit (events.js:209:13)
at MessageCreateHandler.handle (C:\Users\mtutt\OneDrive\Documenten\DiscordKeyBot\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
at WebSocketPacketManager.handle (C:\Users\mtutt\OneDrive\Documenten\DiscordKeyBot\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:105:65)
at WebSocketConnection.onPacket (C:\Users\mtutt\OneDrive\Documenten\DiscordKeyBot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
at WebSocketConnection.onMessage (C:\Users\mtutt\OneDrive\Documenten\DiscordKeyBot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
at WebSocket.onMessage (C:\Users\mtutt\OneDrive\Documenten\DiscordKeyBot\node_modules\discord.js\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:209:13)
at Receiver.receiverOnMessage (C:\Users\mtutt\OneDrive\Documenten\DiscordKeyBot\node_modules\discord.js\node_modules\ws\lib\websocket.js:789:20)
at Receiver.emit (events.js:209:13)
Process finished with exit code 1
您不能使用
require()。此外,仅仅修改数据
不会自动将其保留回文件中;你必须把它写回文件
自己编写并不困难,但您可能想查看一个为您提供此功能的库–我还没有尝试过,但它看起来很有希望:data.serverData.blackListedColors显然不是一个数组。您可以发布JSON文件的结构吗,如果data.serverData.blackListedColors
是一个数组,那么您可以使用其他方法,您可能需要添加一个新的属性并设置其值(例如data.serverData.blackListedColors[“”]=randoroleColor
)@AkashShrivastava concat函数也不会将其写入文件。我尝试像这样导入:`import data from./data.json““这基本上与中的require
相同。你必须使用fs.readFile
/fs.writeFile
。我尝试了你推荐的json持久对象,使用它工作得非常好。在阵列上推送
,我甚至不需要更改代码就可以了,谢谢!
{
"serverData": {
"muffinID": "[disocrdID]",
"token": "[token]",
"blackListedColors": []
}