检查 client.users() / 用户 ID 是不是有特定的角色名称
Posted
技术标签:
【中文标题】检查 client.users() / 用户 ID 是不是有特定的角色名称【英文标题】:Check if client.users() / User ID has specific role name检查 client.users() / 用户 ID 是否有特定的角色名称 【发布时间】:2019-10-29 14:14:05 【问题描述】:我想检查 client.users() 是否有特定的角色名。我不是在寻找像 msg.member.roles.find() 这样的解决方案,我需要一个可以使用 client.users() 或插入用户 ID 的解决方案
if (client.users().role.find("name", "rolename"))
//something
【问题讨论】:
【参考方案1】:没有这种方法Client.users()
。但是,有一个属性Client.users
。但是,后者是Users 中的Collection,并且只有GuildMembers 有角色。
您必须iterate through 客户的每个公会 (Client.guilds
),然后通过每个成员 (Guild.members
),并尝试找到您正在寻找的角色 (Collection.find
)。
例子:
for ([guildID, guild] of client.guilds)
for ([memberID, member] of guild.members)
if (member.roles.find(role => role.name === 'name'))
// Do something to this member.
如果您只寻找一个成员,则不必遍历成员。
for ([guildID, guild] of client.guilds)
const member = guild.members.get('someID');
if (!member) continue;
// Do something to this member.
【讨论】:
以上是关于检查 client.users() / 用户 ID 是不是有特定的角色名称的主要内容,如果未能解决你的问题,请参考以下文章
即使在分配 sitecore\Sitecore Client Users 角色时,广告用户也无法登录
TypeError:client.users.get 不是函数 discord.js V12 [重复]
如何从所有分片中获取 users.cache 并将它们放入集合中,就像集合 client.user.cache 返回一样?