Documentation
¶
Overview ¶
API at : https://api.genshin.dev/ GitHub Repo : https://github.com/genshindev/api
Index ¶
- Constants
- func GetArtifacts() ([]string, error)
- func GetCharacters() ([]string, error)
- func GetCustomBody(ext ...string) ([]byte, error)
- func GetDataTypeItemsList(t string) ([]string, error)
- func GetDataTypes() ([]string, error)
- func GetDomains() ([]string, error)
- func GetElements() ([]string, error)
- func GetImage(dtype, name, imagetype string) ([]byte, error)
- func GetMaterials() ([]string, error)
- func GetNations() ([]string, error)
- func GetWeapons() ([]string, error)
- type APIError
- type Artifact
- type BossMaterial
- type BossMaterials
- type Character
- type CharacterAscensionMaterial
- type CharacterAscensionMaterials
- type CharacterExperienceMaterial
- type CharacterExperienceMaterials
- type CommonAscensionMaterial
- type CommonAscensionMaterials
- type DataEntry
- type DataTypes
- type Domain
- type Drop
- type Element
- type GemPiece
- type LocalSpecialtiesMaterials
- type LocalSpecialtyMaterial
- type Material
- func GetBossMaterial() (Material, error)
- func GetCharacterAscensionMaterial() (Material, error)
- func GetCharacterExperienceMaterial() (Material, error)
- func GetCommonAscensionMaterial() (Material, error)
- func GetLocalSpecialtiesMaterial() (Material, error)
- func GetMaterial(mname string) (Material, error)
- func GetTalentBookMaterial() (Material, error)
- func GetTalentBossMaterial() (Material, error)
- func GetWeaponAscensionMaterial() (Material, error)
- func GetWeaponExperienceMaterial() (Material, error)
- type MaterialItem
- type Nation
- type RecommendedElement
- type RequirementLevel
- type Reward
- type RewardDetail
- type Talent
- type TalentBookMaterial
- type TalentBookMaterials
- type TalentBossMaterial
- type TalentBossMaterials
- type UpgradeLevel
- type Weapon
- type WeaponAscensionMaterial
- type WeaponAscensionMaterials
- type WeaponExperienceMaterial
- type WeaponExperienceMaterials
Constants ¶
const ( // API DataType name ArtifactsDType = "artifacts" // Assets ArtifactPhoto = "flower-of-life" )
const ( // API DataType name CharactersDType = "characters" // Assets CharacterIcon = "icon" CharacterPortrait = "portrait" )
const ( // API DataType name ElementsDType = "elements" // Assets ElementIcon = "icon" )
const ( // Material types BossMaterialType = "boss-material" CharacterAscensionMaterialType = "character-ascension" CharacterExperienceMaterialType = "character-experience" CommonAscensionMaterialType = "common-ascension" LocalSpecialtiesMaterialType = "local-specialties" TalentBookMaterialType = "talent-book" TalentBossMaterialType = "talent-boss" WeaponAscensionMaterialType = "weapon-ascension" WeaponExperienceMaterialType = "weapon-experience" )
const ( // API DataType name WeaponsDType = "weapons" // Assets WeaponIcon = "icon" )
const (
BaseAPI = "https://api.genshin.dev/"
)
const (
// API DataType name
DomainsDType = "domains"
)
const (
// API DataType name
MaterialsDType = "materials"
)
const (
// API DataType name
NationsDType = "nations"
)
Variables ¶
This section is empty.
Functions ¶
func GetArtifacts ¶
GetArtifacts : Get list of artifact names.
func GetCharacters ¶
GetCharacters : Get list of character names.
func GetCustomBody ¶
GetCustomBody : Function to get data from API. Provide the function with a slice of URL-part strings. The function will concatenate the strings with backslashes so you do not need to do so.
func GetDataTypeItemsList ¶ added in v1.1.0
GetDataTypeItemsList : Get a list of item names for a particular data type.
func GetDataTypes ¶
GetDataTypes : Get data types provided by the API
func GetImage ¶
GetImage : Return a byte array of image data for a data type entry Returns error if request is not valid (validity of request is guaranteed).
func GetMaterials ¶ added in v1.1.0
GetMaterials : Get list of material names.
Types ¶
type APIError ¶
type APIError struct { Error *string `json:"error"` // If API encounters an error, Error will not be nil. AvailableTypes []string `json:"availableTypes,omitempty"` // For wrong data type AvailableImages []string `json:"availableImages,omitempty"` // For wrong image type }
APIError : Struct to check for API errors. This struct is used in the GetCustomBody API function.
type Artifact ¶
type Artifact struct { Name string `json:"name"` MaxRarity int `json:"max_rarity"` TwoPieceBonus string `json:"2-piece_bonus"` FourPieceBonus string `json:"4-piece_bonus"` }
Artifact : Struct containing information on a Artifact.
func GetArtifact ¶
GetArtifact : Return a requested Artifact struct.
type BossMaterial ¶ added in v1.1.0
type BossMaterials ¶ added in v1.1.1
type BossMaterials struct { Anemo BossMaterial `json:"anemo"` Cryo BossMaterial `json:"cryo"` Electro BossMaterial `json:"electro"` Geo BossMaterial `json:"geo"` Hydro BossMaterial `json:"hydro"` Pyro BossMaterial `json:"pyro"` }
BossMaterials : Struct containing material from each elemental boss.
func (BossMaterials) EntryName ¶ added in v1.1.1
func (bm BossMaterials) EntryName() string
func (BossMaterials) MaterialType ¶ added in v1.1.1
func (bm BossMaterials) MaterialType() string
type Character ¶
type Character struct { Name string `json:"name"` Title string `json:"title"` Vision string `json:"vision"` Weapon string `json:"weapon"` Gender string `json:"gender"` Nation string `json:"nation"` Affiliation string `json:"affiliation"` SpecialDish string `json:"specialDish"` Rarity int `json:"rarity"` Constellation string `json:"constellation"` Birthday string `json:"birthday"` Description string `json:"description"` SkillTalents []Talent `json:"skillTalents"` PassiveTalents []Talent `json:"passiveTalents"` Constellations []Talent `json:"constellations"` }
Character : Struct containing information on a Character.
func GetCharacter ¶
GetCharacter : Return a requested Character struct.
type CharacterAscensionMaterial ¶ added in v1.1.0
type CharacterAscensionMaterials ¶ added in v1.1.1
type CharacterAscensionMaterials struct { Anemo CharacterAscensionMaterial `json:"anemo"` Cryo CharacterAscensionMaterial `json:"cryo"` Electro CharacterAscensionMaterial `json:"electro"` Geo CharacterAscensionMaterial `json:"geo"` Hydro CharacterAscensionMaterial `json:"hydro"` Pyro CharacterAscensionMaterial `json:"pyro"` Traveler CharacterAscensionMaterial `json:"traveler"` }
CharacterAscensionMaterials : Struct containing each elemental character ascension material.
func (CharacterAscensionMaterials) EntryName ¶ added in v1.1.1
func (cam CharacterAscensionMaterials) EntryName() string
func (CharacterAscensionMaterials) MaterialType ¶ added in v1.1.1
func (cam CharacterAscensionMaterials) MaterialType() string
type CharacterExperienceMaterial ¶ added in v1.1.0
type CharacterExperienceMaterials ¶ added in v1.1.1
type CharacterExperienceMaterials struct {
Items []CharacterExperienceMaterial `json:"items"`
}
CharacterExperienceMaterials : Struct containing list of each CharacterExperienceMaterial.
func (CharacterExperienceMaterials) EntryName ¶ added in v1.1.1
func (cem CharacterExperienceMaterials) EntryName() string
func (CharacterExperienceMaterials) MaterialType ¶ added in v1.1.1
func (cem CharacterExperienceMaterials) MaterialType() string
type CommonAscensionMaterial ¶ added in v1.1.0
type CommonAscensionMaterial struct { Characters []string `json:"characters"` Items []MaterialItem `json:"items"` Sources []string `json:"sources"` }
type CommonAscensionMaterials ¶ added in v1.1.1
type CommonAscensionMaterials struct { Slime CommonAscensionMaterial `json:"slime"` HilichurlMasks CommonAscensionMaterial `json:"hilichurl-masks"` HilichurlArrowheads CommonAscensionMaterial `json:"hilichurl-arrowheads"` SamachurlScrolls CommonAscensionMaterial `json:"samachurl-scrolls"` TreasureHoarderInsignias CommonAscensionMaterial `json:"treasure-hoarder-insignias"` FatuiInsignias CommonAscensionMaterial `json:"fatui-insignias"` WhopperflowerNectar CommonAscensionMaterial `json:"whopperflower-nectar"` HilichurlHorns CommonAscensionMaterial `json:"hilichurl-horns"` LeyLine CommonAscensionMaterial `json:"ley-line"` BoneShards CommonAscensionMaterial `json:"bone-shards"` MistGrass CommonAscensionMaterial `json:"mist-grass"` FatuiKnives CommonAscensionMaterial `json:"fatui-knives"` ChaosParts CommonAscensionMaterial `json:"chaos-parts"` }
CommonAscensionMaterials : Struct containing information on each common ascension material
func (CommonAscensionMaterials) EntryName ¶ added in v1.1.1
func (coam CommonAscensionMaterials) EntryName() string
func (CommonAscensionMaterials) MaterialType ¶ added in v1.1.1
func (coam CommonAscensionMaterials) MaterialType() string
type DataEntry ¶
type DataEntry interface {
EntryName() string
}
DataEntry : This interface is implemented by each particular DataType provided by the API.
type DataTypes ¶
type DataTypes struct {
Types []string `json:"types"`
}
DataTypes : Struct to hold list of data types provided by API. This is a struct because the API returns a JSON containing the list, rather than just a list.
type Domain ¶
type Domain struct { Name string `json:"name"` Type string `json:"type"` Description string `json:"description"` Location string `json:"location"` Nation string `json:"nation"` Requirements []RequirementLevel `json:"requirements"` RecommendedElements []RecommendedElement `json:"recommendedElements"` Rewards []Reward `json:"rewards"` }
type Element ¶
type Element struct {
Name string `json:"name"`
}
func GetElement ¶
GetElement : Return a requested Element struct.
type LocalSpecialtiesMaterials ¶ added in v1.1.1
type LocalSpecialtiesMaterials struct { Mondstadt []LocalSpecialtyMaterial `json:"mondstadt"` Liyue []LocalSpecialtyMaterial `json:"liyue"` }
LocalSpecialtiesMaterials : Struct containing list of LocalSpecialtyMaterial for each nation.
func (LocalSpecialtiesMaterials) EntryName ¶ added in v1.1.1
func (lsm LocalSpecialtiesMaterials) EntryName() string
func (LocalSpecialtiesMaterials) MaterialType ¶ added in v1.1.1
func (lsm LocalSpecialtiesMaterials) MaterialType() string
type LocalSpecialtyMaterial ¶ added in v1.1.1
type Material ¶ added in v1.1.0
type Material interface {
MaterialType() string
}
Material : This interface is unique to a Material DataEntry. Any Material interface will also implement the normal DataEntry interface.
func GetBossMaterial ¶ added in v1.1.0
GetBossMaterial : Return a BossMaterials struct.
func GetCharacterAscensionMaterial ¶ added in v1.1.0
GetCharacterAscensionMaterial : Return a CharacterAscensionMaterials struct.
func GetCharacterExperienceMaterial ¶ added in v1.1.0
GetCharacterExperienceMaterial : Return a CharacterExperienceMaterials struct.
func GetCommonAscensionMaterial ¶ added in v1.1.0
GetCommonAscensionMaterial : Return a CommonAscensionMaterials struct
func GetLocalSpecialtiesMaterial ¶ added in v1.1.0
GetLocalSpecialtiesMaterial : Return a LocalSpecialtiesMaterials struct
func GetMaterial ¶ added in v1.1.0
GetMaterial : Return a Material struct corresponding to requested MaterialType.
func GetTalentBookMaterial ¶ added in v1.1.0
GetTalentBookMaterial : Return a TalentBookMaterials struct
func GetTalentBossMaterial ¶ added in v1.1.0
GetTalentBossMaterial : Return a TalentBossMaterials struct
func GetWeaponAscensionMaterial ¶ added in v1.1.0
GetWeaponAscensionMaterial : Return a WeaponAscensionMaterials struct
func GetWeaponExperienceMaterial ¶ added in v1.1.0
GetWeaponExperienceMaterial : Return a WeaponExperienceMaterials struct
type MaterialItem ¶ added in v1.1.1
type Nation ¶
type Nation struct { Name string `json:"name"` Element string `json:"element"` Archon string `json:"archon"` ControllingEntity string `json:"controllingEntity"` }
type RecommendedElement ¶
type RecommendedElement struct {
Element string `json:"element"`
}
type RequirementLevel ¶
type Reward ¶
type Reward struct { Day string `json:"day"` Details []RewardDetail `json:"details"` }
type RewardDetail ¶
type Talent ¶
type Talent struct { Name string `json:"name"` Unlock string `json:"unlock"` Description string `json:"description"` Upgrades []UpgradeLevel `json:"upgrades,omitempty"` }
type TalentBookMaterial ¶ added in v1.1.0
type TalentBookMaterial struct { Characters []string `json:"characters"` Availability []string `json:"availability"` Source string `json:"source"` Items []MaterialItem `json:"items"` }
type TalentBookMaterials ¶ added in v1.1.1
type TalentBookMaterials struct { Freedom TalentBookMaterial `json:"freedom"` Resistance TalentBookMaterial `json:"resistance"` Ballad TalentBookMaterial `json:"ballad"` Prosperity TalentBookMaterial `json:"prosperity"` Diligence TalentBookMaterial `json:"diligence"` Gold TalentBookMaterial `json:"gold"` }
TalentBookMaterials : Struct containing each TalentBookMaterials
func (TalentBookMaterials) EntryName ¶ added in v1.1.1
func (tbookm TalentBookMaterials) EntryName() string
func (TalentBookMaterials) MaterialType ¶ added in v1.1.1
func (tbookm TalentBookMaterials) MaterialType() string
type TalentBossMaterial ¶ added in v1.1.0
type TalentBossMaterials ¶ added in v1.1.1
type TalentBossMaterials struct { TailOfBoreas TalentBossMaterial `json:"tail-of-boreas"` RingOfBoreas TalentBossMaterial `json:"ring-of-boreas"` SpiritLocketOfBoreas TalentBossMaterial `json:"spirit-locket-of-boreas"` DvalinsPlume TalentBossMaterial `json:"dvalin's-plume"` DvalinsClaw TalentBossMaterial `json:"dvalin's-claw"` DvalinsSigh TalentBossMaterial `json:"dvalin's-sigh"` TuskOfMonocerosCaeli TalentBossMaterial `json:"tusk-of-monoceros-caeli"` ShardOfAFoulLegacy TalentBossMaterial `json:"shard-of-a-foul-legacy"` ShadowOfTheWarrior TalentBossMaterial `json:"shadow-of-the-warrior"` }
TalentBossMaterials : Sturct containing each TalentBossMaterial
func (TalentBossMaterials) EntryName ¶ added in v1.1.1
func (tbossm TalentBossMaterials) EntryName() string
func (TalentBossMaterials) MaterialType ¶ added in v1.1.1
func (tbossm TalentBossMaterials) MaterialType() string
type UpgradeLevel ¶
type Weapon ¶
type Weapon struct { Name string `json:"name"` Type string `json:"type"` Rarity int `json:"rarity"` BaseAttack string `json:"baseAttack"` SubStat string `json:"subStat"` PassiveName string `json:"passiveName"` PassiveDesc string `json:"passiveDesc"` Location string `json:"location"` }
type WeaponAscensionMaterial ¶ added in v1.1.0
type WeaponAscensionMaterial struct { Weapons []string `json:"weapons"` Availability []string `json:"availability"` Source string `json:"source"` Items []MaterialItem `json:"items"` }
type WeaponAscensionMaterials ¶ added in v1.1.1
type WeaponAscensionMaterials struct { Decarabian WeaponAscensionMaterial `json:"decarabian"` Boreal WeaponAscensionMaterial `json:"boreal"` Dandelion WeaponAscensionMaterial `json:"dandelion"` Guyun WeaponAscensionMaterial `json:"guyun"` Elixir WeaponAscensionMaterial `json:"elixir"` Aerosiderite WeaponAscensionMaterial `json:"aerosiderite"` }
WeaponAscensionMaterials : Struct containing each WeaponAscensionMaterial
func (WeaponAscensionMaterials) EntryName ¶ added in v1.1.1
func (wam WeaponAscensionMaterials) EntryName() string
func (WeaponAscensionMaterials) MaterialType ¶ added in v1.1.1
func (wam WeaponAscensionMaterials) MaterialType() string
type WeaponExperienceMaterial ¶ added in v1.1.0
type WeaponExperienceMaterials ¶ added in v1.1.1
type WeaponExperienceMaterials struct {
Items []WeaponExperienceMaterial `json:"items"`
}
WeaponExperienceMaterials : Struct containing list of WeaponExperienceMaterial
func (WeaponExperienceMaterials) EntryName ¶ added in v1.1.1
func (wem WeaponExperienceMaterials) EntryName() string
func (WeaponExperienceMaterials) MaterialType ¶ added in v1.1.1
func (wem WeaponExperienceMaterials) MaterialType() string