const { Client, CommandInteraction, MessageEmbed, MessageButton } = require("discord.js"); const config = require("../../config.json") const Discord = require("discord.js"); module.exports = { name: "registrar", description: "Registre um membro", type: "CHAT_INPUT", options: [ { name: "user", type: "USER", description: "Qual user deseja registrar?", required: true }, ], run: async (client, interaction, args) => { let user = interaction.options.getUser("user"); let member = interaction.guild.members.cache.get(user.id) if (!interaction.guild) return interaction.followUp({ content: "Esse comando deve ser usado somente em um server" }) let carg_registro = "895680323290013726" if(!interaction.member.roles.cache.get(`${carg_registro}`)) return interaction.followUp({content: "Você não tem o cargo de registrar membros"}) let mais18 = "910505811242016788" let registrado = "910533042563592272" let menos18 = "910505812089274439" let namorando = "910505960898981959" let solteiro = "910505816946270228" let casado = "910505816329695252" let menino = "910505813125263380" let menina = "910505814245138492" let nnbiniario = "910505815075586098" let cor = "#FF00FF" const cancel = new MessageButton().setCustomId('cancelar').setStyle('DANGER').setEmoji("❌") const ma18 = new MessageButton().setCustomId('+18').setStyle('SECONDARY').setLabel("+18") const me18 = new MessageButton().setCustomId('-18').setStyle('SECONDARY').setLabel("-18") const namorand = new MessageButton().setCustomId('namorando').setStyle('SECONDARY').setLabel("Namorando") const solteir = new MessageButton().setCustomId('solteiro').setStyle('SECONDARY').setLabel("Solteiro") const casad = new MessageButton().setCustomId('casado').setStyle('SECONDARY').setLabel("Casado") const menin = new MessageButton().setCustomId('minin').setStyle('SECONDARY').setLabel("Menino") const minina = new MessageButton().setCustomId('minina').setStyle('SECONDARY').setLabel("Menina") const nbiniario = new MessageButton().setCustomId('não-binário').setStyle('SECONDARY').setLabel("Menino") const foi = new MessageButton().setCustomId('f').setStyle('SUCCESS').setEmoji("✅") const row = new Discord.MessageActionRow().addComponents(cancel, ma18, me18, namorand, solteir) const row2 = new Discord.MessageActionRow().addComponents(casad, menin,minina, nbiniario, foi) const collector = interaction.channel.createMessageComponentCollector({componentType: 'BUTTON', time: 30000}) let embed = new Discord.MessageEmbed() .setTitle("Registro") .setColor(`${cor}`) .setDescription("Após terminar de registrar o membro clicar em '✅'") .addField("Membro:", `${user}`) .addField("Registrador:", `${interaction.user}`) interaction.followUp({embeds: [embed], components: [row, row2]}).then((msg) => { collector.on('collect', async (m) => { if (m.user.id != interaction.user.id) return; if (m.customId === 'cancelar') { let e = new Discord.MessageEmbed() .setTitle("Todos os cargos foram removidos!!!") .setColor(`${cor}`) cancel.setDisabled(true) ma18.setDisabled(true) me18.setDisabled(true) namorand.setDisabled(true) solteir.setDisabled(true) casad.setDisabled(true) menin.setDisabled(true) minina.setDisabled(true) nbiniario.setDisabled(true) foi.setDisabled(true) const row3 = new Discord.MessageActionRow().addComponents(cancel, ma18, me18, namorand, solteir) const row4 = new Discord.MessageActionRow().addComponents(casad, menin,minina, nbiniario, foi) member.roles.remove(menino, "Registro canceldado!") member.roles.remove(menina, "Registro canceldado!") member.roles.remove(nnbiniario, "Registro canceldado!") member.roles.remove(namorando, "Registro canceldado!") member.roles.remove(solteiro, "Registro canceldado!") member.roles.remove(casado, "Registro canceldado!") member.roles.remove(menos18, "Registro canceldado!") member.roles.remove(mais18, "Registro canceldado!") msg.edit({embeds:[e], components: [row3, row4]}) setTimeout(() => { msg.delete() }, 5000) // 1 seconds return m.reply({content:"Esse painel será deletado em 5 segundos!", ephemeral: true}) }; if (m.customId === '+18') { me18.setDisabled(true) ma18.setDisabled(true) const ro1 = new Discord.MessageActionRow().addComponents(cancel, namorand, solteir) const ro2 = new Discord.MessageActionRow().addComponents(casad, menin,minina, nbiniario, foi) member.roles.add(mais18, "Cargo dado pelo registro") msg.edit({embeds:[embed.addField("Idade:", `+18`)], components: [ro1, ro2]}) return m.reply({content:"Membro ganhou o cargo +18", ephemeral: true}) } if (m.customId === '-18') { me18.setDisabled(true) ma18.setDisabled(true) const ro1 = new Discord.MessageActionRow().addComponents(cancel, namorand, solteir) const ro2 = new Discord.MessageActionRow().addComponents(casad, menin,minina, nbiniario, foi) member.roles.add(menos18, "Cargo dado pelo registro") msg.edit({embeds:[embed.addField("Idade:", `-18`)], components: [ro1, ro2]}) return m.reply({content:"Membro ganhou o cargo -18", ephemeral: true}) } if (m.customId === 'namorando') { casad.setDisabled(true) namorand.setDisabled(true) solteir.setDisabled(true) const ro1 = new Discord.MessageActionRow().addComponents(cancel, me18, ma18) const ro2 = new Discord.MessageActionRow().addComponents(menin,minina, nbiniario, foi) member.roles.add(namorando, "Cargo dado pelo registro") msg.edit({embeds:[embed.addField("Status Social:", `namorando`)], components: [ro1, ro2]}) return m.reply({content:"Membro ganhou o cargo namorando", ephemeral: true}) } if (m.customId === 'casado') { casad.setDisabled(true) namorand.setDisabled(true) solteir.setDisabled(true) const ro1 = new Discord.MessageActionRow().addComponents(cancel, me18, ma18) const ro2 = new Discord.MessageActionRow().addComponents(menin,minina, nbiniario, foi) member.roles.add(casado, "Cargo dado pelo registro") msg.edit({embeds:[embed.addField("Status Social:", `casado`)], components: [ro1, ro2]}) return m.reply({content:"Membro ganhou o cargo casado", ephemeral: true}) } if (m.customId === 'solteiro') { casad.setDisabled(true) namorand.setDisabled(true) solteir.setDisabled(true) const ro1 = new Discord.MessageActionRow().addComponents(cancel, me18, ma18) const ro2 = new Discord.MessageActionRow().addComponents(menin,minina, nbiniario, foi) member.roles.add(solteiro, "Cargo dado pelo registro") msg.edit({embeds:[embed.addField("Status Social:", `solteiro`)], components: [ro1, ro2]}) return m.reply({content:"Membro ganhou o cargo solteiro", ephemeral: true}) } if (m.customId === 'minin') { menin.setDisabled(true) menin.setDisabled(true) nbiniario.setDisabled(true) const ro1 = new Discord.MessageActionRow().addComponents(cancel, me18, ma18) const ro2 = new Discord.MessageActionRow().addComponents(namorand, solteir,casad,foi) member.roles.add(menino, "Cargo dado pelo registro") msg.edit({embeds:[embed.addField("Genro:", `menino`)], components: [ro1, ro2]}) return m.reply({content:"Membro ganhou o cargo menino", ephemeral: true}) } if (m.customId === 'minina') { menin.setDisabled(true) menin.setDisabled(true) nbiniario.setDisabled(true) const ro1 = new Discord.MessageActionRow().addComponents(cancel, me18, ma18) const ro2 = new Discord.MessageActionRow().addComponents(namorand, solteir,casad,foi) member.roles.add(menina, "Cargo dado pelo registro") msg.edit({embeds:[embed.addField("Genro:", `menina`)], components: [ro1, ro2]}) return m.reply({content:"Membro ganhou o cargo menina", ephemeral: true}) } if (m.customId === 'não-binário') { menin.setDisabled(true) menin.setDisabled(true) nbiniario.setDisabled(true) const ro1 = new Discord.MessageActionRow().addComponents(cancel, me18, ma18) const ro2 = new Discord.MessageActionRow().addComponents(namorand, solteir,casad,foi) member.roles.add(nnbiniario, "Cargo dado pelo registro") msg.edit({embeds:[embed.addField("Genro:", `não-binário`)], components: [ro1, ro2]}) return m.reply({content:"Membro ganhou o cargo não-binário", ephemeral: true}) } if (m.customId === 'f') { foi.setDisabled(true) const ro2 = new Discord.MessageActionRow().addComponents(foi) member.roles.add(registrado) msg.edit({embeds:[embed.setDescription("registro feito!")], components: [ro2]}) setTimeout(() => { msg.delete() }, 5000) // 1 seconds return m.reply({content:"Esse painel será deletado em 5 segundos!", ephemeral: true}) } }); }) } }