我制作的不和谐机器人无法按照我想要的方式工作,我试图让机器人读取我计算机上的 .txt 文件,我确信这是可能的,但我无法让它工作
这是我的代码
const { Client, GatewayIntentBits, Partials } = require('discord.js');
const client = new Client({ intents: [GatewayIntentBits.Guilds], partials: [Partials.Channel] });
const token = 'Removed for reasons';
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('messageCreate', async message => {
if (message.content.startsWith('!warn')) {
try {
const data = fs.readFileSync('C:\\Users\\Genxn\\Documents\\Warn.txt', 'utf8');
const warnings = JSON.parse(data);
const args = message.content.split(' ');
const targetUser = args[1];
const reason = args.slice(2).join(' ');
const warning = {
user: targetUser,
reason: reason
};
warnings.push(warning);
fs.writeFileSync('C:\\Users\\Genxn\\Documents\\Warn.txt', JSON.stringify(warnings, null, 2));
message.channel.send(`User ${targetUser} has been warned for: ${reason}`);
} catch (err) {
console.error(err);
message.channel.send('An error occurred while reading the file.');
}
}
});
client.login(token);
我只是想让它在频道中说一些东西(频道#是#『💬』一般,如果有人可以帮助我,警告的事情只是因为它是一个测试,也不确定这是否有效,但这个命令在.txt中文件/警告用户:@.cryptomaniac 原因:我不确定这是否是它的工作原理。
您的代码未导入模块“fs”。这就是为什么您无法读取文本文件。只需在代码顶部添加这一行
const fs = require('fs');
这应该可以正常工作。