code: def connect(self, *args, **kwargs):
          
          defaults = {}
  
          for i, k in enumerate(('host', 'port', 'channel', 'use_ssl', 'password')):
              if i < len(args):
                  defaults[k] = args[i]
              elif k in kwargs:
                  defaults[k] = kwargs[k]
              else:
                  def_k = 'default_' + k
                  defaults[k] = getattr(self, def_k, None)
  
          if defaults['use_ssl'] is None:
              defaults['use_ssl'] = False
  
          if defaults['host'] is None:
              raise TypeError("missing 1 required positional argument: 'host'")
  
          logging.info("Connecting to %s:%s and joining channels %s",
                       defaults['host'],
                       defaults['port'],
                       defaults['channel'],
                       )
          client.SimpleClient.connect(self, **defaults)
docs: Extend `client.SimpleClient.connect()` with defaults