【发布时间】:2020-03-26 22:09:23
【问题描述】:
目前我正在尝试为我的不和谐机器人添加黑名单数组。读取数组工作正常,但每当我尝试附加到机器人节点时,都会以代码 1 退出。
我尝试了几种方法,但似乎都没有真正奏效。
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
我尝试过使用.parse 和.add,但它们似乎也不起作用。
使用.push 似乎不会使其崩溃,但也不会将字符串添加到.json 文件中。
编辑:
这是.json 文件供参考
{
"serverData": {
"muffinID": "[disocrdID]",
"token": "[token]",
"blackListedColors": []
}
【问题讨论】:
-
data.serverData.blackListedColors 显然不是数组
-
你能把JSON文件的结构贴出来吗,如果
data.serverData.blackListedColors是一个数组,那么你可以使用Array.concat,否则你可能需要添加一个新的propoerty并设置它的值(例如data.serverData.blackListedColors["<newproperty>"] = randomRoleColor) -
@AkashShrivastava concat 函数也不会将其写入文件中。
标签: javascript node.js json bots discord