UNPKG

@sapphire/framework

Version:

Discord bot framework built for advanced and amazing bots.

30 lines (27 loc) 1.21 kB
'use strict'; var discordUtilities = require('@sapphire/discord-utilities'); var result = require('@sapphire/result'); var Identifiers_cjs = require('../errors/Identifiers.cjs'); var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); async function resolveRole(parameter, guild) { const role = await resolveById(parameter, guild) ?? resolveByQuery(parameter, guild); if (role) { return result.Result.ok(role); } return result.Result.err(Identifiers_cjs.Identifiers.ArgumentRoleError); } __name(resolveRole, "resolveRole"); async function resolveById(argument, guild) { const roleId = discordUtilities.RoleMentionRegex.exec(argument) ?? discordUtilities.SnowflakeRegex.exec(argument); return roleId ? guild.roles.fetch(roleId[1]) : null; } __name(resolveById, "resolveById"); function resolveByQuery(argument, guild) { const lowerCaseArgument = argument.toLowerCase(); return guild.roles.cache.find((role) => role.name.toLowerCase() === lowerCaseArgument) ?? null; } __name(resolveByQuery, "resolveByQuery"); exports.resolveRole = resolveRole; //# sourceMappingURL=role.cjs.map //# sourceMappingURL=role.cjs.map