allow users and members to not be cached (#1097)

This commit is contained in:
Gus Caplan
2017-01-14 15:20:09 -06:00
committed by Amish Shah
parent e216fc7a81
commit 78bf402e8e
3 changed files with 22 additions and 12 deletions

View File

@@ -325,14 +325,15 @@ class Guild {
/**
* Fetch a single guild member from a user.
* @param {UserResolvable} user The user to fetch the member for
* @param {boolean} [cache=true] Insert the user into the users cache
* @returns {Promise<GuildMember>}
*/
fetchMember(user) {
fetchMember(user, cache = true) {
if (this._fetchWaiter) return Promise.reject(new Error('Already fetching guild members.'));
user = this.client.resolver.resolveUser(user);
if (!user) return Promise.reject(new Error('User is not cached. Use Client.fetchUser first.'));
if (this.members.has(user.id)) return Promise.resolve(this.members.get(user.id));
return this.client.rest.methods.getGuildMember(this, user);
return this.client.rest.methods.getGuildMember(this, user, cache);
}
/**