如何从与正则匹配的所有角色(角色名称)中删除成员?我是Discord.js的新手,我不知道这么多JavaScript,因此任何帮助都将不胜感激。
我正在创建一个使用户更改颜色的机器人,因此我希望命令在添加新的颜色角色之前删除其所有现有的颜色角色。
如果有帮助的话,正则是/^#[0-9a-zA-Z]{6}$/
。
好吧,看到您已经有一条正则是一半。我要处理的方法是扮演成员的角色并过滤匹配正则匹配的角色。然后,我简单地调用用户上的removeRoles
方法以删除所有角色。
下面您可以找到一些示例代码,尝试一下,让我知道如何进行。
client.on("message", async message =>
{
// Get the user
let member = message.member;
// Get all the roles which match the regex
let filteredRoles = member.roles.filter((role) => /^#[0-9a-zA-Z]{6}$/.test(role.name));
// Remove the roles from the member
member.removeRoles(filteredRoles);
});