functions to fetch uncached users/guilds from REST
This commit is contained in:
		
							parent
							
								
									5db9385d97
								
							
						
					
					
						commit
						cf793f5332
					
				
					 1 changed files with 31 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue