gw2api

package module
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 13, 2023 License: MIT Imports: 9 Imported by: 4

README

GW2API

Go Reference

A Guild Wars 2 API Wrapper Client in Go.

Installation

go get -u github.com/MrGunflame/gw2api

Examples

Create a new api session and use it to fetch endpoints.

package main

import (
    "fmt"

    "github.com/MrGunflame/gw2api"
)

func main() {
    // Create a new session
    api := gw2api.New()

    // Make a request
    worlds, err := api.Worlds()
    if err != nil {
        panic(err)
    }

    fmt.Println(worlds)

    // Some endpoints will require an apikey
    // Set an api token
    api = api.WithAcessToken("<YOUR APIKEY>")

    // Make a request
    account, err := gw2api.Account()
    if err != nil {
        panic(err)
    }

    fmt.Println(account)
}

Supported Endpoints

  • /v2/achievements

  • /v2/achievements/daily

  • /v2/achievements/daily/tomorrow

  • /v2/achievements/groups

  • /v2/achievements/categories

  • /v2/account

  • /v2/account/achievements

  • /v2/account/bank

  • /v2/account/dailycrafting

  • /v2/account/dungeons

  • /v2/account/dyes

  • /v2/account/finishers

  • /v2/account/gliders

  • /v2/account/home

  • /v2/account/home/cats

  • /v2/account/home/nodes

  • /v2/account/inventory

  • /v2/account/legendaryarmory

  • /v2/account/luck

  • /v2/account/mailcarriers

  • /v2/account/mapchests

  • /v2/account/masteries

  • /v2/account/mastery/points

  • /v2/account/materials

  • /v2/account/minis

  • /v2/account/mounts/skins

  • /v2/account/mounts/types

  • /v2/account/novelties

  • /v2/account/outfits

  • /v2/account/pvp/heroes

  • /v2/account/raids

  • /v2/account/recipes

  • /v2/account/skins

  • /v2/account/titles

  • /v2/account/wallet

  • /v2/account/worldbosses

  • /v2/characters

  • /v2/pvp/stats

  • /v2/pvp/games

  • /v2/pvp/standings

  • /v2/tokeninfo

  • /v2/dailycrafting

  • /v2/mapchests

  • /v2/worldbosses

  • /v2/masteries

  • /v2/mounts

  • /v2/mounts/skins

  • /v2/mounts/types

  • /v2/outfits

  • /v2/pets

  • /v2/professions

  • /v2/races

  • /v2/specializations

  • /v2/skills

  • /v2/traits

  • /v2/legendaryarmory

  • /v2/legends

  • /v2/guild/:id

  • /v2/emblem

  • /v2/guild/permissions

  • /v2/guild/search

  • /v2/guild/upgrades

  • /v2/guild/:id/log

  • /v2/guild/:id/members

  • /v2/guild/:id/ranks

  • /v2/guild/:id/stash

  • /v2/guild/:id/treasury

  • /v2/guild/:id/teams

  • /v2/guild/:id/upgrades

  • /v2/home/cats

  • /v2/home/nodes

  • /v2/finishers

  • /v2/items

  • /v2/itemstats

  • /v2/materials

  • /v2/pvp/amulets

  • /v2/recipes

  • /v2/recipes/search

  • /v2/skins

  • /v2/continents

  • /v2/maps

  • /v2/build

  • /v2/colors

  • /v2/currencies

  • /v2/dungeons

  • /v2/files

  • /v2/quaggans

  • /v2/minis

  • /v2/novelties

  • /v2/raids

  • /v2/titles

  • /v2/worlds

  • /v2/backstory/answers

  • /v2/backstory/questions

  • /v2/stories

  • /v2/stories/seasons

  • /v2/quests

  • /v2/pvp

  • /v2/pvp/ranks

  • /v2/pvp/seasons

  • /v2/pvp/seasons/:id/leaderboards

  • /v2/commerce/delivery

  • /v2/commerce/exchange

  • /v2/commerce/exchange/coins

  • /v2/commerce/exchange/gems

  • /v2/commerce/listings

  • /v2/commerce/prices

  • /v2/commerce/transactions

  • /v2/wvw/abilities

  • /v2/wvw/matches

  • /v2/wvw/objectives

  • /v2/wvw/ranks

  • /v2/wvw/upgrades

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotFound           = errors.New("not found")
	ErrNoAccessToken      = errors.New("No access token provided")
	ErrInvalidAccessToken = errors.New("Invalid access token")
	ErrCannotUseAll       = errors.New("unable to use 'all' keyword for this API")
)

Error constants

Functions

This section is empty.

Types

type Account

type Account struct {
	ID           string        `json:"id"`
	Name         string        `json:"name"`
	Age          time.Duration `json:"age"`
	World        int           `json:"world"`
	Guilds       []string      `json:"guilds"`
	GuildLeader  []string      `json:"guild_leader"`
	Created      time.Time     `json:"created"`
	Access       []string      `json:"access"`
	Commander    bool          `json:"commander"`
	FractalLevel int           `json:"fractal_level"`
	DailyAP      int           `json:"daily_ap"`
	MonthlyAP    int           `json:"monthly_ap"`
	WvWRank      int           `json:"wvw_rank"`
}

Account contains general information

type AccountAchievement

type AccountAchievement struct {
	ID      int  `json:"id"`
	Current int  `json:"current"`
	Max     int  `json:"max"`
	Done    bool `json:"done"`
}

AccountAchievement contains the unlock status for an achievement

type AccountBankItem

type AccountBankItem struct {
	ID                 int    `json:"id"`
	Count              int    `json:"count"`
	Skin               int    `json:"skin"`
	Upgrades           []int  `json:"upgrades"`
	UpgradeSlotIndices []int  `json:"upgrade_slot_indices"`
	Dyes               []int  `json:"dyes"`
	Binding            string `json:"binding"`
	Stats              struct {
		ID         int `json:"id"`
		Attributes struct {
		} `json:"attributes"`
	} `json:"stats"`
}

AccountBankItem is an item from the account bank

type AccountCurrency added in v1.0.4

type AccountCurrency struct {
	ID    int `json:"id"`
	Value int `json:"value"`
}

AccountCurrency represents objects in the account wallet

type AccountDailyCraftingItem

type AccountDailyCraftingItem struct {
	ID string `json:"id"`
}

AccountDailyCraftingItem is an object crafted daily

type AccountFinisher

type AccountFinisher struct {
	ID        int  `json:"id"`
	Permanent bool `json:"permanent"`
	Quantity  int  `json:"qantity"`
}

AccountFinisher is an finisher unluck for an account

type AccountHomeCat

type AccountHomeCat struct {
	ID   int    `json:"id"`
	Hint string `json:"hint"`
}

AccountHomeCat is a home cat node

type AccountLegendaryArmoryItem added in v1.0.4

type AccountLegendaryArmoryItem struct {
	ID    int `json:"id"`
	Count int `json:"count"`
}

AccountLegendaryArmoryItem is an item added in the account's legendary armory

type AccountLuck

type AccountLuck struct {
	ID    string `json:"id"`
	Value int    `json:"value"`
}

AccountLuck is the accounts consumed luck

type AccountMastery

type AccountMastery struct {
	ID    string `json:"id"`
	Level int    `json:"level"`
}

AccountMastery contains the unlocked mastery level

type AccountMasteryPoints

type AccountMasteryPoints struct {
	Totals []struct {
		Region string `json:"region"` // The mastery region
		Spent  int    `json:"spent"`  // Amount of masteries of this region spent in mastery tracks
		Earned int    `json:"earned"` // Amount of masteries of this region earned for the account
	} `json:"totals"`
	Unlocked []int `json:"unlocked"` // Array of mastery ids
}

AccountMasteryPoints contains the accounts mastery points for each region

type AccountMaterial added in v0.2.3

type AccountMaterial struct {
	ID       int    `json:"id"`
	Category int    `json:"category"`
	Binding  string `json:"binding"`
	Count    int    `json:"count"`
}

A AccountMaterial is an item stored in the players vault/material storage

type Achievement added in v0.1.4

type Achievement struct {
	ID          int      `json:"id"`
	Icon        string   `json:"icon"`
	Name        string   `json:"name"`
	Description string   `json:"description"`
	Requirement string   `json:"requirement"`
	LockedText  string   `json:"locked_text"`
	Type        string   `json:"type"`
	Flags       []string `json:"flags"`
	Tiers       []struct {
		Count  int `json:"count"`
		Points int `json:"points"`
	} `json:"tiers"`
	Prerequisites []int `json:"prerequisites"`
	Rewards       []struct {
		Type string `json:"type"`
	} `json:"rewards"`
	Bits []struct {
		Type string `json:"type"`
		ID   int    `json:"id"`
		Text string `json:"text"`
	} `json:"bits"`
	PointCap int `json:"point_cap"`
}

Achievement is a game achievement

type AchievementCategory added in v0.1.4

type AchievementCategory struct {
	ID           int    `json:"id"`
	Name         string `json:"name"`
	Description  string `json:"description"`
	Order        int    `json:"order"`
	Icon         string `json:"icon"`
	Achievements []int  `json:"achievement"`
}

AchievementCategory is an achievement category

type AchievementGroup added in v0.1.4

type AchievementGroup struct {
	ID          string `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Order       int    `json:"order"`
	Categories  []int  `json:"categories"`
}

AchievementGroup is an achievement group

type Attributes added in v0.1.4

type Attributes map[string]float64

Attributes contains the attributes of an item. The key is the name, the value the number of attribute points

type BackStoryAnswer added in v0.2.0

type BackStoryAnswer struct {
	ID          string   `json:"id"`
	Title       string   `json:"title"`
	Description string   `json:"description"`
	Journal     string   `json:"journal"`
	Question    int      `json:"question"`
	Professions []string `json:"professions"`
	Races       []string `json:"races"`
}

BackStoryAnswer contains information about the initial story choices during character creation

type BackStoryQuestion added in v0.2.0

type BackStoryQuestion struct {
	ID          int      `json:"id"`
	Title       string   `json:"title"`
	Description string   `json:"description"`
	Answers     []string `json:"answers"`
	Order       int      `json:"order"`
	Races       []string `json:"races"`
	Professions []string `json:"professions"`
}

BackStoryQuestion contains a game backstory question

type Build added in v0.2.1

type Build struct {
	ID int `json:"id"`
}

Build contains the id of a game build

type BuildTemplate

type BuildTemplate struct {
	Name            string `json:"name"`
	Profession      string `json:"profession"`
	Specializations []struct {
		ID     int   `json:"id"`
		Traits []int `json:"traits"`
	} `json:"specializations"`
	Skills struct {
		Heal      int   `json:"heal"`
		Utilities []int `json:"utilities"`
		Elite     int   `json:"elite"`
	} `json:"skills"`
	AquaticSkills struct {
		Heal      int   `json:"heal"`
		Utilities []int `json:"utilities"`
		Elite     int   `json:"elite"`
	} `json:"aquatic_skills"`
}

BuildTemplate is a template in the accounts storage

type Character added in v0.1.3

type Character struct {
	CharacterCore
	Backstory []string `json:"backstory"`
	CharacterExtras
	Specializations []*Character
	CharacterSkills
	CharacterEquipment
	Crafting []*DisciplineProgress `json:"crafting"`
	Recipes  []int                 `json:"recipes"`
	Bags     []*InventoryBag       `json:"bags"`
	Training []*TrainingTree       `json:"training"`
}

Character contains all the listed items from subrequests

type CharacterCore added in v0.1.3

type CharacterCore struct {
	Name       string `json:"name"`
	Race       string `json:"race"`
	Gender     string `json:"gender"`
	Profession string `json:"profession"`
	Level      int    `json:"level"`
	Guild      string `json:"guild"`
	Age        int    `jsonb:"age"`
	Created    string `json:"created"`
	Deaths     int    `json:"deaths"`
	Title      int    `json:"title"`
}

CharacterCore contains general character information

type CharacterEquipment added in v0.1.3

type CharacterEquipment struct {
	ID        int      `json:"id"`
	Slot      string   `json:"slot"`
	Infusions []int    `json:"infusions"`
	Upgrades  []int    `json:"upgrades"`
	Skin      int      `json:"skin"`
	Stats     Itemstat `json:"stats"`
	Binding   string   `json:"binding"`
	Charges   int      `json:"charges"`
	BoundTo   string   `json:"bound_to"`
	Dyes      []int    `json:"dyes"`
}

CharacterEquipment defines an equipment item carried by an character

type CharacterExtras added in v0.1.3

type CharacterExtras struct {
	WvWAbilities []struct {
		ID   int `json:"id"`
		Rank int `json:"rank"`
	} `json:"wvw_abilities"`
	EquipmentPvP struct {
		Amulet int   `json:"amulet"`
		Rune   int   `json:"rune"`
		Sigils []int `json:"sigils"`
	} `json:"equipment_pvp"`
	Flags []string `json:"flag"`
}

CharacterExtras contains special data contained in the general request

type CharacterSab added in v0.2.0

type CharacterSab struct {
	Zones []struct {
		ID    int    `json:"id"`
		Mode  string `json:"mode"`
		World int    `json:"world"`
		Zone  int    `json:"zone"`
	} `json:"zones"`
	Unlocks []struct {
		ID   int    `json:"id"`
		Name string `json:"name"`
	} `json:"unlocks"`
	Songs []struct {
		ID   int    `json:"id"`
		Name string `json:"name"`
	} `json:"songs"`
}

CharacterSab contains the character's super adventure box progression

type CharacterSkills added in v0.1.3

type CharacterSkills struct {
	PvE Skills `json:"pve"`
	PvP Skills `json:"pvp"`
	WvW Skills `json:"wvw"`
}

CharacterSkills contains the skills for all gamemodes

type CharacterSpecialization added in v0.2.2

type CharacterSpecialization struct {
	ID     int   `json:"id"`
	Traits []int `json:"traits"`
}

CharacterSpecialization defines a specialization and its trait choices

type CharacterSpecializations added in v0.1.3

type CharacterSpecializations struct {
	PvE []*CharacterSpecialization `json:"pve"`
	PvP []*CharacterSpecialization `json:"pvp"`
	WvW []*CharacterSpecialization `json:"wvw"`
}

CharacterSpecializations contains the specializations for all gamemodes

type Color added in v1.0.4

type Color struct {
	ID      int    `json:"id"`
	Name    string `json:"name"`
	BaseRGB []int  `json:"base_rgb"`
	Cloth   struct {
		Brightness int     `json:"brightness"`
		Contrast   float64 `json:"contrast"`
		Hue        int     `json:"hue"`
		Saturation float64 `json:"saturation"`
		Lightness  float64 `json:"lightness"`
		RGB        []int   `json:"rgb"`
	} `json:"cloth"`
	Leather struct {
		Brightness int     `json:"brightness"`
		Contrast   float64 `json:"contrast"`
		Hue        int     `json:"hue"`
		Saturation float64 `json:"saturation"`
		Lightness  float64 `json:"lightness"`
		RGB        []int   `json:"rgb"`
	} `json:"leather"`
	Metal struct {
		Brightness int     `json:"brightness"`
		Contrast   float64 `json:"contrast"`
		Hue        int     `json:"hue"`
		Saturation float64 `json:"saturation"`
		Lightness  float64 `json:"lightness"`
		RGB        []int   `json:"rgb"`
	} `json:"metal"`
	Fur struct {
		Brightness int     `json:"brightness"`
		Contrast   float64 `json:"contrast"`
		Hue        int     `json:"hue"`
		Saturation float64 `json:"saturation"`
		Lightness  float64 `json:"lightness"`
		RGB        []int   `json:"rgb"`
	} `json:"fur"`
	Item       int      `json:"item"`
	Categories []string `json:"categories"`
}

Color is a game item color

type CommerceCoinGemExchange added in v0.1.4

type CommerceCoinGemExchange struct {
	CoinsPerGem int `json:"coins_per_gem"`
	Quantity    int `json:"quantity"`
}

CommerceCoinGemExchange contains information about exchanging gems to coins and vice versa

type CommerceDelivery added in v0.1.4

type CommerceDelivery struct {
	Coins int `json:"coins"`
	Items []struct {
		ID    int `json:"id"`
		Count int `json:"count"`
	} `json:"items"`
}

CommerceDelivery contains the coins and items available for pickup

type CommerceListing added in v0.1.4

type CommerceListing struct {
	ID   int `json:"id"`
	Buys []struct {
		Listings  int `json:"listings"`
		UnitPrice int `json:"unit_price"`
		Quantity  int `json:"quantity"`
	} `json:"buys"`
	Sells []struct {
		Listings  int `json:"listings"`
		UnitPrice int `json:"unit_price"`
		Quantity  int `json:"quantity"`
	} `json:"sells"`
}

CommerceListing contains an items buy and sell orders

type CommercePrice added in v0.1.4

type CommercePrice struct {
	ID          int  `json:"id"`          // The item id
	Whitelisted bool `json:"whitelisted"` // Whether free to play accounts may purchase/sell this item
	Buys        struct {
		Quantity  int `json:"quantity"`
		UnitPrice int `json:"unit_price"`
	} `json:"buys"`
	Sells struct {
		Quantity  int `json:"quantity"`
		UnitPrice int `json:"unit_price"`
	} `json:"sells"`
}

CommercePrice contains the currently highest buy price and lowest sell price

type CommerceTransaction added in v0.1.4

type CommerceTransaction struct {
	ID        int    `json:"id"`
	ItemID    int    `json:"item_id"`
	Price     int    `json:"price"`
	Quantity  int    `json:"quantity"`
	Created   string `json:"created"`
	Purchased string `json:"purchased"` // Only available from history
}

CommerceTransaction is an item waiting for exchanging or exchanged in the trading post

type Continent added in v1.0.4

type Continent struct {
	ID            int    `json:"id"`
	Name          string `json:"name"`
	ContinentDims []int  `json:"continent_dims"`
	MinZoom       int    `json:"min_zoom"`
	MaxZoom       int    `json:"max_zoom"`
	Floors        []int  `json:"floors"`
}

Continent is a game continent

type Currency added in v0.1.3

type Currency struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Icon        string `json:"icon"`
	Order       int    `json:"order"`
}

Currency is a game wallet currency

type DailyAchievement added in v0.1.4

type DailyAchievement struct {
	ID    int `json:"id"`
	Level struct {
		Min int `json:"min"`
		Max int `json:"max"`
	} `json:"level"`
	RequiredAccess []string `json:"required_access"`
}

DailyAchievement is a daiy achievement

type DailyCraftingItem added in v0.2.2

type DailyCraftingItem struct {
	ID string `json:"id"`
}

DailyCraftingItem contains data for a daily craftable item

type DisciplineProgress added in v0.1.3

type DisciplineProgress struct {
	Discipline string `json:"discipline"`
	Rating     int    `json:"rating"`
	Active     bool   `json:"active"`
}

DisciplineProgress defines a crafting discipline and the characters progress

type Dungeon added in v1.0.4

type Dungeon struct {
	ID    string `json:"id"`
	Paths []struct {
		ID   string `json:"id"`
		Type string `json:"type"`
	} `json:"paths"`
}

Dungeon is a game dungeon

type DyeSlot added in v0.2.2

type DyeSlot struct {
	ColorID  int    `json:"color_id"`
	Material string `json:"material"`
}

DyeSlot contains information about a dye used in a dye slot

type Emblem added in v0.2.2

type Emblem struct {
	ID     int      `json:"id"`
	Layers []string `json:"layers"`
}

Emblem is a guild emblem

type Error added in v0.1.4

type Error struct {
	Err  string `json:"error"`
	Text string `json:"text"`
}

Error is an error returned from the gw2api

func (*Error) Error added in v0.1.4

func (e *Error) Error() string

type Fact added in v0.2.2

type Fact struct {
	Text          string      `json:"text"`
	Icon          string      `json:"icon"`
	Type          string      `json:"type"`
	Value         interface{} `json:"value"`             // Type == AttributeAdjust || Number || Recharge || Unblockable (bool)
	Target        string      `json:"target"`            // Type == AttributeAdjust
	Status        string      `json:"status"`            // Type == Buff
	Description   string      `json:"description"`       // Type == Buff
	ApplyCount    int         `json:"apply_count"`       // Type == Buff
	Duration      int         `json:"duration"`          // Type == Buff || Duration || Time
	FieldType     string      `json:"field_type"`        // Type == ComboField
	FinisherType  string      `json:"finisher_type"`     // Type == ComboFinisher
	Percent       float64     `json:"percent"`           // Type == ComboFinisher || Percent
	HitCount      int         `json:"hit_count"`         // Type == Damage || Heal
	DmgMultiplier int         `json:"damage_multiplier"` // Type == Damage
	Distance      int         `json:"distance"`          // Type == Distance || Radius
	Prefix        struct {
		Text        string `json:"text"`
		Icon        string `json:"icon"`
		Status      string `json:"status"`
		Description string `json:"description"`
	} `json:"prefix"` // Type == PrefixedBuff
}

Fact contains information about a skills/trait effect

type FactTraited added in v0.2.2

type FactTraited struct {
	*Fact
	RequiredTrait int `json:"required_trait"`
	Overrides     int `json:"overrides"`
}

FactTraited contains skill effects that are overriding the default skill/trait effects

type File added in v1.0.4

type File struct {
	ID   string `json:"id"`
	Icon string `json:"icon"`
}

File is a in-game asset ressource

type Finisher added in v0.2.2

type Finisher struct {
	ID            int    `json:"id"`
	UnlockDetails string `json:"unlock_details"`
	UnlockItems   []int  `json:"unlock_items"`
	Order         int    `json:"order"`
	Icon          string `json:"icon"`
	Name          string `json:"name"`
}

Finisher is a game finisher

type Guild added in v0.1.3

type Guild struct {
	Level          int    `json:"level"`
	MOTD           string `json:"motd"`
	Influence      int    `json:"influence"`
	Aetherium      int    `json:"aetherium"`
	Favor          int    `json:"favor"`
	MemberCount    int    `json:"member_count"`
	MemberCapacity int    `json:"member_capacity"`
	ID             string `json:"id"`
	Name           string `json:"name"`
	Tag            string `json:"tag"`
	Emblem         struct {
		Background struct {
			ID     int   `json:"id"`
			Colors []int `json:"colors"`
		} `json:"background"`
		Foreground struct {
			ID     int   `json:"id"`
			Colors []int `json:"colors"`
		} `json:"foreground"`
	} `json:"emblem"`
	Flags []string `json:"flags"`
}

Guild contains the core information about a guild

type GuildLogEntry added in v0.1.3

type GuildLogEntry struct {
	ID        int    `json:"id"`
	Time      string `json:"time"`
	User      string `json:"user"`
	Type      string `json:"type"`
	InvitedBy string `json:"invited_by"` // When Type is "invited"
	KickedBy  string `json:"kicked_by"`  // When Type is "kick"
	ChangedBy string `json:"changed_by"` // When Type is "rank_change"
	OldRank   string `json:"old_rank"`   // When Type is "rank_change"
	NewRank   string `json:"new_rank"`   // When Type is "rank_change"
	ItemID    int    `json:"item_id"`    // When Type is "treasury" or "stash"
	Count     int    `json:"count"`      // When Type is "treasury" or "stash"
	Operation string `json:"operation"`  // When Type is "stash"
	Coins     int    `json:"coins"`      // When Type is "stash"
	MOTD      string `json:"motd"`       // When Type is "motd"
	Action    string `json:"action"`     // When Type is "upgrade"
	UpgradeID int    `json:"upgrade_id"` // When Type is "upgrade"
	RecipeID  int    `json:"recipe_id"`  // When Type is "upgrade", optional
}

GuildLogEntry is an entry in the guild log

type GuildMember added in v0.1.3

type GuildMember struct {
	Name   string `json:"name"`
	Rank   string `json:"rank"`
	Joined string `json:"joined"`
}

GuildMember is a guild member

type GuildPermission added in v0.1.3

type GuildPermission struct {
	ID          string `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
}

GuildPermission is a assignable guild permission

type GuildRank added in v0.1.3

type GuildRank struct {
	ID          string   `json:"id"`
	Order       int      `json:"order"`
	Permissions []string `json:"permissions"`
	Icon        string   `json:"icon"`
}

GuildRank is a guild rank

type GuildStashContainer added in v0.1.3

type GuildStashContainer struct {
	UpgradeID int    `json:"upgrade_id"`
	Size      int    `json:"size"`
	Coins     int    `json:"coins"`
	Note      string `json:"note"`
	Iventory  []struct {
		ID    int `json:"id"`
		Count int `json:"count"`
	} `json:"inventory"`
}

GuildStashContainer is a section of the guild stash holding items

type GuildTeam added in v0.1.3

type GuildTeam struct {
	ID      int `json:"id"`
	Members []struct {
		Name string `json:"name"`
		Role string `json:"role"`
	} `json:"members"`
	Name      string          `json:"name"`
	Aggregate PvPWinLossStats `json:"aggregate"`
	Ladders   PvPWinLossStats `json:"ladders"`
	Games     []*PvPGame      `json:"games"` // Profession field is omitted
	Seasons   []struct {
		ID     string `json:"id"`
		Wins   int    `json:"wins"`
		Losses int    `json:"losses"`
		Rating int    `json:"rating"`
	} `json:"seasons"`
}

GuildTeam contains information about a guild pvp team

type GuildTreasurySlot added in v0.1.3

type GuildTreasurySlot struct {
	ItemID   int `json:"item_id"`
	Count    int `json:"count"`
	NeededBy []struct {
		UpgradeID int `json:"upgrade_id"`
		Count     int `json:"count"`
	} `json:"needed_by"`
}

GuildTreasurySlot is a slot for items needed for guild ugrades

type GuildUpgrade added in v0.1.3

type GuildUpgrade struct {
	ID            int    `json:"id"`
	Name          string `json:"name"`
	Description   string `json:"description"`
	Type          string `json:"type"`
	BagMaxItems   int    `json:"bag_max_items"` // When Type is "BankBag"
	BagMaxCoins   int    `json:"bag_max_coins"` // When Type us "BankBag"
	Icon          string `json:"icon"`
	BuildTime     int    `json:"build_time"`
	RequiredLevel int    `json:"required_level"`
	Experience    int    `json:"experience"`
	Prerequisites []int  `json:"prerequisites"`
	Costs         []struct {
		Type   string `json:"type"`
		Name   string `json:"name"`
		Count  int    `json:"count"`
		ItemID int    `json:"item_id"`
	} `json:"costs"`
}

GuildUpgrade contains information about upgrades for guild halls

type HomeCat added in v0.2.2

type HomeCat struct {
	ID   int    `json:"id"`
	Hint string `json:"hint"`
}

HomeCat is a home instance cat

type HomeNode added in v0.2.2

type HomeNode struct {
	ID string `json:"id"`
}

HomeNode is a home instance node

type InventoryBag added in v0.1.3

type InventoryBag struct {
	ID        int         `json:"id"`
	Size      int         `json:"size"`
	Inventory []ItemStack `json:"inventory"`
}

InventoryBag is a bag placed in the inventory bag slots. It also contains the items inside

type Item added in v0.1.4

type Item struct {
	ID           int      `json:"id"`
	ChatLink     string   `json:"chat_link"`
	Name         string   `json:"name"`
	Icon         string   `json:"icon"`
	Description  string   `json:"description"`
	Type         string   `json:"type"`
	Rarity       string   `json:"rarity"`
	Level        int      `json:"level"`
	VendorValue  int      `json:"vendor_value"`
	DefaultSkin  int      `json:"default_skin"`
	Flags        []string `json:"flags"`
	GameTypes    []string `json:"game_types"`
	Restrictions []string `json:"restrictions"`
	UpgradesInto []struct {
		Upgrade string `json:"upgrade"`
		ItemID  int    `json:"item_id"`
	} `json:"upgrades_into"`
	UpgradesFrom []struct {
		Upgrade string `json:"upgrade"`
		ItemID  int    `json:"item_id"`
	} `json:"upgrades_from"`
	Details struct {
		Type          string `json:"type"`         // Armor / Consumable / Container / Gathering tools / Gizmo / Salvage kits / Trinket / Upgrade component / Weapon
		WeightClass   string `json:"weight_class"` // Armor
		Defense       int    `json:"defense"`      // Armor / Weapon
		InfusionSlots []struct {
			Flags  []string `json:"flags"`
			ItemID int      `json:"item_id"`
		} `json:"infusion_slots"` // Armor / Back item / Trinket / Weapon
		AttributeAdjustment float64 `json:"attribute_adjustment"` // Armor / Back item / Trinket / Weapon
		InfixUpgrade        struct {
			ID         int `json:"id"`
			Attributes []struct {
				Attribute string `json:"attribute"`
				Modifier  int    `json:"modifier"`
			}
			Buff struct {
				SkillID     int    `json:"skill_id"`
				Description string `json:"description"`
			} `json:"buff"`
		} `json:"infix_upgrade"` // Armor / Back item / Trinket / Upgrade component / Weapon
		SuffixItemID          int      `json:"suffix_item_id"`           // Armor / Back item / Trinket / Weapon
		SecondarySuffixItemID string   `json:"secondary_suffix_item_id"` // Armor / Back item / Trinket / Weapon
		StatChoices           []int    `json:"stat_choices"`             // Armor / Back item / Trinket / Weapon
		Size                  int      `json:"size"`                     // Bag
		NoSellOrSort          bool     `json:"no_sell_or_sort"`          // Bag
		Description           string   `json:"description"`              // Consumable
		DurationMS            int      `json:"duration_ms"`              // Consumable
		UnlockType            string   `json:"unlock_type"`              // Consumable
		ColorID               int      `json:"color_id"`                 // Consumable
		RecipeID              int      `json:"recipe_id"`                // Consumable
		ExtraRecipeIDs        []int    `json:"extra_recipe_ids"`         // Consumable
		GuildUpgradeID        int      `json:"guild_upgrade_id"`         // Consumable / Gizmo
		ApplyCount            int      `json:"apply_count"`              // Consumable
		Name                  string   `json:"name"`                     // Consumable
		Icon                  string   `json:"icon"`                     // Consumable
		Skins                 []int    `json:"skins"`                    // Consumable
		VendorIDs             []int    `json:"vendor_ids"`               // Gizmo
		MinipetID             int      `json:"minipet_id"`               // Miniature
		Charges               int      `json:"charges"`                  // Salvage kits
		Flags                 []string `json:"flags"`                    // Upgrade component
		InfusionUpgradesFlags []string `json:"infusion_upgrades_flags"`  // Upgrade component
		Suffix                string   `json:"suffix"`                   // Upgrade component
		Bonuses               []string `json:"bonuses"`                  // Upgrade component
		DamageType            string   `json:"damage_type"`              // Weapon
		MinPower              int      `json:"min_power"`                // Weapon
		MaxPower              int      `json:"max_power"`                // Weapon
	} `json:"details"`
}

Item is a game item

type ItemStack added in v0.1.1

type ItemStack struct {
	ID        string `json:"id"`
	Count     int    `json:"count"`
	Charges   int    `json:"charges"`
	Skin      int    `json:"skin"`
	Upgrades  []int  `json:"upgrades"`
	Infusions []int  `json:"infusions"`
	Binding   string `json:"binding"`
	BoundTo   string `json:"bound_to"`
}

ItemStack is the data contained in requests that return stored items, e.g. bank or shared inventory

type Itemstat added in v0.1.3

type Itemstat struct {
	ID         int    `json:"id"`
	Name       string `json:"name"`
	Attributes []struct {
		Attribute  string  `json:"attribute"`
		Multiplier float64 `json:"multiplier"`
		Value      int     `json:"value"`
	} `json:"attributes"`
}

Itemstat contains the stattype and attributes of an item

type Legend added in v0.2.2

type Legend struct {
	ID        string `json:"id"`
	Swap      int    `json:"swap"`
	Heal      int    `json:"heal"`
	Elite     int    `json:"elite"`
	Utilities []int  `json:"utilities"`
}

Legend is a revenant legend

type LegendaryArmoryItem added in v1.0.4

type LegendaryArmoryItem struct {
	ID       int `json:"id"`
	MaxCount int `json:"max_count"`
}

LegendaryArmoryItem is an item that can be added into the Legendary Armory

type Map added in v1.0.4

type Map struct {
	ID            int     `json:"id"`
	Name          string  `json:"name"`
	MinLevel      int     `json:"min_level"`
	MaxLevel      int     `json:"max_level"`
	DefaultFloot  int     `json:"default_floor"`
	Floors        []int   `json:"floors"`
	RegionID      int     `json:"region_id"`
	RegionName    string  `json:"region_name"`
	ContinentID   int     `json:"continent_id"`
	ContinentName string  `json:"continent_name"`
	MapRect       [][]int `json:"map_rect"`
	ContinentRect [][]int `json:"continent_rect"`
}

Map is a game map

type MapChest added in v0.2.2

type MapChest struct {
	ID string `json:"id"`
}

MapChest is a chest lootable once per day

type Mastery added in v0.2.2

type Mastery struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	Requirement string `json:"requirement"`
	Order       int    `json:"order"`
	Background  string `json:"background"`
	Region      string `json:"region"`
	Levels      []struct {
		Name        string `json:"name"`
		Description string `json:"description"`
		Instruction string `json:"instruction"`
		Icon        string `json:"icon"`
		PointCost   int    `json:"point_cost"`
		ExpCost     int    `json:"exp_cost"`
	} `json:"levels"`
}

Mastery contains information about a unlockable mastery

type Material

type Material struct {
	ID    int    `json:"id"`
	Name  string `json:"name"`
	Items []int  `json:"items"`
	Order int    `json:"order"`
}

Material is a material in the material storage

type Mini added in v1.0.4

type Mini struct {
	ID     int    `json:"id"`
	Name   string `json:"name"`
	Unlock string `json:"unlock"`
	Icon   string `json:"icon"`
	Order  int    `json:"order"`
	ItemID int    `json:"item_id"`
}

Mini is a game miniature

type MountSkin added in v0.2.2

type MountSkin struct {
	ID       int        `json:"id"`
	Name     string     `json:"name"`
	Icon     string     `json:"icon"`
	Mount    string     `json:"mount"`
	DyeSlots []*DyeSlot `json:"dye_slots"`
}

MountSkin contains information about a mount skin

type MountType added in v0.2.2

type MountType struct {
	ID          string   `json:"id"`
	Name        string   `json:"name"`
	DefaultSkin int      `json:"default_skin"`
	Skins       []int    `json:"skins"`
	Skills      []*Skill `json:"skills"` // Only id, slot
}

MountType contains information about a mount type

type Novelty added in v1.0.4

type Novelty struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Icon        string `json:"icon"`
	Slot        string `json:"slot"`
	UnlockItem  []int  `json:"unlock_item"`
}

Novelty is a game novelty

type Outfit added in v0.2.2

type Outfit struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	Icon        string `json:"icon"`
	UnlockItems []int  `json:"unlock_items"`
}

Outfit is a game outfit

type Pet added in v0.2.2

type Pet struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Icon        string `json:"icon"`
	Skills      []struct {
		ID int `json:"id"`
	} `json:"skills"`
}

Pet is a game ranger pet

type Profession added in v0.2.2

type Profession struct {
	ID              string `json:"id"`
	Name            string `json:"name"`
	Icon            string `json:"icon"`
	IconBig         string `json:"icon_big"`
	Specializations []int  `json:"specializations"`
	Training        []struct {
		ID       int    `json:"id"`
		Category string `json:"category"`
		Name     string `json:"name"`
		Track    []struct {
			Cost    int    `json:"cost"`
			Type    string `json:"type"`
			SkillID int    `json:"skill_id"` // If Type == Skill
			TraitID int    `json:"trait_id"` // If Type == Trait
		} `json:"track"`
	} `json:"training"`
	Weapons map[string]struct {
		Flags          []string `json:"flags"`
		Specialization int      `json:"specialization"`
		Skills         []struct {
			ID         int    `json:"id"`
			Slot       string `json:"slot"`
			Offhand    string `json:"offhand"`
			Attunement string `json:"attunement"` // Elementalist
			Source     string `json:"source"`     // Thief stolen skills
		} `json:"skills"`
	} `json:"weapons"`
	Flags []string `json:"flags"`
}

Profession is a game profession

type PvPGame added in v0.1.3

type PvPGame struct {
	ID      string `json:"id"`
	MapID   int    `json:"map_id"`
	Started string `json:"started"`
	Ended   string `json:"ended"`
	Result  string `json:"result"`
	Team    string `json:"team"`
	Scores  struct {
		Red  int `json:"red"`
		Blue int `json:"blue"`
	} `json:"scores"`
	RatingType   string `json:"rating_type"`
	RatingChange int    `json:"rating_change"`
	Season       string `json:"season,omitempty"`
}

PvPGame contains information about played pvp games

type PvPLeaderboardAccount added in v0.1.4

type PvPLeaderboardAccount struct {
	Name   string `json:"name"`
	Rank   int    `json:"rank"`
	ID     string `json:"id"`
	Team   string `json:"team,omitempty"`    // Only for guild leaderboards
	TeamID int    `json:"team_id,omitempty"` // Only for guild leaderboards
	Date   string `json:"date"`
	Scores []struct {
		ID    string `json:"id"`
		Value int    `json:"value"`
	} `json:"scores"`
}

PvPLeaderboardAccount is an account displayed on the pvp leaderboards

type PvPRank added in v0.1.4

type PvPRank struct {
	ID         int    `json:"id"`
	FinisherID int    `json:"finisher_id"`
	Name       string `json:"name"`
	Icon       string `json:"icon"`
	MinRank    int    `json:"min_rank"`
	MaxRank    int    `json:"max_rank"`
	Levels     []struct {
		MinRank int `json:"min_rank"`
		MaxRank int `json:"max_rank"`
		Points  int `json:"points"`
	} `json:"levels"`
}

PvPRank is a pvp rank

type PvPSeason added in v0.1.4

type PvPSeason struct {
	ID        string `json:"id"`
	Name      string `json:"name"`
	Start     string `json:"start"`
	End       string `json:"end"`
	Active    bool   `json:"active"`
	Divisions []struct {
		Name      string   `json:"name"`
		Flags     []string `json:"flags"`
		LargeIcon string   `json:"large_icon"`
		SmallIcon string   `json:"small_icon"`
		PipIcon   string   `json:"pip_icon"`
		Tiers     []struct {
			Points int `json:"points"`
		} `json:"tiers"`
	} `json:"divisions"`
	Leaderboards struct {
		Ladder struct {
			Settings struct {
				Name     string `json:"name"`
				Duration int    `json:"duration"`
				Scoring  string `json:"scoring"`
				Tiers    []struct {
					Range []int `json:"range"`
				}
			} `json:"settings"`
			Scorings []struct {
				ID          string `json:"id"`
				Type        string `json:"type"`
				Description string `json:"description"`
				Name        string `json:"name"`
				Ordering    string `json:"ordering"`
			} `json:"scoring"`
		} `json:"ladder"`
	} `json:"leaderboards"`
}

PvPSeason is a pvp season

type PvPStandings added in v0.1.4

type PvPStandings struct {
	Current []struct {
		TotalPoints int `json:"total_points"`
		Division    int `json:"division"`
		Tier        int `json:"tier"`
		Points      int `json:"points"`
		Repeats     int `json:"repeats"`
		Rating      int `json:"rating"`
		Decay       int `json:"decay"`
	} `json:"current"`
	Best []struct {
		TotalPoints int `json:"total_points"`
		Division    int `json:"division"`
		Tier        int `json:"tier"`
		Points      int `json:"points"`
		Repeats     int `json:"repeats"`
	} `json:"best"`
	SeasonID string `json:"season_id"`
}

PvPStandings contains information about the account season ranking and the best sesion rankings

type PvPStats added in v0.1.3

type PvPStats struct {
	PvPRank          int                        `json:"pvp_rank"`
	PvPRankPoints    int                        `json:"pvp_rank_points"`
	PvPRankRollovers int                        `json:"pvp_rank_rollovers"`
	Aggregate        PvPWinLossStats            `json:"aggregate"`
	Professions      map[string]PvPWinLossStats `json:"professions"`
	Ladders          map[string]PvPWinLossStats `json:"ladders"`
}

PvPStats contains the accounts pvp stats

type PvPWinLossStats added in v0.1.3

type PvPWinLossStats struct {
	Wins       int `json:"wins"`
	Losses     int `json:"losses"`
	Desertions int `json:"desertions"`
	Byes       int `json:"byes"`
	Forfeits   int `json:"forfeits"`
}

PvPWinLossStats contains the wins and losses

type Quaggan added in v1.0.4

type Quaggan struct {
	ID  string `json:"id"`
	URL string `json:"url"`
}

Quaggan is a quaggaon image ressource

type Quest added in v1.0.4

type Quest struct {
	ID    int    `json:"id"`
	Name  string `json:"name"`
	Level int    `json:"level"`
	Story int    `json:"story"`
	Goals []struct {
		Active   string `json:"active"`
		Complete string `json:"complete"`
	} `json:"goals"`
}

Quest contains story journal mission information

type Race added in v0.2.2

type Race struct {
	ID     string `json:"id"`
	Skills []int  `json:"skills"`
}

Race is a game race

type Raid added in v1.0.4

type Raid struct {
	ID    string `json:"id"`
	Wings []struct {
		ID     string `json:"id"`
		Events []struct {
			ID   string `json:"id"`
			Type string `json:"type"`
		} `json:"events"`
	} `json:"wings"`
}

Raid is a game raid instance

type Recipe added in v1.0.4

type Recipe struct {
	ID              int      `json:"id"`
	Type            string   `json:"type"`
	OutputItemID    int      `json:"output_item_id"`
	OutputItemCount int      `json:"output_item_count"`
	TimeToCraftMS   int      `json:"time_to_craft_ms"`
	Disciplines     []string `json:"disciplines"`
	MinRating       int      `json:"min_rating"`
	Flags           []string `json:"flags"`
	Ingredients     []struct {
		ItemID int `json:"item_id"`
		Count  int `json:"count"`
	} `json:"ingrdients"`
	GuildIngredients []struct {
		UpgradeID int `json:"upgrade_id"`
		Count     int `json:"count"`
	} `json:"guild_ingredients"`
	OutputUpgradeID int    `json:"output_upgrade_id"`
	ChatLink        string `json:"chat_link"`
}

Recipe is a game recipe

type Session

type Session struct {
	// contains filtered or unexported fields
}

Session is used to make requests to the gw2api. It also handles authentication.

func New

func New() *Session

New creates a new gw2api session

func (*Session) Account added in v0.2.0

func (s *Session) Account() (account Account, err error)

Account returns general account information

func (*Session) AccountAchievements added in v0.2.0

func (s *Session) AccountAchievements(ids ...int) (accountAchievements []*AccountAchievement, err error)

AccountAchievements returns the accounts achievement status for the given ids

func (*Session) AccountBuildStorage added in v0.2.0

func (s *Session) AccountBuildStorage(ids ...int) (buildstorage []*BuildTemplate, err error)

AccountBuildStorage returns all builds stored in the accounts build storage

func (*Session) AccountDailyCrafting added in v0.2.0

func (s *Session) AccountDailyCrafting(ids ...int) (items []*AccountDailyCraftingItem, err error)

AccountDailyCrafting returns the accounts daily crafted items

func (*Session) AccountDungeons added in v0.2.0

func (s *Session) AccountDungeons() (paths []string, err error)

AccountDungeons returns the dungeons paths completed since daily reset

func (*Session) AccountDyes added in v0.2.0

func (s *Session) AccountDyes() (dyes []int, err error)

AccountDyes returns all dye unlocks

func (*Session) AccountFinishers added in v0.2.0

func (s *Session) AccountFinishers() (finishers []*AccountFinisher, err error)

AccountFinishers returns all finisher unlocks

func (*Session) AccountGliders added in v0.2.0

func (s *Session) AccountGliders() (gliders []int, err error)

AccountGliders returns all glider unlocks

func (*Session) AccountHomeCats added in v0.2.0

func (s *Session) AccountHomeCats() (cats []*AccountHomeCat, err error)

AccountHomeCats returns all home cat unlocks

func (*Session) AccountHomeNodes added in v0.2.0

func (s *Session) AccountHomeNodes() (nodes []string, err error)

AccountHomeNodes returns all home node unlocks

func (*Session) AccountLegendaryArmory added in v1.0.4

func (s *Session) AccountLegendaryArmory() (res []*AccountLegendaryArmoryItem, err error)

AccountLegendaryArmory returns the items in the account's legendary armory

func (*Session) AccountLuck added in v0.2.0

func (s *Session) AccountLuck() (luck AccountLuck, err error)

AccountLuck returns the accounts luck

func (*Session) AccountMailCarriers added in v0.2.0

func (s *Session) AccountMailCarriers() (carriers []int, err error)

AccountMailCarriers the accounts unlocked mailcarriers

func (*Session) AccountMapChests added in v0.2.0

func (s *Session) AccountMapChests() (chests []string, err error)

AccountMapChests returns all Hero's choice chests unlocked since daily reset

func (*Session) AccountMasteries added in v0.2.0

func (s *Session) AccountMasteries() (masteries []*AccountMastery, err error)

AccountMasteries returns all masteries and their levels unlocked

func (*Session) AccountMasteryPoints added in v0.2.0

func (s *Session) AccountMasteryPoints() (masteryPoints AccountMasteryPoints, err error)

AccountMasteryPoints returns the mastery points for each region

func (*Session) AccountMaterials added in v0.2.0

func (s *Session) AccountMaterials() (materials []*Material, err error)

AccountMaterials returns the accounts materials stored

func (*Session) AccountMinis added in v0.2.0

func (s *Session) AccountMinis() (minis []int, err error)

AccountMinis returns the accounts mini unlocks

func (*Session) AccountMountSkins added in v0.2.0

func (s *Session) AccountMountSkins() (skins []int, err error)

AccountMountSkins returns the accounts mountskin unlocks

func (*Session) AccountMountTypes added in v0.2.0

func (s *Session) AccountMountTypes() (types []int, err error)

AccountMountTypes returns the accounts mount unlocks

func (*Session) AccountNovelties added in v0.2.0

func (s *Session) AccountNovelties() (novelties []int, err error)

AccountNovelties returns the accounts novelties unlocks

func (*Session) AccountOutfits added in v0.2.0

func (s *Session) AccountOutfits() (outfits []int, err error)

AccountOutfits returns the accounts outfit unlocks

func (*Session) AccountPvPHeroes added in v0.2.0

func (s *Session) AccountPvPHeroes() (heroes []int, err error)

AccountPvPHeroes returns the accounts pvp hero unlocks

func (*Session) AccountRaids added in v0.2.0

func (s *Session) AccountRaids() (bosses []string, err error)

AccountRaids returns the completed raid encounters since the weekly raid reset

func (*Session) AccountRecipes added in v0.2.0

func (s *Session) AccountRecipes() (recipes []int, err error)

AccountRecipes returns information about recipes that are unlocked for an account

func (*Session) AccountSharedInventory added in v0.2.0

func (s *Session) AccountSharedInventory() (items []*ItemStack, err error)

AccountSharedInventory returns the items stored in the shared inventory slots

func (*Session) AccountSkins added in v0.2.0

func (s *Session) AccountSkins() (skins []int, err error)

AccountSkins returns the unlocked skins of the account

func (*Session) AccountTitles added in v0.2.0

func (s *Session) AccountTitles() (titles []int, err error)

AccountTitles returns information about titles that are unlocked for an account

func (*Session) AccountWallet added in v0.2.0

func (s *Session) AccountWallet() (wallet []*AccountCurrency, err error)

AccountWallet returns the currencies of the account

func (*Session) AccountWorldbosses added in v0.2.0

func (s *Session) AccountWorldbosses() (bosses []string, err error)

AccountWorldbosses returns information about which world bosses have been killed by the account since daily reset

func (*Session) AchievementCategories added in v0.2.0

func (s *Session) AchievementCategories(ids ...int) (categories []*AchievementCategory, err error)

AchievementCategories returns all achievement categories

func (*Session) AchievementGroups added in v0.2.0

func (s *Session) AchievementGroups(ids ...string) (groups []*AchievementGroup, err error)

AchievementGroups returns all achievement groups

func (*Session) Achievements added in v0.2.0

func (s *Session) Achievements(ids ...int) (achievements []*Achievement, err error)

Achievements returns an game achievement

func (*Session) BackStoryAnswers added in v0.2.0

func (s *Session) BackStoryAnswers(ids ...string) (st []*BackStoryAnswer, err error)

BackStoryAnswers returns the backstory answers

func (*Session) BackStoryQuestions added in v0.2.0

func (s *Session) BackStoryQuestions(ids ...int) (st []*BackStoryQuestion, err error)

BackStoryQuestions returns the requested backstory questions

func (*Session) Build added in v0.2.1

func (s *Session) Build() (r *Build, err error)

Build returns the latest game build

func (*Session) CharacterBackstory added in v0.2.0

func (s *Session) CharacterBackstory(character string) (backstory []string, err error)

CharacterBackstory returns the characters initial story decisions

func (*Session) CharacterCore added in v0.2.0

func (s *Session) CharacterCore(character string) (core CharacterCore, err error)

CharacterCore returns the characters core information

func (*Session) CharacterCrafting added in v0.2.0

func (s *Session) CharacterCrafting(character string) (crafting []*DisciplineProgress, err error)

CharacterCrafting returns the characters crafting disciplines

func (*Session) CharacterEquipment added in v0.2.0

func (s *Session) CharacterEquipment(character string) (equipment []*CharacterEquipment, err error)

CharacterEquipment returns the character equipment items

func (*Session) CharacterHeropoints added in v0.2.0

func (s *Session) CharacterHeropoints(character string) (heropoints []string, err error)

CharacterHeropoints returns the characters unlocked hero challenges

func (*Session) CharacterInventory added in v0.2.0

func (s *Session) CharacterInventory(character string) (inventory []*InventoryBag, err error)

CharacterInventory returns the characters inventory bags and its contents

func (*Session) CharacterRecipes added in v0.2.0

func (s *Session) CharacterRecipes(character string) (recipes []int, err error)

CharacterRecipes returns the characters unlocked recipes

func (*Session) CharacterSab added in v0.2.0

func (s *Session) CharacterSab(character string) (st *CharacterSab, err error)

CharacterSab returns the characters super adventure box progress

func (*Session) CharacterSkills added in v0.2.0

func (s *Session) CharacterSkills(character string) (skills CharacterSkills, err error)

CharacterSkills returns the characters equipped skills

func (*Session) CharacterSpecializations added in v0.2.0

func (s *Session) CharacterSpecializations(character string) (specializations CharacterSpecializations, err error)

CharacterSpecializations returns the characters equipped specializations

func (*Session) CharacterTraining added in v0.2.0

func (s *Session) CharacterTraining(character string) (training []*TrainingTree, err error)

CharacterTraining returns the characters training progress

func (*Session) Characters added in v0.2.0

func (s *Session) Characters() (chars []string, err error)

Characters returns all character names

func (*Session) Colors added in v1.0.4

func (s *Session) Colors(ids ...int) (resp []*Color, err error)

Colors returns the colors with the given ids

func (*Session) CommerceDelivery added in v0.2.0

func (s *Session) CommerceDelivery() (delivery CommerceDelivery, err error)

CommerceDelivery returns coins and items available for pickup for the account

func (*Session) CommerceExchangeCoins added in v0.2.0

func (s *Session) CommerceExchangeCoins(quantity int) (exchange CommerceCoinGemExchange, err error)

CommerceExchangeCoins returns how many gems you get for the provided amount of coins

func (*Session) CommerceExchangeGems added in v0.2.0

func (s *Session) CommerceExchangeGems(quantity int) (exchange CommerceCoinGemExchange, err error)

CommerceExchangeGems returns how many coins you get for the provided amount of gems

func (*Session) CommerceListings added in v0.2.0

func (s *Session) CommerceListings(ids ...int) (items []*CommerceListing, err error)

CommerceListings returns all buy and sell orders for the items

func (*Session) CommerceListingsIds added in v1.0.4

func (s *Session) CommerceListingsIds() (ids []int, err error)

CommerceListingsIds returns ids of all items available on trading post

func (*Session) CommercePrices added in v0.2.0

func (s *Session) CommercePrices(ids ...int) (st []*CommercePrice, err error)

CommercePrices returns the current tp prices for the requested ids

func (*Session) CommerceTransactionsCurrent added in v0.2.0

func (s *Session) CommerceTransactionsCurrent() (transactions []*CommerceTransaction, err error)

CommerceTransactionsCurrent returns the accounts current transactions

func (*Session) CommerceTransactionsHistory added in v0.2.0

func (s *Session) CommerceTransactionsHistory() (transactions []*CommerceTransaction, err error)

CommerceTransactionsHistory returns the accounts transaction history

func (*Session) Continents added in v1.0.4

func (s *Session) Continents(ids ...int) (resp []*Continent, err error)

Continents returns the continents with the given id

func (*Session) Currencies added in v1.0.4

func (s *Session) Currencies(ids ...int) (resp []*Currency, err error)

Currencies returns the currencies with the given ids

func (*Session) DailyAchievements added in v0.2.0

func (s *Session) DailyAchievements() (daily map[string][]*DailyAchievement, err error)

DailyAchievements returns a map of daily achievements. Each map key stands for a different section, e.g. pve, wvw, fractals, ...

func (*Session) DailyCrafting added in v0.2.2

func (s *Session) DailyCrafting(ids ...string) (rsp []*DailyCraftingItem, err error)

DailyCrafting returns the daily craftable items

func (*Session) Dungeons added in v1.0.4

func (s *Session) Dungeons(ids ...string) (resp []*Dungeon, err error)

Dungeons returns the dungeons with the given ids

func (*Session) EmblemBackgrounds added in v0.2.2

func (s *Session) EmblemBackgrounds(ids ...int) (rsp []*Emblem, err error)

EmblemBackgrounds returns the requested background emblems

func (*Session) EmblemForegrounds added in v0.2.2

func (s *Session) EmblemForegrounds(ids ...int) (rsp []*Emblem, err error)

EmblemForegrounds returns the requested foreground emblems

func (*Session) Files added in v1.0.4

func (s *Session) Files(ids ...string) (resp []*File, err error)

Files returns the files with the given ids

func (*Session) Finishers added in v0.2.2

func (s *Session) Finishers(ids ...int) (rsp []*Finisher, err error)

Finishers returns the requested finishers

func (*Session) Guild added in v1.0.4

func (s *Session) Guild(guild string, auth bool) (resp Guild, err error)

Guild returns the guilds general information

func (*Session) GuildHallUpgrades added in v1.0.4

func (s *Session) GuildHallUpgrades(ids ...int) (resp []*GuildUpgrade, err error)

GuildHallUpgrades returns unlockable upgrades for the guild hall. Note: This method is call GetGuildHallUpgrades as GetGuildUpgrades returns the guilds unlocked upgrades

func (*Session) GuildLog added in v1.0.4

func (s *Session) GuildLog(guild string) (resp []*GuildLogEntry, err error)

GuildLog returns the guild log events

func (*Session) GuildMembers added in v1.0.4

func (s *Session) GuildMembers(guild string) (resp []*GuildMember, err error)

GuildMembers returns all guild members

func (*Session) GuildPermissions added in v1.0.4

func (s *Session) GuildPermissions(ids ...string) (resp []*GuildPermission, err error)

GuildPermissions returns the assignable guild permissions

func (*Session) GuildRanks added in v1.0.4

func (s *Session) GuildRanks(guild string) (resp []*GuildRank, err error)

GuildRanks returns all guild ranks

func (*Session) GuildSearch added in v1.0.4

func (s *Session) GuildSearch(guild string) (resp []string, err error)

GuildSearch searches for guilds based on the given name. It returns an array of guild ids

func (*Session) GuildStash added in v1.0.4

func (s *Session) GuildStash(guild string) (resp []*GuildStashContainer, err error)

GuildStash returns all items in the guild stash

func (*Session) GuildTeams added in v1.0.4

func (s *Session) GuildTeams(guild string) (resp []*GuildTeam, err error)

GuildTeams returns all guild teams

func (*Session) GuildTreasury added in v1.0.4

func (s *Session) GuildTreasury(guild string) (resp []*GuildTreasurySlot, err error)

GuildTreasury returns all items in the guild treasury

func (*Session) GuildUpgrades added in v1.0.4

func (s *Session) GuildUpgrades(guild string) (resp []int, err error)

GuildUpgrades returns all unlocked guild upgrades

func (*Session) HomeCats added in v0.2.2

func (s *Session) HomeCats(ids ...int) (rsp []*HomeCat, err error)

HomeCats returns home instance cats

func (*Session) HomeNodes added in v0.2.2

func (s *Session) HomeNodes(ids ...string) (rsp []*HomeNode, err error)

HomeNodes returns home instance nodes

func (*Session) ItemStats added in v1.0.4

func (s *Session) ItemStats(ids ...int) (itemstats []*Itemstat, err error)

ItemStats returns a list of itemstats

func (*Session) Items added in v0.2.2

func (s *Session) Items(ids ...int) (rsp []*Item, err error)

Items returns the items with the given id

func (*Session) LegendaryArmory added in v1.0.4

func (s *Session) LegendaryArmory(ids ...int) (res []*LegendaryArmoryItem, err error)

LegendaryArmory returns all items that can be added to the legendary armory

func (*Session) Legends added in v0.2.2

func (s *Session) Legends(ids ...string) (rsp []*Legend, err error)

Legends returns information about revenant legends

func (*Session) MapChests added in v0.2.2

func (s *Session) MapChests(ids ...string) (rsp []*MapChest, err error)

MapChests returns all dayil lootable mapchests

func (*Session) Maps added in v1.0.4

func (s *Session) Maps(ids ...int) (resp []*Map, err error)

Maps returns the maps with the given ids

func (*Session) Masteries added in v0.2.2

func (s *Session) Masteries(ids ...int) (rsp []*Mastery, err error)

Masteries returns all trainable masteries

func (*Session) Materials added in v0.2.3

func (s *Session) Materials(ids ...int) (rsp []*Material, err error)

Materials returns the materials with the given id

func (*Session) Minis added in v1.0.4

func (s *Session) Minis(ids ...int) (resp []*Mini, err error)

Minis returns the minis with the given ids

func (*Session) MountSkins added in v0.2.2

func (s *Session) MountSkins(ids ...string) (rsp *[]MountSkin, err error)

MountSkins returns the requested mount skins

func (*Session) MountTypes added in v0.2.2

func (s *Session) MountTypes(ids ...string) (rsp []*MountType, err error)

MountTypes returns the requested mount types

func (*Session) Novelties added in v1.0.4

func (s *Session) Novelties(ids ...int) (resp []*Novelty, err error)

Novelties returns the novelties with the given ids

func (*Session) Outfits added in v0.2.2

func (s *Session) Outfits(ids ...int) (rsp []*Outfit, err error)

Outfits returns requested outfits

func (*Session) Pets added in v0.2.2

func (s *Session) Pets(ids ...int) (rsp []*Pet, err error)

Pets returns the requested game ranger pets

func (*Session) Professions added in v0.2.2

func (s *Session) Professions(ids ...string) (rsp []*Profession, err error)

Professions returns the requested game professions

func (*Session) PvPAmulets added in v0.2.0

func (s *Session) PvPAmulets(ids ...int) (amulets *[]Item, err error)

PvPAmulets return pvp amulets

func (*Session) PvPGames added in v0.2.0

func (s *Session) PvPGames(ids ...string) (games *[]PvPGame, err error)

PvPGames returns the last 10 played matches

func (*Session) PvPRanks added in v0.2.0

func (s *Session) PvPRanks(ids ...int) (ranks []*PvPRank, err error)

PvPRanks returns pvp ranks

func (*Session) PvPSeasonLeaderboards added in v0.2.0

func (s *Session) PvPSeasonLeaderboards(id, region string) (leaderboards []*PvPLeaderboardAccount, err error)

PvPSeasonLeaderboards returns the leaderboards for a pvp season. Only one id can be given. Valid regions are na or eu

func (*Session) PvPSeasons added in v0.2.0

func (s *Session) PvPSeasons(ids ...string) (seasons []*PvPSeason, err error)

PvPSeasons returns pvp seasons

func (*Session) PvPStandings added in v0.2.0

func (s *Session) PvPStandings() (standings *PvPStandings, err error)

PvPStandings returns the current seasons account and best ranking

func (*Session) PvPStats added in v0.2.0

func (s *Session) PvPStats() (stats *PvPStats, err error)

PvPStats returns the accounts pvp stats

func (*Session) Quaggans added in v1.0.4

func (s *Session) Quaggans(ids ...string) (resp []*Quaggan, err error)

Quaggans returns the quaggans with the given ids

func (*Session) Quests added in v1.0.4

func (s *Session) Quests(ids ...int) (resp []*Quest, err error)

Quests returns the quests with the given ids

func (*Session) Races added in v0.2.2

func (s *Session) Races(ids ...string) (rsp []*Race, err error)

Races returns the requested races

func (*Session) Raids added in v1.0.4

func (s *Session) Raids(ids ...string) (resp []*Raid, err error)

Raids returns the raids with the given ids

func (*Session) Recipes added in v1.0.4

func (s *Session) Recipes(ids ...int) (resp []*Recipe, err error)

Recipes returns the recipes with the requested ids

func (*Session) RecipesSearchInput added in v1.0.4

func (s *Session) RecipesSearchInput(id int) (resp []int, err error)

RecipesSearchInput searches for recipes that use the item as an input ingredient

func (*Session) RecipesSearchOutput added in v1.0.4

func (s *Session) RecipesSearchOutput(id int) (resp []int, err error)

RecipesSearchOutput searches for recipes that craft the item

func (*Session) Skills added in v0.2.2

func (s *Session) Skills(ids ...int) (rsp []*Skill, err error)

Skills returns the requested skills

func (*Session) Skins added in v1.0.4

func (s *Session) Skins(ids ...int) (resp []*Skin, err error)

Skins returns the skins with the given ids

func (*Session) Specializations added in v0.2.2

func (s *Session) Specializations(ids ...int) (rsp []*Specialization, err error)

Specializations returns the requested specializations

func (*Session) Stories added in v1.0.4

func (s *Session) Stories(ids ...int) (resp []*Story, err error)

Stories returns the stories with the given ids

func (*Session) StorySeasons added in v1.0.4

func (s *Session) StorySeasons(ids ...string) (resp []*StorySeason, err error)

StorySeasons returns the story seasons with the given ids

func (*Session) Tile added in v0.2.0

func (s *Session) Tile(continent, floor, zoom, x, y int) (image.Image, error)

Tile fetches a tile from the tile service The request is randomly send to one of the entries in the tileService slice

func (*Session) Titles added in v1.0.4

func (s *Session) Titles(ids ...int) (resp []*Title, err error)

Titles returns the titles with the given ids

func (*Session) Tokeninfo added in v0.2.0

func (s *Session) Tokeninfo() (tokeninfo TokenInfo, err error)

Tokeninfo returns general information about the provided token

func (*Session) TomorrowDailyAchievements added in v0.2.0

func (s *Session) TomorrowDailyAchievements() (daily map[string][]*DailyAchievement, err error)

TomorrowDailyAchievements works the same as DailyAchievements. It returns the daily achievements for tomorrow

func (*Session) Traits added in v0.2.2

func (s *Session) Traits(ids ...int) (rsp []*Trait, err error)

Traits returns the requested traits

func (*Session) WithAccessToken

func (s *Session) WithAccessToken(token string) *Session

WithAccessToken sets an accesstoken for a session

func (*Session) WithEndpointAPI

func (s *Session) WithEndpointAPI(endpointAPI string) *Session

WithEndpointAPI sets the API endpoint

func (*Session) WithLanguage

func (s *Session) WithLanguage(lang string) *Session

WithLanguage sets the sessions language

func (*Session) WorldBosses added in v0.2.2

func (s *Session) WorldBosses(ids ...string) (rsp *[]WorldBoss, err error)

WorldBosses returns worldboss chest that can be opened once per day

func (*Session) Worlds added in v0.2.3

func (s *Session) Worlds(ids ...int) (worlds []*World, err error)

Worlds returns worlds

func (*Session) WvWAbilities added in v0.2.0

func (s *Session) WvWAbilities(ids ...int) (abilities []*WvWAbility, err error)

WvWAbilities returns trainable wvw abilities

func (*Session) WvWMatchByWorldID added in v0.2.0

func (s *Session) WvWMatchByWorldID(id int) (match *WvWMatch, err error)

WvWMatchByWorldID returns the match based on the participating world

func (*Session) WvWMatches added in v0.2.0

func (s *Session) WvWMatches(ids ...string) (matches []*WvWMatch, err error)

WvWMatches returns currently active matches

func (*Session) WvWObjectives added in v0.2.0

func (s *Session) WvWObjectives(ids ...string) (objectives []*WvWObjective, err error)

WvWObjectives returns wvw objectives

func (*Session) WvWRanks added in v0.2.0

func (s *Session) WvWRanks(ids ...int) (ranks []*WvWRank, err error)

WvWRanks returns wvw ranks

func (*Session) WvWUpgrades added in v0.2.0

func (s *Session) WvWUpgrades(ids ...int) (upgrades []*WvWUpgrade, err error)

WvWUpgrades returns wvw objectives upgrades

type Skill added in v0.2.2

type Skill struct {
	ID              int            `json:"id"`
	Name            string         `json:"name"`
	Description     string         `json:"description"`
	Icon            string         `json:"icon"`
	ChatLink        string         `json:"chat_link"`
	Type            string         `json:"type"` // Bundle, Elite, Heal, Profession, Utility, Weapon
	WeaponType      string         `json:"weapon_type"`
	Professions     []string       `json:"professions"`
	Slot            string         `json:"slot"`
	Facts           []*Fact        `json:"facts"`
	TraitedFacts    []*FactTraited `json:"traited_facts"`
	Categories      []string       `json:"categories"`
	Attunement      string         `json:"attunement"`
	Cost            int            `json:"cost"`
	DualWield       string         `json:"dual_wield"`
	FlipSkill       int            `json:"flip_skill"`
	Initiative      int            `json:"initiative"`
	NextChain       int            `json:"next_chain"`
	PrevChain       int            `json:"prev_chain"`
	TransformSkills []int          `json:"transform_skills"`
	BundleSkills    []int          `json:"bundle_skills"`
	ToolbeltSkill   int            `json:"toolbelt_skill"`
}

Skill contains skill info

type Skills added in v0.1.3

type Skills struct {
	Heal      int   `json:"heal"`
	Utilities []int `json:"utilities"`
	Elite     int   `json:"elite"`
	Legends   int   `json:"legends"`
}

Skills defines a set of character skills

type Skin added in v1.0.4

type Skin struct {
	ID           int      `json:"id"`
	Name         string   `json:"name"`
	Type         string   `json:"type"`
	Flags        []string `json:"flags"`
	Restrictions []string `json:"restrictions"`
	Icon         string   `json:"icon"`
	Rarity       string   `json:"rarity"`
	Description  string   `json:"description"`
	Details      struct {
		Type        string `json:"type"`
		WeightClass string `json:"weight_class"`
		DyeSlots    struct {
			Default []struct {
				ColorID  int    `json:"color_id"`
				Material string `json:"material"`
			} `json:"default"`
		} `json:"dye_slots"`
		Overrides  map[string]string `json:"overrides"`
		DamageType string            `json:"damage_type"`
	} `json:"details"`
}

Skin is a game item skin

type Specialization added in v0.1.3

type Specialization struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	Profession  string `json:"professions"`
	Elite       bool   `json:"elite"`
	Icon        string `json:"icon"`
	Background  string `json:"background"`
	MinorTraits []int  `json:"minor_traits"`
	MajorTraits []int  `json:"major_traits"`
}

Specialization is a game specialization

type Story added in v1.0.4

type Story struct {
	ID          int    `json:"id"`
	Season      string `json:"season"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Timeline    string `json:"timeline"`
	Level       int    `json:"level"`
	Order       int    `json:"order"`
	Chapters    []struct {
		Name string `json:"name"`
	} `json:"chapters"`
	Races []string `json:"races"`
	Flags []string `json:"flags"`
}

Story contains information about story journal stories

type StorySeason added in v1.0.4

type StorySeason struct {
	ID      string `json:"id"`
	Name    string `json:"name"`
	Order   int    `json:"order"`
	Stories []int  `json:"stories"`
}

StorySeason is a game story season

type Title added in v1.0.4

type Title struct {
	ID           int    `json:"id"`
	Name         string `json:"name"`
	Achievement  int    `json:"achievement"`
	Achievements []int  `json:"achievements"`
	APRequired   int    `json:"ap_required"`
}

Title is a game title

type TokenInfo

type TokenInfo struct {
	ID          string   `json:"id"`
	Name        string   `json:"name"`
	Permissions []string `json:"permissions"`
}

TokenInfo contains general token information, such as the permissions

type TrainingTree added in v0.1.3

type TrainingTree struct {
	ID    int  `json:"id"`
	Spent int  `json:"spent"`
	Done  bool `json:"done"`
}

TrainingTree defines a training tree for both skills and traits as displayed in the game

type Trait added in v0.2.2

type Trait struct {
	ID             int            `json:"id"`
	Name           string         `json:"name"`
	Icon           string         `json:"icon"`
	Description    string         `json:"description"`
	Specialization int            `json:"specialization"`
	Tier           int            `json:"tier"`
	Slot           string         `json:"slot"`
	Facts          []*Fact        `json:"facts"`
	TraitedFacts   []*FactTraited `json:"traited_facts"`
	Skills         []*Skill       `json:"skills"` // NOTE: Only id, name, description, icon, facts and traited_facts are provided
}

Trait contains trait info

type World added in v0.1.5

type World struct {
	ID         int    `json:"id"`
	Name       string `json:"name"`
	Population string `json:"population"`
}

World is a game world

type WorldBoss added in v0.2.2

type WorldBoss struct {
	ID string `json:"id"`
}

WorldBoss is a worldboss chest that can be opened once per day

type WvWAbility added in v0.1.3

type WvWAbility struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Icon        string `json:"icon"`
	Ranks       []struct {
		Cost   int    `json:"cost"`
		Effect string `json:"effect"`
	}
}

WvWAbility is a trainable ability in wvw

type WvWMatch added in v0.1.3

type WvWMatch struct {
	ID            string           `json:"id"`
	StartTime     string           `json:"start_time"`
	EndTime       string           `json:"end_time"`
	Scores        map[string]int   `json:"scores"`
	Worlds        map[string]int   `json:"worlds"`
	AllWorlds     map[string][]int `json:"all_worlds"`
	Deaths        map[string]int   `json:"deaths"`
	Kills         map[string]int   `json:"kills"`
	VictoryPoints map[string]int   `json:"victory_points"`
	Skirmishes    []struct {
		ID        int            `json:"id"`
		Scores    map[string]int `json:"scores"`
		MapScores []struct {
			Type   string         `json:"type"`
			Scores map[string]int `json:"scores"`
		} `json:"map_scores"`
	} `json:"skirmishes"`
	Maps []struct {
		ID      int            `json:"id"`
		Type    string         `json:"type"`
		Scores  map[string]int `json:"scores"`
		Bonuses []struct {
			Type  string `json:"type"`
			Owner string `json:"owner"`
		} `json:"bonuses"`
		Objectives []struct {
			ID            string `json:"id"`
			Type          string `json:"type"`
			Owner         string `json:"owner"`
			LastFlipped   string `json:"last_flipped"`
			ClaimedBy     string `json:"claimed_by"`
			ClaimedAt     string `json:"claimed_at"`
			PointsTick    int    `json:"points_tick"`
			PointsCapture int    `json:"points_capture"`
			YaksDelivered int    `json:"yaks_delivered"`
			GuildUpgrades []int  `json:"guild_upgrades"`
		} `json:"objectives"`
		Deaths map[string]int `json:"deaths"`
		Kills  map[string]int `json:"kills"`
	} `json:"maps"`
}

WvWMatch is a match in wvw. All map values will have the key strings red, green and blue

type WvWObjective added in v0.1.3

type WvWObjective struct {
	ID         string    `json:"id"`
	Name       string    `json:"name"`
	SectorID   int       `json:"sector_id"`
	Type       string    `json:"type"`
	MapType    string    `json:"map_type"`
	MapID      int       `json:"map_id"`
	UpgradeID  int       `json:"upgrade_id"`
	Coord      []float64 `json:"coord"`
	LabelCoord []float64 `json:"label_coord"`
	Marker     string    `json:"marker"`
	ChatLink   string    `json:"chat_link"`
}

WvWObjective is a capturable structure in wvw

type WvWRank added in v0.1.3

type WvWRank struct {
	ID      int    `json:"id"`
	Title   string `json:"title"`
	MinRank int    `json:"min_rank"`
}

WvWRank is a rank as seen by enemy players

type WvWUpgrade added in v0.1.3

type WvWUpgrade struct {
	ID    int `json:"id"`
	Tiers []struct {
		Name         string `json:"name"`
		YaksRequired int    `json:"yaks_required"`
		Upgrades     []struct {
			Name        string `json:"name"`
			Description string `json:"description"`
			Icon        string `json:"icon"`
		} `json:"upgrades"`
	} `json:"tiers"`
}

WvWUpgrade is an automatic objective upgrade

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL