UNPKG

@sapphire/framework

Version:

Discord bot framework built for advanced and amazing bots.

28 lines (26 loc) 1.34 kB
"use strict"; const require_lib_errors_Identifiers = require('../errors/Identifiers.cjs'); let __sapphire_utilities = require("@sapphire/utilities"); let __sapphire_result = require("@sapphire/result"); let __sapphire_discord_utilities = require("@sapphire/discord-utilities"); //#region src/lib/resolvers/member.ts async function resolveMember(parameter, guild, performFuzzySearch) { let member = await resolveById(parameter, guild); if ((0, __sapphire_utilities.isNullish)(member) && performFuzzySearch) member = await resolveByQuery(parameter, guild); if (member) return __sapphire_result.Result.ok(member); return __sapphire_result.Result.err(require_lib_errors_Identifiers.Identifiers.ArgumentMemberError); } async function resolveById(argument, guild) { const memberId = __sapphire_discord_utilities.UserOrMemberMentionRegex.exec(argument) ?? __sapphire_discord_utilities.SnowflakeRegex.exec(argument); return memberId ? guild.members.fetch(memberId[1]).catch(() => null) : null; } async function resolveByQuery(argument, guild) { argument = argument.length > 5 && argument.at(-5) === "#" ? argument.slice(0, -5) : argument; return (await guild.members.fetch({ query: argument, limit: 1 }).catch(() => null))?.first() ?? null; } //#endregion exports.resolveMember = resolveMember; //# sourceMappingURL=member.cjs.map