Discord.js V12:如何从同时拥有一个角色的每个人中删除一个角色

时间:2020-10-15 05:46:03

标签: javascript discord.js

所以我在How to remove a role from every member of the guild处找到了这个线程,但是当我尝试回答时有人给了我一个错误。然后,我尝试了另一条路线。

const EEEE = '153587203488874496';
let membersWithRole = message.guild.roles.cache.get('766141415759151154').members;
if (message.author.id === EEEE)
 membersWithRole.roles.remove('766141415759151154');
message.channel.send(`${message.author.username} kicks you out of their room`);

现在,我收到错误消息“ TypeError:无法读取未定义的属性'remove'”,所以我不确定该怎么做。另外,我还将使其与您所处的语音通道断开连接,因此,如果您可以节省我的时间,我也将不胜感激。

1 个答案:

答案 0 :(得分:1)

错误指出membersWithRole.roles未定义,这是正确的。在角色上调用.members(就像您对message.guild.roles.cache.get('766141415759151154').members;所做的那样)将返回Collection of GuildMembers。如果要为每个GuildMember删除角色,则可以使用Collection.prototype.each方法。请参见下面的示例代码并尝试一下:

membersWithRole.each((memberWithRole) => {
  memberWithRole.roles.remove('766141415759151154');
});

关于您的以下请求:

此外,我还将使其与您所使用的任何语音通道断开连接,因此,如果您可以节省时间,我也将不胜感激。

这是一个简单的“否”。堆栈溢出是一个问答网站,而不是代码编写服务。因此,除非您有任何疑问或问题,否则无论您尝试什么,似乎都无法弄清楚,否则人们不会愿意为您免费免费编写所有代码来帮助您。