Documentation
¶
Overview ¶
Package structs contains the structs AbiosGaming/sdk uses to unmarshal JSON.
Index ¶
- type AccessToken
- type BombEvent
- type BracketPosition
- type Caster
- type Champion
- type Country
- type CountryImages
- type CsMatchSummary
- type CsPlayerPerformance
- type CsPlayerStats
- type CsScoreBoardEntry
- type CsSeriesSummary
- type CsTeamCommonStats
- type CsTeamStats
- type DefaultRoster
- type DotaDmg
- type DotaDraftEvent
- type DotaFirstBloodEvent
- type DotaHeroWithWins
- type DotaItem
- type DotaMatchKill
- type DotaMatchPlayerStats
- type DotaMatchSummary
- type DotaPlayerAgainst
- type DotaPlayerDmg
- type DotaPlayerHealing
- type DotaPlayerPerformance
- type DotaPlayerStats
- type DotaRunesStat
- type DotaSeriesSummary
- type DotaStructureDest
- type DotaTeamStats
- type DotaWardsStat
- type Error
- type Forfeit
- type Game
- type GameImages
- type Hero
- type Incident
- type Kill
- type Links
- type LolDmg
- type LolEvent
- type LolItem
- type LolLaneEvent
- type LolMatchSummary
- type LolPlayer
- type LolPlayerAgainst
- type LolPlayerStats
- type LolSeriesSummary
- type LolTeamAgainst
- type LolTeamStats
- type Map
- type Match
- type MatchPerformance
- type MatchSummary
- type MatchWinrate
- type MatchWinrateOverall
- type MatchWinratePerMap
- type Moneyline
- type Organisation
- type PaginatedGames
- type PaginatedIncidents
- type PaginatedOrganisations
- type PaginatedPlayers
- type PaginatedSeries
- type PaginatedTeams
- type PaginatedTournaments
- type Platform
- type PlatformImages
- type Player
- type PlayerAgainst
- type PlayerImages
- type PlayerPlayByPlayStats
- type PlayerStats
- type Pos
- type Prizepool
- type Race
- type RaceImages
- type Role
- type RoshanEvent
- type Roster
- type RosterStats
- type Round
- type RoundPlayerStats
- type Scores
- type SearchResult
- type Seeding
- type Series
- type SeriesIncidents
- type SeriesPerformance
- type SeriesSummary
- type SinglePlayerStats
- type SocialMediaAccount
- type SportsbookOdds
- type Stage
- type Standings
- type StreakScope
- type Stream
- type StreamImages
- type Substage
- type SubstageRules
- type Team
- type TeamAgainst
- type TeamImages
- type TeamPlayByPlayStats
- type TeamStats
- type Tournament
- type TournamentImages
- type Weapon
- type WinrateMatchScope
- type WinratePerFormat
- type WinratePerMap
- type WinrateSeriesScope
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessToken ¶
type AccessToken struct {
AccessToken string `json:"access_token"`
TokenType string `json:"token_type"`
ExpiresIn int64 `json:"expires_in"`
}
AccessToken holds information about an access token.
type BombEvent ¶ added in v3.1.0
type BombEvent struct {
Type string `json:"type"`
PlayerId int64 `json:"player_id"`
RoundClock int64 `json:"round_clock"`
Pos Pos `json:"pos"`
}
BombEvent hold data about bomb event in CS:GO round
type BracketPosition ¶
type BracketPosition struct {
Part string `json:"part,omitempty"`
Col int64 `json:"col"`
Offset int64 `json:"offset"`
Seeding Seeding `json:"seeding,omitempty"`
}
BracketPosition represents a Series position in a Substages bracket.
type Caster ¶
type Caster struct {
Id int64 `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Type *int64 `json:"type,omitempty"`
Url string `json:"url,omitempty"`
Primary bool `json:"primary,omitempty"`
Stream *Stream `json:"stream,omitempty"`
Country Country `json:"country,omitempty"`
}
Caster represents an individual shoutcaster, casting a Series.
type Country ¶
type Country struct {
Name string `json:"name,omitempty"`
ShortName string `json:"short_name,omitempty"`
Images CountryImages `json:"images,omitempty"`
}
Country hold information about a country, nationality or language associated with a resource.
type CountryImages ¶
type CountryImages struct {
Default string `json:"default,omitempty"`
Thumbnail string `json:"thumbnail,omitempty"`
}
CountryImages represents the different keys for images a Country can contain
type CsMatchSummary ¶
type CsMatchSummary struct {
Home int64 `json:"home"`
Away int64 `json:"away"`
MatchLength int64 `json:"match_length"`
ScoreBoard struct {
Home []CsScoreBoardEntry `json:"home"`
Away []CsScoreBoardEntry `json:"away"`
} `json:"scoreboard"`
Rounds []Round `json:"rounds"`
}
CsMatchSummary is the summarization of a CS:GO match.
type CsPlayerPerformance ¶
type CsPlayerPerformance struct {
Kills float64 `json:"kills"`
Assists float64 `json:"assists"`
Deaths float64 `json:"deaths"`
DamageGiven float64 `json:"dmg_given"`
DamageTaken float64 `json:"dmg_taken"`
History int64 `json:"history"`
Accuracy struct {
General float64 `json:"general"`
Headshot float64 `json:"head_shot"`
} `json:"accuracy"`
}
CsPlayerPerformance holds some general data about a players performance. This struct is re-used for different levels data (e.g per_map and over_all).
type CsPlayerStats ¶
type CsPlayerStats struct {
Overall struct {
CsPlayerPerformance
Plants float64 `json:"plants"`
Defuses float64 `json:"defuses"`
} `json:"over_all"`
PerMap []struct {
Map Map `json:"map"`
CtSide struct {
CsPlayerPerformance
Defuses float64 `json:"defuses"`
} `json:"ct_side"`
TSide struct {
CsPlayerPerformance
Plants float64 `json:"plants"`
} `json:"t_side"`
Overall struct {
CsPlayerPerformance
} `json:"over_all"`
} `json:"per_map"`
PerWeapon []struct {
Weapon Weapon `json:"weapon"`
DmgGivenRound int64 `json:"dmg_given_round"`
Accuracy struct {
General float64 `json:"general"`
Headshot float64 `json:"head_shot"`
} `json:"accuracy"`
History int64 `json:"history"`
} `json:"per_weapon"`
}
CsPlayerByPlayStats holds play by play stats for cs players
type CsScoreBoardEntry ¶
type CsScoreBoardEntry struct {
PlayerId int64 `json:"player_id"`
Kills int64 `json:"kills"`
Assists int64 `json:"assists"`
Deaths int64 `json:"deaths"`
Adr float64 `json:"adr"`
}
CsScoreBoardEntry reflects a CS:GO scoreboard entry.
type CsSeriesSummary ¶
type CsTeamCommonStats ¶
type CsTeamCommonStats struct {
NrMatches int64 `json:"nr_matches"`
CtRounds int64 `json:"ct_rounds"`
CtWins int64 `json:"ct_wins"`
TRounds int64 `json:"t_rounds"`
TWins int64 `json:"t_wins"`
PistolRounds int64 `json:"pistol_rounds"`
PistolWins int64 `json:"pistol_wins"`
FirstKillRate float64 `json:"first_kill_rate"`
FirstDeathRate float64 `json:"first_death_rate"`
}
CsTeamCommonStats holds information common to multiple JSON objects.
type CsTeamStats ¶
type CsTeamStats struct {
Totals struct {
Kills int64 `json:"kills"`
Deaths int64 `json:"deaths"`
CsTeamCommonStats
} `json:"totals"`
Maps []struct {
Map Map `json:"map"`
CsTeamCommonStats
} `json:"maps"`
Marksman []struct {
PlayerId int64 `json:"player_id"`
Adr float64 `json:"adr"`
Weapon Weapon `json:"weapon"`
} `json:"marksman"`
TopStats struct {
Kills struct {
PlayerAgainst
Kills int64 `json:"kills"`
} `json:"kills"`
Adr struct {
PlayerAgainst
Adr float64 `json:"adr"`
} `json:"adr"`
Assists struct {
PlayerAgainst
Assists int64 `json:"assists"`
} `json:"assists"`
Plants struct {
PlayerAgainst
Plants int64 `json:"plants"`
} `json:"plants"`
Defuses struct {
PlayerAgainst
Defuses int64 `json:"defuses"`
} `json:"defuses"`
} `json:"top_stats"`
TopMatches struct {
BiggestLoss struct {
TeamAgainst
Rounds int64 `json:"rounds"`
} `json:"biggest_loss"`
BiggestWin struct {
TeamAgainst
Rounds int64 `json:"rounds"`
} `json:"biggest_win"`
MostRounds struct {
TeamAgainst
Rounds int64 `json:"rounds"`
} `json:"most_rounds"`
} `json:"top_matches"`
}
CsTeamStats holds data about a team play by play stats for cs
type DefaultRoster ¶
type DefaultRoster struct {
From string `json:"from,omitempty"`
To *string `json:"to,omitempty"`
Roster Roster `json:"roster,omitempty"`
}
DefaultRoster represents the time period(s) when a Roster has been a Team's main roster or line-up.
type DotaDmg ¶
type DotaDmg struct {
HpRemoval int64 `json:"hp_removal"`
MagicalDmg int64 `json:"magical_dmg"`
PhysicalDmg int64 `json:"physical_dmg"`
PureDmg int64 `json:"pure_dmg"`
}
DotaDmg is a collection of different types of damages given/taken in dota.
type DotaDraftEvent ¶ added in v3.1.0
type DotaDraftEvent struct {
Order int64 `json:"order"`
Type string `json:"type"`
RosterId int64 `json:"roster_id"`
Hero Hero `json:"hero"`
}
DotaDraftEvent is information about event of draft phase of Dota match.
type DotaFirstBloodEvent ¶ added in v3.1.0
type DotaFirstBloodEvent struct {
Killer int64 `json:"killer"`
Victim int64 `json:"victim"`
AtTime int64 `json:"at_time"`
}
DotaFirstBloodEvent is a information about first blood in Dota match.
type DotaHeroWithWins ¶
type DotaHeroWithWins struct {
Amount int64 `json:"amount"`
Wins int64 `json:"wins"`
Hero Hero `json:"hero"`
}
DotaHeroWithAmount holds information about a Dota Hero and an integer representing and amount (e.g amount of times picked).
type DotaMatchKill ¶ added in v3.1.0
type DotaMatchKill struct {
Killer int64 `json:"killer"`
Victim int64 `json:"victim"`
AtTime int64 `json:"at_time"`
Assists []int64 `json:"assists"`
}
DotaMatchKill is a summarization of data about kill event of Dota match.
type DotaMatchPlayerStats ¶ added in v3.1.0
type DotaMatchPlayerStats struct {
PlayerId int64 `json:"player_id"`
Hero Hero `json:"hero"`
Kills int64 `json:"kills"`
Deaths int64 `json:"deaths"`
Assists int64 `json:"assists"`
Gpm float64 `json:"gpm"`
Networth int64 `json:"networth"`
Xpm float64 `json:"xpm"`
Levels map[string]int64 `json:"levels"`
CreepKills int64 `json:"creep_kills"`
CreepDenies int64 `json:"creep_denies"`
CampsStacked int64 `json:"camps_stacked"`
HeroDmg DotaPlayerDmg `json:"hero_dmg"`
HeroHealing DotaPlayerHealing `json:"hero_healing"`
Wards DotaWardsStat `json:"wards"`
Runes DotaRunesStat `json:"runes"`
Items struct {
Inventory struct {
Slot1 DotaItem `json:"slot_1"`
Slot2 DotaItem `json:"slot_2"`
Slot3 DotaItem `json:"slot_3"`
Slot4 DotaItem `json:"slot_4"`
Slot5 DotaItem `json:"slot_5"`
Slot6 DotaItem `json:"slot_6"`
} `json:"inventory"`
Backpack struct {
Slot1 DotaItem `json:"slot_1"`
Slot2 DotaItem `json:"slot_2"`
Slot3 DotaItem `json:"slot_3"`
} `json:"backpack"`
Stash struct {
Slot1 DotaItem `json:"slot_1"`
Slot2 DotaItem `json:"slot_2"`
Slot3 DotaItem `json:"slot_3"`
Slot4 DotaItem `json:"slot_4"`
Slot5 DotaItem `json:"slot_5"`
Slot6 DotaItem `json:"slot_6"`
} `json:"stash"`
} `json:"items"`
}
DotaMatchPlayerStats is the summarization of a Player in Dota match.
type DotaMatchSummary ¶
type DotaMatchSummary struct {
RadiantRoster int64 `json:"radiant_roster"`
DireRoster int64 `json:"dire_roster"`
MatchLength int64 `json:"match_length"`
DraftSeq []DotaDraftEvent `json:"draft_seq"`
FirstBlood DotaFirstBloodEvent `json:"first_blood"`
Kills []DotaMatchKill `json:"kills"`
StructureDest []DotaStructureDest `json:"structure_dest"`
PlayerStats []DotaMatchPlayerStats `json:"player_stats"`
RoshanEvents []RoshanEvent `json:"roshan_events"`
}
DotaMatchSummary is the summarization of a Dota match.
type DotaPlayerAgainst ¶
type DotaPlayerAgainst struct {
PlayerAgainst
Hero Hero `json:"hero"`
}
DotaPlayerAgainst is a grouping of PlayerAgainst and a Hero
type DotaPlayerDmg ¶ added in v3.1.0
type DotaPlayerDmg struct {
Given struct {
ByHero DotaDmg `json:"by_hero"`
ByMobs DotaDmg `json:"by_mobs"`
} `json:"given"`
Taken struct {
FromHeroes DotaDmg `json:"from_heroes"`
FromMobs DotaDmg `json:"from_mobs"`
} `json:"taken"`
}
DotaPlayerDmg is a collection of damage stat given or taken by player in Dota match.
type DotaPlayerHealing ¶ added in v3.1.0
type DotaPlayerHealing struct {
Given struct {
ByHero int64 `json:"by_hero"`
ByMobs int64 `json:"by_mobs"`
} `json:"given"`
Taken struct {
FromHeroes int64 `json:"from_heroes"`
FromMobs int64 `json:"from_mobs"`
} `json:"taken"`
}
DotaPlayerDmg is a collection of damage stat given or taken by player in Dota match.
type DotaPlayerPerformance ¶
type DotaPlayerPerformance struct {
Matches int64 `json:"matches"`
Wins int64 `json:"wins"`
AvgKills float64 `json:"avg_kills"`
AvgDeaths float64 `json:"avg_deaths"`
AvgAssists float64 `json:"avg_assists"`
AvgCreepKills float64 `json:"avg_creep_kills"`
AvgCreepDenies float64 `json:"avg_creep_denies"`
AvgGpm float64 `json:"avg_gpm"`
AvgXpm float64 `json:"avg_xpm"`
}
DotaPlayerPerformance holds some data about a a players performance. This struct is re-used for different levels of data (e.g hero_stats and top_hero)
type DotaPlayerStats ¶
type DotaPlayerStats struct {
Stats DotaPlayerPerformance `json:"stats"`
HeroStats struct {
Attribute struct {
Strength DotaPlayerPerformance `json:"strength"`
Agility DotaPlayerPerformance `json:"agility"`
Intelligence DotaPlayerPerformance `json:"intelligence"`
} `json:"attribute"`
TopHeroes []struct {
Hero Hero `json:"hero"`
DotaPlayerPerformance
} `json:"top_heroes"`
} `json:"hero_stats"`
FactionStats struct {
Radiant struct {
Matches int64 `json:"matches"`
Wins int64 `json:"wins"`
} `json:"radiant"`
Dire struct {
Matches int64 `json:"matches"`
Wins int64 `json:"wins"`
} `json:"dire"`
} `json:"faction_stats"`
}
DotaPlayerByPlayStats holds play by play stats for dota players
type DotaRunesStat ¶ added in v3.1.0
type DotaRunesStat struct {
DoubleDamageRunes int64 `json:"double_damage_runes"`
HasteRunes int64 `json:"haste_runes"`
IllusionRunes int64 `json:"illusion_runes"`
InvisibilityRunes int64 `json:"invisibility_runes"`
RegenerationRunes int64 `json:"regeneration_runes"`
BountyRunes int64 `json:"bounty_runes"`
ArcaneRunes int64 `json:"arcane_runes"`
}
DotaRunesStat is a collection of data about picked up runes
type DotaSeriesSummary ¶
type DotaSeriesSummary struct {
Scoreboard map[string][]struct {
PlayerID int64 `json:"player_id"`
MatchesPlayed int64 `json:"matches_played"`
Kills int64 `json:"kills"`
Deaths int64 `json:"deaths"`
Assists int64 `json:"assists"`
Gpm float64 `json:"gpm"`
Xpm float64 `json:"xpm"`
CreepKills int64 `json:"creep_kills"`
CreepDenies int64 `json:"creep_denies"`
HeroDmg struct {
Given struct {
ByHero struct {
HpRemoval int64 `json:"hp_removal"`
MagicalDmg int64 `json:"magical_dmg"`
PhysicalDmg int64 `json:"physical_dmg"`
PureDmg int64 `json:"pure_dmg"`
} `json:"by_hero"`
ByMobs struct {
HpRemoval int64 `json:"hp_removal"`
MagicalDmg int64 `json:"magical_dmg"`
PhysicalDmg int64 `json:"physical_dmg"`
PureDmg int64 `json:"pure_dmg"`
} `json:"by_mobs"`
} `json:"given"`
Taken struct {
FromHeroes struct {
HpRemoval int64 `json:"hp_removal"`
MagicalDmg int64 `json:"magical_dmg"`
PhysicalDmg int64 `json:"physical_dmg"`
PureDmg int64 `json:"pure_dmg"`
} `json:"from_heroes"`
FromMobs struct {
HpRemoval int64 `json:"hp_removal"`
MagicalDmg int64 `json:"magical_dmg"`
PhysicalDmg int64 `json:"physical_dmg"`
PureDmg int64 `json:"pure_dmg"`
} `json:"from_mobs"`
} `json:"taken"`
} `json:"hero_dmg"`
} `json:"scoreboard"`
}
type DotaStructureDest ¶ added in v3.1.0
type DotaStructureDest struct {
Killer int64 `json:"killer"`
StructureType string `json:"structure_type"`
StructurePos string `json:"structure_pos"`
AtTime int64 `json:"at_time"`
}
DotaStructureDest is a summarization of data about structure destruction event of Dota match.
type DotaTeamStats ¶
type DotaTeamStats struct {
FactionStats struct {
Radiant struct {
Matches int64 `json:"matches"`
Wins int64 `json:"wins"`
} `json:"radiant"`
Dire struct {
Matches int64 `json:"matches"`
Wins int64 `json:"wins"`
} `json:"dire"`
} `json:"faction_stats"`
Drafts struct {
Own struct {
MostPicked []DotaHeroWithWins `json:"most_picked"`
MostBanned []DotaHeroWithWins `json:"most_banned"`
} `json:"own"`
Opponents struct {
MostPicked []DotaHeroWithWins `json:"most_picked"`
MostBanned []DotaHeroWithWins `json:"most_banned"`
} `json:"opponents"`
} `json:"drafts"`
TopStats struct {
Kills struct {
DotaPlayerAgainst
Kills int64 `json:"kills"`
} `json:"kills"`
Gpm struct {
DotaPlayerAgainst
Gpm float64 `json:"gpm"`
} `json:"gpm"`
Xpm struct {
DotaPlayerAgainst
Xpm float64 `json:"xpm"`
} `json:"xpm"`
DmgGiven struct {
DotaPlayerAgainst
DmgGiven float64 `json:"dmg_given"`
} `json:"dmg_given"`
CreepKills struct {
DotaPlayerAgainst
LastHits int64 `json:"last_hits"`
} `json:"creep_kills"`
CreepDenies struct {
DotaPlayerAgainst
Denies int64 `json:"denies"`
} `json:"creep_denies"`
} `json:"top_stats"`
TopMatches struct {
AvgLength float64 `json:"avg_length"`
Longest struct {
Won struct {
TeamAgainst
Length int64 `json:"length"`
} `json:"won"`
Lost struct {
TeamAgainst
Length int64 `json:"length"`
} `json:"lost"`
} `json:"longest"`
Shortest struct {
Won struct {
TeamAgainst
Length int64 `json:"length"`
} `json:"won"`
Lost struct {
TeamAgainst
Length int64 `json:"length"`
} `json:"lost"`
} `json:"shortest"`
AvgKpm float64 `json:"avg_kpm"`
Kpm struct {
Highest struct {
Kpm float64 `json:"kpm"`
TeamAgainst
} `json:"highest"`
Lowest struct {
Kpm float64 `json:"kpm"`
TeamAgainst
} `json:"lowest"`
} `json:"kpm"`
} `json:"top_matches"`
Average struct {
Match struct {
Kills *float64 `json:"kills"`
Deaths *float64 `json:"deaths"`
Assists *float64 `json:"assists"`
Gpm *float64 `json:"gpm"`
Xpm *float64 `json:"xpm"`
Length *float64 `json:"length"`
Wards struct {
Observers struct {
Killed *float64 `json:"killed"`
Placed *float64 `json:"placed"`
} `json:"observers"`
Sentries struct {
Killed *float64 `json:"killed"`
Placed *float64 `json:"placed"`
} `json:"sentries"`
} `json:"wards"`
Structures struct {
Towers struct {
Taken *float64 `json:"taken"`
Lost *float64 `json:"lost"`
Denied *float64 `json:"denied"`
} `json:"towers"`
Barracks struct {
Taken *float64 `json:"taken"`
Lost *float64 `json:"lost"`
Denied *float64 `json:"denied"`
} `json:"barracks"`
} `json:"structures"`
Creeps struct {
Lane struct {
Kills *float64 `json:"kills"`
Denies *float64 `json:"denies"`
} `json:"lane"`
Neutral struct {
Roshan *float64 `json:"roshan"`
Total *float64 `json:"total"`
} `json:"neutral"`
} `json:"creeps"`
FirstBlood struct {
Rate *float64 `json:"rate"`
TakenAt *float64 `json:"taken_at"`
} `json:"first_blood"`
} `json:"match"`
} `json:"average"`
}
DotaTeamStats holds data about a teams play by play stats for dota
type DotaWardsStat ¶ added in v3.1.0
type DotaWardsStat struct {
Observers struct {
Killed int64 `json:"killed"`
Placed int64 `json:"placed"`
} `json:"observers"`
Sentries struct {
Killed int64 `json:"killed"`
Placed int64 `json:"placed"`
} `json:"sentries"`
}
DotaWardsStat is a collection of data about wards actions of a player
type Error ¶
type Error struct {
ErrorMessage string `json:"error,omitempty"`
ErrorCode int64 `json:"error_code,omitempty"`
ErrorDescription string `json:"error_description,omitempty"`
}
Error represents an error response from the API.
type Forfeit ¶
Forfeit contains two items with roster ids as keys mapping to a boolean value describing whether the roster has forfeited or not.
type Game ¶
type Game struct {
Id int64 `json:"id,omitempty"`
Title string `json:"title,omitempty"`
LongTitle string `json:"long_title,omitempty"`
DeletedAt *string `json:"deleted_at"` // Datettime
Images GameImages `json:"images,omitempty"`
Color string `json:"color,omitempty"`
}
Game represents the actual game being played in a Series
type GameImages ¶
type GameImages struct {
Square string `json:"square,omitempty"`
Circle string `json:"circle,omitempty"`
Rectangle string `json:"rectangle,omitempty"`
}
GameImages represents the different keys for images a Game can contain
type Incident ¶
type Incident struct {
SeriesId int64 `json:"series_id,omitempty"`
MatchId *int64 `json:"match_id,omitempty"`
Comment string `json:"comment,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt *string `json:"updated_at"`
IncidentId int64 `json:"incident_id,omitempty"`
}
Incident represents an incident.
type Kill ¶ added in v3.1.0
type Kill struct {
RoundClock int64 `json:"round_clock"`
Damage int64 `json:"damage"`
Attacker struct {
PlayerId int64 `json:"player_id"`
Pos Pos `json:"pos"`
} `json:"attacker"`
Victim struct {
PlayerId int64 `json:"player_id"`
Pos Pos `json:"pos"`
} `json:"victim"`
Assists *int64 `json:"assist"`
Weapon Weapon `json:"weapon"`
HitGroup string `json:"hit_group"`
}
Kill holds CS:GO kill data
type LolLaneEvent ¶
type LolMatchSummary ¶
type LolMatchSummary struct {
MatchLength int64 `json:"match_length"`
BlueRoster struct {
Id int64 `json:"id"`
Players []LolPlayer `json:"players"`
} `json:"blue_roster"`
PurpleRoster struct {
Id int64 `json:"id"`
Players []LolPlayer `json:"players"`
} `json:"purple_roster"`
Firsts struct {
FirstBlood struct {
PlayerId int64 `json:"player_id"`
Timestamp int64 `json:"timestamp"`
Team string `json:"team"`
} `json:"first_blood"`
FirstTower struct {
PlayerId int64 `json:"player_id"`
Timestamp int64 `json:"timestamp"`
Team string `json:"team"`
} `json:"first_tower"`
FirstInhibitor struct {
PlayerId int64 `json:"player_id"`
Timestamp int64 `json:"timestamp"`
Team string `json:"team"`
} `json:"first_inhibitor"`
FirstBaron struct {
PlayerId int64 `json:"player_id"`
Timestamp int64 `json:"timestamp"`
Team string `json:"team"`
} `json:"first_baron"`
FirstDragon struct {
PlayerId int64 `json:"player_id"`
Timestamp int64 `json:"timestamp"`
Team string `json:"team"`
} `json:"first_dragon"`
FirstRiftHerald struct {
PlayerId int64 `json:"player_id"`
Timestamp int64 `json:"timestamp"`
Team string `json:"team"`
} `json:"first_rift_herald"`
} `json:"firsts"`
Wards []struct {
EventType string `json:"event_type"`
Type string `json:"type"`
PlayerId int64 `json:"player_id"`
Timestamp int64 `json:"timestamp"`
} `json:"wards"`
KillTimeline []struct {
Timestamp int64 `json:"timestamp"`
Position Pos `json:"position"`
KillerId int64 `json:"killer_id"`
VictimId int64 `json:"victim_id"`
Assists []int64 `json:"assists"`
} `json:"kill_timeline"`
ObjectiveEvents struct {
Towers []struct {
Type string `json:"type"`
Assists []int64 `json:"assists"`
LolLaneEvent
} `json:"towers"`
Inihibitors []struct {
LolLaneEvent
Assists []int64 `json:"assists"`
} `json:"inhibitors"`
Barons []LolEvent `json:"barons"`
Dragons []struct {
Type string `json:"type"`
LolEvent
} `json:"dragons"`
RiftHeralds []LolEvent `json:"rift_heralds"`
} `json:"objective_events"`
Draft []struct {
RosterId int64 `json:"roster_id"`
Champion Champion `json:"champion"`
Order *int64 `json:"order"`
Type string `json:"type"`
} `json:"draft"`
}
type LolPlayer ¶
type LolPlayer struct {
PlayerId int64 `json:"player_id"`
Role string `json:"role"`
Lane string `json:"lane"`
Kills int64 `json:"kills"`
Deaths int64 `json:"deaths"`
Assists int64 `json:"assists"`
GoldEarned int64 `json:"gold_earned"`
GoldSpent int64 `json:"gold_spent"`
Gpm float64 `json:"gpm"`
TotalXp int64 `json:"total_xp"`
Xpm float64 `json:"xpm"`
Champion Champion `json:"champion"`
KillCombos struct {
Double int64 `json:"double"`
Triple int64 `json:"triple"`
Quadra int64 `json:"quadra"`
Penta int64 `json:"penta"`
Unreal int64 `json:"unreal"`
LargestKillingSpree int64 `json:"largest_killing_spree"`
LargestMultiKill int64 `json:"largest_multi_kill"`
KillingSprees int64 `json:"killing_sprees"`
} `json:"kill_combos"`
Items struct {
Inventory struct {
Slot1 LolItem `json:"slot_1"`
Slot2 LolItem `json:"slot_2"`
Slot3 LolItem `json:"slot_3"`
Slot4 LolItem `json:"slot_4"`
Slot5 LolItem `json:"slot_5"`
Slot6 LolItem `json:"slot_6"`
Slot7 LolItem `json:"slot_7"`
} `json:"inventory"`
} `json:"items"`
Damage struct {
Total LolDmg `json:"total"`
ToHeroes LolDmg `json:"to_heroes"`
DamageTaken LolDmg `json:"damage_taken"`
LargestCrit int64 `json:"largest_crit"`
ToObjectives int64 `json:"to_objectives"`
ToTurrets int64 `json:"to_turrets"`
} `json:"damage"`
Support struct {
AmountHealed int64 `json:"amount_healed"`
UnitsHealed int64 `json:"units_healed"`
CrowdControlTime int64 `json:"crowd_control_time"`
} `json:"support"`
MinionKills struct {
Total int64 `json:"total"`
NeutralJungle int64 `json:"neutral_jungle"`
NeutralEnemyJungle int64 `json:"neutral_enemy_jungle"`
} `json:"minion_kills"`
Wards []struct {
Type string `json:"type"`
Destroyed int64 `json:"destroyed"`
Placed int64 `json:"placed"`
} `json:"wards"`
ChampionSpells map[string]struct {
Name string `json:"name"`
} `json:"champion_spells"`
Masteries []struct {
Name string `json:"name"`
Rank int64 `json:"rank"`
} `json:"masteries"`
Runes []struct {
Name string `json:"name"`
Rank int64 `json:"rank"`
} `json:"runes"`
RunesReforged struct {
PrimaryPath struct {
Path struct {
Name string `json:"name"`
ExternalId int64 `json:"external_id"`
} `json:"path"`
Keystone struct {
Name string `json:"name"`
ExternalId int64 `json:"external_id"`
} `json:"keystone"`
Rune1 struct {
Name string `json:"name"`
ExternalId int64 `json:"external_id"`
} `json:"rune_1"`
Rune2 struct {
Name string `json:"name"`
ExternalId int64 `json:"external_id"`
} `json:"rune_2"`
Rune3 struct {
Name string `json:"name"`
ExternalId int64 `json:"external_id"`
} `json:"rune_3"`
} `json:"primary_path"`
SecondaryPath struct {
Path struct {
Name string `json:"name"`
ExternalId int64 `json:"external_id"`
} `json:"path"`
Rune1 struct {
Name string `json:"name"`
ExternalId int64 `json:"external_id"`
} `json:"rune_1"`
Rune2 struct {
Name string `json:"name"`
ExternalId int64 `json:"external_id"`
} `json:"rune_2"`
} `json:"secondary_path"`
} `json:"runes_reforged"`
Skillups []struct {
Time int64 `json:"time"`
AbilitySlot int64 `json:"ability_slot"`
Type string `json:"type"`
} `json:"skillups"`
}
type LolPlayerAgainst ¶
type LolPlayerStats ¶
type LolPlayerStats struct {
NrMatches int64 `json:"nr_matches"`
NrWins int64 `json:"nr_wins"`
AvgStats struct {
Kills float64 `json:"kills"`
Deaths float64 `json:"deaths"`
Assists float64 `json:"assists"`
Gpm float64 `json:"gpm"`
Xpm float64 `json:"xpm"`
MinionKills struct {
Total float64 `json:"total"`
NeutralMinions float64 `json:"neutral_minions"`
NeutralJungle float64 `json:"neutral_jungle"`
NeutralEnemyJungle float64 `json:"neutral_enemy_jungle"`
} `json:"minion_kills"`
Wards []struct {
Placed float64 `json:"placed"`
Destroyed float64 `json:"destroyed"`
Type string `json:"type"`
} `json:"wards"`
} `json:"avg_stats"`
LargestCombo struct {
Double int64 `json:"double"`
Triple int64 `json:"triple"`
Quadra int64 `json:"quadra"`
Penta int64 `json:"penta"`
Unreal int64 `json:"unreal"`
LargestKillingSpree int64 `json:"largest_killing_spree"`
LargestMultiKill int64 `json:"largest_multi_kill"`
KillingSprees int64 `json:"killing_sprees"`
} `json:"largest_combos"`
MostPlayedChampion []struct {
Champion Champion `json:"champion"`
NrMatches int64 `json:"nr_matches"`
NrWins int64 `json:"nr_wins"`
AvgKills float64 `json:"avg_kills"`
AvgDeaths float64 `json:"avg_deaths"`
AvgAssists float64 `json:"avg_assists"`
AvgGpm float64 `json:"avg_gpm"`
AvgXpm float64 `json:"avg_xpm"`
} `json:"most_played_champions"`
SideStats struct {
Purple struct {
NrMatches int64 `json:"nr_matches"`
NrWins int64 `json:"nr_wins"`
} `json:"purple"`
Blue struct {
NrMatches int64 `json:"nr_matches"`
NrWins int64 `json:"nr_wins"`
} `json:"blue"`
} `json:"side_stats"`
}
type LolSeriesSummary ¶
type LolSeriesSummary struct {
Scoreboard map[string][]struct {
PlayerID int64 `json:"player_id"`
MatchesPlayed int64 `json:"matches_played"`
Kills int64 `json:"kills"`
Deaths int64 `json:"deaths"`
Assists int64 `json:"assists"`
GoldEarned int64 `json:"gold_earned"`
GoldSpent int64 `json:"gold_spent"`
TotalXp int64 `json:"total_xp"`
Xpm float64 `json:"xpm"`
Gpm float64 `json:"gpm"`
KillCombos struct {
Double int64 `json:"double"`
Triple int64 `json:"triple"`
Quadra int64 `json:"quadra"`
Penta int64 `json:"penta"`
Unreal int64 `json:"unreal"`
LargestKillingSpree int64 `json:"largest_killing_spree"`
LargestMultiKill int64 `json:"largest_multi_kill"`
KillingSprees int64 `json:"killing_sprees"`
} `json:"kill_combos"`
MinionKills struct {
Total int64 `json:"total"`
NeutralJungle int64 `json:"neutral_jungle"`
NeutralEnemyJungle int64 `json:"neutral_enemy_jungle"`
} `json:"minion_kills"`
Damage struct {
Total struct {
Magic int64 `json:"magic"`
Physical int64 `json:"physical"`
True int64 `json:"true"`
} `json:"total"`
ToHeroes struct {
Magic int64 `json:"magic"`
Physical int64 `json:"physical"`
True int64 `json:"true"`
} `json:"to_heroes"`
DamageTaken struct {
Magic int64 `json:"magic"`
Physical int64 `json:"physical"`
True int64 `json:"true"`
} `json:"damage_taken"`
LargestCrit int64 `json:"largest_crit"`
ToObjectives int64 `json:"to_objectives"`
ToTurrets int64 `json:"to_turrets"`
} `json:"damage"`
Support struct {
AmountHealed int64 `json:"amount_healed"`
UnitsHealed int64 `json:"units_healed"`
CrowdControlTime int64 `json:"crowd_control_time"`
} `json:"support"`
}
}
type LolTeamAgainst ¶
type LolTeamStats ¶
type LolTeamStats struct {
NrMatches int64 `json:"nr_matches"`
NrWins int64 `json:"nr_wins"`
SideStats struct {
Purple struct {
NrMatches int64 `json:"nr_matches"`
NrWins int64 `json:"nr_wins"`
} `json:"purple"`
Blue struct {
NrMatches int64 `json:"nr_matches"`
NrWins int64 `json:"nr_wins"`
} `json:"blue"`
} `json:"side_stats"`
Average struct {
Match struct {
Kills *float64 `json:"kills"`
Deaths *float64 `json:"deaths"`
Assists *float64 `json:"assists"`
Gpm *float64 `json:"gpm"`
Length *float64 `json:"length"`
Wards struct {
Killed *float64 `json:"killed"`
Placed *float64 `json:"placed"`
} `json:"wards"`
Structures struct {
Turrets struct {
Taken *float64 `json:"taken"`
Lost *float64 `json:"lost"`
} `json:"turrets"`
Inhibitors struct {
Taken *float64 `json:"taken"`
Lost *float64 `json:"lost"`
} `json:"inhibitors"`
} `json:"structures"`
Creeps struct {
Lane struct {
Kills *float64 `json:"kills"`
} `json:"lane"`
Neutral struct {
Baron *float64 `json:"baron"`
Dragon *float64 `json:"dragon"`
Heralds *float64 `json:"heralds"`
Total *float64 `json:"total"`
} `json:"neutral"`
} `json:"creeps"`
FirstBlood struct {
Rate *float64 `json:"rate"`
TakenAt *float64 `json:"taken_at"`
} `json:"first_blood"`
} `json:"match"`
} `json:"average"`
Champions []struct {
NrMatches int64 `json:"nr_matches"`
NrWins int64 `json:"nr_wins"`
Champion Champion `json:"champion"`
} `json:"champions"`
TopStats struct {
Kills LolPlayerAgainst `json:"kills"`
Gpm LolPlayerAgainst `json:"gpm"`
Xpm LolPlayerAgainst `json:"xpm"`
DoubleKills *LolPlayerAgainst `json:"double_kills"`
TripleKills *LolPlayerAgainst `json:"triple_kills"`
QuadraKills *LolPlayerAgainst `json:"quadra_kills"`
PentaKills *LolPlayerAgainst `json:"Penta_kills"`
UnrealKills *LolPlayerAgainst `json:"Unreal_kills"`
LargestKillingSpree *LolPlayerAgainst `json:"largest_killing_spree"`
LargestMultiKill *LolPlayerAgainst `json:"largest_multi_kill"`
} `json:"top_stats"`
TopMatches struct {
Kpm struct {
Avg float64 `json:"avg"` // Only lol
Highest struct {
LolTeamAgainst
} `json:"highest"`
Lowest struct {
LolTeamAgainst
} `json:"lowest"`
} `json:"kpm"`
Length struct {
Avg float64 `json:"avg"`
Longest struct {
Won LolTeamAgainst `json:"won"`
Lost LolTeamAgainst `json:"lost"`
} `json:"longest"`
Shortest struct {
Won LolTeamAgainst `json:"won"`
Lost LolTeamAgainst `json:"lost"`
} `json:"shortest"`
} `json:"length"`
} `json:"top_matches"`
}
type Map ¶
type Map struct {
Id int64 `json:"id"`
Name string `json:"name,omitempty"`
Official bool `json:"official"`
Game Game `json:"game,omitempty"`
}
Map represents the map being played in a Match
type Match ¶
type Match struct {
Id int64 `json:"id,omitempty"`
SeriesId int64 `json:"series_id,omitempty"`
Order int64 `json:"order,omitempty"`
Winner *int64 `json:"winner"`
Map *Map `json:"map,omitempty"`
DeletedAt *string `json:"deleted_at"`
Game Game `json:"game"`
HasPbpStats bool `json:"has_pbpstats"`
Scores *Scores `json:"scores"`
Forfeit Forfeit `json:"forfeit,omitempty"`
Seeding Seeding `json:"seeding,omitempty"`
Rosters []Roster `json:"rosters"`
Performance MatchPerformance `json:"performance,omitempty"`
MatchSummary MatchSummary `json:"match_summary"` // Play by Play
}
Match represents an actual map being played between two rosters.
func (*Match) UnmarshalJSON ¶
We need to unmarshal match_summary into the game-specific struct
type MatchPerformance ¶
type MatchPerformance struct {
Winrate MatchWinrate `json:"winrate,omitempty"`
}
MatchPerformance is associated with a Match and contains performance information about the Rosters with respect to the specific map.
type MatchSummary ¶
type MatchSummary interface{}
MatchSummary holds information about play by play statistics for a certain match.
type MatchWinrate ¶
type MatchWinrate struct {
Overall *MatchWinrateOverall `json:"over_all"`
PerMap []MatchWinratePerMap `json:"per_map"`
}
MatchWinrate holds the top-level keys for winrate statistics.
type MatchWinrateOverall ¶
type MatchWinrateOverall struct {
History int64 `json:"history,omitempty"`
Rosters map[string]float64 `json:"-"`
}
MatchWinrateOverall holds information about the summarized performance statistics.
func (*MatchWinrateOverall) UnmarshalJSON ¶
func (m *MatchWinrateOverall) UnmarshalJSON(b []byte) (err error)
type MatchWinratePerMap ¶
type MatchWinratePerMap struct {
Map Map `json:"map,omitempty"`
History int64 `json:"history,omitempty"`
Rosters map[string]float64 `json:"-"`
}
MatchWinratePerMap breaks down the winrate statistics per Map.
func (*MatchWinratePerMap) UnmarshalJSON ¶
func (m *MatchWinratePerMap) UnmarshalJSON(b []byte) (err error)
type Moneyline ¶
type Moneyline struct {
Home float64 `json:"home"`
HomeBetSlip *string `json:"home_bet_slip"`
Away float64 `json:"away"`
AwayBetSlip *string `json:"away_bet_slip"`
Draw *float64 `json:"draw"`
DrawBetSlip *string `json:"draw_bet_slip"`
}
Moneyline holds information about the mouneyline for a particular sportsbook.
type Organisation ¶
type Organisation struct {
Id int64 `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Teams []Team `json:"teams"`
}
Organisation represents a logical grouping of Teams across different Games
type PaginatedGames ¶
type PaginatedGames struct {
LastPage int64 `json:"last_page,omitempty"`
CurrentPage int64 `json:"current_page,omitempty"`
Data []Game `json:"data,omitempty"`
}
PaginatedGames holds a list of Game as well as information about pages.
type PaginatedIncidents ¶
type PaginatedIncidents struct {
LastPage int64 `json:"last_page,omitempty"`
CurrentPage int64 `json:"current_page,omitempty"`
Data []Incident `json:"data"`
}
PaginatedIncidents holds a list of Incident as well as information about pages
type PaginatedOrganisations ¶
type PaginatedOrganisations struct {
LastPage int64 `json:"last_page,omitempty"`
CurrentPage int64 `json:"current_page,omitempty"`
Data []Organisation `json:"data,omitempty"`
}
PaginatedOrganisations holds a list of Team as well as information about pages.
type PaginatedPlayers ¶
type PaginatedPlayers struct {
LastPage int64 `json:"last_page,omitempty"`
CurrentPage int64 `json:"current_page,omitempty"`
Data []Player `json:"data,omitempty"`
}
PaginatedPlayers holds a list of Player as well as information about pages.
type PaginatedSeries ¶
type PaginatedSeries struct {
LastPage int64 `json:"last_page,omitempty"`
CurrentPage int64 `json:"current_page,omitempty"`
Data []Series `json:"data,omitempty"`
}
PaginatedSeries holds a list of Series as well as information about pages.
type PaginatedTeams ¶
type PaginatedTeams struct {
LastPage int64 `json:"last_page,omitempty"`
CurrentPage int64 `json:"current_page,omitempty"`
Data []Team `json:"data,omitempty"`
}
PaginatedTeams holds a list of Team as well as information about pages.
type PaginatedTournaments ¶
type PaginatedTournaments struct {
LastPage int64 `json:"last_page,omitempty"`
CurrentPage int64 `json:"current_page,omitempty"`
Data []Tournament `json:"data,omitempty"`
}
PaginatedTournaments holds a list of Tournament as well as information about pages
type Platform ¶
type Platform struct {
Id int64 `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Color string `json:"color,omitempty"`
Images PlatformImages `json:"images,omitempty"`
}
Platform represents a third party streaming platform.
type PlatformImages ¶
type PlatformImages struct {
Default string `json:"default,omitempty"`
}
PlatformImages represents the different keys for images a Platform can contain
type Player ¶
type Player struct {
Id int64 `json:"id,omitempty"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Nickname string `json:"nick_name,omitempty"`
DeletedAt *string `json:"deleted_at"`
Images PlayerImages `json:"images,omitempty"`
Country *Country `json:"country,omitempty"`
Roles []Role `json:"roles"`
Race *Race `json:"race,omitempty"`
Team *Team `json:"team,omitempty"`
PlayerStats PlayerStats `json:"player_stats,omitempty"`
Rosters []DefaultRoster `json:"rosters,omitempty"`
Game Game `json:"game,omitempty"`
SocialMediaAccounts []SocialMediaAccount `json:"social_media_accounts,omitempty"`
}
Player represents a player that competes in Series' and Matches.
type PlayerAgainst ¶
type PlayerAgainst struct {
PlayerId int64 `json:"player_id"`
Against *Team `json:"against"` // Declared as pointer to avoid invalid recursive type
MatchId int64 `json:"match_id"`
}
PlayerAgainst is a collection of common data when examining specific stats. It is grouped with the specific stat in another struct.
type PlayerImages ¶
type PlayerImages struct {
Default string `json:"default,omitempty"`
Thumbnail string `json:"thumbnail,omitempty"`
Fallback bool `json:"fallback"`
}
PlayerImages represents the different keys for images a Player can contain
type PlayerPlayByPlayStats ¶
type PlayerPlayByPlayStats interface{}
PlayByPlayStats holds information about play by play statistics for a certain player.
type PlayerStats ¶
type PlayerStats struct {
SinglePlayer *SinglePlayerStats `json:"single_player,omitempty"` // Null when player does not play single player game. Otherwise format is equal to stats for a team
PlayByPlay PlayerPlayByPlayStats `json:"play_by_play"`
}
PlayerStats hold performance statistics about a particular Player.
func (*PlayerStats) UnmarshalJSON ¶
func (p *PlayerStats) UnmarshalJSON(data []byte) error
type Prizepool ¶
type Prizepool struct {
Total string `json:"total,omitempty"`
First string `json:"first,omitempty"`
Second string `json:"second,omitempty"`
Third string `json:"third,omitempty"`
}
Prizepool holds information about a Tournament's prizepool.
type Race ¶
type Race struct {
Id int64 `json:"id,omitempty"`
GameId int64 `json:"game_id,omitempty"`
Name string `json:"name,omitempty"`
Images RaceImages `json:"images,omitempty"`
}
Race represents a race, faction, class etc. in a Game.
type RaceImages ¶
type RaceImages struct {
Default string `json:"default,omitempty"`
Thumbnail string `json:"thumbnail,omitempty"`
}
RaceImages represents the different keys for images a Race can contain
type RoshanEvent ¶ added in v3.1.0
type RoshanEvent struct {
Type string `json:"type"`
Killer int64 `json:"killer"`
AtTime int64 `json:"at_time"`
}
RoshanEvent is a summarization of data about Roshan event of Dota match.
type Roster ¶
type Roster struct {
Id int64 `json:"id,omitempty"`
Teams []Team `json:"teams,omitempty"`
Players []Player `json:"players,omitempty"`
RosterStats *RosterStats `json:"roster_stats"`
Game Game `json:"game"`
}
Roster represents a roster (or line-up) in a team game.
type RosterStats ¶
type RosterStats struct {
Streak struct {
Match struct {
StreakScope // defined in stats.go
} `json:"match,omitempty"`
} `json:"streak,omitempty"`
Winrate struct {
Match struct {
WinrateMatchScope // defined in stats.go
} `json:"match,omitempty"`
} `json:"winrate,omitempty"`
Nemesis *struct {
Match struct {
Roster Roster `json:"roster"`
Losses int64 `json:"losses"`
} `json:"match,omitempty"`
} `json:"nemesis"`
Dominating *struct {
Match struct {
Roster Roster `json:"roster"`
Wins int64 `json:"wins"`
} `json:"match,omitempty"`
} `json:"dominating"`
}
RosterStats hold performance information about a particular Roster.
type Round ¶ added in v3.1.0
type Round struct {
RoundNr int64 `json:"round_nr"`
TSide int64 `json:"t_side"`
CtSide int64 `json:"ct_side"`
Winner int64 `json:"winner"`
WinReason string `json:"win_reason"`
BombEvents []BombEvent `json:"bomb_events"`
Kills []Kill `json:"kills"`
PlayerStats struct {
TSide []RoundPlayerStats `json:"t_side"`
CtSide []RoundPlayerStats `json:"ct_side"`
} `json:"player_stats"`
}
Round is summaryization of a CS:GO round.
type RoundPlayerStats ¶
type RoundPlayerStats struct {
PlayerId int64 `json:"player_id"`
DmgGiven float64 `json:"dmg_given"`
DmgTaken float64 `json:"dmg_taken"`
Kills int64 `json:"kills"`
Assists int64 `json:"assists"`
Died bool `json:"died"`
Accuracy struct {
General float64 `json:"general"`
Headshot float64 `json:"head_shot"`
} `json:"accuracy"`
}
RoundPlayerStats reflects how well a player performed in a round.
type SearchResult ¶
type SearchResult struct {
Id int64 `json:"id,omitempty"`
Matched string `json:"matched,omitempty"`
AltLabel string `json:"alt_label,omitempty"`
Type string `json:"type,omitempty"`
Logo string `json:"logo,omitempty"`
GameId int64 `json:"game_id,omitempty"`
GameLogo *string `json:"game_logo"`
}
SearchResult represents a result from the /search endpoint.
type Series ¶
type Series struct {
Id int64 `json:"id,omitempty"`
Title string `json:"title,omitempty"`
BestOf int64 `json:"bestOf,omitempty"`
Tier *int64 `json:"tier"`
Start *string `json:"start"`
End *string `json:"end"`
PostponedFrom *string `json:"postponed_from"`
DeletedAt *string `json:"deleted_at"`
Scores *Scores `json:"scores"`
Forfeit Forfeit `json:"forfeit,omitempty"`
Streamed bool `json:"streamed"`
Seeding Seeding `json:"seeding,omitempty"`
Rosters []Roster `json:"rosters,omitempty"`
Game Game `json:"game,omitempty"`
Matches []Match `json:"matches,omitempty"`
Casters []Caster `json:"casters,omitempty"`
TournamentId int64 `json:"tournament_id,omitempty"`
SubstageId int64 `json:"substage_id,omitempty"`
BracketPosition *BracketPosition `json:"bracket_pos"`
Tournament Tournament `json:"tournament,omitempty"`
Performance SeriesPerformance `json:"performance,omitempty"`
SportsbookOdds []SportsbookOdds `json:"sportsbook_odds"`
Chain *[]struct {
RootId int64 `json:"root_id"`
SeriesId int64 `json:"series_id"`
Order int64 `json:"order"`
} `json:"chain"`
Summary SeriesSummary `json:"summary"`
}
Series represents a Series of Matches.
func (*Series) UnmarshalJSON ¶
We need to unmarshal summary into the game-specific struct
type SeriesIncidents ¶
type SeriesIncidents struct {
SeriesIncidents []Incident `json:"series_incidents"`
MatchIncidents []Incident `json:"match_incidents"`
}
SeriesIncidents holds information about all incidents associated with a Series and all it's Matches.
type SeriesPerformance ¶
type SeriesPerformance struct {
PastEncounters []Series `json:"past_encounters,omitempty"`
RecentPerformance map[string][]Series `json:"recent_performance,omitempty"`
}
SeriesPerformance is associated with a Series and contains performance information about the Teams or Players participating in the Series.
type SeriesSummary ¶
type SeriesSummary interface{}
type SinglePlayerStats ¶
type SinglePlayerStats struct {
Streak struct {
Series struct {
StreakScope // defined in stats.go
} `json:"series,omitempty"`
Match struct {
StreakScope // defined in stats.go
} `json:"match,omitempty"`
} `json:"streak,omitempty"`
Winrate struct {
Series struct {
WinrateSeriesScope // defined in stats.go
} `json:"series,omitempty"`
Match struct {
WinrateMatchScope // defined in stats.go
} `json:"match,omitempty"`
} `json:"winrate,omitempty"`
Nemesis *struct {
Series struct {
Competitor Player `json:"competitor,omitempty"` // defined in stats.go
Losses int64 `json:"losses"`
} `json:"series,omitempty"`
Match struct {
Competitor Player `json:"competitor,omitempty"` // defined in stats.go
Losses int64 `json:"losses"`
} `json:"match,omitempty"`
} `json:"nemesis,omitempty"`
Dominating *struct {
Series struct {
Competitor Player `json:"competitor,omitempty"` // defined in stats.go
Wins int64 `json:"wins"`
} `json:"series,omitempty"`
Match struct {
Competitor Player `json:"competitor,omitempty"` // defined in stats.go
Wins int64 `json:"wins"`
} `json:"match,omitempty"`
} `json:"dominating,omitempty"`
}
SinglePlayerStats hold information for players playing single-player games. For team games see the players corresponding Team and TeamStats.
type SocialMediaAccount ¶
type SocialMediaAccount struct {
Name string `json:"name,omitempty"`
Slug string `json:"slug,omitempty"`
Url string `json:"url,omitempty"`
}
SocialMediaAccount represents a social media account for a Player or Team
type SportsbookOdds ¶
type SportsbookOdds struct {
Sportsbook string `json:"sportsbook"`
Link string `json:"link"`
Moneyline Moneyline `json:"moneyline"`
}
SportsbookOdds is a top-level struct holding information about sportsbook odds.
type Stage ¶
type Stage struct {
Id int64 `json:"id,omitempty"`
Title string `json:"title,omitempty"`
DeletedAt *string `json:"deleted_at"`
Substages []Substage `json:"substages"`
}
Stage represents a phase in a Tournament and a higher level grouping of Substages.
type Standings ¶
type Standings struct {
RosterId int64 `json:"roster_id"`
Points *int64 `json:"points"`
Wins int64 `json:"wins"`
Draws int64 `json:"draws"`
Losses int64 `json:"losses"`
}
Stands represents the current standings in a substage.
type StreakScope ¶
type StreakScope struct {
Current int64 `json:"current"`
Best int64 `json:"best"`
Worst int64 `json:"worst"`
}
StreakScope is the second-level object holding streak statistics.
type Stream ¶
type Stream struct {
Id int64 `json:"id,omitempty"`
Username string `json:"username,omitempty"`
DisplayName string `json:"display_name,omitempty"`
StatusText string `json:"status_text,omitempty"`
ViewerCount int64 `json:"viewer_count"`
Online int64 `json:"online"`
LastOnline string `json:"last_online,omitempty"`
Images StreamImages `json:"images,omitempty"`
Url string `json:"url,omitempty"`
Platform Platform `json:"platform,omitempty"`
}
Stream represents a broadcast on a third party platform.
type StreamImages ¶
type StreamImages struct {
UserLogo string `json:"user_logo,omitempty"`
Preview string `json:"preview,omitempty"`
}
StreamImages represents the different keys for images a Stream can contain
type Substage ¶
type Substage struct {
TournamentId int64 `json:"tournament_id,omitempty"`
StageId int64 `json:"stage_id,omitempty"`
Id int64 `json:"id,omitempty"`
Title string `json:"title,omitempty"`
Tier int64 `json:"tier"`
Type int64 `json:"type"`
Order int64 `json:"order"`
Rules SubstageRules `json:"rules"`
Standing []Standings `json:"standings"`
Series []Series `json:"series,omitempty"`
Rosters []Roster `json:"rosters,omitempty"`
DeletedAt *string `json:"deleted_at"`
}
Substage is the lowest structure of a Tournament and is a grouping of Series.
type SubstageRules ¶
type SubstageRules struct {
Advance struct {
Number *int64 `json:"number"`
SubstageId *int64 `json:"substage_id"`
} `json:"advance"`
Descend struct {
Number *int64 `json:"number"`
SubstageId *int64 `json:"substage_id"`
} `json:"descend"`
Points struct {
Win *int64 `json:"win"`
Draw *int64 `json:"draw"`
Loss *int64 `json:"loss"`
Scope string `json:"scope"`
}
}
SubstageRules hold information about the rules for a particular substage.
type Team ¶
type Team struct {
Id int64 `json:"id,omitempty"`
Name string `json:"name,omitempty"`
ShortName string `json:"short_name,omitempty"`
DeletedAt *string `json:"deleted_at"`
Images TeamImages `json:"images,omitempty"`
Country *Country `json:"country"`
TeamStats TeamStats `json:"team_stats,omitempty"`
Players *[]Player `json:"players,omitempty"`
Rosters []DefaultRoster `json:"rosters,omitempty"`
UpcomingSeries []Series `json:"upcoming_series"`
RecentSeries []Series `json:"recent_series"`
Game Game `json:"game,omitempty"`
SocialMediaAccounts []SocialMediaAccount `json:"social_media_accounts,omitempty"`
}
Team represents a team that competes in Series' and Matches.
type TeamAgainst ¶
type TeamAgainst struct {
MatchId int64 `json:"match_id"`
Against *Team `json:"against"` // Declared as pointer to avoid invalid recursive type
}
TeamAgainst is a collection of common data when examining specific stats. It is grouped with the specific stat in another struct.
type TeamImages ¶
type TeamImages struct {
Default string `json:"default,omitempty"`
Thumbnail string `json:"thumbnail,omitempty"`
Fallback bool `json:"fallback"`
}
TeamImages represents the different keys for images a Team can contain
type TeamPlayByPlayStats ¶
type TeamPlayByPlayStats interface{}
type TeamStats ¶
type TeamStats struct {
Streak struct {
Series struct {
StreakScope // defined in stats.go
} `json:"series,omitempty"`
Match struct {
StreakScope // defined in stats.go
} `json:"match,omitempty"`
} `json:"streak,omitempty"`
Winrate struct {
Series struct {
WinrateSeriesScope // defined in stats.go
} `json:"series,omitempty"`
Match struct {
WinrateMatchScope // defined in stats.go
} `json:"match,omitempty"`
} `json:"winrate,omitempty"`
Nemesis *struct {
Series struct {
Competitor Team `json:"competitor,omitempty"` // defined in stats.go
Losses int64 `json:"losses"`
} `json:"series,omitempty"`
Match struct {
Competitor Team `json:"competitor,omitempty"` // defined in stats.go
Losses int64 `json:"losses"`
} `json:"match,omitempty"`
} `json:"nemesis,omitempty"`
Dominating *struct {
Series struct {
Competitor Team `json:"competitor,omitempty"` // defined in stats.go
Wins int64 `json:"wins"`
} `json:"series,omitempty"`
Match struct {
Competitor Team `json:"competitor,omitempty"` // defined in stats.go
Wins int64 `json:"wins"`
} `json:"match,omitempty"`
} `json:"dominating,omitempty"`
PlayByPlay TeamPlayByPlayStats `json:"play_by_play"`
}
TeamStats holds performance statistics about a particular Team.
func (*TeamStats) UnmarshalJSON ¶
type Tournament ¶
type Tournament struct {
Id int64 `json:"id,omitempty"`
Title string `json:"title,omitempty"`
ShortTitle string `json:"short_title,omitempty"`
Country Country `json:"country,omitempty"`
City string `json:"city,omitempty"`
Tier int64 `json:"tier"`
Description string `json:"description,omitempty"`
ShortDescription string `json:"short_description,omitempty"`
Format string `json:"format,omitempty"`
Start *string `json:"start"` // Datettime
End *string `json:"end"` // Datettime
DeletedAt *string `json:"deleted_at"` // Datettime
Url string `json:"url,omitempty"`
HasPbpStats bool `json:"has_pbpstats"`
Images TournamentImages `json:"images,omitempty"`
PrizepoolString Prizepool `json:"prizepool_string,omitempty"`
Links Links `json:"links,omitempty"`
NextSeries *Series `json:"next_series"`
Series []Series `json:"series,omitempty"` // Optional
Stages []Stage `json:"stages,omitempty"` // Optional
Rosters []Roster `json:"rosters,omitempty"` // Optional
Game Game `json:"game,omitempty"`
Casters []Caster `json:"casters"`
}
Tournament represents a tournament (i.e a structured group of Series').
type TournamentImages ¶
type TournamentImages struct {
Default string `json:"default,omitempty"`
Thumbnail string `json:"thumbnail,omitempty"`
Banner string `json:"banner,omitempty"`
Square string `json:"square,omitempty"`
Fallback bool `json:"fallback"`
}
TournamentImages represents the different keys for images a Tournament can contain
type Weapon ¶
type Weapon struct {
Images struct {
Small string `json:"small"`
} `json:"images"`
Name string `json:"name"`
}
Weapon holds information about a CS:GO weapon.
type WinrateMatchScope ¶
type WinrateMatchScope struct {
Rate float64 `json:"rate"`
History int64 `json:"history"`
PerMap []WinratePerMap `json:"per_map"`
}
WinrateScope is a second-level object holding winrate statistics for matches.
type WinratePerFormat ¶
type WinratePerFormat struct {
BestOf int64 `json:"best_of"`
Rate float64 `json:"rate"`
History int64 `json:"history"`
}
WinratePerFormat holds the innermost JSON about winrates related to a specific format.
type WinratePerMap ¶
type WinratePerMap struct {
Map Map `json:"map,omitempty"`
Rate float64 `json:"rate"`
History int64 `json:"history"`
}
WinratePerMap holds the innermost JSON about winrates related to a single map.
type WinrateSeriesScope ¶
type WinrateSeriesScope struct {
Rate float64 `json:"rate"`
History int64 `json:"history"`
PerFormat []WinratePerFormat `json:"per_format"`
}
WinrateScope is a second-level object holding winrate statistics for series'.
Source Files
¶
- access_token.go
- bracket_position.go
- caster.go
- champion.go
- country.go
- cs_match_summary.go
- default_roster.go
- dota_match_summary.go
- error.go
- forfeit.go
- game.go
- hero.go
- images.go
- incident.go
- item.go
- map.go
- match.go
- match_performance.go
- match_summary.go
- organisation.go
- platform.go
- player.go
- player_stats.go
- race.go
- role.go
- roster.go
- roster_stats.go
- scores.go
- searchresult.go
- seeding.go
- series.go
- series_incident.go
- series_performance.go
- series_summary.go
- social_media_account.go
- sportsbook.go
- stage.go
- stats.go
- stream.go
- substage.go
- team.go
- team_stats.go
- tournament.go
- weapon.go