UNPKG

@sapphire/framework

Version:

Discord bot framework built for advanced and amazing bots.

32 lines (30 loc) 1.33 kB
import { __name } from '../../chunk-PAWJFY3S.mjs'; import { UserOrMemberMentionRegex, SnowflakeRegex } from '@sapphire/discord-utilities'; import { Result } from '@sapphire/result'; import { isNullish } from '@sapphire/utilities'; import { Identifiers } from '../errors/Identifiers.mjs'; async function resolveMember(parameter, guild, performFuzzySearch) { let member = await resolveById(parameter, guild); if (isNullish(member) && performFuzzySearch) { member = await resolveByQuery(parameter, guild); } if (member) { return Result.ok(member); } return Result.err(Identifiers.ArgumentMemberError); } __name(resolveMember, "resolveMember"); async function resolveById(argument, guild) { const memberId = UserOrMemberMentionRegex.exec(argument) ?? SnowflakeRegex.exec(argument); return memberId ? guild.members.fetch(memberId[1]).catch(() => null) : null; } __name(resolveById, "resolveById"); async function resolveByQuery(argument, guild) { argument = argument.length > 5 && argument.at(-5) === "#" ? argument.slice(0, -5) : argument; const members = await guild.members.fetch({ query: argument, limit: 1 }).catch(() => null); return members?.first() ?? null; } __name(resolveByQuery, "resolveByQuery"); export { resolveMember }; //# sourceMappingURL=member.mjs.map //# sourceMappingURL=member.mjs.map