diff --git a/src/managers/UserNoteManager.js b/src/managers/UserNoteManager.js index d31bf07..ee673dc 100644 --- a/src/managers/UserNoteManager.js +++ b/src/managers/UserNoteManager.js @@ -28,6 +28,26 @@ class UserNoteManager extends BaseManager { else this.cache.set(id, note); return this; } + + /** + * Obtains a user from Discord, or the user cache if it's already available. + * @param {UserResolvable} user The user to fetch + * @param {BaseFetchOptions} [options] Additional options for this fetch + * @returns {Promise} + */ + async fetch(user, { cache = true, force = false } = {}) { + const id = this.resolveId(user); + if (!force) { + const existing = this.cache.get(id); + if (existing) return existing; + } + const data = await this.client.api.users['@me'].notes[id] + .get() + .then(d => d.note) + .catch(() => ''); + if (cache) this.cache.set(id, data); + return data; + } } module.exports = UserNoteManager;