Advertisement
Guest User

Untitled

a guest
Jan 28th, 2020
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.53 KB | None | 0 0
  1. const Discord = require("discord.js");
  2. const botconfig = require("../botconfig.json");
  3. const colors = require("../colors.json");
  4. const ms = require("ms");
  5.  
  6. module.exports.run = async (bot, message, args) => {
  7.  
  8. //Perms for person running command
  9. if(!message.member.hasPermission("MANAGE_ROLES") || !message.guild.owner) return message.channel.send("You don't have permission to use this command!");
  10.  
  11. //Check if bot has perms
  12. if(!message.guild.me.hasPermission(["MANAGE_ROLES", "ADMINISTRATOR"])) return message.channel.send("I don't have permission to add roles!");
  13.  
  14. //Return if no args for @ or ID
  15. let mutee = message.mentions.members.first() || message.guild.members.get(args[0]);
  16. if(!mutee) return message.channel.send("Please @ or give an ID mute someone!");
  17.  
  18. //Can't mute yourself or a higher role
  19. if(mutee.id === message.author.id) return message.channel.send("You can't mute yourself!")
  20. if(mutee.highestRole.position >= message.member.highestRole.position) return message.channel.send("You can't mute mute someone who has the same role or is higher than you!")
  21.  
  22. //Timer
  23. let length = args.slice(1).join(" ");
  24. if(!length) return message.channel.send("Please include the length of the mute!")
  25.  
  26. //Return if no args for reason
  27. let reason = args.slice(2).join(" ");
  28. if(!reason) return message.channel.send("Please give a reason!");
  29.  
  30. //Define mute role and if the it doesn't exist, create one
  31. let muterole = message.guild.roles.find(r => r.name === "Muted")
  32. if(!muterole) {
  33. try{
  34. muterole = await message.guild.createRole({
  35. name: "Muted",
  36. color: "bbbbbb",
  37. permissions: []
  38. })
  39. message.guild.channels.forEach(async (channel, id) => {
  40. await channel.overwritePermissions(muterole, {
  41. SEND_MESSAGES: false,
  42. ADD_REACTIONS: false,
  43. SPEAK: false
  44. })
  45. })
  46. } catch(e) {
  47. console.log(e.stack);
  48. }
  49. }
  50.  
  51. //User is already muted
  52. if(mutee.roles.has(muterole)) return message.channel.send("This user is already muted!")
  53.  
  54. //DM embed
  55. let DMembed = new Discord.RichEmbed()
  56. .setColor(colors.blue)
  57. .setAuthor("Mute Info")
  58. .addField("Action:", "Mute")
  59. .addField("Reason:", reason)
  60. .addField("Length", length)
  61. .addField("Date:", message.createdAt)
  62. .setFooter("Dicko Mode | Written By: SpiFFy")
  63.  
  64. //Add role to user, send the user a DM explaining why they were muted
  65. mutee.addRole(muterole.id).then(() => {
  66. message.delete()
  67. mutee.send(DMembed)
  68. message.channel.send(`${mutee.user.username} was muted!`)
  69. })
  70.  
  71. setTimeout(function() {
  72. mutee.removeRole(muterole.id)
  73. }, ms(length));
  74.  
  75. //Send and embed to modlogs
  76. let moderator = message.guild.members.get(message.author.id).displayName
  77.  
  78. let embed = new Discord.RichEmbed()
  79. .setColor(colors.blue)
  80. .setAuthor(`${message.guild.name} Modlogs`, message.guild.iconURL)
  81. .addField("Action:", "Mute")
  82. .addField("Mutee:", mutee.user.tag)
  83. .addField("Mutee ID:", mutee.user.id)
  84. .addField("Moderator:", moderator)
  85. .addField("Length:", length)
  86. .addField("Reason:", reason)
  87. .addField("Date:", message.createdAt)
  88. .setFooter("Dicko Mode | Written By: SpiFFy")
  89.  
  90. let sChannel = bot.channels.get("671739825690509332")
  91. sChannel.send(embed)
  92.  
  93. }
  94.  
  95.  
  96. module.exports.config = {
  97. name: "mute",
  98. description: "Mutes a member!",
  99. usage: "-mute <@user> <reason>",
  100. accessibleby: "Members",
  101. aliases: ["m"]
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement