From d447937c1b06a0201bcb59ff2f3dffcfe5278965 Mon Sep 17 00:00:00 2001 From: Raphael Date: Tue, 25 Nov 2025 15:12:01 +0100 Subject: [PATCH] feat(lib): adding the getUserRoles function in lib - Needed by other modules so terminated on the lib --- src/commands/utils/info.ts | 10 +--------- src/lib/roles.ts | 10 ++++++++++ 2 files changed, 11 insertions(+), 9 deletions(-) create mode 100644 src/lib/roles.ts diff --git a/src/commands/utils/info.ts b/src/commands/utils/info.ts index 8c5f917..1c5cade 100644 --- a/src/commands/utils/info.ts +++ b/src/commands/utils/info.ts @@ -12,6 +12,7 @@ import { import emoji from '../../../assets/emoji.json' assert { type: 'json' }; import { User as UserPrisma } from '@prisma/client'; import { Guild as GuildPrisma } from '@prisma/client'; +import { getUserRoles } from '@lib/roles'; import { log } from '@lib/log'; function getGuildRoles(guild: Guild): string { @@ -23,15 +24,6 @@ function getGuildRoles(guild: Guild): string { return roles.length > 0 ? roles.join(', ') : 'No role'; } -function getUserRoles(target: GuildMember): string { - const roles = target.roles.cache - .filter((role) => role.id !== target.guild.id) - .sort((a, b) => b.position - a.position) - .map((role) => roleMention(role.id)); - - return roles.length > 0 ? roles.join(', ') : 'No role'; -} - function getUserBadges(userData: { isDev?: boolean; isEnium?: boolean; diff --git a/src/lib/roles.ts b/src/lib/roles.ts new file mode 100644 index 0000000..bd0976f --- /dev/null +++ b/src/lib/roles.ts @@ -0,0 +1,10 @@ +import { GuildMember, roleMention } from 'discord.js'; + +export function getUserRoles(target: GuildMember): string { + const roles = target.roles.cache + .filter((role) => role.id !== target.guild.id) + .sort((a, b) => b.position - a.position) + .map((role) => roleMention(role.id)); + + return roles.length > 0 ? roles.join(', ') : 'No role'; +}