const { Discord, MessageEmbed } = require('discord.js'); const logs = require('../../models/logs') module.exports = { name: 'log', description: 'Create log channel and setup', usage: 'f!log', run: async (client, message, args) => { if (!message.member.permissions.has("ADMINISTRATOR")) return message.channel.send(' Lack of Perms!'); const embed = new MessageEmbed() .setTitle(`Log Commands`) .setColor(`#ff0000`) .setDescription(`If you want to change a option from below make sure to type it like this \n \`.log [option] \``) .addFields( { name: `\`set\``, value: `Set the channel you want to take as the logs!`, inline: false }, { name: `\`event\``, value: `On an off an Event that you want to be in the logs!`, inline: false }, ) .setFooter(`Logs`) if (!args[0]) { message.channel.send(embed) } else if (["set", "Set", "Select", "select", "choose"].includes(args[0])) { logs.findOne({ guildID: message.guild.id }, async (err, data) => { if (err) throw err; if (data) { message.channel.send(`You have already selected a log channel!`) } else if (!data) { const channel = message.mentions.channels.last() || message.guild.channels.cache.get(args[1]) if (!args[1]) return message.reply(`You need to send a ID or mention a channel!`) if (!channel) return message.reply(`That channel is invalid!`) new logs({ channelID: channel.id, guildID: message.guild.id }).save() message.channel.send(`I have sent a message to the selected logs channel; if no message hasn't come, it means i have no permissions to chat in the channel!`) channel.send(`This is a text!`) } }) } else if (["event", "Event"].includes(args[0])) { const em = new MessageEmbed() .setTitle(`Events`) .setColor(`#ff0000`) .addFields( { name: `MessageUpdate`, value: `Logs if a message is updated!\n \`f!log event MessageUpdate \``, inline: false }, { name: `MessageDelete`, value: `Logs if a message is deleted!\n \`f!log event MessageDelete \``, inline: false }, ) if (!args[1]) return message.channel.send(em) if (args[1] === "MessageUpdate") { const messageUpdate = await logs.findOne({ guildID: message.guild.id }) const boolean = await messageUpdate.get("MessageUpdate") if (args[2] == "true") { console.log(boolean) if (boolean == true) return message.reply(`It is already been set to true!`) if (boolean == false) { await messageUpdate.updateOne({ MessageUpdate: true }, { new: true }) message.channel.send(`It is been set to true!`) } } else if (args[2] === "false") { if (boolean === false) return message.reply(`It is already been set to false!`) if (boolean === true) { await messageUpdate.updateOne({ MessageUpdate: false }, { new: true }) message.channel.send(`It is been set to false!`) } } else { console.log('pssss') } } else if (args[1] === "MessageDelete") { const MessageDelete = await logs.findOne({ guildID: message.guild.id }) const boolean = await MessageDelete.get("MessageDelete") if (args[2] === "true") { if (boolean === true) return message.reply(`It is already been set to true!`) if (boolean === false) { await MessageDelete.updateOne({ MessageDelete: true }, { new: true }) message.channel.send(`It is been set to true!`) } } else if (args[2] === "false") { if (boolean === false) return message.reply(`It is already been set to false!`) if (boolean === true) { await MessageDelete.updateOne({ MessageDelete: false }, { new: true }) message.channel.send(`It is been set to false!`) } } } } } }