LolHandbook.DataDragonClient
1.0.0
dotnet add package LolHandbook.DataDragonClient --version 1.0.0
NuGet\Install-Package LolHandbook.DataDragonClient -Version 1.0.0
<PackageReference Include="LolHandbook.DataDragonClient" Version="1.0.0" />
paket add LolHandbook.DataDragonClient --version 1.0.0
#r "nuget: LolHandbook.DataDragonClient, 1.0.0"
// Install LolHandbook.DataDragonClient as a Cake Addin #addin nuget:?package=LolHandbook.DataDragonClient&version=1.0.0 // Install LolHandbook.DataDragonClient as a Cake Tool #tool nuget:?package=LolHandbook.DataDragonClient&version=1.0.0
Data Dragon Client
.NET client library for Riot's Data Dragon API that provides access to information about champions and items in League of Legends. This library is a component of the League Handbook app but also available as a standalone NuGet package that can be used in any .NET project.
Disclaimer: This library isn't endorsed by Riot Games and doesn't reflect the views or opinions of Riot Games or anyone officially involved in producing or managing League of Legends. League of Legends and Riot Games are trademarks or registered trademarks of Riot Games, Inc.
Quickstart
using LolHandbook.DataDragon;
IDataDragonClient client = new DataDragonClient("na");
// current patch version
string patchVersion = await client.GetPatchVersionAsync();
// champions
IDictionary<string, ChampionSummary> championSummaries = await client.GetChampionSummariesAsync();
ChampionSummary summary = championSummaries.Values.First(c => c.Name == "Annie");
ChampionDetail detail = await client.GetChampionDetailAsync(summary.Id);
// items
IDictionary<string, Item> items = await client.GetItemsAsync();
// summoner spells
IDictionary<string, SummonerSpell> summonerSpells = await client.GetSummonerSpellsAsync();
Caching
Since game data does not change often (new patches are typically released once every two weeks), it is beneficial to cache this data locally. A caching implementation is provided that will cache all calls except GetChampionDetailAsync
. There is no built-in expiration mechanism, but you can manually invalidate the cache if needed.
var client = new CachingDataDragonClient("na");
// ... do stuff ...
// invalidate cache if you need to fetch new data
client.InvalidateCache();
Advanced configuration
When creating the client, you can pass in a custom RealmConfiguration
that specifies one or more of the parameters below (anything that is not specified will use the default):
Cdn
lets you override the default Data Dragon endpointPatchVersion
lets you fetch data for an older patch versionLanguage
lets you override the default language code for the realm
Example (specifying a patch version):
var configuration = new RealmConfiguration("na") { PatchVersion = "12.1.1" };
var client = new DataDragonClient(configuration);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Newtonsoft.Json (>= 13.0.1)
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.0 | 236 | 7/17/2022 |