From cf793f53323c8a8b018a155c9516ddf9c6fbf331 Mon Sep 17 00:00:00 2001 From: Emily J Date: Sun, 25 Oct 2020 12:56:30 +1100 Subject: [PATCH] functions to fetch uncached users/guilds from REST --- bot/util/helpers.js | 46 ++++++++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/bot/util/helpers.js b/bot/util/helpers.js index 7af9af2..9d7e8c1 100644 --- a/bot/util/helpers.js +++ b/bot/util/helpers.js @@ -1,4 +1,4 @@ -const { MessageCollector } = require('eris-collector'); +// const { MessageCollector } = require('eris-collector'); const { inspect, promisify } = require('util'); class Helpers { @@ -28,20 +28,6 @@ class Helpers { } } - async getUser (userID) { - let user = this.client.users.get(userID); - if (!user) try { - console.log('Accessing REST API...'); - user = await this.client.getRESTUser(userID); - this.client.users.add(user, this.client); - } catch (err) { - this.client.logger.error('REST_RETRIEVAL_ERROR', `Failed to retrieve a user from the REST API with the ID ${userID} (${err})`); - return; - } - - return user; - } - highestRole (member) { if (member.roles.length === 0) return member.guild.roles.find(r => r.name === '@everyone'); @@ -106,6 +92,36 @@ class Helpers { process.exit(); } + async getUser (id) { + if (this.client.users.has(id)) return this.client.users.get(id); + this.client.logger.debug('REST_FETCH_USER', 'Accessing rest API...'); + const user = await this.client.getRESTUser(id).catch(err => { + this.client.logger.error('USER_FETCH_ERROR', err); + }); + + if (user) { + this.client.users.set(id, user); + return user; + } + + return; + } + + async getGuild (id) { + if (this.client.guilds.has(id)) return this.client.guilds.get(id); + this.client.logger.debug('REST_FETCH_GUILD', 'Accessing rest API...'); + const guild = await this.client.getRESTGuild(id).catch(err => { + this.client.logger.error('GUILD_FETCH_ERROR', err); + }); + + if (guild) { + this.client.guilds.set(id, guild); + return guild; + } + + return; + } + async clean (text) { if (text && text.constructor.name === 'Promise') { text = await text;