Reputation: 348
Code:
ReactionRole.findOne({ guild_id: interaction.guild.id }, (err, settings) => {
if (err) {
const embed = new MessageEmbed()
.setColor('RED')
.setTitle('Error:')
.setDescription(`An error occured while getting the reaction roles`)
.setTimestamp()
.setFooter({ text: `Phantom Bot v${config.version}` });
return interaction.reply({ embeds: [embed], ephemeral: true });
}
if (!settings) {
const embed = new MessageEmbed()
.setColor('RED')
.setTitle('Error:')
.setDescription(`There are no reaction roles for this guild`)
.setTimestamp()
.setFooter({ text: `Phantom Bot v${config.version}` });
return interaction.reply({ embeds: [embed], ephemeral: true });
} else {
const mapped = Object.keys(settings.roles).map((value, index) => {
return(`\`${index + 1}.\` ${settings.roles[2]} - ${settings.roles[1]}`)
}).join("\n\n");
const embed = new MessageEmbed()
.setColor('PURPLE')
.setTitle('Reaction Roles:')
.setDescription(`React with the emojis below to assign yourself a role`)
.addField('\u200B', `${mapped}`)
.setTimestamp()
.setFooter({ text: `Phantom Bot v${config.version}` });
channel.send({ embeds: [embed] });
}
});
Everything that I try to grab in the array where I declare mapped returns as undefined. How can I grab the data in the array?
Upvotes: 0
Views: 439
Reputation: 348
Actually I just fixed it, happend to be as I posted this question. If anyone else is trying to find this out I ended up doing settings.roles[index]['(name of value u want to get here)']
. In my case it was settings.roles[index]['emoji']
& settings.roles[index]['description']
Upvotes: 1