const Discord = require('discord.js') const ms = require('ms') module.exports = { name:"Mute", aliases: ["m", "mute"], run: async(client, message, args) => { const embed = new Discord.MessageEmbed if(!message.member.hasPermission('MANAGE_MESSAGES')) return message.reply('You can\'t use that!'); var user = message.mentions.users.first(); if(!user){ embed.addField(":no_entry: Invalid Input.", "You didn\'t mention anyone! `m!help-mute` for examples.") embed.setColor("RED"); embed.setFooter(`Requested by ${message.author.username}`) embed.setTimestamp(); return message.channel.send(embed) } var member; try { member = await message.guild.members.fetch(user); } catch(err) { member = null; } if(!member) { embed.addField(":no_entry: Invalid Input.", "They aren\'t in the server!") embed.setColor("RED"); embed.setFooter(`Requested by ${message.author.username}`) embed.setTimestamp(); return message.channel.send(embed) } var rawTime = args[1]; var time = ms(rawTime); if(!time) { embed.addField(":no_entry: Invalid Input.", "You didn\'t specify a time! `m!help-mute` for examples.") embed.setColor("RED"); embed.setFooter(`Requested by ${message.author.username}`) embed.setTimestamp(); return message.channel.send(embed) } var reason = args.splice(2).join(' '); if(!reason) { embed.addField(":no_entry: Invalid Input.", "You need to give a reason! `m!help-mute` for examples.") embed.setColor("RED"); embed.setFooter(`Requested by ${message.author.username}`) embed.setTimestamp(); return message.channel.send(embed) } var channel = message.guild.channels.cache.find(c => c.name === 'potato'); if (!message.guild.roles.cache.find(c => c.name === 'Muted')) { message.guild.roles.create({ name: 'Muted', color: '#ff0000', permissions: { SEND_MESSAGES: false, ADD_REACTIONS: false } }) }; var member; try { member = await message.guild.members.fetch(user); } catch(err) { member = null; } var eembed = new Discord.MessageEmbed() .setTitle('You were Muted!') .addField('Expires:', rawTime, true) .addField('Reason:', reason, true); try { user.send(embed); } catch(err) { console.warn(err); } let role = message.guild.roles.cache.find(c => c.name === 'Muted') member.roles.add(role); setTimeout(async() => { member.roles.remove(role); }, time); embed.addField(":white_check_mark: User Muted.", `${user} has been muted from ${message.guild.name}\nBy ${message.author} for ${rawTime}!`) embed.setColor("RED"); embed.setFooter(`Requested by ${message.author.username}`) embed.setTimestamp(); return message.channel.send(embed) } }