From af4b82d48da54d11e9ee657b71690aebc6d49615 Mon Sep 17 00:00:00 2001 From: almeidx Date: Mon, 7 Feb 2022 21:18:41 +0000 Subject: [PATCH] fix(userinfocmd): limit the amount of roles shown --- .../src/plugins/Utility/functions/getUserInfoEmbed.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/backend/src/plugins/Utility/functions/getUserInfoEmbed.ts b/backend/src/plugins/Utility/functions/getUserInfoEmbed.ts index 39cf4166..e775205c 100644 --- a/backend/src/plugins/Utility/functions/getUserInfoEmbed.ts +++ b/backend/src/plugins/Utility/functions/getUserInfoEmbed.ts @@ -16,6 +16,13 @@ import { import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; import { UtilityPluginType } from "../types"; +const MAX_ROLES_TO_DISPLAY = 15; + +const trimRoles = (roles: string[]) => + roles.length > MAX_ROLES_TO_DISPLAY + ? roles.slice(0, MAX_ROLES_TO_DISPLAY).join(", ") + `, and ${MAX_ROLES_TO_DISPLAY - roles.length} more roles` + : roles.join(", "); + export async function getUserInfoEmbed( pluginData: GuildPluginData, userId: string, @@ -109,7 +116,7 @@ export async function getUserInfoEmbed( name: preEmbedPadding + "Member information", value: trimLines(` ${user.bot ? "Added" : "Joined"}: **${joinAge} ago** (\`${prettyJoinedAt}\`) - ${roles.length > 0 ? "Roles: " + roles.map((r) => `<@&${r.id}>`).join(", ") : ""} + ${roles.length > 0 ? "Roles: " + trimRoles(roles.map((r) => `<@&${r.id}>`)) : ""} `), });