From ce5143bf9ba9235fb38bc35803cef07e3d439354 Mon Sep 17 00:00:00 2001 From: Elysia <71698422+aiko-chan-ai@users.noreply.github.com> Date: Sat, 13 Jan 2024 19:31:15 +0700 Subject: [PATCH] Update UserNoteManager.js --- src/managers/UserNoteManager.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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;