Documentation
¶
Index ¶
- type APIEndpoint
- func (a *APIEndpoint) GetChampionMasteries(playerID SummonerID) ([]ChampionMastery, error)
- func (a *APIEndpoint) GetChampionMastery(playerID SummonerID, championID ChampionID) (*ChampionMastery, error)
- func (a *APIEndpoint) GetChampionMasteryScore(playerID SummonerID) (int, error)
- func (a *APIEndpoint) GetChampionMasteryTopChampions(playerID SummonerID, count int) ([]ChampionMastery, error)
- func (a *APIEndpoint) GetCurrentGame(id SummonerID) (*CurrentGameInfo, error)
- func (a *APIEndpoint) GetFeaturedGames() (*FeaturedGames, error)
- func (a *APIEndpoint) GetSummonerByName(names []string) ([]Summoner, error)
- func (a *APIEndpoint) GetSummonerNames(ids []SummonerID) (map[SummonerID]string, error)
- func (a *APIEndpoint) GetSummonerRecentGames(id SummonerID) ([]Game, error)
- type APIKey
- type APIKeyStorer
- type Champion
- type ChampionID
- type ChampionMastery
- type CurrentGameInfo
- type EpochMillisecond
- type FeaturedGameInfo
- type FeaturedGames
- type Game
- type GameID
- type ImageDto
- type MapID
- type MasteryID
- type ProfileIconID
- type QueueID
- type RESTError
- type RESTGetter
- type RESTStaticData
- type RateLimitedRESTGetter
- type Realm
- type RecentGames
- type Region
- type RegionID
- type RuneID
- type SimpleRESTGetter
- type StaticAPIEndpoint
- type Summoner
- type SummonerID
- type SummonerSpellID
- type XdgAPIKeyStorer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIEndpoint ¶
type APIEndpoint struct {
// contains filtered or unexported fields
}
An APIEndpoint represents an endpoint that can fetch dynamic data about League of Legend
func NewAPIEndpoint ¶
func NewAPIEndpoint(region *Region, key APIKey) (*APIEndpoint, error)
NewAPIEndpoint creates a new APIEndpoint from a Region and an APIKey
func (*APIEndpoint) GetChampionMasteries ¶
func (a *APIEndpoint) GetChampionMasteries(playerID SummonerID) ([]ChampionMastery, error)
GetChampionMasteries returns all of the ChampionMastery of a given player, ordered by decreasing points
func (*APIEndpoint) GetChampionMastery ¶
func (a *APIEndpoint) GetChampionMastery(playerID SummonerID, championID ChampionID) (*ChampionMastery, error)
GetChampionMastery returns the champion mastery of a given player for a given champion, ni
func (*APIEndpoint) GetChampionMasteryScore ¶
func (a *APIEndpoint) GetChampionMasteryScore(playerID SummonerID) (int, error)
GetChampionMasteryScore return sthe total score of a player
func (*APIEndpoint) GetChampionMasteryTopChampions ¶
func (a *APIEndpoint) GetChampionMasteryTopChampions(playerID SummonerID, count int) ([]ChampionMastery, error)
GetChampionMasteryTopChampions returns the count top champion of a player
func (*APIEndpoint) GetCurrentGame ¶
func (a *APIEndpoint) GetCurrentGame(id SummonerID) (*CurrentGameInfo, error)
GetCurrentGame return the CurrentGame of a Summoner identified by its SummonerID. It returns nil,nil if the user is not currently playing a game.
func (*APIEndpoint) GetFeaturedGames ¶
func (a *APIEndpoint) GetFeaturedGames() (*FeaturedGames, error)
GetFeaturedGames returns the currently played FeaturedGame on the region
func (*APIEndpoint) GetSummonerByName ¶
func (a *APIEndpoint) GetSummonerByName(names []string) ([]Summoner, error)
GetSummonerByName returns Summoner data identified by their names
func (*APIEndpoint) GetSummonerNames ¶
func (a *APIEndpoint) GetSummonerNames(ids []SummonerID) (map[SummonerID]string, error)
GetSummonerNames returns the name of Summoner identified by their IDs
func (*APIEndpoint) GetSummonerRecentGames ¶
func (a *APIEndpoint) GetSummonerRecentGames(id SummonerID) ([]Game, error)
GetSummonerRecentGames returns the list of game recently played by a Summoner identified by its SummonerID
type APIKeyStorer ¶
An APIKeyStorer is used to safely Store and Get an APIKey for the user
type Champion ¶
type Champion struct {
AllyTips []string `json:"allytips"`
Blurb string `json:"blurb"`
EnemyTips []string `json:"enemytips"`
ID int `json:"id"`
Image ImageDto `json:"image"`
Info struct {
Attack int
Defense int
Difficulty int
Magic int
} `json:"info"`
Key string `json:"key"`
Lore string `json:"lore"`
Name string `json:"name"`
Partype string `json:"partype"`
Passive struct {
Description string `json:"description"`
Image ImageDto `json:"image"`
Name string `json:"name"`
SanitizedDescription string `json:"sanitizedDescription"`
} `json:"passive"`
Recommended []struct{} `json:"recommended"`
Skins []struct {
ID int `json:"id"`
Name string `json:"name"`
Num int `json:"num"`
} `json:"skins"`
Spells []struct{} `json:"spells"`
Stats struct{} `json:"stats"`
Tags []string `json:"tags"`
Title string `json:"title"`
}
A Champion can be controlled by a Summoner in a Game
type ChampionID ¶
type ChampionID int //for sure there will never even be more than a thousand champions/
ChampionID is a unique identifier for a Champion
type ChampionMastery ¶
type ChampionMastery struct {
Champion ChampionID `json:"championID"`
Level int `json:"championLevel"`
Points int `json:"championPoints"`
PointsSinceLastLevel int `json:"championPointsSinceLastLevel"`
PointsUntilNextLevel int `json:"championPointsUntilNextLevel"`
ChestGranted bool `json:"chestGranted"`
HighestGrade string `json:"highestGrade"`
LastPlayTime EpochMillisecond `json:"lastPlayTime"`
Player SummonerID `json:"playerId"`
}
A ChampionMastery represents the mastery level of a payer with a given champion
type CurrentGameInfo ¶
type CurrentGameInfo struct {
BannedChampion []struct {
Champion ChampionID `json:"championId"`
PickTurn int `json:"pickTurn"`
Team int `json:"teamID"`
} `json:"bannedChampions"`
ID GameID `json:"gameId"`
GameLength int64 `json:"GameLength"`
GameMode string `json:"gameMode"`
GameQueue QueueID `json:"gameQueueConfigId"`
GameStartTime EpochMillisecond `json:"gameStartTime"`
GameType string `json:"gameType"`
Map MapID `json:"mapId"`
Observer struct {
EncryptionKey string `json:"encryptionKey"`
} `json:"observers"`
Participants []struct {
ID SummonerID `json:"summonerId"`
Name string `json:"summonerName"`
Bot bool `json:"bot"`
Champion ChampionID `json:"championId"`
ProfileIcon ProfileIconID `json:"profileIconId"`
Masteries []struct {
ID MasteryID `json:"matseryId"`
Rank int `json:"rank"`
} `json:"masteries"`
Runes []struct {
ID RuneID `json:"runeId"`
Count int `json:"count"`
} `json:"runes"`
SummonerSpell1 SummonerSpellID `json:"spell1Id"`
SummonerSpell2 SummonerSpellID `json:"spell2Id"`
TeamID int64 `json:"teamId"`
} `json:"participants"`
Platform string `json:"platformId"`
}
CurrentGameInfo represent a Game that a Summoner is currently playing
func (CurrentGameInfo) String ¶
func (g CurrentGameInfo) String() string
type EpochMillisecond ¶
type EpochMillisecond uint64
EpochMillisecond represents a point in time by the number of milliseconds since EPOCH
func (EpochMillisecond) Time ¶
func (s EpochMillisecond) Time() time.Time
Time converts EpochMillisecond to time.Time
type FeaturedGameInfo ¶
type FeaturedGameInfo struct {
BannedChampion []struct {
Champion ChampionID `json:"championId"`
PickTurn int `json:"pickTurn"`
Team int `json:"teamID"`
} `json:"bannedChampions"`
ID GameID `json:"gameId"`
GameLength int64 `json:"GameLength"`
GameMode string `json:"gameMode"`
GameQueue QueueID `json:"gameQueueConfigId"`
GameStartTime EpochMillisecond `json:"gameStartTime"`
GameType string `json:"gameType"`
Map MapID `json:"mapId"`
Observer struct {
EncryptionKey string `json:"encryptionKey"`
} `json:"observers"`
Participants []struct {
ID SummonerID `json:"summonerId"`
Name string `json:"summonerName"`
Bot bool `json:"bot"`
Champion ChampionID `json:"championId"`
ProfileIcon int64 `json:"profileIconId"`
SummonerSpell1 SummonerSpellID `json:"spell1Id"`
SummonerSpell2 SummonerSpellID `json:"spell2Id"`
TeamID int64 `json:"teamId"`
} `json:"participants"`
Platform string `json:"platformId"`
}
FeaturedGameInfo is an information about a featured game
type FeaturedGames ¶
type FeaturedGames struct {
Games []FeaturedGameInfo `json:"gameList"`
RefrehInterval int64 `json:"clientRefreshInterval"`
}
FeaturedGames is a list of games that Riot Game considers worth spectating
type Game ¶
type Game struct {
ID GameID `json:"gameId"`
Invalid bool `json:"invalid"`
Mode string `json:"gameMode"`
Type string `json:"gameType"`
SubType string `json:"subType"`
MapID int `json:"mapId"`
Team int `json:"teamId"`
Champion ChampionID `json:"championId"`
Spell1 int `json:"spell1"`
Spell2 int `json:"spell2"`
Level int `json:"level"`
IPEarned int `json:"ipEarned"`
CreateDate EpochMillisecond `json:"createDate"`
Fellows []struct {
Summoner SummonerID `json:"summonerID"`
Team int `json:"teamID"`
Champion ChampionID `json:"championID"`
} `json:"fellowPlayers"`
Stats struct {
Level int `json:"level,omitempty"`
GoldEarned int `json:"goldEarned,omitempty"`
Death int `json:"numDeaths,omitempty"`
TurretsKilled int `json:"turretsKilled,omitempty"`
MinionsKilled int `json:"minionsKilled,omitempty"`
Kills int `json:"championsKilled,omitempty"`
GoldSpent int `json:"goldSpent,omitempty"`
TotalDamageDealt int `json:"totalDamageDealt,omitempty"`
TotalDamageTaken int `json:"totalDamageTaken,omitempty"`
KillingSprees int `json:"killingSprees,omitempty"`
LargestKillingSpree int `json:"largestKillingSpree,omitempty"`
Team int `json:"team,omitempty"`
Win bool `json:"win"`
NeutralMinionsKilled int `json:"neutralMinionsKilled,omitempty"`
LargestMultiKill int `json:"largestMultiKill,omitempty"`
PhysicalDamageDealtPlayer int `json:"physicalDamageDealtPlayer,omitempty"`
MagicDamageDealtPlayer int `json:"magicDamageDealtPlayer,omitempty"`
PhysicalDamageTaken int `json:"physicalDamageTaken,omitempty"`
MagicDamageTaken int `json:"magicDamageTaken,omitempty"`
TimePlayed int `json:"timePlayed,omitempty"`
TotalHeal int `json:"totalHeal,omitempty"`
TotalUnitsHealed int `json:"totalUnitsHealed,omitempty"`
Assists int `json:"assists,omitempty"`
Item0 int `json:"item0,omitempty"`
Item1 int `json:"item1,omitempty"`
Item2 int `json:"item2,omitempty"`
Item3 int `json:"item3,omitempty"`
Item4 int `json:"item4,omitempty"`
Item5 int `json:"item5,omitempty"`
Item6 int `json:"item6,omitempty"`
MagicDamageDealtToChampions int `json:"magicDamageDealtToChampions,omitempty"`
PhysicalDamageDealtToChampions int `json:"physicalDamageDealtToChampions,omitempty"`
TotalDamageDealtToChampions int `json:"totalDamageDealtToChampions,omitempty"`
TrueDamageDealtPlayer int `json:"trueDamageDealtPlayer,omitempty"`
TrueDamageDealtToChampions int `json:"trueDamageDealtToChampions,omitempty"`
TrueDamageTaken int `json:"trueDamageTaken,omitempty"`
WardKilled int `json:"wardKilled,omitempty"`
WardPlaced int `json:"wardPlaced,omitempty"`
NeutralMinionsKilledYourJungle int `json:"neutralMinionsKilledYourJungle,omitempty"`
TotalTimeCrowdControlDealt int `json:"totalTimeCrowdControlDealt,omitempty"`
PlayerPosition int `json:"playerPosition,omitempty"`
PlayerRole int `json:"playerRole,omitempty"`
Barrackskilled int `json:"barrackskilled,omitempty"`
Combatplayerscore int `json:"combatPlayerScore,omitempty"`
Consumablespurchased int `json:"consumablesPurchased,omitempty"`
Damagedealtplayer int `json:"damageDealtPlayer,omitempty"`
Doublekills int `json:"doubleKills,omitempty"`
Firstblood int `json:"firstBlood,omitempty"`
Gold int `json:"gold,omitempty"`
Itemspurchased int `json:"itemsPurchased,omitempty"`
Largestcriticalstrike int `json:"largestCriticalStrike,omitempty"`
Legendaryitemscreated int `json:"legendaryItemsCreated,omitempty"`
Minionsdenied int `json:"minionsDenied,omitempty"`
Neutralminionskilledenemyjungle int `json:"neutralMinionsKilledEnemyJungle,omitempty"`
Nexuskilled bool `json:"nexusKilled,omitempty"`
Nodecapture int `json:"nodeCapture,omitempty"`
Nodecaptureassist int `json:"nodeCaptureAssist,omitempty"`
Nodeneutralize int `json:"nodeNeutralize,omitempty"`
Nodeneutralizeassist int `json:"nodeNeutralizeAssist,omitempty"`
Numitemsbought int `json:"numItemsBought,omitempty"`
Objectiveplayerscore int `json:"objectivePlayerScore,omitempty"`
Pentakills int `json:"pentaKills,omitempty"`
Quadrakills int `json:"quadraKills,omitempty"`
Sightwardsbought int `json:"sightWardsBought,omitempty"`
Spell1cast int `json:"spell1Cast,omitempty"`
Spell2cast int `json:"spell2Cast,omitempty"`
Spell3cast int `json:"spell3Cast,omitempty"`
Spell4cast int `json:"spell4Cast,omitempty"`
Summonspell1cast int `json:"summonSpell1Cast,omitempty"`
Summonspell2cast int `json:"summonSpell2Cast,omitempty"`
Supermonsterkilled int `json:"superMonsterKilled,omitempty"`
Teamobjective int `json:"teamObjective,omitempty"`
Totalplayerscore int `json:"totalPlayerScore,omitempty"`
Totalscorerank int `json:"totalScoreRank,omitempty"`
Triplekills int `json:"tripleKills,omitempty"`
Unrealkills int `json:"unrealKills,omitempty"`
Victorypointtotal int `json:"victoryPointTotal,omitempty"`
Visionwardsbought int `json:"visionWardsBought,omitempty"`
} `json:"stats"`
}
A Game is a game played on the LoL servers
type GameID ¶
type GameID uint64 //this is a 64 bit, EUW reached limit of int32 EUW > NA !
GameID uinquely identifies a Game on a Region. It is a uint64, as EUW as already reached 2^31 games ... EUW > NA !
type ImageDto ¶
type ImageDto struct {
Full string `json:"full"`
Group string `json:"group"`
Sprite string `json:"sprite"`
H int `json:"h"`
W int `json:"w"`
X int `json:"x"`
Y int `json:"y"`
}
An ImageDto describe how to get an image from a Realm
type QueueID ¶
type QueueID int64
QueueID uniquely represents a Queue
const ( // CUSTOM represents Custom games CUSTOM QueueID = 0 // NORMAL5x5BLIND represents Normal 5v5 Blind Pick games NORMAL5x5BLIND QueueID = 2 // BOT5x5 represents Historical Summoner's Rift Coop vs AI games BOT5x5 QueueID = 7 // BOT5x5INTRO represents Summoner's Rift Coop vs AI Intro Bot // games BOT5x5INTRO QueueID = 31 // BOT5x5BEGINNER represents Summoner's Rift Coop vs AI Beginner // Bot games BOT5x5BEGINNER QueueID = 32 // BOT5x5INTERMEDIATE represents Historical Summoner's Rift Coop // vs AI Intermediate Bot games BOT5x5INTERMEDIATE QueueID = 33 // NORMAL3x3 represents Normal 3v3 games NORMAL3x3 QueueID = 8 // NORMAL5x5DRAFT represents Normal 5v5 Draft Pick games NORMAL5x5DRAFT QueueID = 14 // ODIN5x5BLIND represents Dominion 5v5 Blind Pick games ODIN5x5BLIND QueueID = 16 // ODIN5x5DRAFT represents Dominion 5v5 Draft Pick games ODIN5x5DRAFT QueueID = 17 // BOTODIN5x5 represents Dominion Coop vs AI games BOTODIN5x5 QueueID = 25 // RANKEDSOLO5x5 represents Ranked Solo 5v5 games RANKEDSOLO5x5 QueueID = 4 // RANKEDPREMADE3x3 represents Ranked Premade 3v3 games RANKEDPREMADE3x3 QueueID = 9 // RANKEDPREMADE5x5 represents Ranked Premade 5v5 games RANKEDPREMADE5x5 QueueID = 6 // RANKEDTEAM3x3 represents Ranked Team 3v3 games RANKEDTEAM3x3 QueueID = 41 // RANKEDTEAM5x5 represents Ranked Team 5v5 games RANKEDTEAM5x5 QueueID = 42 // BOTTT3x3 represents Twisted Treeline Coop vs AI games BOTTT3x3 QueueID = 52 // GROUPFINDER5x5 represents Team Builder games GROUPFINDER5x5 QueueID = 61 // ARAM5x5 represents ARAM games ARAM5x5 QueueID = 65 // ONEFORALL5x5 represents One for All games ONEFORALL5x5 QueueID = 70 // FIRSTBLOOD1x1 represents Snowdown Showdown 1v1 games FIRSTBLOOD1x1 QueueID = 72 // FIRSTBLOOD2x2 represents Snowdown Showdown 2v2 games FIRSTBLOOD2x2 QueueID = 73 // SR6x6 represents Summoner's Rift 6x6 Hexakill games SR6x6 QueueID = 75 // URF5x5 represents Ultra Rapid Fire games URF5x5 QueueID = 76 // BOTURF5x5 represents Ultra Rapid Fire games played against AI // games BOTURF5x5 QueueID = 83 // NIGHTMAREBOT5x5RANK1 represents Doom Bots Rank 1 games NIGHTMAREBOT5x5RANK1 QueueID = 91 // NIGHTMAREBOT5x5RANK2 represents Doom Bots Rank 2 games NIGHTMAREBOT5x5RANK2 QueueID = 92 // NIGHTMAREBOT5x5RANK5 represents Doom Bots Rank 5 games NIGHTMAREBOT5x5RANK5 QueueID = 93 // ASCENSION5x5 represents Ascension games ASCENSION5x5 QueueID = 96 // HEXAKILL represents Twisted Treeline 6x6 Hexakill games HEXAKILL QueueID = 98 // KINGPORO5x5 represents King Poro games KINGPORO5x5 QueueID = 300 // COUNTERPICK represents Nemesis games COUNTERPICK QueueID = 310 )
type RESTError ¶
type RESTError struct {
Code int
}
RESTError represents an error when trying to GET the URL api (i.e. non 200 return code)
type RESTGetter ¶
RESTGetter is an interface for object able to Get JSON data from lol REST Api
type RESTStaticData ¶
type RESTStaticData struct {
TeamIDs []string
SummonerNames []string
SummonerIDs []string
ChampionIDs []string
GameIDs []string
RegionCode string
Key APIKey
ResponseByRequest map[string][]byte
}
RESTStaticData represent some data statically fetch from Riot API. It has no other purpose than having some data for unit testing
type RateLimitedRESTGetter ¶
type RateLimitedRESTGetter struct {
// contains filtered or unexported fields
}
A RateLimitedRESTGetter performs the same than a SimpleRESTGetter, but limits the amount of request it does overtime, not to reach Riot Games imposed Request limitations
func NewRateLimitedRESTGetter ¶
func NewRateLimitedRESTGetter(limit uint, window time.Duration) *RateLimitedRESTGetter
NewRateLimitedRESTGetter creates a RateLimitedRESTGetter, that limits its request to no more than limit request over a time.Duration window
func (*RateLimitedRESTGetter) Get ¶
func (g *RateLimitedRESTGetter) Get(url string, v interface{}) error
Get acts like SimpleRESTGetter.Get, but will try not to exceed the number of request over time defined by NewRateLimitedRESTGetter
type Realm ¶
type Realm struct {
// Base URL to get data for the realm
Cdn string `json:"cdn"`
CSSVersion string `json:"css"`
// Current versio for Data Dragon
DataDragonVersion string `json:"dd"`
// Default language for thsi realm
Locale string `json:"l"`
LegacyIE6 string `json:"lg"`
DataSetsVersion map[string]string `json:"n"`
Version string `json:"v"`
ProfileIconMax int `json:"profileiconmax"`
Store string `json:"store"`
// contains filtered or unexported fields
}
A Realm represents dataset of data for a game.
type RecentGames ¶
type RecentGames struct {
// ID of the Summoner who played the Game
ID SummonerID `json:"summonerId"`
// Games recently played
Games []Game `json:"games"`
}
RecentGames represent the up to 15 last Game played by a Summoner
type Region ¶
type Region struct {
// contains filtered or unexported fields
}
A Region defines a set of severs where people can play together
func AllDynamicRegion ¶
func AllDynamicRegion() []*Region
AllDynamicRegion returns the list of all Dynamic Region. i.e. region where you can play and observe games.
func NewRegionByCode ¶
NewRegionByCode returns a region identified by its code (i.e. "euw" for EUW)
func NewRegionByPlatformID ¶
NewRegionByPlatformID returns a region from its PlatformID
func (*Region) IsDynamic ¶
IsDynamic returns true if the region is dynamic, i.e. you can play and spectate game on.
func (*Region) PlatformID ¶
PlatformID returns the ID used by observer mode to identifies the Region
func (*Region) SpectatorURL ¶
SpectatorURL returns the url that should be used to spectate game for the Region
type RegionID ¶
type RegionID uint
A RegionID is used to uniquely identifies a Region
const ( // BR represents Brazil region BR RegionID = iota // EUNE represents European Union North - East region EUNE // EUW represents European Union West region EUW // KR represents Korea region KR // LAN represents Latin America North region LAN // LAS represents Latin America South region LAS // NA represents North America region NA // OCE represents Oceania region OCE // TR represents Turkish region TR // RU represents Russia region RU // PBE represents the Public Beta Environment region PBE // GLOBAL represents global static data access point GLOBAL )
type SimpleRESTGetter ¶
type SimpleRESTGetter struct{}
A SimpleRESTGetter is the simplest implementation of a RESTGetter, i.e. it will just GET the requested URL, and if the Status is 200, will decode the JSON data
func NewSimpleRESTGetter ¶
func NewSimpleRESTGetter() *SimpleRESTGetter
NewSimpleRESTGetter creates a new SimpleRESTGetter
func (*SimpleRESTGetter) Get ¶
func (g *SimpleRESTGetter) Get(url string, v interface{}) error
Get performs a GET HTTP request on the given URL, and if the Status is not an error, will decode the body of the response as JSON into the given object.
type StaticAPIEndpoint ¶
type StaticAPIEndpoint struct {
// contains filtered or unexported fields
}
StaticAPIEndpoint is used to access Riot REST API for static data.
func NewStaticAPIEndpoint ¶
func NewStaticAPIEndpoint(region *Region, key APIKey) (*StaticAPIEndpoint, error)
NewStaticAPIEndpoint is creeating a new Static endpoint. You have to pass the Dynamic (i.e. EUW, KR NA) region you are interested in fecthing data.
func (*StaticAPIEndpoint) GetChampion ¶
func (a *StaticAPIEndpoint) GetChampion(id ChampionID) (*Champion, error)
GetChampion returns the champion data for the current patch
func (*StaticAPIEndpoint) GetRealm ¶
func (a *StaticAPIEndpoint) GetRealm() (Realm, error)
GetRealm fetches the current Realm used for the selected region of the StaticAPIEndpoint. It also initializes the cache structure for the Realm data (images)
type Summoner ¶
type Summoner struct {
ID SummonerID `json:"id"`
Name string `json:"name"`
ProfileIconID int `json:"profileIconId"`
Level uint32 `json:"summonerLevel"`
RevisionDate EpochMillisecond `json:"revisionDate"`
}
A Summoner is a representation of a player on LoL servers
type SummonerSpellID ¶
type SummonerSpellID int64
SummonerSpellID uniquely represents a SummonerSpell
type XdgAPIKeyStorer ¶
type XdgAPIKeyStorer struct {
// contains filtered or unexported fields
}
XdgAPIKeyStorer Store and Get an APIkey from a file located in the $XDG_CONFIG_HOME directory
func NewXdgAPIKeyStorer ¶
func NewXdgAPIKeyStorer() (*XdgAPIKeyStorer, error)
NewXdgAPIKeyStorer creates a new XdgAPIKeyStorer
func (*XdgAPIKeyStorer) Get ¶
func (s *XdgAPIKeyStorer) Get() (APIKey, bool)
Get retrieve the APIKey from user's XDG_CONFIG_HOME
func (*XdgAPIKeyStorer) Store ¶
func (s *XdgAPIKeyStorer) Store(k APIKey) error
Store saves the new APIKey k to user's XDG_CONFIG_HOME