docs: def get_node(guild_id: int, ignore_ready_status: bool = False) -> Node:
      """
      Gets a node based on a guild ID, useful for noding separation. If the
      guild ID does not already have a node association, the least used
      node is returned. Skips over nodes that are not yet ready.
  
      Parameters
      ----------
      guild_id : int
      ignore_ready_status : bool
  
      Returns
      -------
      Node
      """
      guild_count = 1e10
      least_used = None
  
      for node in _nodes:
          guild_ids = node.player_manager.guild_ids
  
          if ignore_ready_status is False and not node.ready.is_set():
              continue
          elif len(guild_ids) < guild_count:
              guild_count = len(guild_ids)
              least_used = node
  
          if guild_id in guild_ids:
              return node
  
      if least_used is None:
          raise IndexError("No nodes found.")
  
      return least_used