!server: use new approximate counts for member/online count
This commit is contained in:
parent
925cf718e7
commit
741a742eb8
1 changed files with 15 additions and 12 deletions
|
@ -46,8 +46,11 @@ export const ServerCmd = utilityCmd({
|
||||||
10 * MINUTES,
|
10 * MINUTES,
|
||||||
);
|
);
|
||||||
|
|
||||||
// For servers with a vanity URL, we can use the numbers from the invite for online count
|
const totalMembers = restGuild.memberCount ?? restGuild.approximateMemberCount;
|
||||||
// (which is nowadays usually more accurate for large servers)
|
let onlineMemberCount = restGuild.approximatePresenceCount;
|
||||||
|
|
||||||
|
if (totalMembers == null || onlineMemberCount == null) {
|
||||||
|
// For servers with a vanity URL, we can also use the numbers from the invite for online count
|
||||||
const invite = guild.vanityURL
|
const invite = guild.vanityURL
|
||||||
? ((await memoize(
|
? ((await memoize(
|
||||||
() => pluginData.client.getInvite(guild.vanityURL, true),
|
() => pluginData.client.getInvite(guild.vanityURL, true),
|
||||||
|
@ -56,10 +59,10 @@ export const ServerCmd = utilityCmd({
|
||||||
)) as RESTChannelInvite)
|
)) as RESTChannelInvite)
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
const totalMembers = invite?.memberCount || guild.memberCount;
|
onlineMemberCount = invite ? invite.presenceCount : guild.members.filter(m => m.status !== "offline").length;
|
||||||
|
}
|
||||||
|
|
||||||
const onlineMemberCount = invite ? invite.presenceCount : guild.members.filter(m => m.status !== "offline").length;
|
const offlineMemberCount = totalMembers - onlineMemberCount;
|
||||||
const offlineMemberCount = guild.memberCount - onlineMemberCount;
|
|
||||||
|
|
||||||
let memberCountTotalLines = `Total: **${formatNumber(totalMembers)}**`;
|
let memberCountTotalLines = `Total: **${formatNumber(totalMembers)}**`;
|
||||||
if (restGuild.maxMembers) {
|
if (restGuild.maxMembers) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue