简体   繁体   中英

How can I make a filter for checking if a discord user is in a server?

How can I make a filter that filters out non-server members from an array of users in discord.js?

I've tried

let serverMemberFilter = async obj => {
    if (await message.guild.members.fetch(obj.id)) return true;
    // obj.id is the user id
    else return false;
}

however that just crashes my bot with the "Unknown Member" error, which I assume is because it is going over a user that isn't a member.

I've also tried

let serverMemberFilter = async obj => {
    let members = await message.guild.members.fetch();
    return members.has(obj.id);
}

but it gets stuck "awaiting".

Is there a way to do this?

Use .resolve() , instead of fetch. It's synchronous.

let serverMemberFilter = async obj => {
    return message.guild.members.resolve(obj.id) !== undefined;
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM