当前位置: 首页 > 知识库问答 >
问题:

Discord bot未获得所有成员

姬昀
2023-03-14

我想做一个命令,告诉我机器人所在的服务器中的用户总数。我搜索了一下怎么做,发现是这样的:

const users = await client.users.cache.size

但当我使用它时,机器人告诉我它只为一个用户服务。

共有1个答案

韩恺
2023-03-14

client.users是在任何点缓存的所有用户对象,由它们的ID映射。

我不认为有一个单一的方法或属性来获取bot所在的每个服务器的成员总数。您可能可以迭代客户机当前处理的guilds并取而代之地获取成员。

应采取以下措施:

async function getTotalNumberOfMembers(client) {
  const guilds = client.guilds.cache;
  let numberOfMembers = 0;

  // resolves once members from every guild is fetched
  await Promise.all(
    guilds.map(async (guild) => {
      const members = await guild.members.fetch();
      numberOfMembers += members.size;
    }),
  );

  return numberOfMembers;
}

// ...

const total = await getTotalNumberOfMembers(client);
console.log(total);

编辑:是的,您还可以使用.MemberCount属性:

js prettyprint-override">function getTotalNumberOfMembers(client) {
  const guilds = client.guilds.cache;
  let numberOfMembers = 0;

  guilds.each((guild) => {
    numberOfMembers += guild.memberCount;
  });

  return numberOfMembers;
}

const total = getTotalNumberOfMembers(client);
 类似资料:
  • 这不再起作用,它只循环通过大约4个成员才停止。自从补丁之后,我需要添加什么新的东西吗?我注释了整个循环主体,只放了一个system.println member.geteffectiveName(),每次只打印4个名字,当有大约80人不和时。

  • 你好,我一直在尝试自动化监控一个站点,但它“响应”多个文档,我想知道如何浏览他们或选择哪一个我想要分析。 代码非常简单: 站点这样“回应”: 它不允许我发布图片,但这里有链接: 如何选择不同的单据而不是第一个单据?

  • 问题内容: 我想知道实时有多少用户连接到我的应用程序。我想到了要打开的会话数循环的想法,但是我找不到该怎么做的方法。如果您有另一种方法可以提出您的建议。 问题答案: 到目前为止,我发现的最佳解决方案是计算会话的创建和销毁时间。 然后在VaadinServlet init()方法中添加SessionListeners

  • 问题内容: 我已经看到了以下问题,但并不能完全让我知道我要去的地方:[如何获取Python当前模块中所有类的列表?](尝试这个:http://codingdict.com/questions/163282 import sys current_module = sys.modules[name] 在您的情况下: import sys, inspect def print_classes(): fo

  • 我尝试在Kafka中创建新主题时启动动态消费者,但动态启动的消费者总是缺少起始/第一条消息,但从那里开始消费消息。我正在使用kafka-python模块,并且正在使用更新的KafkaConsumer和KafkaProducer。 请建议一些解决这个问题的方法,或者我必须包含在我的生产者和消费者实例中的任何配置。

  • 问题内容: 我知道KEYS命令,但这仅返回键(我猜所有的字符串类型都是String),并且显然不认为集合是键。 是否有用于获取数据库中所有集合的命令?其他数据类型(哈希,列表,排序集)又如何呢? http://redis.io/topics/data-types 问题答案: 我知道KEYS命令,但这仅返回键(我猜所有的字符串类型都是String),并且显然不认为集合是键。 不管您的密钥是哪种数据类