@sapphire/framework
Version:
Discord bot framework built for advanced and amazing bots.
27 lines (25 loc) • 1.05 kB
JavaScript
import { __name } from '../../chunk-PAWJFY3S.mjs';
import { RoleMentionRegex, SnowflakeRegex } from '@sapphire/discord-utilities';
import { Result } from '@sapphire/result';
import { Identifiers } from '../errors/Identifiers.mjs';
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);
}
__name(resolveRole, "resolveRole");
async function resolveById(argument, guild) {
const roleId = RoleMentionRegex.exec(argument) ?? 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");
export { resolveRole };
//# sourceMappingURL=role.mjs.map
//# sourceMappingURL=role.mjs.map