无法写入消息处理程序中的文件
Unable to write to file in message handler
我正在编写一个 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
我需要更改此文件的权限吗?还是从本地文件更改它?任何帮助将不胜感激。
使用 appendFileSync
而不是 appendFile
应该可以解决您的问题,因为 appendFileSync
更可靠并且产生错误的可能性更小。祝你好运!
我认为这样的东西可能有用,我没有时间测试它,但它使用的是 writeFile() method as opposed to the appendFile() 方法
client.on('message', (message) => {
fs.writeFile('./log.txt', message, (err) => {
if(err) throw err;
});
});
假设您已经拥有本地文本文件,则无需制作新文件。所以你也可以使用 writeFile()
,我唯一能看到的错误是它可能会刷新每条消息的文件,但你可能可以使用消息收集器修复它,它每说 100 条消息就更新文件。
我正在编写一个 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
我需要更改此文件的权限吗?还是从本地文件更改它?任何帮助将不胜感激。
使用 appendFileSync
而不是 appendFile
应该可以解决您的问题,因为 appendFileSync
更可靠并且产生错误的可能性更小。祝你好运!
我认为这样的东西可能有用,我没有时间测试它,但它使用的是 writeFile() method as opposed to the appendFile() 方法
client.on('message', (message) => {
fs.writeFile('./log.txt', message, (err) => {
if(err) throw err;
});
});
假设您已经拥有本地文本文件,则无需制作新文件。所以你也可以使用 writeFile()
,我唯一能看到的错误是它可能会刷新每条消息的文件,但你可能可以使用消息收集器修复它,它每说 100 条消息就更新文件。