TypeError:无法读取未定义的属性“ memberCount”

时间:2020-04-12 04:13:49

标签: javascript node.js bots discord discord.js

    var computers = new Map();
    const mems = client.guilds.cache.get("serverid"); 

    mems.memberCount.forEach(member => {
        computers.set(member.user.id, 0);
        console.log(computers.get(member.user.id));
    });

它发生在此行上:

mems.memberCount.forEach(member => {

我知道memberCount不正确,但是我找不到正确的术语

1 个答案:

答案 0 :(得分:0)

不确定您要做什么,但这应该可以锻炼。 Guild#memberCount返回一个number,因此基本上您不能在其上循环。从我看来,您试图在Map中将每个成员的值都添加为0。

您需要遍历Guild#members并将其添加到您创建的地图中。

const computers = new Map();
const server = client.guilds.cache.get("server id");
// if server is not found we will return.
if (!server) return;
server.members.forEach(member => computers.set(member.id, 0));
// or
server.membeers.map(member => computers.set(member.id, 0));

// now you can log computers to find out what you wanna do with it next.

Guild#members返回服务器中已缓存成员的Collection。您可以使用forEachmap从集合中获取成员。

注意:集合扩展了地图