import SlashCommands from '../../Structure/SlashCommands.js'; import { SlashCommandBuilder, PermissionFlagsBits, EmbedBuilder } from 'discord.js'; import Roblox from '../../Utils/Classes/getData.js'; const data = new Roblox() export default class extends SlashCommands { constructor(client) { super(client, { deferReply: true, //isPrivate: true, data: new SlashCommandBuilder() .setName('unban') .setDescription('〔👑 Moderação〕Remove o banimento de um jogador do servidor do Roblox.') //.setDefaultMemberPermissions(PermissionFlagsBits.Administrator) <-- aparece apenas para usuários que tem a permissão administrador --> .addStringOption(option => option.setName("identifier") .setDescription("〔👑 Moderação〕Qual o usuário que será desbanido?") .setRequired(true) ) }); } run = async (interaction) => { const search = interaction.options.getString("identifier") try { const user = await data.getUserIdByUsername(search) const findUser = await this.mongo.get(`bandb.users.${user.id}`) if (findUser) { const embed = new EmbedBuilder() .setColor('#2ecc70') .setTitle('Jogador Desbanido') .setDescription(`**Nome de Exibição**\n${user.name}\n**Nome de Usuário**\n${user.displayName}\n**ID**\n${user.id}\n**Administrador**\n${interaction.user.username} `) await this.mongo.delete(`bandb.users.${user.id}`) await interaction.editReply({ embeds: [embed] }) return; } else { await interaction.editReply({ embeds: [ new EmbedBuilder() .setTitle('Aviso') .setColor('#349cdc') .setDescription(`O usuário \`${user.id}\` não está banido.`) ] }) return; } } catch(err) { await interaction.editReply({ embeds: [ new EmbedBuilder() .setTitle('Erro') .setColor('#db523f') .setDescription(`O usuário \`${search}\` não existe.`) ] }) return; } } }