I already have this code to post an embed and to add a reaction, I'm just wondering how I would go about adding a role to a user when they add the reaction?
if (message.content.startsWith(`${prefix}rr`)) {
let embed = new MessageEmbed()
.setColor("#ffffff")
.setTitle("๐ Our Servers Rules ๐")
.setDescription("To keep our server safe we need a few basic rules for everyone to follow!")
.setFooter("Please press โ
to verify and unlock the rest of the server!")
.addFields(
{
name: "1.",
value: "Stay friendly and don't be toxic to other users, we strive to keep a safe and helpful environment for all!",
},
{
name: "2.",
value: "Keep it PG-13, don't use racist, homophobic or generally offensive language/overly explicit language!",
},
{
name: "3.",
value: "If you want to advertise another server/website etc please contact me first!",
},
{ name: "4.", value: "Don't cause drama, keep it civil!" },
{
name: "5.",
value: "If you have any questions please contact me @StanLachie#4834",
}
);
message.channel.send({ embeds: [embed] }).then((sentMessage) => {
sentMessage.react("โ
");
});
}
You may want to check this Discord.js Guide page. But in summary...
const filter = (reaction, user) => {
return reaction.emoji.name === 'โ
' && user.id === message.author.id;
};
const collector = message.createReactionCollector({ filter });
collector.on('collect', (reaction, user) => {
const role = await message.guild.roles.fetch("role id");
message.guild.members.fetch(user.id).then(member => {
member.roles.add(role);
});
});