const Discord = require("discord.js"); const Users = require("../../schema/users"); module.exports = { name: "warn", description: "warn a member", run: async (client, message, args) => { if(!message.member.permissions.has("KICK_MEMBERS")) return message.reply({ embeds: [ new Discord.MessageEmbed() .setTitle("Invalid Permissions") .setDescription("You don't have the required permissions to use this command!") .setColor("RED") ] }) const member = message.mentions.members.first(); if(!member) return message.reply({ embeds: [ new Discord.MessageEmbed() .setTitle("Invalid Usage!") .setDescription("You are required to mention a user to use this command!") .setColor("RED") ] }) args.shift(); const reason = args.join(" ") || "No reason provided."; console.log(member) let user = await Users.findOne({ id: member.user.id }); console.log(user) if(!user) { user = await Users.create({ id: message.author.id }) user.save(); } await message.reply({ embeds: [ new Discord.MessageEmbed() .setTitle(`${member.user.tag} has been warned!`) .setColor("RED") ] }) try { await member.send({ embeds: [ new Discord.MessageEmbed() .setTitle("You have been warned!") .setTimestamp() .addFields( { name: `Moderator`, value: message.author.tag}, { name: `Reason`, value: reason}, { name: `Server`, value: message.guild.name} ) .setColor("RED") ] }) } catch (e) { console.log(e) } let id = ''; const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; for (let i = 0; i < 5; i++) { id += characters.charAt(Math.floor(Math.random() * characters.length)); } user.warnings.push( { warnID: id, mod: message.author.id, reason: reason } ) await Users.updateOne({ id: member.user.id }, { warnings: user.warnings}); let log = await Users.findOne({id: member.user.id}) console.log(log); } }