我不想要一个命令,每当您执行 -role 时,它就已经只有一个可以提供给用户。我想要一个,无论您将角色作为第二个参数,它都会为该用户提供该角色(当然,除非该角色不存在)。因此,如果您执行 -role @user Blue,它会给他们“蓝色”角色,如果您执行 -role @user Red,它会给他们“红色”角色。
我想与此最相似的是 Dyno 机器人,无论您将其作为第二个参数的角色是什么,它都会为用户提供该角色。
答案 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);