Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. const ms = require("ms");
  2. const Discord = require("discord.js")
  3.  
  4. module.exports.run = async (client, message, args) => {
  5. if (!message.member.hasPermission("MENTION_EVERYONE")) {
  6. return message.channel.sendMessage("Lacking permissions");
  7. }
  8. if (!client.mute) client.mute = [];
  9. let toMute = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0]);
  10. if (!toMute) return message.channel.sendMessage("Please specify a user!");
  11. if (toMute.id === message.author.id) return message.channel.send("You can't mute yourself")
  12. if (toMute.highestRole.position >= message.member.highestRole.position) return message.channel.sendMessage("Cannot mute a higher member");
  13. let time = args[1];
  14. if (!time) return message.channel.send("You must set a duration for the mute.");
  15. let role = message.guild.roles.find(r => r.name === "ModBot Muted");
  16. if (!role) {
  17. try {
  18. role = await message.guild.createRole({
  19. name: "ModBot Muted",
  20. color: "#abaaaf",
  21. permissions: []
  22. });
  23.  
  24. message.guild.channels.forEach(async (channel, id) => {
  25. await channel.overwritePermissions(role, {
  26. SEND_MESSAGES: false,
  27. ADD_REACTIONS: false
  28. })
  29. });
  30. } catch (e) {
  31. console.log(e.stack)
  32. }
  33. }
  34. if (toMute.roles.has(role.id)) return message.channel.sendMessage("User is already muted");
  35.  
  36. toMute.addRole(role);
  37. let muteEmbed = new Discord.RichEmbed()
  38. .setAuthor("ModBot Mute")
  39. .setDescription(`${toMute.user} has been muted!`)
  40. .addField("Duration", `${ms(ms(time), {long: true})}`)
  41. .addField("Staff Member", `${message.author}`)
  42. .setColor("#6b42f4")
  43. message.channel.send(muteEmbed)
  44.  
  45. setTimeout(function () {
  46. toMute.removeRole(role);
  47. let muteNotification = new Discord.RichEmbed()
  48. .setAuthor("ModBot Notification")
  49. .setDescription(`Your mute has expired. You can now chat again!`)
  50. .setColor("#6b42f4")
  51. toMute.send(muteNotification)
  52. }, ms(time))
  53. }
  54.  
  55. module.exports.help = {
  56. name: "mute"
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement