diff --git a/src/modules/utility/guildinfo.js b/src/modules/utility/guildinfo.js index 21a99c7..2b33533 100644 --- a/src/modules/utility/guildinfo.js +++ b/src/modules/utility/guildinfo.js @@ -19,7 +19,7 @@ const { ChannelTypeNames, } = require("#util/constants.js"); const {snowflakeToTimestamp} = require("#util/time.js"); -const {getGuild, tryGetGuild, formatGuildFeatures} = require("#util/misc.js"); +const {getGuild, tryGetGuild, formatGuildFeatures, makeGuildFeatureFields} = require("#util/misc.js"); const guildinfo = new Command("guildinfo"); guildinfo.category = "utility"; @@ -367,39 +367,7 @@ guildinfo.callback = async function (msg, line, args, {nolocal, debug}) { inline: false, }); - const features = formatGuildFeatures(guild.features); - - if (features.length > 0) { - let featuresList = ""; - let firstFeature = true; - for (let index = 0; index < features.length; index++) { - const feature = features[index]; - if (featuresList.length + feature.length + 1 > 1024) { - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - featuresList = feature + "\n"; - if (firstFeature === true) firstFeature = false; - if (index === features.length - 1) - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - } else if (index === features.length - 1) { - featuresList = feature + "\n"; - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - } else { - featuresList += feature + "\n"; - } - } - } + embed.fields.push(...makeGuildFeatureFields(formatGuildFeatures(guild.features))); const images = []; if (guild.icon) { @@ -479,39 +447,7 @@ guildinfo.callback = async function (msg, line, args, {nolocal, debug}) { inline: false, }); - const features = formatGuildFeatures(guild.features); - - if (features.length > 0) { - let featuresList = ""; - let firstFeature = true; - for (let index = 0; index < features.length; index++) { - const feature = features[index]; - if (featuresList.length + feature.length + 1 > 1024) { - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - featuresList = feature + "\n"; - if (firstFeature === true) firstFeature = false; - if (index === features.length - 1) - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - } else if (index === features.length - 1) { - featuresList = feature + "\n"; - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - } else { - featuresList += feature + "\n"; - } - } - } + embed.fields.push(...makeGuildFeatureFields(formatGuildFeatures(guild.features))); const images = []; if (guild.icon) { @@ -595,39 +531,7 @@ guildinfo.callback = async function (msg, line, args, {nolocal, debug}) { }); if (invite?.guild?.features) { - const features = formatGuildFeatures(invite.guild.features); - - if (features.length > 0) { - let featuresList = ""; - let firstFeature = true; - for (let index = 0; index < features.length; index++) { - const feature = features[index]; - if (featuresList.length + feature.length + 1 > 1024) { - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - featuresList = feature + "\n"; - if (firstFeature === true) firstFeature = false; - if (index === features.length - 1) - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - } else if (index === features.length - 1) { - featuresList = feature + "\n"; - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - } else { - featuresList += feature + "\n"; - } - } - } + embed.fields.push(...makeGuildFeatureFields(formatGuildFeatures(invite.guild.features))); } const images = []; @@ -695,39 +599,7 @@ guildinfo.callback = async function (msg, line, args, {nolocal, debug}) { inline: false, }); - const features = formatGuildFeatures(invite.guild.features); - - if (features.length > 0) { - let featuresList = ""; - let firstFeature = true; - for (let index = 0; index < features.length; index++) { - const feature = features[index]; - if (featuresList.length + feature.length + 1 > 1024) { - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - featuresList = feature + "\n"; - if (firstFeature === true) firstFeature = false; - if (index === features.length - 1) - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - } else if (index === features.length - 1) { - featuresList = feature + "\n"; - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - } else { - featuresList += feature + "\n"; - } - } - } + embed.fields.push(...makeGuildFeatureFields(formatGuildFeatures(guild.features))); const images = []; if (invite.guild.icon) { diff --git a/src/modules/utility/lookupinvite.js b/src/modules/utility/lookupinvite.js index 9637409..64f5325 100644 --- a/src/modules/utility/lookupinvite.js +++ b/src/modules/utility/lookupinvite.js @@ -9,7 +9,7 @@ const { } = require("#util/dconstants.js"); const {Icons} = require("#util/constants.js"); -const {formatUsername, safeString, formatGuildFeatures} = require("#util/misc.js"); +const {formatUsername, safeString, formatGuildFeatures, makeGuildFeatureFields} = require("#util/misc.js"); const {snowflakeToTimestamp} = require("#util/time.js"); const lookupinvite = new Command("lookupinvite"); @@ -120,38 +120,7 @@ lookupinvite.callback = async function (msg, line) { ); if (invite.guild.features) { - const features = formatGuildFeatures(invite.guild.features); - if (features.length > 0) { - let featuresList = ""; - let firstFeature = true; - for (let index = 0; index < features.length; index++) { - const feature = features[index]; - if (featuresList.length + feature.length + 1 > 1024) { - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - featuresList = feature + "\n"; - if (firstFeature === true) firstFeature = false; - if (index === features.length - 1) - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - } else if (index === features.length - 1) { - featuresList = feature + "\n"; - embed.fields.push({ - name: firstFeature ? `Features (${features.length})` : "\u200b", - value: featuresList.trim(), - inline: true, - }); - } else { - featuresList += feature + "\n"; - } - } - } + embed.fields.push(...makeGuildFeatureFields(formatGuildFeatures(invite.guild.features))); } const guildIcon = invite.guild?.icon && CDNEndpoints.GUILD_ICON(invite.guild.id, invite.guild.icon); diff --git a/src/util/constants.js b/src/util/constants.js index 279e675..08930bd 100644 --- a/src/util/constants.js +++ b/src/util/constants.js @@ -416,16 +416,16 @@ module.exports.GuildFeaturesFormatted = { SOUNDBOARD: {icon: SILK_ICONS.sound}, STAGE_CHANNEL_VIEWERS_50: { icon: SILK_ICONS.transmit_blue, - name: "Stages: 50 Viewers", + name: "Stages: 50 Users", }, STAGE_CHANNEL_VIEWERS_150: { icon: SILK_ICONS.transmit_blue, - name: "Stages: 150 Viewers", + name: "Stages: 150 Users", }, SUMMARIES_ENABLED: {icon: SILK_ICONS.book_tabs, deprecated: true}, SUMMARIES_ENABLED_GA: { icon: SILK_ICONS.book_tabs, - name: "Summaries (General Access)", + name: "Summaries: General Access", }, SUMMARIES_DISABLED_BY_USER: { icon: SILK_ICONS.book_tabs_delete, diff --git a/src/util/misc.js b/src/util/misc.js index 9fa7edb..d0cb817 100644 --- a/src/util/misc.js +++ b/src/util/misc.js @@ -177,6 +177,43 @@ function formatGuildFeatures(features) { ); } +function makeGuildFeatureFields(features) { + const fields = []; + if (features.length > 0) { + let featuresList = ""; + let firstFeature = true; + for (let index = 0; index < features.length; index++) { + const feature = features[index]; + const fieldName = firstFeature ? `Features (${features.length})` : "\u200b"; + if (featuresList.length + feature.length + 1 > 1024) { + fields.push({ + name: fieldName, + value: featuresList.trim(), + inline: true, + }); + featuresList = feature + "\n"; + if (firstFeature === true) firstFeature = false; + if (index === features.length - 1) + fields.push({ + name: fieldName, + value: featuresList.trim(), + inline: true, + }); + } else if (index === features.length - 1) { + featuresList += feature + "\n"; + fields.push({ + name: fieldName, + value: featuresList.trim(), + inline: true, + }); + } else { + featuresList += feature + "\n"; + } + } + } + return fields; +} + function getDefaultAvatar(id, discriminator = null, size = 4096) { let index = 0; @@ -225,6 +262,7 @@ module.exports = { tryGetGuild, enumKeyToName, formatGuildFeatures, + makeGuildFeatureFields, getDefaultAvatar, flagsFromInt, };