Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.60 KB | None | 0 0
  1. const { RichEmbed } = require("discord.js");
  2. const { stripIndents } = require("common-tags");
  3. const fs = require("fs");
  4. const { promptMessage } = require("../../js/functions.js")
  5.  
  6. module.exports = {
  7. name: "ban2",
  8. description: "banir membros.",
  9. usage: "<id | mention>",
  10. run: async (client, message, args) => {
  11.  
  12. // No author permissions
  13. if (!message.member.hasPermission("BAN_MEMBERS")) {
  14. return message.reply("❌ Você não tem permissão para banir membros. Entre em contato com um membro da equipe")
  15. .then(m => m.delete(5000));
  16.  
  17. }
  18. const logChannel = message.guild.channels.find(c => c.name === "reports") || message.channel;
  19.  
  20. if (message.deletable) message.delete();
  21.  
  22. // No args
  23. if (!args[0]) {
  24. return message.reply("Por favor, forneça uma pessoa para banir.")
  25. .then(m => m.delete(5000));
  26. }
  27.  
  28. // No reason
  29. if (!args[1]) {
  30. return message.reply("Forneça um motivo para banir.")
  31. .then(m => m.delete(5000));
  32. }
  33.  
  34.  
  35. // No bot permissions
  36. if (!message.guild.me.hasPermission("BAN_MEMBERS")) {
  37. return message.reply("❌ Não tenho permissões para banir membros.")
  38. .then(m => m.delete(5000));
  39. }
  40.  
  41. const toBan = message.mentions.members.first() || message.guild.members.get(args[0]);
  42.  
  43. // No member found
  44. if (!toBan) {
  45. return message.reply("❌ Não foi possível encontrar esse membro, tente novamente")
  46. .then(m => m.delete(5000));
  47. }
  48.  
  49. // Can't ban urself
  50. if (toBan.id === message.author.id) {
  51. return message.reply("❌ Você não pode se banir...")
  52. .then(m => m.delete(5000));
  53. }
  54.  
  55. // Check if the user's banable
  56. if (!toBan.bannable) {
  57. return message.reply("❌ Não posso banir essa pessoa devido à hierarquia de cargos, suponho.")
  58. .then(m => m.delete(5000));
  59. }
  60.  
  61. const embed = new RichEmbed()
  62. .setColor("#ff0000")
  63. .setThumbnail(toBan.user.displayAvatarURL)
  64. .setFooter(message.member.displayName, message.author.displayAvatarURL)
  65. .setTimestamp()
  66. .setDescription(stripIndents`**> Membro banido:** ${toBan} (${toBan.id})
  67. **> Banido por:** ${message.member} (${message.member.id})
  68. **> Razão:** ${args.slice(1).join(" ")}`);
  69.  
  70. const promptEmbed = new RichEmbed()
  71. .setColor("GREEN")
  72. .setAuthor(`Esta verificação se torna inválida após 30s.`)
  73. .setDescription(`Você quer banir ${toBan}?`)
  74.  
  75. // Send the message
  76. await message.channel.send(promptEmbed).then(async msg => {
  77. // Await the reactions and the reactioncollector
  78. const emoji = await promptMessage(msg, message.author, 30, ["✅", "❌"]);
  79.  
  80. // Verification stuffs
  81. if (emoji === "✅") {
  82. msg.delete();
  83.  
  84. toBan.ban(args.slice(1).join(" "))
  85. .catch(err => {
  86. if (err) return message.channel.send(`❌ Bem ... o banimento não deu certo. Aqui está o erro ${err}`)
  87. });
  88.  
  89. logChannel.send(embed);
  90. } else if (emoji === "❌") {
  91. msg.delete();
  92.  
  93. message.reply(`❌ banimento cancelado.`)
  94. .then(m => m.delete(10000));
  95. }
  96. });
  97. }
  98. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement