Necesito ayuda para cambiar el estilo de los botones en Discord.JS. interaction.component.setStyle("DANGER") funciona, pero para botones múltiples dentro de una Fila de acción no funciona. <row>.components , muestra una matriz de MessageButton. También puedo <row>.components[0].setStyle("DANGER") pero no puedo hacer clic. ¿Puedes ayudarme? ¡Gracias!
El uso de interaction.message.components[0] devolvería el primer MessageActionRow.
Eche un vistazo a la imagen que he vinculado a continuación para ver los números de los que he estado hablando.
Para editar el botón 5, debe obtener el segundo botón de la segunda fila. Esto sería interaction.components[1].components[1] . Luego puede editar cosas como el estilo, la etiqueta, etc. ejecutando la función habitual .setLabel("Something") .
No olvides responder a la interacción. En su caso, tendría que actualizar el mensaje de interacción original.
Una posible forma de insertar esto sería:
const { Client } = require("discord.js") const client = new Client(/*Your intents*/) //Your code to create the buttons, etc. client.on("interactionCreate", interaction=>{ if(interaction.isButton()){ if(interaction.customId=="your custom button id"){ //Remember to start counting with 0. 0 in the code equals 1 in real life... interaction.message.components[1].interaction[1].setStyle("DANGER") interaction.update({ components: interaction.components }) } } }) client.login("your token")