be smarter

This commit is contained in:
Cynthia Foxwell 2025-04-18 11:50:31 -06:00
parent 1497758905
commit cac9ff8db0
Signed by: Cynosphere
SSH key fingerprint: SHA256:H3SM8ufP/uxqLwKSH7xY89TDnbR9uOHzjLoBr0tlajk
4 changed files with 48 additions and 169 deletions

View file

@ -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) {

View file

@ -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);

View file

@ -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,

View file

@ -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,
};