【问题标题】:Discord, is there a way to mass delete all deletable roles?不和谐,有没有办法批量删除所有可删除的角色?
【发布时间】:2020-06-03 21:25:00
【问题描述】:

正如我在标题中所说,我想尝试删除所有可删除的角色,只删除可删除的角色 我试着做一个看起来像这样的代码

message.guild.roles.cache.forEach(role => role.deletable && role.delete())

不幸的是,它没有打印任何错误,并且不起作用

【问题讨论】:

    标签: discord.js


    【解决方案1】:
    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 角色,我已经将代码编辑为我测试过的代码,并且作品。这显然仍然需要权限来删除某些角色,所以如果它没有删除您想要的角色,请确保它具有删除角色选项并且它在您要删除的角色之上
    • 它工作得很好,感谢队友帮助我,感谢你的帮助
    猜你喜欢
    • 2020-12-21
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 2015-01-24
    • 2021-10-19
    • 1970-01-01
    相关资源
    最近更新 更多