Recientemente he estado trabajando en un bot de Discord usando la última versión de discord.js, v13 y los comandos de barra oblicua. Después de leer la documentación en GitHub, pude hacer que un subcomando funcionara en mi bot:
Sin embargo, cuando trato de obtener la matriz de opciones de los argumentos, no sé cómo puedo obtener argumentos después de obtener el Subcomando. Para mi decepción, la única función que encontré fue .getSubcommand() , que devuelve una cadena por extraño que parezca. Esperaba que regresara al objeto para poder obtener la matriz de opciones de él.
¿Cómo puedo obtener el objeto de opciones que está dentro de un subcomando? ¿Esto siquiera existe? ¿Cómo puedo usar la cadena que se devuelve?
¡Gracias!
SubCommands solo están sujetos al comando de barra inclinada en sí mismo, puede acceder a los argumentos de las opciones proporcionadas dentro de él de esta manera:
client.on('interactionCreate', async (interaction) => { if (!interaction.isCommand()) return; if (interaction.commandName === 'settings') { if (interaction.options.getSubcommand() === 'moderation_logs') { const user = interaction.options.getChannel('logging_channel'); } } }); Trátelos como comandos de mensajes normales con args , pero mejor, ya que todos los args corresponden a las opciones proporcionadas, incluso si son diferentes subcomandos, ya que se encuentran bajo la misma interacción (comando de barra oblicua).
¡Los comandos de barra son geniales 😇!