BlossomiShymae.RiotBlossom 1.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package BlossomiShymae.RiotBlossom --version 1.2.0                
NuGet\Install-Package BlossomiShymae.RiotBlossom -Version 1.2.0                
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="BlossomiShymae.RiotBlossom" Version="1.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BlossomiShymae.RiotBlossom --version 1.2.0                
#r "nuget: BlossomiShymae.RiotBlossom, 1.2.0"                
#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.
// Install BlossomiShymae.RiotBlossom as a Cake Addin
#addin nuget:?package=BlossomiShymae.RiotBlossom&version=1.2.0

// Install BlossomiShymae.RiotBlossom as a Cake Tool
#tool nuget:?package=BlossomiShymae.RiotBlossom&version=1.2.0                

RiotBlossom

NuGet Stable NuGet Downloads

An asynchronous, extensible, and magical Riot Games API wrapper library for C#. ☆*:.。.o(≧▽≦)o.。.:*☆

This library helps to make things totes' easier! Goodies include naive cache, rate limiter, and retry middleware plugins out of the box. Other services such as DataDragon and CommunityDragon are also supported! \(^▽^)/

This library is currently compatible with .NET 6 and higher.

Contributor Flowerlets

<a href="https://github.com/BlossomiShymae/RiotBlossom/graphs/contributors"> <img src="https://contrib.rocks/image?repo=BlossomiShymae/RiotBlossom" /> </a>


Made with contrib.rocks.

Table of Contents

Documentation, tutorials, and more!

Dedicated GitHub pages for RiotBlossom documentation can be found here! :3

Features

  • Asynchronous, immutable record, no-conversion API
    • API data comes as is from the source (Data transfer objects)
  • In-memory caching, spread rate limiting, and automatic retrying out of the box
  • Fluent client builder for advanced configuration
  • A highly configurable HTTP middleware system
    • Allows implementing your middleware (choosing a database to cache with)
    • Extensible subsystems (one for Riot API, one for the rest)
  • Reuseable data transfer objects, types, and exceptions
  • Common utilities (extensions, mappers, and converters)
  • Riot Games API support (yep!)
    • League of Legends
    • Teamfight Tactics
    • Legends of Runeterra
    • VALORANT
  • DataDragon support
  • CommunityDragon support
  • MerakiAnalytics support
  • Love (੭ु ›ω‹ )੭ु⁾⁾♡

Installation

Install via NuGet, BlossomiShymae.RiotBlossom. For package manager console:

Install-Package BlossomiShymae.RiotBlossom

Or the .NET CLI:

dotnet add package BlossomiShymae.RiotBlossom

Endpoints

Riot Api

  • ⭕ Account-v1 (no RSO)

League of Legends

  • ✅ Champion-Mastery-v4
  • ✅ Champion-v3
  • ✅ Clash-v1
  • ❌ League-Exp-v4 (will not support, experimental endpoint)
  • ✅ League-v4
  • ✅ Lol-Challenges-v1
  • ✅ Lol-Status-v4
  • ✅ Match-v5
  • ✅ Spectator-v4
  • ⭕ Summoner-v4 (no RSO)
  • ❌ Tournament-Stub-v4 (will not support, an endpoint that is associated with being unreliable)
  • ❌ Tournament-v4 (will not support)

Teamfight Tactics

  • ✅ Tft-League-v1
  • ✅ Tft-Match-v1
  • ✅ Tft-Status-v1
  • ⭕ Tft-Summoner-v1 (no RSO)

Legends of Runeterra

  • ⭕ Lor-Deck-v1 (no RSO, currently not supported)
  • ⭕ Lor-Inventory-v1 (no RSO, currently not supported)
  • ✅ Lor-Match-v1
  • ✅ Lor-Ranked-v1
  • ✅ Lor-Status-v1

VALORANT

  • ✅ Val-Content-v1
  • ✅ Val-Match-v1 ("Unsure if this works as I do not have access to this endpoint for testing ˚‧º·(˚ ˃̣̣̥⌓˂̣̣̥ )‧º·˚" - BlossomiShymae)
  • ✅ Val-Ranked-v1
  • ✅ Val-Status-v1

DataDragon

  • ✅ Champions (championFull.json)
  • ✅ Items (item.json)
  • ✅ Perks (runesReforged.json)

CommunityDragon

MerakiAnalytics

  • ✅ Champions (champions.json and individual files)
  • ✅ Items (items.json and individual files)

Dependent packages

Contributing

Create an issue or submit a pull request! ˖⁺‧₊˚ ♡ ˚₊‧⁺˖

Before submitting a pull request, be sure to include unit tests if applicable. Unit tests use common objects from the StubConfig file. Be sure to include your Riot API key under the RIOT_API_KEY system environment variable.

License

This library is under the MIT license.

Disclaimer

RiotBlossom 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 Riot Games properties. Riot Games, and all associated properties are trademarks or registered trademarks of Riot Games, Inc.

Appendix

Star History

Star History Chart

Inspiration

TheDrone7. shieldbow, GitHub, https://github.com/TheDrone7/shieldbow

Samuel, Mingwei. Camille, GitHub, https://github.com/MingweiSamuel/Camille

Rua, Rob and Maldonis, Jason J. Orianna, GitHub, https://github.com/meraki-analytics/orianna

Resources

Ray and Riot Games. Rate Limiting, Hextechdocs, https://hextechdocs.dev/rate-limiting/

https://developer.riotgames.com/

https://discord.com/invite/riotgamesdevrel (Note: Searching in this Discord contains aggregated information not found elsewhere)

Conventions

https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions

https://learn.microsoft.com/en-us/dotnet/csharp/asynchronous-programming/task-asynchronous-programming-model

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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. 
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.2.1 259 12/29/2023 1.2.1 is deprecated because it is no longer maintained.
1.2.0 219 7/17/2023
1.1.0 188 5/1/2023
1.0.1 193 4/25/2023
1.0.0 191 4/20/2023