我正在编码一个Discord机器人,该机器人可以写入glitch.com上的本地文本文件。
当我使用ready
事件处理程序时,我的程序可以很好地写入文件:
client.on('ready', () => {
fs.appendFile('./log.txt', 'Hello\n', (err) => {
if(err) throw err;
});
});
//Writes to file
但是,当我尝试使用message
事件处理程序写入同一文件时,没有任何反应:
client.on('message', (message) => {
fs.appendFile('./log.txt', 'Hello\n', (err) => {
if(err) throw err;
});
});
//Does not write to file
我需要更改此文件的权限吗?还是从本地文件更改它?任何帮助将不胜感激。
答案 0 :(得分:0)
使用appendFileSync
代替appendFile
应该可以解决您的问题,因为appendFileSync
更可靠,并且出错的机会更少。祝你好运!
答案 1 :(得分:0)
我认为类似的方法可能有用,我没有时间对其进行测试,但是它使用的是writeFile()方法,而不是appendFile()方法
client.on('message', (message) => {
fs.writeFile('./log.txt', message, (err) => {
if(err) throw err;
});
});
假设您已经拥有本地文本文件,则无需创建新文件。因此,您也可以使用writeFile()
,这是我唯一看到的问题,它可以刷新每条消息的文件,但是您可以使用消息收集器来解决,该消息收集器每说100条消息就更新一次。 / p>