我正在尝试将arg登录到json,但是给我0错误意味着它没有得到输入或未定义 但是在console.log中,它清楚地显示了args我该怎么办?
const fs = require('fs')
module.exports = {
name: "write",
category: "fun",
description: "Save 1 message in our database",
run: async (client, message, args) => {
let save = args.join(" ");
console.log(save)
let msgs = JSON.parse(fs.readFileSync("./message.json", "utf8"));
msgs[message.guild.id] = {
msgs: save
};
await fs.writeFile("./message.json", JSON.stringify(msgs), (err) => {
if (err) throw err;
message.channel.send("message logged");
});
}
}
答案 0 :(得分:1)
似乎message.json不是有效的JSON。而是将代码包装在try-catch中,以便可以在此处处理错误。另外,尝试记录 msgs ,以便可以查看输出。
try {
let msgs = JSON.parse(fs.readFileSync("./message.json", "utf8"));
msgs[message.guild.id] = {
msgs: save
};
await fs.writeFile("./message.json", JSON.stringify(msgs), (err) => {
if (err) throw err;
message.channel.send("message logged");
});
} catch(e) {
console.log(e.message);
}