Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

134
Vistas
múltiples botones en una ActionRow

Estoy usando la biblioteca discord.js y node.js para crear un bot de Discord que puede enviar un DM a un usuario que contiene botones.

Quiero enviar un mensaje de Discord con varios botones, cada uno con una identificación y una etiqueta únicas. Mi método actual está usando una lista de botones. Utilizo un bucle for para agregar objetos de botón a la lista y lo paso a los componentes del método .send como una lista.

 x = 5 buttons = [] for (let i = 0; i < x; i++) { buttons.push(new MessageActionRow().addComponents( new MessageButton() .setCustomId(i.toString()) .setLabel(messageSplit[i]) .setStyle('PRIMARY') ) ) } msg.reply({ embeds: [embedRecipient], components: buttons })

Esto funciona, pero cada botón es una nueva ActionRow propia y, por lo tanto, los botones están en diferentes líneas. Lo que quiero decir: imagen de botones cada uno en una línea diferente

¿Cómo puedo hacer que se conserven las mismas características (como customId y Label) de los botones, pero todos están en la misma línea? Hacerlos todos en el mismo ActionRow debería resolver esto. No conozco el código para lograrlo.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Para colocar todos los botones en un solo MessageActionRow , podría simplemente declarar la fila fuera del bucle for y luego dentro de ella, simplemente puede usar .addComponents() para agregar un botón a MessageActionRow . Un ejemplo es este:

 x = 5 const buttons = new MessageActionRow() for (let i = 0; i < x; i++) { buttons.addComponents( new MessageButton() .setCustomId(i.toString()) .setLabel(messageSplit[i]) .setStyle('PRIMARY') ) ) } msg.reply({ embeds: [embedRecipient], components: [buttons] })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda