我正在尝试为我的测验命令做一个记分牌,以一种人运行命令 !quiz 并回答问题的方式。如果问题回答正确,在一个名为 Storage 的特定文件中,她会得到一个额外的分数,从而为正确回答的数量制作一个记分牌。
作为参考,这是我的代码
//Base...
const Discord = require('discord.js');
const client = new Discord.Client();
//Quiz event...
client.on('message', message => {
if (!message.content.startsWith(prefix) || message.author.bot) return;
if (message.channel instanceof Discord.DMChannel) return message.channel.send('Aqui não podem ser executado comandos!')
.then(msg => {
msg.delete({ timeout: 5000 })
})
const quiz = require('./quiz.json');
const item = quiz[Math.floor(Math.random() * quiz.length)];
const args = message.content.slice(prefix.length).trim().split(/ +/);
const command = args.shift().toLowerCase();
const filter = response => {
return item.answers.some(answer => answer.toLowerCase() === response.content.toLowerCase());
};
if (message.content === '!quiz')
message.channel.send(item.question).then(() => {
const userData = fs.readdirSync('./Storage').filter(file => file.endsWith('.json'));
fs.writeFile('Storage/userData.json', JSON.stringify(), (err) => {
if (err) console.error(err);
})
if (!userData[message.author.id]) userData[message.author.id] = {
rightQuizAnswers: 0
});
});
})
测验工作正常,唯一的问题是我支持的文件是这样存储点的:
{(the author's ID:{rightQuizAnswers:(number of questions guessed correct)}}
只得到回应:
undefined
甚至把它变成一个更糟糕的问题,当我用我的 ID 替换 'message.author.id' 以便它会添加一个点到 rightQuizAnswers 时,它仍然返回undefined......
POPMUISE
相关分类