mirror of
https://github.com/danbulant/discord.js
synced 2026-05-27 14:02:02 +00:00
Add resolveUserID and improve other resolutions
This commit is contained in:
parent
ab7682f921
commit
bbddfef7f6
1 changed files with 21 additions and 15 deletions
|
|
@ -38,18 +38,24 @@ class ClientDataResolver {
|
||||||
* @returns {?User}
|
* @returns {?User}
|
||||||
*/
|
*/
|
||||||
resolveUser(user) {
|
resolveUser(user) {
|
||||||
if (user instanceof User) {
|
if (user instanceof User) return user;
|
||||||
return user;
|
if (typeof user === 'string') return this.client.users.get(user) || null;
|
||||||
} else if (typeof user === 'string') {
|
if (user instanceof GuildMember) return user.user;
|
||||||
return this.client.users.get(user);
|
if (user instanceof Message) return user.author;
|
||||||
} else if (user instanceof Message) {
|
if (user instanceof Guild) return user.owner;
|
||||||
return user.author;
|
return null;
|
||||||
} else if (user instanceof Guild) {
|
}
|
||||||
return user.owner;
|
|
||||||
} else if (user instanceof GuildMember) {
|
|
||||||
return user.user;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resolves a UserResolvable to a user ID string
|
||||||
|
* @param {UserResolvable} user The UserResolvable to identify
|
||||||
|
* @returns {?string}
|
||||||
|
*/
|
||||||
|
resolveUserID(user) {
|
||||||
|
if (user instanceof User || user instanceof GuildMember) return user.id;
|
||||||
|
if (typeof user === 'string') return user || null;
|
||||||
|
if (user instanceof Message) return user.author.id;
|
||||||
|
if (user instanceof Guild) return user.owner.id;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -66,7 +72,7 @@ class ClientDataResolver {
|
||||||
*/
|
*/
|
||||||
resolveGuild(guild) {
|
resolveGuild(guild) {
|
||||||
if (guild instanceof Guild) return guild;
|
if (guild instanceof Guild) return guild;
|
||||||
if (typeof guild === 'string') return this.client.guilds.get(guild);
|
if (typeof guild === 'string') return this.client.guilds.get(guild) || null;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -90,7 +96,7 @@ class ClientDataResolver {
|
||||||
user = this.resolveUser(user);
|
user = this.resolveUser(user);
|
||||||
if (!guild || !user) return null;
|
if (!guild || !user) return null;
|
||||||
|
|
||||||
return guild.members.get(user.id);
|
return guild.members.get(user.id) || null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -127,8 +133,8 @@ class ClientDataResolver {
|
||||||
resolveChannel(channel) {
|
resolveChannel(channel) {
|
||||||
if (channel instanceof Channel) return channel;
|
if (channel instanceof Channel) return channel;
|
||||||
if (channel instanceof Message) return channel.channel;
|
if (channel instanceof Message) return channel.channel;
|
||||||
if (channel instanceof Guild) return channel.channels.get(channel.id);
|
if (channel instanceof Guild) return channel.channels.get(channel.id) || null;
|
||||||
if (typeof channel === 'string') return this.client.channels.get(channel.id);
|
if (typeof channel === 'string') return this.client.channels.get(channel.id) || null;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue