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
+1 -1
View File
@@ -59,7 +59,7 @@ export default {
const idToUse = matches ? matches.groups!.id : discordUserInput;
const user = await resolveUser(client, idToUse);
const user = await resolveUser(client, idToUse, interaction.guild);
if (!user) return interaction.editReply('User not found.');
+1 -1
View File
@@ -95,7 +95,7 @@ export default {
await deferInteraction(interaction);
const user = await resolveUser(client, idToUse);
const user = await resolveUser(client, idToUse, interaction.guild);
if (!user) return interaction.editReply('User not found.');
+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;