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.
Made with contrib.rocks.
- RiotBlossom
- Table of Contents
- Documentation, tutorials, and more!
- Features
- Installation
- Endpoints
- Dependent packages
- Contributing
- License
- Disclaimer
- Appendix
Dedicated GitHub pages for RiotBlossom documentation can be found here! :3
- 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 (੭ु ›ω‹ )੭ु⁾⁾♡
Install via NuGet, BlossomiShymae.RiotBlossom
.
For package manager console:
Install-Package BlossomiShymae.RiotBlossom
Or the .NET CLI:
dotnet add package BlossomiShymae.RiotBlossom
- ⭕ Account-v1 (no RSO)
- ✅ 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)
- ✅ Tft-League-v1
- ✅ Tft-Match-v1
- ✅ Tft-Status-v1
- ⭕ Tft-Summoner-v1 (no RSO)
- ⭕ 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
- ✅ 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
- ✅ Champions (
championFull.json
) - ✅ Items (
item.json
) - ✅ Perks (
runesReforged.json
)
- ✅ Champions (rcp-be-lol-game-data/global/default/v1/champions)
- ✅ Items (
items.json
) - ✅ Perks (
perks.json
)
- ✅ Champions (
champions.json
and individual files) - ✅ Items (
items.json
and individual files)
- AsyncKeyedLock
- System.Runtime.Caching
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.
This library is under the MIT license.
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.
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
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)
https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions