Bueno, estoy tratando de hacer un comando de configuración de avatar donde muestre los roles disponibles que tienen para cambiar la inserción de avatar para que los miembros puedan cambiarlo mediante botones, pero el problema es que no puedo enviar los botones según sus roles. Leí documentos de discord pero no encontré nada. Pude hacer una función para reemplazar los roles por cadena dentro de una inserción y pensé que podría hacerlo con botones, pero creo que me equivoqué.
const Discord = require("discord.js"); function getRoles() { let role = message.member.roles.cache let text = "" if (role.get("staff_role_id")) text += "Staff\n"; if (role.get("active_member_role_id")) text += "Active Member\n"; if (role.get("member_role_id")) text += "Member\n"; roles = `**${text}**`; return roles; } const embed = new Discord.MessageEmbed() .setDescription(`${getRoles(message.member.roles.cache.map(x => x.id).join(`\n`))}`) let row = new Discord.MessageActionRow() .addComponents( new Discord.MessageButton() .setCustomId(`staff`) .setStyle(`SECONDARY`) .setLabel(`Staff`) ) let row1 = new Discord.MessageActionRow() .addComponents( new Discord.MessageButton() .setCustomId(`active_member`) .setStyle(`SECONDARY`) .setLabel(`Active Member`) ) let row2 = new Discord.MessageActionRow() .addComponents( new Discord.MessageButton() .setCustomId(`Member`) .setStyle(`SECONDARY`) .setLabel(`Membro Stars`) ) function getRoles() { let button = "" if (message.member.roles.cache.get("staff_role_id")) { button += row } if (message.member.roles.cache.get("active_member_role_id")) { button += row1 } if (message.member.roles.cache.get("member_role_id")) { button += row2 } buttons = button return buttons; } message.channel.send({ embeds: [embed], components: [getRoles] })¡Gracias por la ayuda!