📅  最后修改于: 2023-12-03 14:52:16.422000             🧑  作者: Mango
在 Discord Bot 的开发中,我们常常需要统计在线用户的数量。discord.js 作为 Discord Bot 开发中常用的第三方库,提供了方便的接口用于获取在线用户数量。本文将介绍如何在 discord.js 中计算在线用户数量。
const Discord = require('discord.js');
guilds.cache
方法,获取服务器列表:const guilds = client.guilds.cache;
memberCount
属性,获取在线用户数量并将其累加:let onlineUsers = 0;
guilds.forEach(guild => {
onlineUsers += guild.memberCount;
});
onlineUsers
变量即为在线用户数量。guild.memberCount
属性会返回服务器中的总用户数,包括离线用户。guild.members
属性获取服务器中的用户列表,并根据用户的 presence
属性判断用户是否在线。guilds
对象的 forEach
方法,该方法接受一个回调函数作为参数,在该函数中处理每个服务器的逻辑。const Discord = require('discord.js');
const client = new Discord.Client();
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
let onlineUsers = 0;
const guilds = client.guilds.cache;
guilds.forEach(guild => {
onlineUsers += guild.memberCount;
});
console.log(`Online users: ${onlineUsers}`);
});
client.login('your-token-goes-here');
以上代码会在 bot 登录时输出当前的服务器总用户数,使用时请将 your-token-goes-here
替换为你的 bot token。