Create UserNoteManager.js

This commit is contained in:
Elysia 2024-01-07 20:05:28 +07:00
parent 12c731f77e
commit 9bc00229a1

View File

@ -0,0 +1,33 @@
'use strict';
const { Collection } = require('@discordjs/collection');
const BaseManager = require('./BaseManager');
/**
* Manages API methods for Client and stores their cache.
* @extends {BaseManager}
*/
class UserNoteManager extends BaseManager {
constructor(client, data = {}) {
super(client);
/**
* Cache User Note
* @type {Collection<Snowflake, string>}
*/
this.cache = new Collection(Object.entries(data));
}
_reload(data = {}) {
this.cache = new Collection(Object.entries(data));
return this;
}
async updateNote(id, note = null) {
await this.client.api.users['@me'].notes(id).put({ data: { note } });
if (!note) this.cache.delete(id, note);
else this.cache.set(id, note);
return this;
}
}
module.exports = UserNoteManager;