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

269
Views
¿Cómo configurar los permisos de los comandos de barra inclinada de Discord.js v13?

Estoy siguiendo la guía de Discord.js para crear comandos de barra para mi bot, pero estoy atascado en este punto aquí:
https://discordjs.guide/interactions/slash-command-permissions.html#user-permissions

Hay dos cosas que no puedo entender :

  • donde se supone que debo escribir este bloque de código que vinculé arriba,
  • cómo se supone que debo encontrar la ID de cada comando

Estoy creando mis comandos usando SlashCommandBuilder y un script deployment deploy-commands.js como se describe aquí:
https://discordjs.guide/creating-your-bot/creating-commands.html#command-deployment-script
y aquí:
https://discordjs.guide/interactions/registering-slash-commands.html#guild-commands

Si me pueden ayudar en cualquiera de estas dos cosas, ¡sería genial!
¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Revisé los códigos de @discordjs/builders y @discordjs/rest y no hay forma de establecer permisos personalizados con estos paquetes. Lo que puede hacer es crear los comandos de barra con el paquete Discord.js . Al crearlos en el paquete Discord.js , la identificación del comando de barra diagonal se devolverá en la Promise cumplida. Con esta identificación puede establecer los permisos para el comando. El único problema al hacerlo de esta manera es que puede tomar un tiempo antes de que los comandos de barra diagonal vuelvan a funcionar. Aquí hay un ejemplo:

 const { Client } = require('discord.js'); const client = new Client({intents: ['Your Intents here']}); client.once('ready', () => { client.application.commands.create({ name: 'your_command', description: "Your command's description" }).then(id => { client.application.commands.set({command: id, permissions: [ id: 'some_user_id', type: 'USER', permission: false // Can not use the slash command ]}).catch(console.log); }); }); client.login('Your token here');

Pensé que había otra manera de hacerlo, pero no estoy muy seguro. Si no me equivoco, también puede obtener todos los comandos después de actualizarlos con los @discordjs/builders y @discordjs/rest . Una vez que los hayas obtenido, la Promise devolverá una Collection una vez que se haya completado. En la Collection estarán todos los ID de todos los comandos de barra que puede usar para establecer los permisos. Así que si esta teoría funciona, este será el ejemplo:

 const { Client } = require('discord.js'); const client = new Client({intents: ['Your Intents here']}); client.once('ready', () => { // Your refresh code here client.application.commands.fetch().then(collection => { collection.forEach(command => { if(command.name === `The specified command name`){ client.application.commands.permissions.set({command: command.id, permissions: [ { id: 'some_user_id', type: 'USER', permission: false // Can not use the slash command } ]}).catch(console.log); } }); }).catch(console.log); }); client.login('Your token here');
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!