start working on disable command
This commit is contained in:
		
							parent
							
								
									0aef6ef414
								
							
						
					
					
						commit
						e7a22c443e
					
				
					 1 changed files with 54 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -15,7 +15,58 @@ module.exports = class {
 | 
			
		|||
        };
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    run (client, message, args, data) {
 | 
			
		||||
    async run (client, message, [action, ...toDisable], data) {
 | 
			
		||||
        const essential = {
 | 
			
		||||
            categories: ['Configuration', 'Developer'],
 | 
			
		||||
            commands: ['help']
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        if (!action || action.toLowerCase() === 'list') {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!toDisable) return message.channel.createMessage(
 | 
			
		||||
            `${client.constants.emojis.userError} You didn't specify what command/category to disable. Usage: \`${this.help.usage}\``
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        if (action.toLowerCase() === 'command' || action.toLowerCase() === 'cmd') {
 | 
			
		||||
            const disabled = data.guild.disabledcommands;
 | 
			
		||||
            const notFound = [];
 | 
			
		||||
            const alreadyDisabled = [];
 | 
			
		||||
            const cannotDisable = [];
 | 
			
		||||
 | 
			
		||||
            for (let cmd of toDisable) {
 | 
			
		||||
                cmd = cmd.toLowerCase();
 | 
			
		||||
                let command;
 | 
			
		||||
 | 
			
		||||
                if (client.commands.has(cmd)) {
 | 
			
		||||
                    command = client.commands.get(cmd);
 | 
			
		||||
                } else if (client.aliases.has(cmd)) {
 | 
			
		||||
                    command = client.commands.get(client.aliases.get(cmd));
 | 
			
		||||
                }
 | 
			
		||||
                
 | 
			
		||||
                if (!command) {
 | 
			
		||||
                    notFound.push(cmd);
 | 
			
		||||
                    toDisable.remove(cmd);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (essential.commands.includes(command.name) || essential.categories.includes(command.category)) {
 | 
			
		||||
                    cannotDisable.push(cmd);
 | 
			
		||||
                    toDisable.remove(cmd);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (disabled.includes(cmd)) {
 | 
			
		||||
                    alreadyDisabled.push(cmd);
 | 
			
		||||
                    toDisable.remove(cmd);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
            if (toDisable.length > 0) {
 | 
			
		||||
                const push = disabled.concat(toDisable);
 | 
			
		||||
                await client.db.updateGuild(message.channel.guild.id, 'disabledcommands', push);
 | 
			
		||||
                
 | 
			
		||||
            }
 | 
			
		||||
};
 | 
			
		||||
            
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue