Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

178
Visualizações
Obtener ID de rol en la opción de comando de barra

Estoy tratando de hacer un comando donde puedes poner un rol dentro de una opción. Si el usuario menciona un rol dentro de la opción slashcommand, este rol se convierte en una ID para luego agregarse al canal al canal para ver el contenido.

Si el usuario no pone ningún rol, el permiso se asigna en @todos

Intenté algo como esto como lo he visto en algunas situaciones que he investigado:

 module.exports = { data: new SlashCommandBuilder() .setName("esconder") .setDescription("Comando para desativar a permissão de visualização nos chats.") .addStringOption(option => option.setName("cargo").setDescription("Informa uma quantidade de mensagens que queres apagar!")), async execute(interaction, client) { let cargo = " "; if (interaction.options._hoistedOptions[0]) { cargo = interaction.options._hoistedOptions[0].value; } else { cargo = "990039749362319380"; // Everyone ID } if (cargo) { const role2 = interaction.guild.roles.cache.find(role => role.name === cargo); const guild = client.guilds.cache.get(configGuids.servidores.principal); const role = guild.roles.cache.get(role2.id) interaction.channel.permissionOverwrites.edit(role, { VIEW_CHANNEL: true }); return await interaction.editReply({ content: `Added ${cargo} to the channel` }); } } };

Pero no está funcionando como debería. Antes lo había puesto a dicción con el DNI y funcionaba perfectamente.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Utilice addRoleOption en su lugar.

Puede obtener el valor de una opción con esto: interaction.options.getRole('name') . Opciones de análisis

 module.exports = { data: new SlashCommandBuilder() .setName("esconder") .setDescription("Comando para desativar a permissão de visualização nos chats.") .addRoleOption(option => { option.setName("cargo") .setDescription("Informa uma quantidade de mensagens que queres apagar!") .setRequired(true) return option; }), async execute(interaction, client) { const cargo = interaction.options.getRole("cargo"); interaction.channel.permissionOverwrites.edit(cargo.id, { VIEW_CHANNEL: true }); return await interaction.reply({ content: `Added ${cargo.name} to the channel` }); } };
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda