getPlayer method

Future<Player> getPlayer(
  1. String sessionId,
  2. String guildId
)

Get player information

Implementation

Future<Player> getPlayer(String sessionId, String guildId) async {
  LavalinkLogger.debug('Getting player for guild $guildId', tag: 'REST');

  try {
    final uri = Uri.parse('$baseUrl/v4/sessions/$sessionId/players/$guildId');

    final request = await _httpClient.getUrl(uri);
    _addHeaders(request);

    final response = await request.close();
    final responseBody = await _readResponse(response);

    if (response.statusCode != 200) {
      throw LavalinkException(
        'Failed to get player: ${response.statusCode}',
        statusCode: response.statusCode,
      );
    }

    final json = jsonDecode(responseBody) as Map<String, dynamic>;
    return Player.fromJson(json);
  } catch (e) {
    if (e is LavalinkException) rethrow;
    throw LavalinkException('Failed to get player: $e', cause: e);
  }
}