Documentation
¶
Index ¶
- Constants
- Variables
- func Fixture(path string) string
- func ServerSetup() func()
- type Account
- type AccountInput
- type AccountRecord
- type Arena
- type ArenaRecord
- type MapInput
- type Option
- type PlayerAchievements
- type PlayerAchievementsData
- type PlayerAchievementsInput
- type PlayerAchievementsRec
- type PlayerFragsRec
- type PlayerMaxSeriesRec
- type PlayerPersonalData
- type PlayerPersonalDataInput
- type PlayerPersonalDataRec
- type PlayerStats
- type PlayerStatsRec
- type PlayerVehicles
- type PlayerVehiclesInput
- type PlayerVehiclesRec
- type WOTClient
- func (c *WOTClient) GetAccount(search string, input *AccountInput) (*Account, error)
- func (c *WOTClient) GetAccountID(search string) int
- func (c *WOTClient) GetPlayerAchievements(accountID int, input *PlayerAchievementsInput) (*PlayerAchievements, error)
- func (c *WOTClient) GetPlayerPersonalData(accountID int, input *PlayerPersonalDataInput) (*PlayerPersonalData, error)
- func (c *WOTClient) GetPlayerVehicles(accountID int, input *PlayerVehiclesInput) (*PlayerVehicles, error)
- func (c *WOTClient) ListMaps(input *MapInput) (*Arena, error)
Constants ¶
Variables ¶
var ( // ErrNilApplicationID is raised when the client is instantiated without an API key ErrNilApplicationID error = errors.New("Application ID cannot be nil") )
Functions ¶
Types ¶
type Account ¶
type Account struct {
Data []AccountRecord `json:"data"`
}
Account represents data from the account/list endpoint
type AccountInput ¶
type AccountInput struct {
// Fields you want displayed. Valid values are:
//
// * nickname
// * account_id
Fields []string
// Language in which you want the results. Valid values are:
//
// "en" — English (by default)
// "ru" — Русский
// "pl" — Polski
// "de" — Deutsch
// "fr" — Français
// "es" — Español
// "zh-cn" — 简体中文
// "zh-tw" — 繁體中文
// "tr" — Türkçe
// "cs" — Čeština
// "th" — ไทย
// "vi" — Tiếng Việt
// "ko" — 한국어
Language string
// Limit the number of returned entries, up to 100
Limit string
// Type of search matching. Valid values are:
//
// * startswith (by default)
// * exact
SearchType string
}
AccountInput holds display filters
type AccountRecord ¶
AccountRecord holds one search result from the account/list endpoint
type Arena ¶
type Arena struct {
Data map[string]ArenaRecord `json:"data"`
}
Arena represents data from the encyclopedia/arenas endpoint
type ArenaRecord ¶
type ArenaRecord struct {
Name string `json:"name_i18n"`
Camo string `json:"camouflage_type"`
Desc string `json:"description"`
ID string `json:"arena_id"`
}
ArenaRecord represents a single arena record
type MapInput ¶
type MapInput struct {
// Fields you want displayed. Valid fields are:
//
// * name_i18n
// * description
// * camouflage_type
Fields []string
Language string
}
MapInput holds display filters
type Option ¶
Option is the function definition for functions overriding defaults
func SetBaseURL ¶
SetBaseURL sets the URL irrespective of the realm. This is used for testing against a test server.
type PlayerAchievements ¶
type PlayerAchievements struct {
Data map[string]PlayerAchievementsData `json:"data"`
}
PlayerAchievements holds a player's achievements
type PlayerAchievementsData ¶
type PlayerAchievementsData struct {
Achievements PlayerAchievementsRec `json:"achievements"`
Frags PlayerFragsRec `json:"frags"`
MaxSeries PlayerMaxSeriesRec `json:"max_series"`
}
PlayerAchievementsData contains all the achievement categories
type PlayerAchievementsInput ¶
type PlayerAchievementsInput struct {
// Fields you want displayed. Valid values are:
//
// * achievements
// * frags
// * max_series
Fields []string
// Language for the results
Language string
}
PlayerAchievementsInput holds filters and query parameters for player achievements
type PlayerAchievementsRec ¶
type PlayerAchievementsRec struct {
CariusMedal int `json:"medalCarius"`
Aimer int `json:"aimer"`
Invader int `json:"invader"`
ShootToKill int `json:"shootToKill"`
June20 int `json:"june20"`
MedalEkins int `json:"medalEkins"`
WtHunterWins int `json:"wtHunterWins"`
Duelist int `json:"duelist"`
TitleSniper int `json:"titleSniper"`
LeClercMedal int `json:"medalLeClerc"`
Demolition int `json:"demolition"`
Supporter int `json:"supporter"`
SteelWall int `json:"steelwall"`
LehvaslaihoMedal int `json:"medalLehvaslaiho"`
AbramsMedal int `json:"medalAbrams"`
September20 int `json:"september20"`
PoppelMedal int `json:"medalPoppel"`
PascucciMedal int `json:"medalPascucci"`
ReliableComrade int `json:"reliableComrade"`
MainGun int `json:"mainGun"`
Kamikaze int `json:"kamikaze"`
TenYearsCoundownParticipation int `json:"TenYearsCountdownParticipation"`
TenYearsCountdownStageMedal int `json:"TenYearsCountdownStageMedal"`
FirstMerit int `json:"firstMerit"`
Warrior int `json:"warrior"`
ArmorPiercer int `json:"armorPiercer"`
Even int `json:"even"`
WtBossWins int `json:"wtBossWins"`
Arsonist int `json:"arsonist"`
BrothersInArmMedal int `json:"medalBrothersInArms"`
IronMan int `json:"ironMan"`
ReadyForBattleMT int `json:"readyForBattleMT"`
Sniper2 int `json:"sniper2"`
OskinMedal int `json:"medalOskin"`
Charmed int `json:"charmed"`
October20 int `json:"october20"`
Fighter int `json:"fighter"`
LavrinenkoMedal int `json:"medalLavrinenko"`
Impenetrable int `json:"impenetrable"`
Sturdy int `json:"sturdy"`
KayMedal int `json:"medalKay"`
FiveYearsOfService int `json:"05YearsOfService"`
HandOfDeath int `json:"handOfDeath"`
BoneCrusher int `json:"bonecrusher"`
WFC2014 int `json:"WFC2014"`
DumitruMedal int `json:"medalDumitru"`
EvilEye int `json:"evileye"`
KnispelMedal int `json:"medalKnispel"`
}
PlayerAchievementsRec contains all earned achievements
type PlayerFragsRec ¶
type PlayerFragsRec struct {
CrucialShotMedal int `json:"crucialShotMedal"`
InfiltratorMedal int `json:"infiltratorMedal"`
SentinelMedal int `json:"sentinelMedal"`
PrematureDetonationMedal int `json:"prematureDetonationMedal"`
FightingReconMedal int `json:"fightingReconnaissanceMedal"`
FireAndSteelMedal int `json:"fireAndSteelMedal"`
RangerMedal int `json:"rangerMedal"`
ReliableComrade int `json:"reliableComrade"`
WolfAmongSheepMedal int `json:"wolfAmongSheepMedal"`
HeavyFireMedal int `json:"heavyFireMedal"`
BruteForceMedal int `json:"bruteForceMedal"`
GuerrillaMedal int `json:"guerrilaMedal"`
PromisingFighterMedal int `json:"promisingFighterMedal"`
PyromaniacMedal int `json:"pyromaniacMedal"`
GeniusForWarMedal int `json:"geniusForWarMedal"`
Sinai int `json:"sinai"`
BeastHunter int `json:"beastHunter"`
PattonValley int `json:"pattonValley"`
}
PlayerFragsRec contains achievement progress
type PlayerMaxSeriesRec ¶
type PlayerMaxSeriesRec struct {
ArmorPiercer int `json:"armorPiercer"`
Aimer int `json:"aimer"`
TitleSniper int `json:"titleSniper"`
TacticalBreakthrough int `json:"tacticalBreakthrough"`
Invincible int `json:"invincible"`
VictoryMarch int `json:"victoryMarch"`
DeathTrack int `json:"deathTrack"`
EFC2016 int `json:"EFC2016"`
DieHard int `json:"dieHard"`
WFC2014 int `json:"WFC2014"`
HandOfDeath int `json:"handOfDeath"`
}
PlayerMaxSeriesRec contains the maximum achievement series values
type PlayerPersonalData ¶
type PlayerPersonalData struct {
Data map[string]PlayerPersonalDataRec `json:"data"`
}
PlayerPersonalData holds the response data from the /account/info endpoint
type PlayerPersonalDataInput ¶
type PlayerPersonalDataInput struct {
// Access token for private data.
AccessToken string
// Extra fields that are added to the response. See https://developers.wargaming.net/reference/all/wot/account/info for full list.
Extra []string
// Fields you want displayed. See https://developers.wargaming.net/reference/all/wot/account/info for full list.
Fields []string
}
PlayerPersonalDataInput holds filters and query parameters for player details
type PlayerPersonalDataRec ¶
type PlayerPersonalDataRec struct {
ClientLanguage string `json:"client_language"`
LastBattleTime int `json:"last_battle_time"`
AccountID int `json:"account_id"`
CreatedAt int `json:"created_at"`
UpdatedAt int `json:"updated_at"`
Private string `json:"private"`
GlobalRating int `json:"global_rating"`
ClanID int `json:"clan_id"`
Statistics PlayerStats `json:"statistics"`
Nickname string `json:"nickname"`
LogoutAt int `json:"logout_at"`
}
PlayerPersonalDataRec is one player record from the /account/info endpoint
type PlayerStats ¶
type PlayerStats struct {
Clan map[string]PlayerStatsRec `json:"clan"`
All map[string]PlayerStatsRec `json:"all"`
RegularTeam map[string]PlayerStatsRec `json:"regular_team"`
TreesCut int `json:"trees_cut"`
Company map[string]PlayerStatsRec `json:"company"`
StrongholdSkirmish map[string]PlayerStatsRec `json:"stronghold_skirmish"`
StrongholdDefense map[string]PlayerStatsRec `json:"stronghold_defense"`
Historical map[string]PlayerStatsRec `json:"historical"`
Team map[string]PlayerStatsRec `json:"team"`
Frags int `json:"frags"`
}
PlayerStats contains the stats for a single player
type PlayerStatsRec ¶
type PlayerStatsRec struct {
Spotted int `json:"spotted"`
BattlesOnStunningVehicles int `json:"battles_on_stunning_vehicles"`
AvgDamageBlocked float32 `json:"average_damage_blocked"`
DirectHitsReceived int `json:"direct_hits_received"`
ExplosionHits int `json:"explosion_hits"`
PiercingsReceived int `json:"piercings_received"`
Piercings int `json:"piercings"`
XP int `json:"xp"`
SurvivedBattles int `json:"survived_battles"`
DroppedCapturePoints int `json:"dropped_capture_points"`
HitsPercents int `json:"hits_percents"`
Draws int `json:"draws"`
Battles int `json:"battles"`
DamageReceived int `json:"damage_received"`
AvgDamageAssisted float32 `json:"avg_damage_assisted"`
AvgDamageAssistedTrack float32 `json:"avg_damage_assisted_track"`
Frags int `json:"frags"`
StunNumber int `json:"stun_number"`
AvgDamageAssistedRadio float32 `json:"avg_damage_assisted_radio"`
CapturePoints int `json:"capture_points"`
StunAssistedDamage int `json:"stun_assisted_damage"`
Hits int `json:"hits"`
BattleAvgXP int `json:"battle_avg_xp"`
Wins int `json:"wins"`
Losses int `json:"losses"`
DamageDealt int `json:"damage_dealt"`
NoDamageDirectHitsReceived int `json:"no_damage_direct_hits_received"`
Shots int `json:"shots"`
ExplosionHitsReceived int `json:"explosion_hits_received"`
TankingFactor float32 `json:"tanking_factor"`
}
PlayerStatsRec holds the statistics for a single player and single category, returned from the /account/info endpoint
type PlayerVehicles ¶
type PlayerVehicles struct {
Data map[string][]PlayerVehiclesRec
}
PlayerVehicles contains all tanks owned by a player
type PlayerVehiclesInput ¶
type PlayerVehiclesInput struct {
// Access token for private data.
AccessToken string
// Fields you want displayed. Valid values are:
//
// * mark_of_mastery (0: none, 1: 3rd class, 2: 2nd class, 3: 1st class, 4: ace tanker)
// * tank_id
// * statistics
// * statistics.battles
// * statistics.wins
Fields []string
// Language in which you want the results. Valid values are:
//
// "en" — English (by default)
// "ru" — Русский
// "pl" — Polski
// "de" — Deutsch
// "fr" — Français
// "es" — Español
// "zh-cn" — 简体中文
// "zh-tw" — 繁體中文
// "tr" — Türkçe
// "cs" — Čeština
// "th" — ไทย
// "vi" — Tiếng Việt
// "ko" — 한국어
Language string
// Tank or Tanks ID
TankID []int
}
PlayerVehiclesInput holds filters and query parameters for vehicle details
type PlayerVehiclesRec ¶
type PlayerVehiclesRec struct {
Statistics struct {
Wins int `json:"wins"`
Battles int `json:"battles"`
}
MarkOfMastery int `json:"mark_of_mastery"`
TankID int `json:"tank_id"`
}
PlayerVehiclesRec contains a record of a particular vehicle
type WOTClient ¶
type WOTClient struct {
ApplicationID string
// contains filtered or unexported fields
}
WOTClient is the object to interface with the API
func (*WOTClient) GetAccount ¶
func (c *WOTClient) GetAccount(search string, input *AccountInput) (*Account, error)
GetAccount fetches a player's account record
func (*WOTClient) GetAccountID ¶
GetAccountID is a convenience method to retrieve a player's account_id
func (*WOTClient) GetPlayerAchievements ¶
func (c *WOTClient) GetPlayerAchievements(accountID int, input *PlayerAchievementsInput) (*PlayerAchievements, error)
GetPlayerAchievements returns player achievements
func (*WOTClient) GetPlayerPersonalData ¶
func (c *WOTClient) GetPlayerPersonalData(accountID int, input *PlayerPersonalDataInput) (*PlayerPersonalData, error)
GetPlayerPersonalData returns player details
func (*WOTClient) GetPlayerVehicles ¶
func (c *WOTClient) GetPlayerVehicles(accountID int, input *PlayerVehiclesInput) (*PlayerVehicles, error)
GetPlayerVehicles returns all tanks owned by a player