Javascript 检查用户是否在特定的帮会discord.js中

Javascript 检查用户是否在特定的帮会discord.js中,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我不知道这是否可能,但我正在尝试让我的机器人返回它与用户共享的所有服务器 所以我从机器人所在的行会那里得到了所有的id,还有用户的id 我不知道如何检查每个公会是否有用户id 我试着这样做: let user_id = message.author.id; let guild_list = []; client.guilds.cache.forEach(guild => { guild_list.push(guild.id); }) for (let i = 0; i

我不知道这是否可能,但我正在尝试让我的机器人返回它与用户共享的所有服务器

所以我从机器人所在的行会那里得到了所有的id,还有用户的id

我不知道如何检查每个公会是否有用户id

我试着这样做:

let user_id = message.author.id;

let guild_list = [];

client.guilds.cache.forEach(guild => {
    guild_list.push(guild.id);
    })

for (let i = 0; i < guild_list.length; i++){

    let thisGuild = client.guilds.cache.get(guild_list[i]);

    if(thisGuild.member(user_id)){

        message.channel.send("Shared server : " + guild_list[i]);

    }

}
让用户_id=message.author.id;
让公会列表=[];
client.guilds.cache.forEach(guild=>{
帮会列表推送(帮会id);
})
for(设i=0;i
但是
Guildmember
类只检查运行命令的服务器上的用户id。
我不知道这是否可能,在文档中也找不到任何可以帮助我的东西。

这是非常可能的

我们可以使用这个方法,因为我们想过滤机器人和作者所在的公会

const mutualbuilds=client.guilds.cache.filter((guild)=>{
返回guild.members.cache.has(message.author.id);
});
//这将记录机器人和作者所在的互助公会,当然你可以随意更改。
console.log(mutualbuilds);

就这么简单。

很有可能

我们可以使用这个方法,因为我们想过滤机器人和作者所在的公会

const mutualbuilds=client.guilds.cache.filter((guild)=>{
返回guild.members.cache.has(message.author.id);
});
//这将记录机器人和作者所在的互助公会,当然你可以随意更改。
console.log(mutualbuilds);

这很简单。

并非所有用户都在成员缓存中。因此,有可能该用户不在缓存中,而bot不返回guild。我建议使用
fetch
,它会返回一个承诺。这很有效。但是,难道没有办法只返回公会的身份证吗?它返回的对象信息太多。您可以映射相互构建。并非所有用户都在成员缓存中。因此,有可能该用户不在缓存中,而bot不返回guild。我建议使用
fetch
,它会返回一个承诺。这很有效。但是,难道没有办法只返回公会的身份证吗?它返回的对象信息太多。您可以映射相互构建。