docs: def umode(self, nick, modes=''):
          """
          Sets/gets user modes.
          Required arguments:
          * nick - Nick to set/get user modes for.
          Optional arguments:
          * modes='' - Sets these user modes on a nick.
          """
          with self.lock:
              if not modes:
                  self.send('MODE %s' % nick)
                  if self.readable():
                      msg = self._recv(expected_replies=('221',))
                      if msg[0] == '221':
                          modes = msg[2].replace('+', '').replace(':', '', 1)
                  return modes
  
              self.send('MODE %s %s' % (nick, modes))
  
              if self.readable():
                  msg = self._recv(expected_replies=('MODE',))
                  if msg[0] == 'MODE':
                      if not self.hide_called_events:
                          self.stepback()
                      return msg[2].replace(':', '', 1)