docs: def disconnect(self, message=""):
          """Hang up the connection.
  
          Arguments:
  
              message -- Quit message.
          """
          try:
              del self.connected
          except AttributeError:
              return
  
          self.quit(message)
  
          try:
              self.socket.shutdown(socket.SHUT_WR)
              self.socket.close()
          except socket.error:
              pass
          del self.socket
          self._handle_event(Event("disconnect", self.server, "", [message]))