def __init_commands(self): self._logger.info('Loading commands.') importdir.do('commands', globals()) if self._config.has_option('bot', 'extra_commands_dir'): extra_commands_dir = self._config.get('bot', 'extra_commands_dir') if extra_commands_dir and os.path.exists(extra_commands_dir): self._logger.info('Added %s to command load path.', extra_commands_dir) importdir.do(extra_commands_dir, globals()) disabled_commands = [] try: if self._config.has_option('bot', 'disabled_commands'): disabled_commands = json.loads(self._config.get('bot', 'disabled_commands')) except ValueError as ex: self._logger.exception(ex) for command in Command.__subclasses__(): if command.name not in disabled_commands: self.__enable_command(command) else: del command self._logger.info('Enabled commands: %s.', list(self.commands.keys())) if disabled_commands: self._logger.info('Disabled commands: %s.', disabled_commands)