Add more info to !server, and tweak formatting
This commit is contained in:
parent
225f4084b2
commit
8a1df3f314
1 changed files with 43 additions and 11 deletions
|
@ -26,6 +26,7 @@ import {
|
||||||
DAYS,
|
DAYS,
|
||||||
embedPadding,
|
embedPadding,
|
||||||
errorMessage,
|
errorMessage,
|
||||||
|
formatNumber,
|
||||||
get,
|
get,
|
||||||
getInviteCodesInString,
|
getInviteCodesInString,
|
||||||
isSnowflake,
|
isSnowflake,
|
||||||
|
@ -1033,33 +1034,64 @@ export class UtilityPlugin extends ZeppelinPlugin<TConfigSchema> {
|
||||||
const offlineMembers = this.guild.members.filter(m => m.status === "offline");
|
const offlineMembers = this.guild.members.filter(m => m.status === "offline");
|
||||||
const notOfflineMembers = this.guild.members.filter(m => m.status !== "offline");
|
const notOfflineMembers = this.guild.members.filter(m => m.status !== "offline");
|
||||||
|
|
||||||
|
const restGuild = await this.bot.getRESTGuild(this.guildId);
|
||||||
|
|
||||||
|
let memberCountTotalLines = `Total: **${formatNumber(this.guild.memberCount)}**`;
|
||||||
|
if (restGuild.maxMembers) {
|
||||||
|
memberCountTotalLines += `\nMax: **${formatNumber(restGuild.maxMembers)}**`;
|
||||||
|
}
|
||||||
|
|
||||||
|
let memberCountOnlineLines = `Online: **${formatNumber(notOfflineMembers.length)}**`;
|
||||||
|
if (restGuild.maxPresences) {
|
||||||
|
memberCountOnlineLines += `\nMax online: ${formatNumber(restGuild.maxPresences)}`;
|
||||||
|
}
|
||||||
|
|
||||||
embed.fields.push({
|
embed.fields.push({
|
||||||
name: "Members",
|
name: "Members",
|
||||||
inline: true,
|
inline: true,
|
||||||
value: trimLines(`
|
value: trimLines(`
|
||||||
Total: **${this.guild.memberCount}**
|
${memberCountTotalLines}
|
||||||
Online: **${onlineMembers.length}**
|
${memberCountOnlineLines}
|
||||||
Idle: **${idleMembers.length}**
|
Offline: **${formatNumber(offlineMembers.length)}**
|
||||||
DND: **${dndMembers.length}**
|
<:zep_online:665907874450636810> Online: **${formatNumber(onlineMembers.length)}**
|
||||||
Offline: **${offlineMembers.length}**
|
<:zep_idle:665908128331726848> Idle: **${formatNumber(idleMembers.length)}**
|
||||||
Not offline: **${notOfflineMembers.length}**
|
<:zep_dnd:665908138741858365> DND: **${formatNumber(dndMembers.length)}**
|
||||||
`),
|
`),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const totalChannels = this.guild.channels.size;
|
||||||
const categories = this.guild.channels.filter(channel => channel instanceof CategoryChannel);
|
const categories = this.guild.channels.filter(channel => channel instanceof CategoryChannel);
|
||||||
const textChannels = this.guild.channels.filter(channel => channel instanceof TextChannel);
|
const textChannels = this.guild.channels.filter(channel => channel instanceof TextChannel);
|
||||||
const voiceChannels = this.guild.channels.filter(channel => channel instanceof VoiceChannel);
|
const voiceChannels = this.guild.channels.filter(channel => channel instanceof VoiceChannel);
|
||||||
|
|
||||||
|
embed.fields.push({
|
||||||
|
name: "Channels",
|
||||||
|
inline: true,
|
||||||
|
value:
|
||||||
|
trimLines(`
|
||||||
|
Total: **${totalChannels}** / 500
|
||||||
|
Categories: **${categories.length}**
|
||||||
|
Text: **${textChannels.length}**
|
||||||
|
Voice: **${voiceChannels.length}**
|
||||||
|
`) + embedPadding,
|
||||||
|
});
|
||||||
|
|
||||||
|
const maxEmojis =
|
||||||
|
{
|
||||||
|
0: 50,
|
||||||
|
1: 100,
|
||||||
|
2: 150,
|
||||||
|
3: 250,
|
||||||
|
}[this.guild.premiumTier] || 50;
|
||||||
|
|
||||||
embed.fields.push({
|
embed.fields.push({
|
||||||
name: "Other stats",
|
name: "Other stats",
|
||||||
inline: true,
|
inline: true,
|
||||||
value:
|
value:
|
||||||
trimLines(`
|
trimLines(`
|
||||||
Roles: **${this.guild.roles.size}**
|
Roles: **${this.guild.roles.size}** / 250
|
||||||
Categories: **${categories.length}**
|
Emojis: **${this.guild.emojis.length}** / ${maxEmojis}
|
||||||
Text channels: **${textChannels.length}**
|
Boosts: **${this.guild.premiumSubscriptionCount}** (level ${this.guild.premiumTier})
|
||||||
Voice channels: **${voiceChannels.length}**
|
|
||||||
Emojis: **${this.guild.emojis.length}**
|
|
||||||
`) + embedPadding,
|
`) + embedPadding,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue