【问题标题】:Finding Members with 2 Roles in Discord [Using Discordjs]在 Discord 中查找具有 2 个角色的成员 [使用 Discordjs]
【发布时间】:2020-11-06 15:51:55
【问题描述】:

我正在使用 discord.js 制作一个不和谐机器人,我想做的是让机器人找到具有角色 A B的成员,并将它们列出在嵌入的消息中。目前,我有:

else if (message.content === (!'guns') && message.channel.id == '732740415056380044') {

        let team = message.guild.roles.find('name', 'WindStar Team');
        let awper = message.guild.roles.find('name', 'AWPer');
        let rifler = message.guild.roles.find('name', 'Rifler');

        const Members1 = awper = awper.filter(val => !team.includes(val)).map(member => member.displayName);
        const Members2 = rifler = rifler.filter(val => !team.includes(val)).map(member => member.displayName);

        const embedmesage = new Discord.MessageEmbed()
            .setTitle('Preferred Guns')
            .setColor(0x00AE86)
            .addFields(
                { name: 'AWPers', value: `${Members1.join('\n')}` },
                { name: 'Riflers', value: `${Members2.join('\n')}` },
            );
    message.channel.send(embedmesage);
    return console.log('Preferred gun roles command for windstar team executed');
    }

基本上,我正在尝试交叉检查具有 WindStar Team 角色和 AWPer 角色的成员,并将具有这些角色的所有成员的列表发送到嵌入中。我还尝试交叉检查具有 WindStar Team 角色和 Rifler 角色的成员,并将这些成员的列表发送到嵌入中。

【问题讨论】:

    标签: discord.js


    【解决方案1】:
    let awper = message.guild.roles.find('name', 'AWPer');
    
    awper.members //Either .toArray() or .map(m => m.displayName)
    

    我想,我面前没有我的机器人来测试

    【讨论】:

    • 这只会查找具有 AWPer 角色的成员。试图找到同时具有 WindStar 和 AWPer 角色的成员。
    【解决方案2】:

    我认为现在可能为时已晚,但无论如何我都会给出我的解决方案。 (使用 discord.js v12.5.1)

    <Message> = 你的消息实例

    let roleMembers = <Message>.guild.roles.cache.filter(role => role.name === "AwPer" && role.name === "WindStar").members
    
    // displaying the role members
    roleMembers.map(member => member.user.username)
    

    基本上,您将公会中的所有角色缓存并过滤它们以显示您想要的角色。

    这应该工作^。除非您使用的是 discord.js 的破坏版本

    【讨论】:

      猜你喜欢
      • 2021-05-10
      • 2021-02-17
      • 2021-11-29
      • 2020-05-25
      • 2021-06-20
      • 1970-01-01
      • 2020-07-31
      • 2021-08-11
      • 2021-10-11
      相关资源
      最近更新 更多