utility: update features, add deprecated field

This commit is contained in:
Cynthia Foxwell 2024-06-11 21:19:50 -06:00
parent 9def169bd7
commit 8786b6c3ef
1 changed files with 225 additions and 85 deletions

View File

@ -192,30 +192,77 @@ const APPLICATION_TYPES = [
// https://discord-userdoccers.vercel.app/resources/guild#guild-features
const GUILD_FEATURES = {
ACTIVITIES_ALPHA: {icon: "\u{1f680}"},
ACTIVITIES_EMPLOYEE: {icon: "\u{1f680}"},
ACTIVITIES_INTERNAL_DEV: {icon: "\u{1f680}"},
ACTIVITIES_ALPHA: {icon: "\u{1f680}", name: "Activities (Alpha)"},
ACTIVITIES_EMPLOYEE: {icon: "\u{1f680}", name: "Activities (Staff)"},
ACTIVITIES_INTERNAL_DEV: {
icon: "\u{1f680}",
name: "Activities (Internal Dev)",
},
ANIMATED_BANNER: {icon: "\u{1f39e}"},
ANIMATED_ICON: {icon: "\u{1f39e}"},
APPLICATION_COMMAND_PERMISSIONS_V2: {icon: "\u2699\ufe0f"},
AUTO_MODERATION: {icon: "\u{1f6e1}"},
AUTOMOD_TRIGGER_KEYWORD_FILTER: {icon: "\u{1f6e1}"},
AUTOMOD_TRIGGER_ML_SPAM_FILTER: {icon: "\u{1f6e1}"},
AUTOMOD_TRIGGER_SPAM_LINK_FILTER: {icon: "\u{1f6e1}"},
AUTOMOD_TRIGGER_USER_PROFILE: {icon: "\u{1faaa}"},
APPLICATION_COMMAND_PERMISSIONS_V2: {icon: "\u2699\ufe0f", deprecated: true},
AUTO_MODERATION: {icon: "\u{1f6e1}", name: "AutoMod"},
AUTOMOD_TRIGGER_KEYWORD_FILTER: {
icon: "\u{1f6e1}",
name: "AutoMod: Keywords",
deprecated: true,
},
AUTOMOD_TRIGGER_ML_SPAM_FILTER: {
icon: "\u{1f6e1}",
name: "AutoMod: Spam",
deprecated: true,
},
AUTOMOD_TRIGGER_SPAM_LINK_FILTER: {
icon: "\u{1f6e1}",
name: "AutoMod: Spam Links",
deprecated: true,
},
AUTOMOD_TRIGGER_USER_PROFILE: {
icon: "\u{1faaa}",
name: "AutoMod: User Profiles",
},
BANNER: {icon: "\u{1f5bc}"},
BFG: {icon: "\u{1f388}", name: "BFG"},
BOOSTING_TIERS_EXPERIMENT_MEDIUM_GUILD: {icon: "\u{1f48e}"},
BOOSTING_TIERS_EXPERIMENT_SMALL_GUILD: {icon: "\u{1f48e}"},
BOOSTING_TIERS_EXPERIMENT_MEDIUM_GUILD: {
icon: "\u{1f48e}",
name: "Boosting: Medium Guild",
deprecated: true,
},
BOOSTING_TIERS_EXPERIMENT_SMALL_GUILD: {
icon: "\u{1f48e}",
name: "Boosting: Small Guild",
deprecated: true,
},
BOT_DEVELOPER_EARLY_ACCESS: {icon: "\u{1f9ea}"},
BURST_REACTIONS: {icon: "\u2728", name: "Super Reactions"},
CHANNEL_BANNER: {icon: "\u{1f5bc}"},
CHANNEL_ICON_EMOJIS_GENERATED: {icon: "\u{1f603}"},
CHANNEL_BANNER: {icon: "\u{1f5bc}", deprecated: true},
CHANNEL_ICON_EMOJIS_GENERATED: {
icon: "\u{1f603}",
name: "Channel Icon Emojis",
},
CHANNEL_HIGHLIGHTS: {icon: "\u{1f5c3}"},
CHANNEL_HIGHLIGHTS_DISABLED: {icon: "\u{1f6ab}"},
CLYDE_DISABLED: {icon: "\u{1f6ab}"},
CLYDE_ENABLED: {icon: "\u{1f916}"},
CLYDE_EXPERIMENT_ENABLED: {icon: "\u{1f9ea}"},
CLAN: {icon: "\u2694\ufe0f"},
CLAN_DISCOVERY_DISABLED: {icon: "\u2694\ufe0f"},
CLAN_PILOT_GENSHIN: {
icon: "\u2694\ufe0f",
name: "Clan Pilot: Genshin Impact",
},
CLAN_PILOT_VALORANT: {
icon: "\u2694\ufe0f",
name: "Clan Pilot: Valorant",
},
CLAN_PREPILOT_GENSHIN: {
icon: "\u2694\ufe0f",
name: "Clan Pre-Pilot: Genshin Impact",
},
CLAN_PREPILOT_VALORANT: {
icon: "\u2694\ufe0f",
name: "Clan Pre-Pilot: Valorant",
},
CLYDE_DISABLED: {icon: "\u{1f6ab}", deprecated: true},
CLYDE_ENABLED: {icon: "\u{1f916}", deprecated: true},
CLYDE_EXPERIMENT_ENABLED: {icon: "\u{1f9ea}", deprecated: true},
COMMERCE: {icon: "\u{1f6cd}"},
COMMUNITY: {icon: "\u{1f3d8}"},
COMMUNITY_CANARY: {icon: "\u{1f9ea}"},
@ -223,38 +270,98 @@ const GUILD_FEATURES = {
COMMUNITY_EXP_LARGE_UNGATED: {icon: "\u{1f3d8}"},
COMMUNITY_EXP_MEDIUM: {icon: "\u{1f3d8}"},
CREATOR_ACCEPTED_NEW_TERMS: {icon: "\u2611\ufe0f"},
CREATOR_MONETIZABLE: {icon: "\u{1f4b0}"},
CREATOR_MONETIZABLE_DISABLED: {icon: "\u{1f6ab}"},
CREATOR_MONETIZABLE_PENDING_NEW_OWNER_ONBOARDING: {icon: "\u{1f4b1}"},
CREATOR_MONETIZABLE_PROVISIONAL: {icon: "\u{1f4b0}"},
CREATOR_MONETIZABLE_RESTRICTED: {icon: "\u26d4"},
CREATOR_MONETIZABLE_WHITEGLOVE: {icon: "\u{1f9ea}"},
CREATOR_MONETIZATION_APPLICATION_ALLOWLIST: {icon: "\u{1f4dc}"},
CREATOR_MONETIZABLE: {icon: "\u{1f4b0}", name: "Monetization"},
CREATOR_MONETIZABLE_DISABLED: {
icon: "\u{1f6ab}",
name: "Monetization Disabled",
},
CREATOR_MONETIZABLE_PENDING_NEW_OWNER_ONBOARDING: {
icon: "\u{1f4b1}",
name: "Monetization: Pending Onboarding",
},
CREATOR_MONETIZABLE_PROVISIONAL: {
icon: "\u{1f4b0}",
name: "Monetization (Provisional)",
},
CREATOR_MONETIZABLE_RESTRICTED: {
icon: "\u26d4",
name: "Monetization Restricted",
},
CREATOR_MONETIZABLE_WHITEGLOVE: {
icon: "\u{1f9ea}",
name: "Monetization White Glove",
},
CREATOR_MONETIZATION_APPLICATION_ALLOWLIST: {
icon: "\u{1f4dc}",
name: "Monetization Allow List",
},
CREATOR_STORE_PAGE: {icon: "\u{1f6d2}"},
DEVELOPER_SUPPORT_SERVER: {icon: "\u2754"},
DISCOVERABLE: {icon: "\u{1f9ed}"},
DISCOVERABLE_DISABLED: {icon: "\u{1f6ab}"},
ENABLED_DISCOVERABLE_BEFORE: {icon: "\u{1f9ed}"},
EXPOSED_TO_ACTIVITIES_WTP_EXPERIMENT: {icon: "\u{1f9ea}"},
EXPOSED_TO_BOOSTING_TIERS_EXPERIMENT: {icon: "\u{1f9ea}"},
FEATURABLE: {icon: "\u{1f9ed}"},
FORCE_RELAY: {icon: "\u{1f4fb}"},
EXPOSED_TO_BOOSTING_TIERS_EXPERIMENT: {
icon: "\u{1f9ea}",
name: "Boosting: Tiers Experiment",
deprecated: true,
},
FEATURABLE: {icon: "\u{1f9ed}", deprecated: true},
FORCE_RELAY: {icon: "\u{1f4fb}", deprecated: true},
GENSHIN_L30: {icon: "\u{1f3ae}", name: "Clans: Genshin Impact L30"},
GUESTS_ENABLED: {icon: "\u{1f465}"},
GUILD_AUTOMOD_DEFAULT_LIST: {icon: "\u{1f6e1}"},
GUILD_COMMUNICATION_DISABLED_GUILDS: {icon: "\u{1f6d1}"},
GUILD_HOME_DEPRECATION_OVERRIDE: {icon: "\u{1f3da}"},
GUILD_HOME_OVERRIDE: {icon: "\u{1f3e0}"},
GUILD_HOME_TEST: {icon: "\u{1f9ea}"},
GUILD_AUTOMOD_DEFAULT_LIST: {icon: "\u{1f6e1}", deprecated: true},
GUILD_COMMUNICATION_DISABLED_GUILDS: {
icon: "\u{1f6d1}",
name: "Member Timeouts",
deprecated: true,
},
GUILD_HOME_DEPRECATION_OVERRIDE: {
icon: "\u{1f3da}",
name: "Home Tab Deprecation Notice Hidden",
},
GUILD_HOME_OVERRIDE: {icon: "\u{1f3e0}", name: "Home Tab (Override)"},
GUILD_HOME_TEST: {icon: "\u{1f9ea}", name: "Home Tab (Testing)"},
GUILD_MEMBER_VERIFICATION_EXPERIMENT: {icon: "\u{1f9ea}"},
GUILD_ONBOARDING: {icon: "\u{1f5f3}"},
GUILD_ONBOARDING_ADMIN_ONLY: {icon: "\u{1f5f3}"},
GUILD_ONBOARDING_EVER_ENABLED: {icon: "\u{1f5f3}"},
GUILD_ONBOARDING_HAS_PROMPTS: {icon: "\u{1f5f3}"},
GUILD_ONBOARDING: {icon: "\u{1f5f3}", name: "Onboarding"},
GUILD_ONBOARDING_ADMIN_ONLY: {
icon: "\u{1f5f3}",
name: "Onboarding: Admin Only",
deprecated: true,
},
GUILD_ONBOARDING_EVER_ENABLED: {
icon: "\u{1f5f3}",
name: "Onboarding: Ever Enabled",
},
GUILD_ONBOARDING_HAS_PROMPTS: {
icon: "\u{1f5f3}",
name: "Onboarding: Has Prompts",
},
GUILD_PRODUCTS: {icon: "\u{1f6cd}"},
GUILD_ROLE_SUBSCRIPTIONS: {icon: "\u{1f4b3}"},
GUILD_ROLE_SUBSCRIPTION_PURCHASE_FEEDBACK_LOOP: {icon: "\u{1f4b3}"},
GUILD_ROLE_SUBSCRIPTION_TIER_TEMPLATE: {icon: "\u{1f4b3}"},
GUILD_ROLE_SUBSCRIPTION_TRIALS: {icon: "\u{1f4b3}"},
GUILD_PRODUCTS_ALLOW_ARCHIVED_FILE: {
icon: "\u{1f5dc}",
name: "Products: Allow Archives",
},
GUILD_ROLE_SUBSCRIPTIONS: {
icon: "\u{1f4b3}",
name: "Role Subscriptions",
deprecated: true,
},
GUILD_ROLE_SUBSCRIPTION_PURCHASE_FEEDBACK_LOOP: {
icon: "\u{1f4b3}",
name: "Role Subscriptions: Purchase Feedback Loop",
deprecated: true,
},
GUILD_ROLE_SUBSCRIPTION_TIER_TEMPLATE: {
icon: "\u{1f4b3}",
name: "Role Subscriptions: Tier Template",
deprecated: true,
},
GUILD_ROLE_SUBSCRIPTION_TRIALS: {
icon: "\u{1f4b3}",
name: "Role Subscriptions: Trials",
deprecated: true,
},
GUILD_SERVER_GUIDE: {icon: "\u{1f9ae}"},
GUILD_WEB_PAGE_VANITY_URL: {icon: "\u{1f4c4}"},
HAD_EARLY_ACTIVITIES_ACCESS: {icon: "\u{1f680}"},
@ -266,63 +373,86 @@ const GUILD_FEATURES = {
INVITE_SPLASH: {icon: "\u{1f5bc}"},
INVITES_DISABLED: {icon: "\u26d4"},
LINKED_TO_HUB: {icon: "\u{1f3eb}"},
LURKABLE: {icon: "\u{1f441}"},
MARKETPLACES_CONNECTION_ROLES: {icon: "\u{1f517}"},
MEDIA_CHANNEL_ALPHA: {icon: "\u{1f5bc}"},
MEMBER_LIST_DISABLED: {icon: "\u{1f6ab}"},
MEMBER_PROFILES: {icon: "\u{1faaa}"},
LURKABLE: {icon: "\u{1f441}", deprecated: true},
MARKETPLACES_CONNECTION_ROLES: {icon: "\u{1f517}", deprecated: true},
MEDIA_CHANNEL_ALPHA: {icon: "\u{1f5bc}", deprecated: true},
MEMBER_LIST_DISABLED: {icon: "\u{1f6ab}", deprecated: true},
MEMBER_PROFILES: {icon: "\u{1faaa}", deprecated: true},
MEMBER_SAFETY_PAGE_ROLLOUT: {icon: "\u{1f6e1}"},
MEMBER_VERIFICATION_GATE_ENABLED: {icon: "\u{1f6e1}"},
MEMBER_VERIFICATION_MANUAL_APPROVAL: {icon: "\u2705"},
MOBILE_WEB_ROLE_SUBSCRIPTION_PURCHASE_PAGE: {icon: "\u{1f4b3}"},
MONETIZATION_ENABLED: {icon: "\u{1f4b0}"},
MOBILE_WEB_ROLE_SUBSCRIPTION_PURCHASE_PAGE: {
icon: "\u{1f4b3}",
deprecated: true,
},
MONETIZATION_ENABLED: {icon: "\u{1f4b0}", deprecated: true},
MORE_EMOJI: {icon: "\u{1f603}"},
MORE_STICKERS: {icon: "\u{1f5bc}"},
NEWS: {icon: "\u{1f4f0}"},
NEW_THREAD_PERMISSIONS: {icon: "\u{1f9f5}"},
NEW_THREAD_PERMISSIONS: {icon: "\u{1f9f5}", deprecated: true},
NON_COMMUNITY_RAID_ALERTS: {icon: "\u{1f6a8}"},
PARTNERED: {icon: "\u267e\ufe0f"},
PREMIUM_TIER_3_OVERRIDE: {icon: "\u{1f48e}"},
PREVIEW_ENABLED: {icon: "\u{1f441}"},
PRIVATE_THREADS: {icon: "\u{1f9f5}"},
PRIVATE_THREADS: {icon: "\u{1f9f5}", deprecated: true},
PRODUCTS_AVAILABLE_FOR_PURCHASE: {icon: "\u{1f6cd}"},
PUBLIC: {icon: "\u{1f9ed}"},
PUBLIC_DISABLED: {icon: "\u{1f6ab}"},
PUBLIC: {icon: "\u{1f9ed}", deprecated: true},
PUBLIC_DISABLED: {icon: "\u{1f6ab}", deprecated: true},
RAID_ALERTS_DISABLED: {icon: "\u{1f6ab}"},
RAID_ALERTS_ENABLED: {icon: "\u{1f6a8}"},
RAID_ALERTS_ENABLED: {icon: "\u{1f6a8}", deprecated: true},
RELAY_ENABLED: {icon: "\u{1f4fb}"},
RESTRICT_SPAM_RISK_GUILDS: {icon: "\u{1f6d1}"},
RESTRICT_SPAM_RISK_GUILDS: {icon: "\u{1f6d1}", deprecated: true},
ROLE_ICONS: {icon: "\u{1f3f7}"},
ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE: {icon: "\u{1f4b3}"},
ROLE_SUBSCRIPTIONS_ENABLED: {icon: "\u{1f4b3}"},
ROLE_SUBSCRIPTIONS_ENABLED_FOR_PURCHASE: {icon: "\u{1f4b3}"},
SEVEN_DAY_THREAD_ARCHIVE: {icon: "\u{1f9f5}"},
ROLE_SUBSCRIPTIONS_ENABLED_FOR_PURCHASE: {
icon: "\u{1f4b3}",
deprecated: true,
},
SEVEN_DAY_THREAD_ARCHIVE: {icon: "\u{1f9f5}", deprecated: true},
SHARD: {icon: "\u{1f4a0}"},
SHARED_CANVAS_FRIENDS_AND_FAMILY_TEST: {icon: "\u{1f58c}"},
SOUNDBOARD: {icon: "\u{1f50a}"},
SUMMARIES_ENABLED: {icon: "\u{1f4da}"},
SUMMARIES_ENABLED: {icon: "\u{1f4da}", deprecated: true},
SUMMARIES_ENABLED_GA: {
icon: "\u{1f4da}",
name: "Summaries Enabled (General Access)",
name: "Summaries (General Access)",
},
SUMMARIES_DISABLED_BY_USER: {icon: "\u26d4"},
SUMMARIES_ENABLED_BY_USER: {icon: "\u{1f4da}"},
SUMMARIES_LONG_LOOKBACK: {icon: "\u{1f5c2}"},
STAFF_LEVEL_COLLABORATOR_REQUIRED: {icon: "\u{1f6e0}"},
STAFF_LEVEL_RESTRICTED_COLLABORATOR_REQUIRED: {icon: "\u{1f6e0}"},
TEXT_IN_STAGE_ENABLED: {icon: "\u{1f5e8}"},
TEXT_IN_VOICE_ENABLED: {icon: "\u{1f5e8}"},
THREADS_ENABLED_TESTING: {icon: "\u{1f9f5}"},
THREADS_ENABLED: {icon: "\u{1f9f5}"},
TEXT_IN_STAGE_ENABLED: {icon: "\u{1f5e8}", deprecated: true},
TEXT_IN_VOICE_ENABLED: {icon: "\u{1f5e8}", deprecated: true},
THREADS_ENABLED: {icon: "\u{1f9f5}", deprecated: true},
THREADS_ENABLED_TESTING: {
icon: "\u{1f9f5}",
name: "Thread Enabled (Testing)",
deprecated: true,
},
THREAD_DEFAULT_AUTO_ARCHIVE_DURATION: {icon: "\u{1f9f5}"},
THREADS_ONLY_CHANNEL: {icon: "\u{1f5e8}", name: "Forum Channels"},
THREE_DAY_THREAD_ARCHIVE: {icon: "\u{1f9f5}"},
TICKETED_EVENTS_ENABLED: {icon: "\u{1f39f}"},
TICKETING_ENABLED: {icon: "\u{1f39f}"},
THREADS_ONLY_CHANNEL: {
icon: "\u{1f5e8}",
name: "Forum Channels",
deprecated: true,
},
THREE_DAY_THREAD_ARCHIVE: {icon: "\u{1f9f5}", deprecated: true},
TICKETED_EVENTS_ENABLED: {
icon: "\u{1f39f}",
name: "Scheduled Events",
deprecated: true,
},
TICKETING_ENABLED: {
icon: "\u{1f39f}",
name: "Scheduled Events",
deprecated: true,
},
VALORANT_L30: {icon: "\u{1f3ae}", name: "Clans: Valorant L30"},
VANITY_URL: {icon: "\u{1f517}"},
VERIFIED: {icon: "\u2b50"},
VIP_REGIONS: {icon: "\u{1f399}"},
VOICE_CHANNEL_EFFECTS: {icon: "\u2728"},
VOICE_CHANNEL_EFFECTS: {icon: "\u2728", deprecated: true},
VOICE_IN_THREADS: {icon: "\u{1f399}"},
WELCOME_SCREEN_ENABLED: {icon: "\u{1f44b}"},
};
@ -841,13 +971,15 @@ lookupinvite.callback = async function (msg, line) {
const features = invite.guild.features.sort().map(
(feature) =>
(GUILD_FEATURES[feature]?.icon ?? "\u2753") +
" " +
(GUILD_FEATURES[feature]?.name ??
`${GUILD_FEATURES[feature]?.icon ?? "\u2753"} ${
GUILD_FEATURES[feature]?.deprecated ? "~~" : ""
}${
GUILD_FEATURES[feature]?.name ??
feature
.split("_")
.map((x) => x[0] + x.substring(1).toLowerCase())
.join(" "))
.join(" ")
}${GUILD_FEATURES[feature]?.deprecated ? "~~" : ""}`
);
if (invite.type == 0) {
@ -2288,13 +2420,15 @@ guildinfo.callback = async function (msg, line) {
const features = guild.features.sort().map(
(feature) =>
(GUILD_FEATURES[feature]?.icon ?? "\u2753") +
" " +
(GUILD_FEATURES[feature]?.name ??
`${GUILD_FEATURES[feature]?.icon ?? "\u2753"} ${
GUILD_FEATURES[feature]?.deprecated ? "~~" : ""
}${
GUILD_FEATURES[feature]?.name ??
feature
.split("_")
.map((x) => x[0] + x.substring(1).toLowerCase())
.join(" "))
.join(" ")
}${GUILD_FEATURES[feature]?.deprecated ? "~~" : ""}`
);
embed.fields.push({
@ -2418,13 +2552,15 @@ guildinfo.callback = async function (msg, line) {
const features = guild.features.sort().map(
(feature) =>
(GUILD_FEATURES[feature]?.icon ?? "\u2753") +
" " +
(GUILD_FEATURES[feature]?.name ??
`${GUILD_FEATURES[feature]?.icon ?? "\u2753"} ${
GUILD_FEATURES[feature]?.deprecated ? "~~" : ""
}${
GUILD_FEATURES[feature]?.name ??
feature
.split("_")
.map((x) => x[0] + x.substring(1).toLowerCase())
.join(" "))
.join(" ")
}${GUILD_FEATURES[feature]?.deprecated ? "~~" : ""}`
);
embed.fields.push({
@ -2545,13 +2681,15 @@ guildinfo.callback = async function (msg, line) {
if (invite?.guild?.features) {
const features = invite.guild.features.sort().map(
(feature) =>
(GUILD_FEATURES[feature]?.icon ?? "\u2753") +
" " +
(GUILD_FEATURES[feature]?.name ??
`${GUILD_FEATURES[feature]?.icon ?? "\u2753"} ${
GUILD_FEATURES[feature]?.deprecated ? "~~" : ""
}${
GUILD_FEATURES[feature]?.name ??
feature
.split("_")
.map((x) => x[0] + x.substring(1).toLowerCase())
.join(" "))
.join(" ")
}${GUILD_FEATURES[feature]?.deprecated ? "~~" : ""}`
);
embed.fields.push({
@ -2643,13 +2781,15 @@ guildinfo.callback = async function (msg, line) {
const features = invite.guild.features.sort().map(
(feature) =>
(GUILD_FEATURES[feature]?.icon ?? "\u2753") +
" " +
(GUILD_FEATURES[feature]?.name ??
`${GUILD_FEATURES[feature]?.icon ?? "\u2753"} ${
GUILD_FEATURES[feature]?.deprecated ? "~~" : ""
}${
GUILD_FEATURES[feature]?.name ??
feature
.split("_")
.map((x) => x[0] + x.substring(1).toLowerCase())
.join(" "))
.join(" ")
}${GUILD_FEATURES[feature]?.deprecated ? "~~" : ""}`
);
embed.fields.push({