Attempt a few extra ways to resolve users

This commit is contained in:
Tarrgon
2025-09-08 06:58:16 -04:00
parent 7c050b62db
commit 6adc431823
3 changed files with 19 additions and 5 deletions
+17 -3
View File
@@ -1,12 +1,26 @@
import { Client, User } from 'discord.js';
import { Client, Guild, User } from 'discord.js';
export async function resolveUser(client: Client, value: string): Promise<User | null | undefined> {
export async function resolveUser(client: Client, value: string, guild: Guild | null = null): Promise<User | null | undefined> {
let user: User | null | undefined = null;
try {
user = await client.users.fetch(value);
} catch (e) {
} catch {
user = client.users.cache.find(u => u.username == value);
if (!user && guild) {
user = guild.members.cache.find(m => m.displayName == value)?.user;
if (!user) {
try {
const users = await guild.members.fetch({
query: value
});
if (users.size > 0) user = users.first()!.user;
} catch { }
}
}
}
return user;