首页 > 解决方案 > 在较新版本的 discord.js 中替换 guild.roles.find()

问题描述

我一直在 discord.js 中编写一个不和谐机器人,我需要一种通过名称识别角色的方法,所以我在文档中查找了如何做到这一点,但找不到我正在寻找的确切内容(我对javascript很陌生,所以我可能已经看到了我要找的东西,但只是不明白。这也是为什么代码可能会让你畏缩的原因。)我在网上查了如何做到这一点,每个人都说要使用guild.roles.find() 函数,所以我把它放到我的代码中,当它不起作用时。然后我在文档中查找 guild.roles.find() 函数,它根本不存在,让我相信它已被删除。如果有人知道此问题的解决方案,将不胜感激。

let role = message.guild.roles.find(role => role.name === stringSplit[i]);

stringSplit[i]是用户输入的角色名称。)

标签: javascriptdiscorddiscord.js

解决方案


如果你想获得某个公会的所有角色,你可以做到

const roles = message.guild.roles.cache.array();

现在您可以过滤这些角色以使用 name 属性获得您想要的角色。

message.guild.roles.cache返回一个集合:您可以在这里查看所有可用的方法:https ://discord.js.org/#/docs/collection/master/class/Collection?scrollTo=find


推荐阅读