@sapphire/framework
Version:
Discord bot framework built for advanced and amazing bots.
32 lines (30 loc) • 1.33 kB
JavaScript
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