Discord.js 检查用户是否已拥有该角色,如果已拥有,则会将其删除
因此,我尝试创建一个代码,如果用户已经拥有该角色,它将删除该角色,如果他们没有,那么它将添加该角色。我想出了简单的方法,但它删除了它,然后又添加了它。代码中没有错误。该命令的运行方式类似于“s!role” 您可以尝试以下方法:Discord.js 检查用户是否已拥有该角色,如果已拥有,则会将其删除,discord.js,Discord.js,因此,我尝试创建一个代码,如果用户已经拥有该角色,它将删除该角色,如果他们没有,那么它将添加该角色。我想出了简单的方法,但它删除了它,然后又添加了它。代码中没有错误。该命令的运行方式类似于“s!role” 您可以尝试以下方法: const roleName = message.guild.roles.cache.find(r => (r.name === args[1].toString()) || (r.id === args[1].toString().replace(/[^\w\s
const roleName = message.guild.roles.cache.find(r => (r.name === args[1].toString()) || (r.id === args[1].toString().replace(/[^\w\s]/gi, '')));
const alreadyHasRole = member._roles.includes(roleName.id);
if(alreadyHasRole) {
member.roles.remove(roleName).then(() => message.channel.send(removeEmbed))
client.channels.cache.get(`${process.env.MSGLOG}`).send(logEmbed2);
return;
}
这将检查是否存在角色。您可以随时更改roleName变量。这不是它的工作方式。我们不会去其他网站获取有关您问题的信息。根据指南,所有相关信息必须在问题本身中。请将您的帖子以.Edited的形式包含在这里,对此表示抱歉。
const roleName = message.guild.roles.cache.find(r => (r.name === args[1].toString()) || (r.id === args[1].toString().replace(/[^\w\s]/gi, '')));
const alreadyHasRole = member._roles.includes(roleName.id);
if(alreadyHasRole) {
member.roles.remove(roleName).then(() => message.channel.send(removeEmbed))
client.channels.cache.get(`${process.env.MSGLOG}`).send(logEmbed2);
return;
}