const { Client, Message, MessageEmbed } = require('discord.js'); const parseTime = require("parse-duration").default; module.exports = { name: 'timeout', aliases: ['mute'] , permissions: ['MODERATE_MEMBERS'], descriptions: 'timeout', cooldown: 5 , /** * @param {Client} client * @param {Message} message * @param {String[]} args */ async execute(message, args, commandName, client, Discord) { const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.guild.members.cache.find( (x) => x.user.username.toLowerCase() === args.slice(0).join(" ") || x.user.username === args[0] ); if (!message.guild.me.permissions.has("MODERATE_MEMBERS")) return message.reply("I don't have permission to kick people"); if (message.member.id === member.id) return message.reply("You can't put your self in timeout"); let time = args.slice(1).join(" "); let reason = args.slice(2).join(" "); if (!reason) reason = "Not Giving"; if (!time) return message.reply("Plese provide duration for timeout"); let parsedTime = parseTime(time); if (parsedTime < ms("1ms") || parsedTime > ms("28d")) { return message.reply("The duration porvided cannot be used"); } const embed1 = new MessageEmbed() .setColor("GREEN") .setDescription( `✅ **${member.user.tag} is now on timeout until ${prettyMilliseconds( parsedTime )} for ${reason}**` ); member.timeout(parsedTime, reason); message.channel.send({ embeds: [embed1] }); } }