【发布时间】:2020-06-03 21:25:00
【问题描述】:
正如我在标题中所说,我想尝试删除所有可删除的角色,只删除可删除的角色 我试着做一个看起来像这样的代码
message.guild.roles.cache.forEach(role => role.deletable && role.delete())
不幸的是,它没有打印任何错误,并且不起作用
【问题讨论】:
标签: discord.js
正如我在标题中所说,我想尝试删除所有可删除的角色,只删除可删除的角色 我试着做一个看起来像这样的代码
message.guild.roles.cache.forEach(role => role.deletable && role.delete())
不幸的是,它没有打印任何错误,并且不起作用
【问题讨论】:
标签: discord.js
message.guild.roles.cache.each(role => {
if (role.editable && role.name !== "@everyone") {
// you can do .catch(err => undefined) too
role.delete().catch(err => console.log(role.name));
}
});
【讨论】:
role.deletable 不是属性,所以我猜这就是原因,另一种解决方案是删除它并捕获任何错误。编辑了我的答案。
.editable 是一个属性,因此您可以根据需要检查它。
DiscordAPIError: Missing Permissions
@everyone 角色,我已经将代码编辑为我测试过的代码,并且作品。这显然仍然需要权限来删除某些角色,所以如果它没有删除您想要的角色,请确保它具有删除角色选项并且它在您要删除的角色之上