mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-03-16 14:11:50 +00:00
Make !server numbers more consistent
Offline member count is now derived from guild member count and calculated online member count. The numbers might still not match the real member counts, but at least they add up to the total member count. Eris 0.11.2 also made Guild.fetchAllMembers() return a promise, which means !server will now properly wait for all members to load.
This commit is contained in:
parent
fd8d128048
commit
ba647c69ce
1 changed files with 11 additions and 10 deletions
|
@ -1051,11 +1051,12 @@ export class UtilityPlugin extends ZeppelinPlugin<TConfigSchema> {
|
||||||
`) + embedPadding,
|
`) + embedPadding,
|
||||||
});
|
});
|
||||||
|
|
||||||
const onlineMembers = this.guild.members.filter(m => m.status === "online");
|
const onlineMemberCount = this.guild.members.filter(m => m.status !== "offline").length;
|
||||||
const dndMembers = this.guild.members.filter(m => m.status === "dnd");
|
const offlineMemberCount = this.guild.memberCount - onlineMemberCount;
|
||||||
const idleMembers = this.guild.members.filter(m => m.status === "idle");
|
|
||||||
const offlineMembers = this.guild.members.filter(m => m.status === "offline");
|
const onlineStatusMemberCount = this.guild.members.filter(m => m.status === "online").length;
|
||||||
const notOfflineMembers = this.guild.members.filter(m => m.status !== "offline");
|
const dndStatusMemberCount = this.guild.members.filter(m => m.status === "dnd").length;
|
||||||
|
const idleStatusMemberCount = this.guild.members.filter(m => m.status === "idle").length;
|
||||||
|
|
||||||
const restGuild = await this.bot.getRESTGuild(this.guildId);
|
const restGuild = await this.bot.getRESTGuild(this.guildId);
|
||||||
|
|
||||||
|
@ -1064,7 +1065,7 @@ export class UtilityPlugin extends ZeppelinPlugin<TConfigSchema> {
|
||||||
memberCountTotalLines += `\nMax: **${formatNumber(restGuild.maxMembers)}**`;
|
memberCountTotalLines += `\nMax: **${formatNumber(restGuild.maxMembers)}**`;
|
||||||
}
|
}
|
||||||
|
|
||||||
let memberCountOnlineLines = `Online: **${formatNumber(notOfflineMembers.length)}**`;
|
let memberCountOnlineLines = `Online: **${formatNumber(onlineMemberCount)}**`;
|
||||||
if (restGuild.maxPresences) {
|
if (restGuild.maxPresences) {
|
||||||
memberCountOnlineLines += `\nMax online: ${formatNumber(restGuild.maxPresences)}`;
|
memberCountOnlineLines += `\nMax online: ${formatNumber(restGuild.maxPresences)}`;
|
||||||
}
|
}
|
||||||
|
@ -1075,10 +1076,10 @@ export class UtilityPlugin extends ZeppelinPlugin<TConfigSchema> {
|
||||||
value: trimLines(`
|
value: trimLines(`
|
||||||
${memberCountTotalLines}
|
${memberCountTotalLines}
|
||||||
${memberCountOnlineLines}
|
${memberCountOnlineLines}
|
||||||
Offline: **${formatNumber(offlineMembers.length)}**
|
Offline: **${formatNumber(offlineMemberCount)}**
|
||||||
<:zep_online:665907874450636810> Online: **${formatNumber(onlineMembers.length)}**
|
<:zep_online:665907874450636810> Online: **${formatNumber(onlineStatusMemberCount)}**
|
||||||
<:zep_idle:665908128331726848> Idle: **${formatNumber(idleMembers.length)}**
|
<:zep_idle:665908128331726848> Idle: **${formatNumber(idleStatusMemberCount)}**
|
||||||
<:zep_dnd:665908138741858365> DND: **${formatNumber(dndMembers.length)}**
|
<:zep_dnd:665908138741858365> DND: **${formatNumber(dndStatusMemberCount)}**
|
||||||
`),
|
`),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue