UNPKG

@sapphire/framework

Version:

Discord bot framework built for advanced and amazing bots.

22 lines (20 loc) 887 B
import { Identifiers } from "../errors/Identifiers.mjs"; import { Result } from "@sapphire/result"; import { RoleMentionRegex, SnowflakeRegex } from "@sapphire/discord-utilities"; //#region src/lib/resolvers/role.ts async function resolveRole(parameter, guild) { const role = await resolveById(parameter, guild) ?? resolveByQuery(parameter, guild); if (role) return Result.ok(role); return Result.err(Identifiers.ArgumentRoleError); } async function resolveById(argument, guild) { const roleId = RoleMentionRegex.exec(argument) ?? SnowflakeRegex.exec(argument); return roleId ? guild.roles.fetch(roleId[1]) : null; } function resolveByQuery(argument, guild) { const lowerCaseArgument = argument.toLowerCase(); return guild.roles.cache.find((role) => role.name.toLowerCase() === lowerCaseArgument) ?? null; } //#endregion export { resolveRole }; //# sourceMappingURL=role.mjs.map