【问题标题】:How do I check for a role in a specific server?如何检查特定服务器中的角色?
【发布时间】:2021-06-17 04:01:02
【问题描述】:

这是我的代码:

client.on('message', message => {
    if (message.content === '+sdrive') {
        if (message.channel.type === "dm") {
            if (message.member.roles.cache.some(role => role.name === 'Nitro Booster')) {
            }
        }
    }
})

我需要它,以便它检查此人是否在特定服务器中具有角色。

【问题讨论】:

    标签: javascript discord discord.js roles


    【解决方案1】:

    由于此命令是通过 DM 发送的,因此您需要告诉 Bot 它应该检查哪个公会。
    我不确定是否有更短的版本,但这应该可以解决问题:

    if (client.guilds.cache.get("YOUR_GUILD_ID").members.cache.get(message.author.id).roles.cache.some(role => role.name === 'Nitro Booster')){
        // Do something...
    }
    

    注意:用户和机器人必须在同一台服务器上!


    噪音较小的版本:

    const hasRole = client.guilds.cache
        .get("YOUR_GUILD_ID").members.cache
        .get(message.author.id).roles.cache
        .some(role => role.name === 'Nitro Booster');
    
    if (hasRole){
        // Do something...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-11
      • 2021-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-19
      相关资源
      最近更新 更多