如何从提及 discord.js 添加角色

时间:2021-05-11 15:55:48

标签: javascript discord.js

好的,所以我在 discord.js 中制作了一个机器人,我想要一种添加角色的方法。现在我有这个

let role = message.member.guild.roles.cache.find(role => role.name === "MyRole");
message.guild.members.cache.get(message.author.id).roles.add(role);

但我想知道是否有一种方法可以使用@提及来获得角色。所以我可以为所有角色使用一个 cmd,而不是为我希望机器人添加的每个角色一个 cmd

1 个答案:

答案 0 :(得分:0)

有两种方法可以获取角色。一种方法是您在上面通过角色名称列出的方法。另一种方法是通过ID,我用的就是这个。

我会首先获取消息中提到的角色的 ID,然后从中获取 role 并继续将其添加到 message.author


代码:

//checks if the user has mentioned any roles
if (message.mentions.roles.size === 0) return message.channel.send("You didn't mention any roles.");
let roleID = message.mentions.roles.first().id;
let role = message.member.guild.roles.cache.get(roleID);
message.guild.members.cache.get(message.author.id).roles.add(role);