我有一个创建自定义命令的命令,并将命令名称和响应添加到JSON文件中。
!addcmd CommandName This is the response
这会将其添加到类似
的JSON文件中{
"commands": [
{
"user": "Rusty",
"user_id": "180392440945967104",
"command_name": "Name",
"command_reply": "This is the response"
}
]
}
我希望如此,如果用户在command_name
数组中键入任何commands
,它就会显示command_reply
。这是我的代码:
fs.readFile("./jsonFiles/customCommands.json", "utf-8", function(err, data) {
if (err) throw err;
var arrayOfCommands = JSON.parse(data);
for (let i = 0; i < arrayOfCommands.commands.length; i++) {
if (message.content === arrayOfCommands.commands[i].command_name) {
message.channel.sendMessage(arrayOfCommands.commands[i].command_reply);
return;
}
}
});
(忽略缩进 - 在我的文件中它是正确的)。所以这段代码可以运行,但是当我输入command_name
时,它就是command_reply
而不是只说一次,我知道我可能不得不接受for
循环而不是[i]
循环1}}未定义等。