Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { RichEmbed } = require("discord.js");
- const { stripIndents } = require("common-tags");
- const fs = require("fs");
- const { promptMessage } = require("../../js/functions.js")
- module.exports = {
- name: "ban2",
- description: "banir membros.",
- usage: "<id | mention>",
- run: async (client, message, args) => {
- // No author permissions
- if (!message.member.hasPermission("BAN_MEMBERS")) {
- return message.reply("❌ Você não tem permissão para banir membros. Entre em contato com um membro da equipe")
- .then(m => m.delete(5000));
- }
- const logChannel = message.guild.channels.find(c => c.name === "reports") || message.channel;
- if (message.deletable) message.delete();
- // No args
- if (!args[0]) {
- return message.reply("Por favor, forneça uma pessoa para banir.")
- .then(m => m.delete(5000));
- }
- // No reason
- if (!args[1]) {
- return message.reply("Forneça um motivo para banir.")
- .then(m => m.delete(5000));
- }
- // No bot permissions
- if (!message.guild.me.hasPermission("BAN_MEMBERS")) {
- return message.reply("❌ Não tenho permissões para banir membros.")
- .then(m => m.delete(5000));
- }
- const toBan = message.mentions.members.first() || message.guild.members.get(args[0]);
- // No member found
- if (!toBan) {
- return message.reply("❌ Não foi possível encontrar esse membro, tente novamente")
- .then(m => m.delete(5000));
- }
- // Can't ban urself
- if (toBan.id === message.author.id) {
- return message.reply("❌ Você não pode se banir...")
- .then(m => m.delete(5000));
- }
- // Check if the user's banable
- if (!toBan.bannable) {
- return message.reply("❌ Não posso banir essa pessoa devido à hierarquia de cargos, suponho.")
- .then(m => m.delete(5000));
- }
- const embed = new RichEmbed()
- .setColor("#ff0000")
- .setThumbnail(toBan.user.displayAvatarURL)
- .setFooter(message.member.displayName, message.author.displayAvatarURL)
- .setTimestamp()
- .setDescription(stripIndents`**> Membro banido:** ${toBan} (${toBan.id})
- **> Banido por:** ${message.member} (${message.member.id})
- **> Razão:** ${args.slice(1).join(" ")}`);
- const promptEmbed = new RichEmbed()
- .setColor("GREEN")
- .setAuthor(`Esta verificação se torna inválida após 30s.`)
- .setDescription(`Você quer banir ${toBan}?`)
- // Send the message
- await message.channel.send(promptEmbed).then(async msg => {
- // Await the reactions and the reactioncollector
- const emoji = await promptMessage(msg, message.author, 30, ["✅", "❌"]);
- // Verification stuffs
- if (emoji === "✅") {
- msg.delete();
- toBan.ban(args.slice(1).join(" "))
- .catch(err => {
- if (err) return message.channel.send(`❌ Bem ... o banimento não deu certo. Aqui está o erro ${err}`)
- });
- logChannel.send(embed);
- } else if (emoji === "❌") {
- msg.delete();
- message.reply(`❌ banimento cancelado.`)
- .then(m => m.delete(10000));
- }
- });
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement