Wom.Net 1.0.1-rc2

This is a prerelease version of Wom.Net.
dotnet add package Wom.Net --version 1.0.1-rc2
                    
NuGet\Install-Package Wom.Net -Version 1.0.1-rc2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Wom.Net" Version="1.0.1-rc2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Wom.Net" Version="1.0.1-rc2" />
                    
Directory.Packages.props
<PackageReference Include="Wom.Net" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Wom.Net --version 1.0.1-rc2
                    
#r "nuget: Wom.Net, 1.0.1-rc2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Wom.Net@1.0.1-rc2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Wom.Net&version=1.0.1-rc2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Wom.Net&version=1.0.1-rc2&prerelease
                    
Install as a Cake Tool

Wom.Net

A comprehensive .NET wrapper for the WiseOldMan API, providing easy access to Old School RuneScape player tracking and statistics.

NuGet License

Overview

Wom.Net is a modern, fully-featured .NET library for interacting with the WiseOldMan API. This library allows developers to easily integrate OSRS player tracking, group management, and competition features into their .NET applications.

For more info use the WiseOldMan API Docs.

Features

  • Complete coverage of the WiseOldMan REST API
  • Strong typing for all API responses
  • Result pattern using Functional.Sharp
  • Dependency Injection ready with Microsoft.Extensions.DependencyInjection integration

Installation

.NET CLI

dotnet add package Wom.Net

Quick Start

using Functional.Sharp.Monads;
using Wom.Net;
using Wom.Net.Extensions;
using Microsoft.Extensions.DependencyInjection;
using Wom.Net.Services.Players.Entities;

// Setup dependency injection
var services = new ServiceCollection();
services.AddWiseOldMan();

// Build service provider and get the client
var serviceProvider = services.BuildServiceProvider();
var womClient = serviceProvider.GetRequiredService<IWiseOldManService>();

// Search for a player
Result<IEnumerable<Player>> playerSearchResult = await womClient.Players.Search("zezima");
playerSearchResult.Match(
    players => Console.WriteLine($"Found {players.Count()} players"),
    err => Console.WriteLine($"Error searching players: {err.Message}")
);

Authentication

Providing an API key will increase rate limits, more info can be found here API Keys:

services.AddWiseOldMan(options => {
    options.ApiKey = "your-api-key-here"; // Optional
    options.DiscordUsername = "YourDiscordName"; // Optional
});

Usage Examples

Players

// Get player details
Result<IEnumerable<Player>> playerSearchResult = await womClient.Players.Search("zezima");

Advanced Configuration

Result Handling

The library uses Results instead of exceptions for different API error scenarios:

Result<PlayerDetails> playerDetailsResult = await womClient.Players.GetPlayerDetails("non-existent-player");
playerDetailsResult.Match(
	 player => // use player here,
	 err => err switch {
		 NotFoundError => Console.WriteLine($"Player not found: {err.Message}"),
		 _ =>  Console.WriteLine($"API error: {err.Message}")
	 }
);

Support

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your branch using semantic branch names (git checkout -b feat/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add some amazing feature')
  4. Push to the branch (git push origin feat/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • WiseOldMan for their excellent OSRS tracking platform and API
  • The Old School RuneScape community
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1-rc2 130 3/13/2025
1.0.0-rc2 125 3/12/2025
1.0.0-rc1 124 3/12/2025