你如何在 discord.js 中为用户分配任何角色?

时间:2021-04-08 19:21:23

标签: discord.js roles

我不想要一个命令,每当您执行 -role 时,它​​就已经只有一个可以提供给用户。我想要一个,无论您将角色作为第二个参数,它都会为该用户提供该角色(当然,除非该角色不存在)。因此,如果您执行 -role @user Blue,它会给他们“蓝色”角色,如果您执行 -role @user Red,它会给他们“红色”角色。

我想与此最相似的是 Dyno 机器人,无论您将其作为第二个参数的角色是什么,它都会为用户提供该角色。

1 个答案:

答案 0 :(得分:0)

尝试以下操作:

我想您使用 discordjs guide 中的命令处理程序,因此 args 数组是命令本身之后的单词(参数)数组。

//search the role based on the name that the user provided:
let role = message.guild.roles.cache.find(role => role.name === args[1]);
//if the role doesn't exist, create it
if (!role) {
  role = await message.guild.roles.create({ data: { name: args[1] } });
}
//get the mentioned user
const member = message.mentions.members.first();
//add the role to the user
member.roles.add(role);