MingweiSamuel.Camille 2.2.0

Riot Games API library. Fully rate limited, automatic retrying, thread-safe. V4 Supported.

There is a newer version of this package available.
See the version list below for details.
Install-Package MingweiSamuel.Camille -Version 2.2.0
dotnet add package MingweiSamuel.Camille --version 2.2.0
<PackageReference Include="MingweiSamuel.Camille" Version="2.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MingweiSamuel.Camille --version 2.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Camille

AppVeyor branch NuGet Stable NuGet Pre Release

C# Library for the Riot Games API

Camille's goals are speed and reliability. Camille handles rate limits and large requests seamlessly. Data classes are automatically generated from the Riot API Reference (Swagger).

Features

  • Fast, asynchronous, thread-safe
  • Automatically retries failed requests
  • Highly-configurable
  • Targets .NET Standard 1.1+ (.NET Core 1.0+, .NET Framework 4.5+)
  • Riot API V4 Support

Installation

Install via NuGet (MingweiSamuel.Camille).

Usage

All API interactions are done using a RiotApi instance.
RiotApi.NewInstance takes either just an API key (for default settings) or a IRiotApiConfig instance (for custom settings).

var riotApi = RiotApi.NewInstance("RGAPI-12345678-abcd-1234-abcd-123456abcdef");
// OR
var riotApi = RiotApi.NewInstance(
    new RiotApiConfig.Builder("RGAPI-12345678-abcd-1234-abcd-123456abcdef")
    {
        MaxConcurrentRequests = 200,
        Retries = 10,
        // ...
    }.Build()
);

API methods are divided up into respective endpoints, corresponding to the left bar of the API reference.

Example

Print Summoner's Top Champions
// Get summoners by name synchronously. (using async is faster).
var summoners = new[]
{
    riotApi.SummonerV4.GetBySummonerName(Region.NA, "jAnna kendrick"),
    riotApi.SummonerV4.GetBySummonerName(Region.NA, "lug nuts k")
};

foreach (var summoner in summoners)
{
    Console.WriteLine($"{summoner.Name}'s Top 10 Champs:");

    var masteries =
        riotApi.ChampionMasteryV4.GetAllChampionMasteries(Region.NA, summoner.Id);

    for (var i = 0; i < 10; i++)
    {
        var mastery = masteries[i];
        // Get champion for this mastery.
        var champ = (Champion) mastery.ChampionId;
        // print i, champ id, champ mastery points, and champ level
        Console.WriteLine("{0,3}) {1,-16} {2,10:N0} ({3})", i + 1, champ.Name(),
            mastery.ChampionPoints, mastery.ChampionLevel);
    }
    Console.WriteLine();
}

Output (2019-02-06):

Janna Kendrick's Top 10 Champs:
  1) Ekko              1,280,476 (7)
  2) Master Yi            89,871 (7)
  3) Jinx                 59,238 (6)
  4) Yasuo                58,625 (7)
  5) Poppy                52,140 (7)
  6) Maokai               46,567 (6)
  7) Ezreal               44,604 (6)
  8) Lulu                 42,794 (6)
  9) Kennen               42,500 (7)
 10) Zilean               41,710 (6)

LugnutsK's Top 10 Champs:
  1) Zyra                548,939 (7)
  2) Soraka               73,675 (6)
  3) Morgana              59,828 (5)
  4) Sona                 50,001 (6)
  5) Nami                 44,775 (6)
  6) Brand                42,108 (5)
  7) Janna                41,923 (5)
  8) Taric                37,916 (6)
  9) Ekko                 35,837 (5)
 10) Poppy                31,457 (5)

Camille

AppVeyor branch NuGet Stable NuGet Pre Release

C# Library for the Riot Games API

Camille's goals are speed and reliability. Camille handles rate limits and large requests seamlessly. Data classes are automatically generated from the Riot API Reference (Swagger).

Features

  • Fast, asynchronous, thread-safe
  • Automatically retries failed requests
  • Highly-configurable
  • Targets .NET Standard 1.1+ (.NET Core 1.0+, .NET Framework 4.5+)
  • Riot API V4 Support

Installation

Install via NuGet (MingweiSamuel.Camille).

Usage

All API interactions are done using a RiotApi instance.
RiotApi.NewInstance takes either just an API key (for default settings) or a IRiotApiConfig instance (for custom settings).

var riotApi = RiotApi.NewInstance("RGAPI-12345678-abcd-1234-abcd-123456abcdef");
// OR
var riotApi = RiotApi.NewInstance(
    new RiotApiConfig.Builder("RGAPI-12345678-abcd-1234-abcd-123456abcdef")
    {
        MaxConcurrentRequests = 200,
        Retries = 10,
        // ...
    }.Build()
);

API methods are divided up into respective endpoints, corresponding to the left bar of the API reference.

Example

Print Summoner's Top Champions
// Get summoners by name synchronously. (using async is faster).
var summoners = new[]
{
    riotApi.SummonerV4.GetBySummonerName(Region.NA, "jAnna kendrick"),
    riotApi.SummonerV4.GetBySummonerName(Region.NA, "lug nuts k")
};

foreach (var summoner in summoners)
{
    Console.WriteLine($"{summoner.Name}'s Top 10 Champs:");

    var masteries =
        riotApi.ChampionMasteryV4.GetAllChampionMasteries(Region.NA, summoner.Id);

    for (var i = 0; i < 10; i++)
    {
        var mastery = masteries[i];
        // Get champion for this mastery.
        var champ = (Champion) mastery.ChampionId;
        // print i, champ id, champ mastery points, and champ level
        Console.WriteLine("{0,3}) {1,-16} {2,10:N0} ({3})", i + 1, champ.Name(),
            mastery.ChampionPoints, mastery.ChampionLevel);
    }
    Console.WriteLine();
}

Output (2019-02-06):

Janna Kendrick's Top 10 Champs:
  1) Ekko              1,280,476 (7)
  2) Master Yi            89,871 (7)
  3) Jinx                 59,238 (6)
  4) Yasuo                58,625 (7)
  5) Poppy                52,140 (7)
  6) Maokai               46,567 (6)
  7) Ezreal               44,604 (6)
  8) Lulu                 42,794 (6)
  9) Kennen               42,500 (7)
 10) Zilean               41,710 (6)

LugnutsK's Top 10 Champs:
  1) Zyra                548,939 (7)
  2) Soraka               73,675 (6)
  3) Morgana              59,828 (5)
  4) Sona                 50,001 (6)
  5) Nami                 44,775 (6)
  6) Brand                42,108 (5)
  7) Janna                41,923 (5)
  8) Taric                37,916 (6)
  9) Ekko                 35,837 (5)
 10) Poppy                31,457 (5)

Release Notes

Updates for v4 leagues

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
2.7.1-nightly-2020-09-19-31... 38 9/19/2020
2.7.0 44 9/17/2020
2.6.4-nightly-2020-09-16-7b... 93 9/16/2020
2.6.4-nightly-2020-09-15-7b... 84 9/15/2020
2.6.3 74 9/2/2020
2.6.3-nightly-2020-09-02-7b... 82 9/2/2020
2.6.3-nightly-2020-09-01-7b... 57 9/1/2020
2.6.3-nightly-2020-08-27-b7... 84 8/27/2020
2.6.2 86 8/25/2020
2.6.2-nightly-2020-08-04-43... 38 8/4/2020
2.6.2-nightly-2020-07-31-43... 69 7/31/2020
2.6.2-nightly-2020-07-30-43... 83 7/30/2020
2.6.2-nightly-2020-07-27-43... 46 7/27/2020
2.6.2-nightly-2020-07-24-43... 41 7/24/2020
2.6.2-nightly-2020-07-23-43... 52 7/23/2020
2.6.1 200 7/23/2020
2.6.1-nightly-2020-07-17-42... 100 7/17/2020
2.6.1-nightly-2020-07-14-42... 53 7/14/2020
2.6.0 45 7/12/2020
2.5.3-nightly-2020-07-12-42... 46 7/12/2020
2.5.3-nightly-2020-05-12-d1... 67 5/12/2020
2.5.3-nightly-2020-05-11-3a... 55 5/11/2020
2.5.3-nightly-2020-04-16-41... 72 5/5/2020
2.5.2 219 5/4/2020
2.5.2-nightly-2020-04-16-41... 73 4/17/2020
2.5.2-nightly-2020-04-14-da... 66 4/16/2020
2.5.1 95 4/14/2020
2.5.0 112 4/13/2020
2.4.2-nightly-2020-04-14-da... 74 4/14/2020
2.4.2-nightly-2020-02-18-01... 149 2/18/2020
2.4.2-nightly-2020-02-12-1e... 112 2/12/2020
2.4.1 245 11/5/2019
2.4.1-nightly-2019-11-05-d3... 101 11/5/2019
2.4.0 99 10/31/2019
2.3.1-nightly-2019-10-31-7f... 99 10/31/2019
2.3.1-nightly-2019-10-16-f4... 101 10/17/2019
2.3.1-nightly-2019-10-11-0b... 114 10/12/2019
2.3.0 155 10/11/2019
2.2.3-nightly-2019-10-08-e3... 112 10/10/2019
2.2.3-nightly-2019-09-27-64... 114 9/27/2019
2.2.3-nightly-2019-08-29-43... 120 8/30/2019
2.2.2 205 8/29/2019
2.2.2-nightly-2019-08-14-2d... 135 8/14/2019
2.2.2-nightly-2019-08-05-2e... 133 8/5/2019
2.2.2-nightly-2019-07-09-07... 169 7/9/2019
2.2.1 187 7/2/2019
2.2.1-nightly-2019-07-02-c9... 133 7/2/2019
2.2.1-nightly-2019-05-23-29... 162 5/23/2019
2.2.0 338 2/7/2019
2.2.0-nightly-2019-04-08-4d... 177 4/8/2019
2.2.0-nightly-2019-03-08-2d... 191 3/8/2019
2.2.0-nightly-2019-03-05-f6... 185 3/5/2019
2.2.0-nightly-2019-02-19-13... 181 2/19/2019
2.1.0 208 1/27/2019
2.0.0 231 12/16/2018
2.0.0-nightly-2019-01-17-9f... 227 1/17/2019
2.0.0-alpha-nightly-2018-12... 166 12/16/2018
2.0.0-alpha-nightly-2018-12... 178 12/16/2018
1.3.0 422 7/14/2018
1.3.0-nightly-2018-07-14-7c... 403 7/14/2018
1.2.0 354 6/2/2018
1.2.0-nightly-2018-07-14-b1... 342 7/14/2018
1.2.0-nightly-2018-06-06-2c... 354 6/6/2018
1.2.0-nightly-2018-06-06-28... 369 6/6/2018
1.2.0-nightly-2018-06-02-98... 331 6/3/2018
1.1.0 401 2/27/2018
1.1.0-nightly-2018-06-02-17... 316 6/2/2018
1.1.0-nightly-2018-02-23-7e... 384 2/23/2018
1.0.1 391 2/8/2018
1.0.1-nightly-2018-02-16-b9... 378 2/16/2018
1.0.1-nightly-2018-02-15-13... 379 2/15/2018
1.0.1-nightly-2018-02-14-46... 371 2/14/2018
1.0.1-nightly-2018-02-08-97... 372 2/8/2018
1.0.0 387 1/16/2018
1.0.0-nightly-b24c77881a 349 1/16/2018
1.0.0-nightly-986e3393a4 370 1/18/2018
1.0.0-nightly-2018-02-08-f0... 395 2/8/2018
Show less