Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

183
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!