【问题标题】: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
}

【问题讨论】:

    标签: node.js npm discord.js


    【解决方案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.
    }
    

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 2010-12-22
      • 2019-06-16
      • 2021-10-10
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 2016-09-09
      相关资源
      最近更新 更多