• Gets the user's recently played tracks

    Parameters

    • limit: number = 5

      Maximum number of tracks to return (default: 5)

    Returns Promise<SpotifyRecentlyPlayedResponse>

    Promise resolving to recently played track data

    Error if the request fails

    export async function getRecentlyPlayedTracks(
    limit: number = 5,
    ): Promise<SpotifyRecentlyPlayedResponse> {
    await ensureValidToken();

    try {
    const response = await retryApiCall(async () => {
    return await spotifyAxios.get(
    `${API_BASE_URL}/me/player/recently-played?limit=${limit}`,
    {
    headers: {
    Authorization: `Bearer ${getAccessToken()}`,
    },
    },
    );
    });

    return response.data as SpotifyRecentlyPlayedResponse;
    } catch (error: unknown) {
    const err = error as Error;
    saveLog(`Failed to get recently played tracks: ${err.message}`, "ERROR");
    throw new Error(`Failed to get recently played tracks: ${err.message}`);
    }
    }