clean up module loaders
This commit is contained in:
		
							parent
							
								
									85d0255ccc
								
							
						
					
					
						commit
						a5c7aaef5f
					
				
					 3 changed files with 22 additions and 27 deletions
				
			
		
							
								
								
									
										33
									
								
								bot/index.js
									
										
									
									
									
								
							
							
						
						
									
										33
									
								
								bot/index.js
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -41,19 +41,16 @@ class WoomyClient extends Eris.Client {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    loadCommands () {
 | 
			
		||||
        const nameRegexp = /[^/]*$/;
 | 
			
		||||
        const catRegexp = /.+?(?=\/)/;
 | 
			
		||||
 | 
			
		||||
        for (const file of this.commandFiles) {
 | 
			
		||||
            try {
 | 
			
		||||
                const props = new (require(this.path + '/commands/' + file))(this);
 | 
			
		||||
                props.help.name = nameRegexp.exec(file);
 | 
			
		||||
                props.help.category = catRegexp.exec(file);
 | 
			
		||||
                const name = file.substr(file.indexOf('/') + 1).slice(0, -3);
 | 
			
		||||
                const category = file.substr(0, file.indexOf('/'));
 | 
			
		||||
                const command = new (require(this.path + '/commands/' + file))(name, category);
 | 
			
		||||
 | 
			
		||||
                this.commands.set(props.help.name, props);
 | 
			
		||||
                this.cooldowns.set(props.help.name, new Map());
 | 
			
		||||
                props.conf.aliases.forEach(alias => {
 | 
			
		||||
                    this.aliases.set(alias, props.help.name);
 | 
			
		||||
                this.commands.set(command.name, command);
 | 
			
		||||
                this.cooldowns.set(command.name, new Map());
 | 
			
		||||
                command.aliases.forEach(alias => {
 | 
			
		||||
                    this.aliases.set(alias, command.name);
 | 
			
		||||
                });
 | 
			
		||||
            } catch (error) {
 | 
			
		||||
                this.logger.error('COMMAND_LOADER_ERROR', `Failed to load ${file}: ${error}`);
 | 
			
		||||
| 
						 | 
				
			
			@ -64,9 +61,9 @@ class WoomyClient extends Eris.Client {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    reloadCommands () {
 | 
			
		||||
        for (const file of this.commandFiles) {
 | 
			
		||||
        for (const cmd of this.commands) {
 | 
			
		||||
            try {
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
            } catch (error) {
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -74,25 +71,23 @@ class WoomyClient extends Eris.Client {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    loadEventModules () {
 | 
			
		||||
        const nameRegexp = /[^/]*$/;
 | 
			
		||||
        const catRegexp = /.+?(?=\/)/;
 | 
			
		||||
 | 
			
		||||
        for (const file of this.eventFiles) {
 | 
			
		||||
            try {
 | 
			
		||||
                const event = new (require(this.path + '/event_modules/' + file))(catRegexp.exec(file));
 | 
			
		||||
                this.eventModules.set(nameRegexp.exec(file), event);
 | 
			
		||||
                const name = file.substr(file.indexOf('/') + 1).slice(0, -3);
 | 
			
		||||
                const category = file.substr(0, file.indexOf('/'));
 | 
			
		||||
                const event = new (require(this.path + '/event_modules/' + file))(category);
 | 
			
		||||
                this.eventModules.set(name, event);
 | 
			
		||||
            } catch (error) {
 | 
			
		||||
                this.logger.error('EVENT_LOADER_ERROR', `Failed to load ${file}: ${error}`);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        console.log(this.eventModules)
 | 
			
		||||
        this.logger.success('EVENT_LOADER_SUCCESS', `Loaded ${this.eventModules.size}/${this.eventFiles.length} event modules.`);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    reloadEventModules () {
 | 
			
		||||
        for (const file of this.eventFiles) {
 | 
			
		||||
            try {
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
            } catch (error) {
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,56 +8,56 @@ class EventHandler {
 | 
			
		|||
    handle (wsEvent, param_1, param_2) {
 | 
			
		||||
        switch (wsEvent) {
 | 
			
		||||
            case 'ready': {
 | 
			
		||||
                const readyModules = this.client.eventModules.filter(module => module.wsEvent[0] === 'ready');
 | 
			
		||||
                const readyModules = this.client.eventModules.filter(module => module.wsEvent === 'ready');
 | 
			
		||||
                readyModules.forEach(module => module.run(this.client));
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // param_1 - error message
 | 
			
		||||
            case 'error': {
 | 
			
		||||
                const errorModules = this.client.eventModules.filter(module => module.wsEvent[0] === 'error');
 | 
			
		||||
                const errorModules = this.client.eventModules.filter(module => module.wsEvent === 'error');
 | 
			
		||||
                errorModules.forEach(module => module.run(this.client, param_1));
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // param_1 - message object
 | 
			
		||||
            case 'messageCreate': {
 | 
			
		||||
                const mCreateModules = this.client.eventModules.filter(module => module.wsEvent[0] === 'messageCreate');
 | 
			
		||||
                const mCreateModules = this.client.eventModules.filter(module => module.wsEvent === 'messageCreate');
 | 
			
		||||
                mCreateModules.forEach(module => module.run(this.client, param_1));
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // param_1 - guild object
 | 
			
		||||
            case 'guildCreate': {
 | 
			
		||||
                const gCreateModules = this.client.eventModules.filter(module => module.wsEvent[0] === 'guildCreate');
 | 
			
		||||
                const gCreateModules = this.client.eventModules.filter(module => module.wsEvent === 'guildCreate');
 | 
			
		||||
                gCreateModules.forEach(module => module.run(this.client, param_1));
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // param_1 - guild object
 | 
			
		||||
            case 'guildDelete': {
 | 
			
		||||
                const gDeleteModules = this.client.eventModules.filter(module => module.wsEvent[0] === 'guildDelete');
 | 
			
		||||
                const gDeleteModules = this.client.eventModules.filter(module => module.wsEvent === 'guildDelete');
 | 
			
		||||
                gDeleteModules.forEach(module => module.run(this.client, param_1));
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // param_1 - guild object | param_2 - member object
 | 
			
		||||
            case 'guildMemberAdd': {
 | 
			
		||||
                const gMemberAddModules = this.client.eventModules.filter(module => module.wsEvent[0] === 'guildMemberAdd');
 | 
			
		||||
                const gMemberAddModules = this.client.eventModules.filter(module => module.wsEvent === 'guildMemberAdd');
 | 
			
		||||
                gMemberAddModules.forEach(module => module.run(this.client, param_1, param_2));
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // param_1 - guild object | param_2 - member object
 | 
			
		||||
            case 'guildMemberRemove': {
 | 
			
		||||
                const gMemberRemoveModules = this.client.eventModules.filter(module => module.wsEvent[0] === 'guildMemberRemove');
 | 
			
		||||
                const gMemberRemoveModules = this.client.eventModules.filter(module => module.wsEvent === 'guildMemberRemove');
 | 
			
		||||
                gMemberRemoveModules.forEach(module => module.run(this.client, param_1, param_2));
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // param_1 - old voice state | param_2 - new voice state
 | 
			
		||||
            case 'voiceStateUpdate': {
 | 
			
		||||
                const vStateUpdateModules = this.client.eventModules.filter(module => module.wsEvent[0] === 'voiceStateUpdate');
 | 
			
		||||
                const vStateUpdateModules = this.client.eventModules.filter(module => module.wsEvent === 'voiceStateUpdate');
 | 
			
		||||
                vStateUpdateModules.forEach(module => module.run(this.client));
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue