docs: async def create_player(self, channel: discord.VoiceChannel) -> Player:
          """
          Connects to a discord voice channel.
  
          This function is safe to repeatedly call as it will return an existing
          player if there is one.
  
          Parameters
          ----------
          channel
  
          Returns
          -------
          Player
              The created Player object.
          """
          if self._already_in_guild(channel):
              p = self.get_player(channel.guild.id)
              await p.move_to(channel)
          else:
              p = Player(self, channel)
              await p.connect()
              self._player_dict[channel.guild.id] = p
              await self.refresh_player_state(p)
          return p