如何在 Discord.Js 中删除用户的所有角色?

时间:2021-03-08 19:10:16

标签: discord.js

我正在开发一个使用可以使用户静音的命令的机器人,但我希望它首先从该用户中删除所有角色,以便他们无法修改自己的角色或服务器。我之前在网站上看到过这个问题的回答,但是当我尝试时它不起作用。我想知道是否有人可以提供一些可以帮助解决此问题的代码。

2 个答案:

答案 0 :(得分:0)

GuildMember 具有属性 roles,它是成员 roles 的集合,您可以在其中访问他的所有角色,然后执行循环以删除所有角色。

GuildMember.roles.cache.forEach(role => GuildMember.roles.remove(role))

答案 1 :(得分:0)

虽然 Cursed 的答案可能有效,但有一种更简单的方法可以做到这一点。只需将 GuildMember 的角色设置为空数组

此代码块来自官方 DJS Docs

// Remove all the roles from a member
guildMember.roles.set([])
  .then(member => console.log(`Member roles is now of ${member.roles.cache.size} size`))
  .catch(console.error);

View the docs for GuildMemberRoleManager#set()