下面的代码用于Discord机器人的随机报价生成器,并且已被剥离以便于阅读,我遇到的问题是在我的“开发机器”(发烧友/业余爱好者)上,该代码确实运行良好,但是当上传到我的Droplet(Ubuntu 18.04,节点v8.15)后,它什么也不做,甚至没有返回错误。
const fs = require("fs");
exports.run = async (client, message, args) => {
if (!args || args.length > 0) return message.reply("No need for multiple inputs");
fs.readFile("./quotes.json", "utf8", function(err, data) {
const obj = JSON.parse(data);
const result = obj[Math.floor(Math.random() * obj.length)];
message.channel.send(result.quote);
});
};
当代码在小滴上,并且我删除了fs.readfile和JSON.parse块并将回复中的代码硬编码到message.channel.send("it works")
中时,它确实返回了预期的消息,我希望有人对问题,并建议是代码问题还是服务器配置问题。
下面的工作代码
tbh,我仍然不知道问题出在什么地方,所以我只用了不到10分钟的时间就将其全部重写到了一个新文件中。.更改了几个变量名几乎是我所做的,除了添加{{1 }}
__dirname +
答案 0 :(得分:1)
没有错误有点奇怪,但是请仔细检查文件是否在正确的位置(如果找不到文件,则应抛出错误),并使用ls -l
。
答案 1 :(得分:0)
您可能想要做:
fs.readFile("./quotes.json", "utf8", function(err, data) {
if(err) console.log(err);
以便它向您显示错误