docs: async def listener(self):
          """
          Listener task for receiving ops from Lavalink.
          """
          while self._ws.open and self._is_shutdown is False:
              try:
                  data = json.loads(await self._ws.recv())
              except websockets.ConnectionClosed:
                  break
  
              raw_op = data.get("op")
              try:
                  op = LavalinkIncomingOp(raw_op)
              except ValueError:
                  socket_log.debug("Received unknown op: %s", data)
              else:
                  socket_log.debug("Received known op: %s", data)
                  self.loop.create_task(self._handle_op(op, data))
  
          self.ready.clear()
          log.debug("Listener exited: ws %s SHUTDOWN %s.", self._ws.open, self._is_shutdown)
          self.loop.create_task(self._reconnect())