code: def add_command(self, command):
          
  
          if not isinstance(command, Command):
              raise TypeError('The command passed must be a subclass of Command')
  
          if isinstance(self, Command):
              command.parent = self
  
          if command.name in self.all_commands:
              raise discord.ClientException('Command {0.name} is already registered.'.format(command))
  
          self.all_commands[command.name] = command
          for alias in command.aliases:
              if alias in self.all_commands:
                  raise discord.ClientException('The alias {} is already an existing command or alias.'.format(alias))
              self.all_commands[alias] = command
docs: Adds a :class:`.Command` or its subclasses into the internal list
          of commands.
  
          This is usually not called, instead the :meth:`~.GroupMixin.command` or
          :meth:`~.GroupMixin.group` shortcut decorators are used instead.
  
          Parameters
          -----------
          command
              The command to add.
  
          Raises
          -------
          :exc:`.ClientException`
              If the command is already registered.
          TypeError
              If the command passed is not a subclass of :class:`.Command`.