Documentation ¶
Overview ¶
Package datadragon provides methods for retrieving data from the DataDragon API. This data is only updated for every new version of League of Legends.
Index ¶
- Constants
- Variables
- type ChampionData
- type ChampionDataExtended
- type ChampionDataInfo
- type ChampionDataStats
- type Client
- func (c *Client) ClearCaches()
- func (c *Client) GetChampion(name string) (ChampionDataExtended, error)
- func (c *Client) GetChampionByID(id string) (ChampionDataExtended, error)
- func (c *Client) GetChampions() ([]ChampionData, error)
- func (c *Client) GetItem(id string) (Item, error)
- func (c *Client) GetItems() ([]Item, error)
- func (c *Client) GetMasteries() ([]Mastery, error)
- func (c *Client) GetMastery(id int) (Mastery, error)
- func (c *Client) GetProfileIcon(id int) (ProfileIcon, error)
- func (c *Client) GetProfileIcons() ([]ProfileIcon, error)
- func (c *Client) GetRune(id string) (Item, error)
- func (c *Client) GetRunes() ([]Item, error)
- func (c *Client) GetSummonerSpell(id string) (SummonerSpell, error)
- func (c *Client) GetSummonerSpells() ([]SummonerSpell, error)
- type ImageData
- type Integer
- type Item
- type ItemStats
- type Mastery
- type PassiveData
- type ProfileIcon
- type RecommendedItem
- type RecommendedItemData
- type RecommendedItemSet
- type SkinData
- type SpellData
- type SummonerSpell
Constants ¶
const ( LanguageCodeCzechRepublic languageCode = "cs_CZ" LanguageCodeGreece = "el_GR" LanguageCodePoland = "pl_PL" LanguageCodeRomania = "ro_RO" LanguageCodeHungary = "hu_HU" LanguageCodeUnitedKingdom = "en_GB" LanguageCodeGermany = "de_DE" LanguageCodeSpain = "es_ES" LanguageCodeItaly = "it_IT" LanguageCodeFrance = "fr_FR" LanguageCodeJapan = "ja_JP" LanguageCodeKorea = "ko_KR" LanguageCodeMexico = "es_MX" LanguageCodeArgentina = "es_AR" LanguageCodeBrazil = "pt_BR" LanguageCodeUnitedStates = "en_US" LanguageCodeAustralia = "en_AU" LanguageCodeRussia = "ru_RU" LanguageCodeTurkey = "tr_TR" LanguageCodeMalaysia = "ms_MY" LanguageCodeRepublicOfThePhilippines = "en_PH" LanguageCodeSingapore = "en_SG" LanguageCodeThailand = "th_TH" LanguageCodeVietnam = "vn_VN" LanguageCodeIndonesia = "id_ID" LanguageCodeMalaysiaChinese = "zh_MY" LanguageCodeChina = "zh_CN" LanguageCodeTaiwan = "zh_TW" )
All possible language codes
Variables ¶
var ( // LanguageCodes is a list of all possible language codes LanguageCodes = []languageCode{ LanguageCodeCzechRepublic, LanguageCodeGreece, LanguageCodePoland, LanguageCodeRomania, LanguageCodeHungary, LanguageCodeUnitedKingdom, LanguageCodeGermany, LanguageCodeSpain, LanguageCodeItaly, LanguageCodeFrance, LanguageCodeJapan, LanguageCodeKorea, LanguageCodeMexico, LanguageCodeArgentina, LanguageCodeBrazil, LanguageCodeUnitedStates, LanguageCodeAustralia, LanguageCodeRussia, LanguageCodeTurkey, LanguageCodeMalaysia, LanguageCodeRepublicOfThePhilippines, LanguageCodeSingapore, LanguageCodeThailand, LanguageCodeVietnam, LanguageCodeIndonesia, LanguageCodeMalaysiaChinese, LanguageCodeChina, LanguageCodeTaiwan, } )
Functions ¶
This section is empty.
Types ¶
type ChampionData ¶
type ChampionData struct { Version string `json:"version"` ID string `json:"id"` Key string `json:"key"` Name string `json:"name"` Title string `json:"title"` Blurb string `json:"blurb"` Info ChampionDataInfo `json:"info"` Image ImageData `json:"image"` Tags []string `json:"tags"` Partype string `json:"partype"` Stats ChampionDataStats `json:"stats"` }
ChampionData contains information about a champion
func (*ChampionData) GetExtended ¶
func (d *ChampionData) GetExtended(client *Client) (ChampionDataExtended, error)
GetExtended returns extended information for this champion
type ChampionDataExtended ¶
type ChampionDataExtended struct { ChampionData Skins []SkinData `json:"skins"` Lore string `json:"lore"` AllyTips []string `json:"allytips"` EnemyTips []string `json:"enemytips"` Spells []SpellData `json:"spells"` Passive PassiveData `json:"passive"` RecommendedItems []RecommendedItemData `json:"recommended"` }
ChampionDataExtended contains additional data about a champion
type ChampionDataInfo ¶
type ChampionDataInfo struct { Attack int `json:"attack"` Defense int `json:"defense"` Magic int `json:"magic"` Difficulty int `json:"difficulty"` }
ChampionDataInfo contains information about the playstyle of a champion
type ChampionDataStats ¶
type ChampionDataStats struct { HealthPoints float64 `json:"hp"` HealthPointsPerLevel float64 `json:"hpperlevel"` ManaPoints float64 `json:"mp"` ManaPointsPerLevel float64 `json:"mpperlevel"` MovementSpeed float64 `json:"movespeed"` Armor float64 `json:"armor"` ArmorPerLevel float64 `json:"armorperlevel"` SpellBlock float64 `json:"spellblock"` SpellBlockPerLevel float64 `json:"spellblockperlevel"` AttackRange float64 `json:"attackrange"` HealthPointRegeneration float64 `json:"hpregen"` HealthPointRegenerationPerLevel float64 `json:"hpregenperlevel"` ManaPointRegeneration float64 `json:"mpregen"` ManaPointRegenerationPerLevel float64 `json:"mpregenperlevel"` CriticalStrikeChance float64 `json:"crit"` CriticalStrikeChancePerLevel float64 `json:"critperlevel"` AttackDamage float64 `json:"attackdamage"` AttackDamagePerLevel float64 `json:"attackdamageperlevel"` AttackSpeedOffset float64 `json:"attackspeedoffset"` AttackSpeedPerLevel float64 `json:"attackspeedperlevel"` }
ChampionDataStats contains information about the stats of a champion
type Client ¶
type Client struct { Version string Language languageCode // contains filtered or unexported fields }
Client provides access to all data provided by the Data Dragon service
func (*Client) ClearCaches ¶
func (c *Client) ClearCaches()
ClearCaches resets all caches of the data dragon client
func (*Client) GetChampion ¶
func (c *Client) GetChampion(name string) (ChampionDataExtended, error)
GetChampion returns information about the champion with the given name
func (*Client) GetChampionByID ¶
func (c *Client) GetChampionByID(id string) (ChampionDataExtended, error)
GetChampionByID returns information about the champion with the given id
func (*Client) GetChampions ¶
func (c *Client) GetChampions() ([]ChampionData, error)
GetChampions returns all existing champions
func (*Client) GetMasteries ¶
GetMasteries returns all existing masteries. Masteries were removed in patch 7.23.1. If any version higher than that is specified the last available version will be used instead.
func (*Client) GetMastery ¶
GetMastery returns information about the mastery with the given id
func (*Client) GetProfileIcon ¶
func (c *Client) GetProfileIcon(id int) (ProfileIcon, error)
GetProfileIcon return information about the profile icon with the given id
func (*Client) GetProfileIcons ¶
func (c *Client) GetProfileIcons() ([]ProfileIcon, error)
GetProfileIcons returns all existing profile icons
func (*Client) GetRunes ¶
GetRunes returns all existing runes. Runes were removed in patch 7.23.1. If any version higher than that is specified the last available version will be used instead.
func (*Client) GetSummonerSpell ¶
func (c *Client) GetSummonerSpell(id string) (SummonerSpell, error)
GetSummonerSpell returns information about the summoner spell with the given id
func (*Client) GetSummonerSpells ¶
func (c *Client) GetSummonerSpells() ([]SummonerSpell, error)
GetSummonerSpells returns all existing summoner spells
type ImageData ¶
type ImageData struct { Full string `json:"full"` Sprite string `json:"sprite"` Group string `json:"group"` X int `json:"x"` Y int `json:"y"` W int `json:"w"` H int `json:"h"` }
ImageData contains information about an image
type Integer ¶
type Integer int
Integer is an int that can be unmarshalled from a json number OR string
func (*Integer) UnmarshalJSON ¶
UnmarshalJSON unmarshals a JSON string or number into i
type Item ¶
type Item struct { ID string `json:"id"` Name string `json:"name"` Rune struct { IsRune bool `json:"isrune"` Tier int `json:"tier"` Type string `json:"type"` } `json:"rune"` Gold struct { Base int `json:"base"` Total int `json:"total"` Sell int `json:"sell"` Purchasable bool `json:"purchasable"` } `json:"gold"` Group string `json:"group"` Description string `json:"description"` Colloqial string `json:"colloq"` Plaintext string `json:"plaintext"` Consumed bool `json:"consumed"` Stacks int `json:"stacks"` Depth int `json:"depth"` ConsumeOnFull bool `json:"consumeOnFull"` From []string `json:"from"` Into []string `json:"into"` SpecialRecipe int `json:"specialRecipe"` InStore bool `json:"inStore"` HideFromAll bool `json:"hideFromAll"` RequiredChampion string `json:"requiredChampion"` Stats ItemStats `json:"stats"` Tags []string `json:"tags"` Maps map[string]bool `json:"maps"` }
Item represents an item
type ItemStats ¶
type ItemStats struct { FlatHPPoolMod float64 `json:"FlatHPPoolMod"` RFlatHPModPerLevel float64 `json:"rFlatHPModPerLevel"` FlatMPPoolMod float64 `json:"FlatMPPoolMod"` RFlatMPModPerLevel float64 `json:"rFlatMPModPerLevel"` PercentHPPoolMod float64 `json:"PercentHPPoolMod"` PercentMPPoolMod float64 `json:"PercentMPPoolMod"` FlatHPRegenMod float64 `json:"FlatHPRegenMod"` RFlatHPRegenModPerLevel float64 `json:"rFlatHPRegenModPerLevel"` PercentHPRegenMod float64 `json:"PercentHPRegenMod"` FlatMPRegenMod float64 `json:"FlatMPRegenMod"` RFlatMPRegenModPerLevel float64 `json:"rFlatMPRegenModPerLevel"` PercentMPRegenMod float64 `json:"PercentMPRegenMod"` FlatArmorMod float64 `json:"FlatArmorMod"` RFlatArmorModPerLevel float64 `json:"rFlatArmorModPerLevel"` PercentArmorMod float64 `json:"PercentArmorMod"` RFlatArmorPenetrationMod float64 `json:"rFlatArmorPenetrationMod"` RFlatArmorPenetrationModPerLevel float64 `json:"rFlatArmorPenetrationModPerLevel"` RPercentArmorPenetrationMod float64 `json:"rPercentArmorPenetrationMod"` RPercentArmorPenetrationModPerLevel float64 `json:"rPercentArmorPenetrationModPerLevel"` FlatPhysicalDamageMod float64 `json:"FlatPhysicalDamageMod"` RFlatPhysicalDamageModPerLevel float64 `json:"rFlatPhysicalDamageModPerLevel"` PercentPhysicalDamageMod float64 `json:"PercentPhysicalDamageMod"` FlatMagicDamageMod float64 `json:"FlatMagicDamageMod"` RFlatMagicDamageModPerLevel float64 `json:"rFlatMagicDamageModPerLevel"` PercentMagicDamageMod float64 `json:"PercentMagicDamageMod"` FlatMovementSpeedMod float64 `json:"FlatMovementSpeedMod"` RFlatMovementSpeedModPerLevel float64 `json:"rFlatMovementSpeedModPerLevel"` PercentMovementSpeedMod float64 `json:"PercentMovementSpeedMod"` RPercentMovementSpeedModPerLevel float64 `json:"rPercentMovementSpeedModPerLevel"` FlatAttackSpeedMod float64 `json:"FlatAttackSpeedMod"` PercentAttackSpeedMod float64 `json:"PercentAttackSpeedMod"` RPercentAttackSpeedModPerLevel float64 `json:"rPercentAttackSpeedModPerLevel"` RFlatDodgeMod float64 `json:"rFlatDodgeMod"` RFlatDodgeModPerLevel float64 `json:"rFlatDodgeModPerLevel"` PercentDodgeMod float64 `json:"PercentDodgeMod"` FlatCritChanceMod float64 `json:"FlatCritChanceMod"` RFlatCritChanceModPerLevel float64 `json:"rFlatCritChanceModPerLevel"` PercentCritChanceMod float64 `json:"PercentCritChanceMod"` FlatCritDamageMod float64 `json:"FlatCritDamageMod"` RFlatCritDamageModPerLevel float64 `json:"rFlatCritDamageModPerLevel"` PercentCritDamageMod float64 `json:"PercentCritDamageMod"` FlatBlockMod float64 `json:"FlatBlockMod"` PercentBlockMod float64 `json:"PercentBlockMod"` FlatSpellBlockMod float64 `json:"FlatSpellBlockMod"` RFlatSpellBlockModPerLevel float64 `json:"rFlatSpellBlockModPerLevel"` PercentSpellBlockMod float64 `json:"PercentSpellBlockMod"` FlatEXPBonus float64 `json:"FlatEXPBonus"` PercentEXPBonus float64 `json:"PercentEXPBonus"` RPercentCooldownMod float64 `json:"rPercentCooldownMod"` RPercentCooldownModPerLevel float64 `json:"rPercentCooldownModPerLevel"` RFlatTimeDeadMod float64 `json:"rFlatTimeDeadMod"` RFlatTimeDeadModPerLevel float64 `json:"rFlatTimeDeadModPerLevel"` RPercentTimeDeadMod float64 `json:"rPercentTimeDeadMod"` RPercentTimeDeadModPerLevel float64 `json:"rPercentTimeDeadModPerLevel"` RFlatGoldPer10Mod float64 `json:"rFlatGoldPer10Mod"` RFlatMagicPenetrationMod float64 `json:"rFlatMagicPenetrationMod"` RFlatMagicPenetrationModPerLevel float64 `json:"rFlatMagicPenetrationModPerLevel"` RPercentMagicPenetrationMod float64 `json:"rPercentMagicPenetrationMod"` RPercentMagicPenetrationModPerLevel float64 `json:"rPercentMagicPenetrationModPerLevel"` FlatEnergyRegenMod float64 `json:"FlatEnergyRegenMod"` RFlatEnergyRegenModPerLevel float64 `json:"rFlatEnergyRegenModPerLevel"` FlatEnergyPoolMod float64 `json:"FlatEnergyPoolMod"` RFlatEnergyModPerLevel float64 `json:"rFlatEnergyModPerLevel"` PercentLifeStealMod float64 `json:"PercentLifeStealMod"` PercentSpellVampMod float64 `json:"PercentSpellVampMod"` }
ItemStats contains information about the stats of an item
type Mastery ¶
type Mastery struct { ID int `json:"id"` Name string `json:"name"` Description []string `json:"description"` Image ImageData `json:"image"` Ranks int `json:"ranks"` Prerequisite string `json:"prereq"` }
Mastery represents an old mastery
type PassiveData ¶
type PassiveData struct { Name string `json:"name"` Description string `json:"description"` Image ImageData `json:"image"` }
PassiveData contains information about a champions passive ability
type ProfileIcon ¶
ProfileIcon represents a profile icon
type RecommendedItem ¶
type RecommendedItem struct { ID string `json:"id"` Count int `json:"count"` HideCount bool `json:"hideCount"` }
RecommendedItem represents an item in a recommended set
type RecommendedItemData ¶
type RecommendedItemData struct { Champion string `json:"champion"` Title string `json:"title"` Map string `json:"map"` Mode string `json:"mode"` CustomTag string `json:"customTag"` SortRank int `json:"sortrank"` ExtensionPage bool `json:"extensionPage"` CustomPanel interface{} `json:"customPanel"` Blocks []RecommendedItemSet `json:"blocks"` }
RecommendedItemData a build recommended for a champion
type RecommendedItemSet ¶
type RecommendedItemSet struct { Type string `json:"type"` RecMath bool `json:"recMath"` RecSteps bool `json:"recSteps"` MinSummonerLevel int `json:"minSummonerLevel"` MaxSummonerLevel int `json:"maxSummonerLevel"` ShowIfSummonerSpell string `json:"showIfSummonerSpell"` HideIfSummonerSpell string `json:"hideIfSummonerSpell"` Items []RecommendedItem `json:"items"` }
RecommendedItemSet is a set of items used in a recommended build
type SkinData ¶
type SkinData struct { ID string `json:"id"` Num int `json:"num"` Name string `json:"name"` Chromas bool `json:"chromas"` }
SkinData contains information about a skin for a champion
type SpellData ¶
type SpellData struct { ID string `json:"id"` Name string `json:"name"` Description string `json:"abstract"` Tooltip string `json:"tooltip"` Leveltip struct { Label []string `json:"label"` Effect []string `json:"effect"` } `json:"leveltip"` MaxRank int `json:"maxrank"` Cooldown []float64 `json:"cooldown"` CooldownBurn string `json:"cooldownBurn"` Cost []float64 `json:"cost"` CostBurn string `json:"costBurn"` Effect [][]float64 `json:"effect"` EffectBurn []string `json:"effectBurn"` Vars []struct { Link string `json:"link"` Coefficient float64 `json:"coeff"` Key string `json:"key"` } `json:"vars"` CostType string `json:"costType"` MaxAmmo string `json:"maxammo"` Range []float64 `json:"range"` RangeBurn string `json:"rangeBurn"` Image ImageData `json:"image"` Resource string `json:"resource"` }
SpellData contains information about a champions spell
type SummonerSpell ¶
type SummonerSpell struct { ID string `json:"id"` Name string `json:"name"` Description string `json:"description"` Tooltip string `json:"tooltip"` MaxRank int `json:"maxrank"` Cooldown []float64 `json:"cooldown"` CooldownBurn string `json:"cooldownBurn"` Cost []float64 `json:"cost"` CostBurn string `json:"costBurn"` Vars []struct { Link string `json:"link"` Coefficient interface{} `json:"coeff"` Key string `json:"key"` } `json:"vars"` Key string `json:"key"` SummonerLevel int `json:"summonerLevel"` Modes []string `json:"modes"` CostType string `json:"costType"` MaxAmmo string `json:"maxammo"` Range []float64 `json:"range"` RangeBurn string `json:"rangeBurn"` Image ImageData `json:"image"` Resource string `json:"resource"` }
SummonerSpell represents a summoner spell