const Discord = require('discord.js'); const quizSchema = require('../../schemas/quizSchema') module.exports = { name: 'quiz', async execute(client, message, args) { let questions = require('../../questions') quiz = questions[Math.floor(Math.random() * questions.length)] let filter = m => m.content.toLowerCase() == quiz.answer.toLowerCase(); let embed = new Discord.MessageEmbed() .setTitle(`${quiz.question}`) .setColor('FF0000'); message.channel.send({ embeds: [embed] }).then(() => { message.channel.awaitMessages({ filter, max: 1, time: 30000, errors: ['time'] }) .then(async collected => { let data; try { data = await quizSchema.findOne({ userID: message.author.id, guildID: message.guild.id, }) if (!data) { data = await quizSchema.create({ userID: message.author.id, guildID: message.guild.id, points: 0 }) } } catch (error) { console.log(error) } data.points += 1 await data.save() let embed2 = new Discord.MessageEmbed() .setTitle(`Winner: ${collected.first().author.username}`) .setDescription(`**Answer:** \`${quiz.answer}\`\n**Question:** \`${quiz.question}\``) .setColor('FF0000'); message.channel.send({ embeds: [embed2] }); }) .catch(collected => { message.channel.send('Looks like nobody got the answer this time.'); }) }) } }