首页 > 解决方案 > 我如何过滤所有用户徽章 | DiscordJS V12

问题描述

我正在尝试执行一个命令来列出具有特定类型标志的每个用户,例如“HYPESQUAD_BALANCE”

const users = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member;
const flags = await users.user.fetchFlags()
const userFlags = flags.toArray()
const status = userFlags.includes('HYPESQUAD_BALANCE')
console.log(status)

命令的那部分工作正常,但这不是我想要的,我想让每个用户

所以我试过了

const members = client.users.cache.array()
    const array = [];
    for (const user of members) array.push(user.flags ? user.flags : await user.fetchFlags());
    console.log(array)

没有错误,但返回任何东西,如果有人可以帮助我

标签: discord.js

解决方案


以下代码适用于我:

const users = client.users.cache.array();
const validUsers = []:
for(let user of users){
    const flags = user.flags || await user.fetchFlags();
    const hasFlag = flags.toArray().includes("HYPESQUAD_BALANCE");
    if(hasFlag) validUsers.push(user);
}
console.log(validUsers); // all the users who have the badge

推荐阅读