UNPKG

guildwars2-ts

Version:

GuildWars 2 API Wrapper in Typescript

535 lines (534 loc) 23.6 kB
import { ApiBase } from '../../base/apiBase'; /** * /v2/characters Api */ export declare class CharactersApi extends ApiBase { /** * Returns information about characters attached to a specific account. */ get(): Promise<string[]>; /** * Returns information about the backstory of a character attached to a specific account. * * @param id - Character name */ getBackstory(id: string): Promise<{ backstory: string[]; }>; /** * Returns information about the build template tabs of a character. * * @param id - Character name * @param tabs - Optional tab index. If the index is invalid, all tabs will be returned */ getBuildTabs(id: string, tabs?: number[] | 'all'): Promise<{ tab: number; is_active: boolean; build: { name: string; profession: string; specializations: { id: number | null; traits: (number | null)[]; }[]; skills: { heal: number | null; elite: number | null; utilities?: (number | null)[] | undefined; }; aquatic_skills: { heal: number | null; elite: number | null; utilities?: (number | null)[] | undefined; }; legends?: (string | null)[] | undefined; aquatic_legends?: (string | null)[] | undefined; pets?: { terrestrial: number[]; aquatic: number[]; } | undefined; }; }[]>; /** * Returns core information about a character attached to a specific account. * * @param id - Character name */ getCore(id: string): Promise<{ name: string; race: "Asura" | "Charr" | "Human" | "Norn" | "Sylvari"; gender: "Male" | "Female"; profession: "Elementalist" | "Engineer" | "Guardian" | "Mesmer" | "Necromancer" | "Ranger" | "Revenant" | "Thief" | "Warrior"; level: number; guild: string | null; age: number; created: string; deaths: number; title?: number | undefined; }>; /** * Returns information about the crafting disciplines available to a character attached to a specific account. * * @param id - Character name */ getCrafting(id: string): Promise<{ crafting: { discipline: "Armorsmith" | "Artificer" | "Chef" | "Huntsman" | "Jeweler" | "Leatherworker" | "Scribe" | "Tailor" | "Weaponsmith"; rating: number; active: boolean; }[]; }>; /** * Returns equipment of a character attached to a specific account. * * @param id - Character name */ getEquipment(id: string): Promise<{ equipment: ({ id: number; slot?: "HelmAquatic" | "Backpack" | "Coat" | "Boots" | "Gloves" | "Helm" | "Leggings" | "Shoulders" | "Accessory1" | "Accessory2" | "Ring1" | "Ring2" | "Amulet" | "Relic" | "WeaponAquaticA" | "WeaponAquaticB" | "WeaponA1" | "WeaponA2" | "WeaponB1" | "WeaponB2" | "Sickle" | "Axe" | "Pick" | "PowerCore" | "FishingLure" | "FishingBait" | "FishingRod" | "SensoryArray" | "ServiceChip" | undefined; infusions?: number[] | undefined; upgrades?: number[] | undefined; skin?: number | undefined; stats?: { id: number; attributes: { Power?: number | undefined; Precision?: number | undefined; CritDamage?: number | undefined; Toughness?: number | undefined; Vitality?: number | undefined; ConditionDamage?: number | undefined; ConditionDuration?: number | undefined; Healing?: number | undefined; BoonDuration?: number | undefined; }; } | undefined; location?: "Equipped" | "Armory" | "EquippedFromLegendaryArmory" | "LegendaryArmory" | undefined; tabs?: number[] | undefined; charges?: number | undefined; dyes?: (number | null)[] | undefined; } | { binding: "Account"; id: number; slot?: "HelmAquatic" | "Backpack" | "Coat" | "Boots" | "Gloves" | "Helm" | "Leggings" | "Shoulders" | "Accessory1" | "Accessory2" | "Ring1" | "Ring2" | "Amulet" | "Relic" | "WeaponAquaticA" | "WeaponAquaticB" | "WeaponA1" | "WeaponA2" | "WeaponB1" | "WeaponB2" | "Sickle" | "Axe" | "Pick" | "PowerCore" | "FishingLure" | "FishingBait" | "FishingRod" | "SensoryArray" | "ServiceChip" | undefined; infusions?: number[] | undefined; upgrades?: number[] | undefined; skin?: number | undefined; stats?: { id: number; attributes: { Power?: number | undefined; Precision?: number | undefined; CritDamage?: number | undefined; Toughness?: number | undefined; Vitality?: number | undefined; ConditionDamage?: number | undefined; ConditionDuration?: number | undefined; Healing?: number | undefined; BoonDuration?: number | undefined; }; } | undefined; location?: "Equipped" | "Armory" | "EquippedFromLegendaryArmory" | "LegendaryArmory" | undefined; tabs?: number[] | undefined; charges?: number | undefined; dyes?: (number | null)[] | undefined; } | { binding: "Character"; bound_to: string; id: number; slot?: "HelmAquatic" | "Backpack" | "Coat" | "Boots" | "Gloves" | "Helm" | "Leggings" | "Shoulders" | "Accessory1" | "Accessory2" | "Ring1" | "Ring2" | "Amulet" | "Relic" | "WeaponAquaticA" | "WeaponAquaticB" | "WeaponA1" | "WeaponA2" | "WeaponB1" | "WeaponB2" | "Sickle" | "Axe" | "Pick" | "PowerCore" | "FishingLure" | "FishingBait" | "FishingRod" | "SensoryArray" | "ServiceChip" | undefined; infusions?: number[] | undefined; upgrades?: number[] | undefined; skin?: number | undefined; stats?: { id: number; attributes: { Power?: number | undefined; Precision?: number | undefined; CritDamage?: number | undefined; Toughness?: number | undefined; Vitality?: number | undefined; ConditionDamage?: number | undefined; ConditionDuration?: number | undefined; Healing?: number | undefined; BoonDuration?: number | undefined; }; } | undefined; location?: "Equipped" | "Armory" | "EquippedFromLegendaryArmory" | "LegendaryArmory" | undefined; tabs?: number[] | undefined; charges?: number | undefined; dyes?: (number | null)[] | undefined; })[]; }>; /** * Returns information about an accounts equipment template tabs. * * @param id - Character name * @param tabs - Optional equipment tab number. */ getEquipmentTabs(id: string, tabs?: number[] | 'all'): Promise<{ tab: number; name: string; is_active: boolean; equipment: ({ id: number; slot?: "HelmAquatic" | "Backpack" | "Coat" | "Boots" | "Gloves" | "Helm" | "Leggings" | "Shoulders" | "Accessory1" | "Accessory2" | "Ring1" | "Ring2" | "Amulet" | "Relic" | "WeaponAquaticA" | "WeaponAquaticB" | "WeaponA1" | "WeaponA2" | "WeaponB1" | "WeaponB2" | "Sickle" | "Axe" | "Pick" | "PowerCore" | "FishingLure" | "FishingBait" | "FishingRod" | "SensoryArray" | "ServiceChip" | undefined; infusions?: number[] | undefined; upgrades?: number[] | undefined; skin?: number | undefined; stats?: { id: number; attributes: { Power?: number | undefined; Precision?: number | undefined; CritDamage?: number | undefined; Toughness?: number | undefined; Vitality?: number | undefined; ConditionDamage?: number | undefined; ConditionDuration?: number | undefined; Healing?: number | undefined; BoonDuration?: number | undefined; }; } | undefined; location?: "Equipped" | "Armory" | "EquippedFromLegendaryArmory" | "LegendaryArmory" | undefined; tabs?: number[] | undefined; charges?: number | undefined; dyes?: (number | null)[] | undefined; } | { binding: "Account"; id: number; slot?: "HelmAquatic" | "Backpack" | "Coat" | "Boots" | "Gloves" | "Helm" | "Leggings" | "Shoulders" | "Accessory1" | "Accessory2" | "Ring1" | "Ring2" | "Amulet" | "Relic" | "WeaponAquaticA" | "WeaponAquaticB" | "WeaponA1" | "WeaponA2" | "WeaponB1" | "WeaponB2" | "Sickle" | "Axe" | "Pick" | "PowerCore" | "FishingLure" | "FishingBait" | "FishingRod" | "SensoryArray" | "ServiceChip" | undefined; infusions?: number[] | undefined; upgrades?: number[] | undefined; skin?: number | undefined; stats?: { id: number; attributes: { Power?: number | undefined; Precision?: number | undefined; CritDamage?: number | undefined; Toughness?: number | undefined; Vitality?: number | undefined; ConditionDamage?: number | undefined; ConditionDuration?: number | undefined; Healing?: number | undefined; BoonDuration?: number | undefined; }; } | undefined; location?: "Equipped" | "Armory" | "EquippedFromLegendaryArmory" | "LegendaryArmory" | undefined; tabs?: number[] | undefined; charges?: number | undefined; dyes?: (number | null)[] | undefined; } | { binding: "Character"; bound_to: string; id: number; slot?: "HelmAquatic" | "Backpack" | "Coat" | "Boots" | "Gloves" | "Helm" | "Leggings" | "Shoulders" | "Accessory1" | "Accessory2" | "Ring1" | "Ring2" | "Amulet" | "Relic" | "WeaponAquaticA" | "WeaponAquaticB" | "WeaponA1" | "WeaponA2" | "WeaponB1" | "WeaponB2" | "Sickle" | "Axe" | "Pick" | "PowerCore" | "FishingLure" | "FishingBait" | "FishingRod" | "SensoryArray" | "ServiceChip" | undefined; infusions?: number[] | undefined; upgrades?: number[] | undefined; skin?: number | undefined; stats?: { id: number; attributes: { Power?: number | undefined; Precision?: number | undefined; CritDamage?: number | undefined; Toughness?: number | undefined; Vitality?: number | undefined; ConditionDamage?: number | undefined; ConditionDuration?: number | undefined; Healing?: number | undefined; BoonDuration?: number | undefined; }; } | undefined; location?: "Equipped" | "Armory" | "EquippedFromLegendaryArmory" | "LegendaryArmory" | undefined; tabs?: number[] | undefined; charges?: number | undefined; dyes?: (number | null)[] | undefined; })[]; equipment_pvp: { amulet: number | null; rune: number | null; sigils: (number | null)[]; }; }[]>; /** * Returns the active equipment tab of a character attached to a specific account. * * @param id - Character name */ getActiveEquipmentTab(id: string): Promise<{ tab: number; name: string; is_active: boolean; equipment: ({ id: number; slot?: "HelmAquatic" | "Backpack" | "Coat" | "Boots" | "Gloves" | "Helm" | "Leggings" | "Shoulders" | "Accessory1" | "Accessory2" | "Ring1" | "Ring2" | "Amulet" | "Relic" | "WeaponAquaticA" | "WeaponAquaticB" | "WeaponA1" | "WeaponA2" | "WeaponB1" | "WeaponB2" | "Sickle" | "Axe" | "Pick" | "PowerCore" | "FishingLure" | "FishingBait" | "FishingRod" | "SensoryArray" | "ServiceChip" | undefined; infusions?: number[] | undefined; upgrades?: number[] | undefined; skin?: number | undefined; stats?: { id: number; attributes: { Power?: number | undefined; Precision?: number | undefined; CritDamage?: number | undefined; Toughness?: number | undefined; Vitality?: number | undefined; ConditionDamage?: number | undefined; ConditionDuration?: number | undefined; Healing?: number | undefined; BoonDuration?: number | undefined; }; } | undefined; location?: "Equipped" | "Armory" | "EquippedFromLegendaryArmory" | "LegendaryArmory" | undefined; tabs?: number[] | undefined; charges?: number | undefined; dyes?: (number | null)[] | undefined; } | { binding: "Account"; id: number; slot?: "HelmAquatic" | "Backpack" | "Coat" | "Boots" | "Gloves" | "Helm" | "Leggings" | "Shoulders" | "Accessory1" | "Accessory2" | "Ring1" | "Ring2" | "Amulet" | "Relic" | "WeaponAquaticA" | "WeaponAquaticB" | "WeaponA1" | "WeaponA2" | "WeaponB1" | "WeaponB2" | "Sickle" | "Axe" | "Pick" | "PowerCore" | "FishingLure" | "FishingBait" | "FishingRod" | "SensoryArray" | "ServiceChip" | undefined; infusions?: number[] | undefined; upgrades?: number[] | undefined; skin?: number | undefined; stats?: { id: number; attributes: { Power?: number | undefined; Precision?: number | undefined; CritDamage?: number | undefined; Toughness?: number | undefined; Vitality?: number | undefined; ConditionDamage?: number | undefined; ConditionDuration?: number | undefined; Healing?: number | undefined; BoonDuration?: number | undefined; }; } | undefined; location?: "Equipped" | "Armory" | "EquippedFromLegendaryArmory" | "LegendaryArmory" | undefined; tabs?: number[] | undefined; charges?: number | undefined; dyes?: (number | null)[] | undefined; } | { binding: "Character"; bound_to: string; id: number; slot?: "HelmAquatic" | "Backpack" | "Coat" | "Boots" | "Gloves" | "Helm" | "Leggings" | "Shoulders" | "Accessory1" | "Accessory2" | "Ring1" | "Ring2" | "Amulet" | "Relic" | "WeaponAquaticA" | "WeaponAquaticB" | "WeaponA1" | "WeaponA2" | "WeaponB1" | "WeaponB2" | "Sickle" | "Axe" | "Pick" | "PowerCore" | "FishingLure" | "FishingBait" | "FishingRod" | "SensoryArray" | "ServiceChip" | undefined; infusions?: number[] | undefined; upgrades?: number[] | undefined; skin?: number | undefined; stats?: { id: number; attributes: { Power?: number | undefined; Precision?: number | undefined; CritDamage?: number | undefined; Toughness?: number | undefined; Vitality?: number | undefined; ConditionDamage?: number | undefined; ConditionDuration?: number | undefined; Healing?: number | undefined; BoonDuration?: number | undefined; }; } | undefined; location?: "Equipped" | "Armory" | "EquippedFromLegendaryArmory" | "LegendaryArmory" | undefined; tabs?: number[] | undefined; charges?: number | undefined; dyes?: (number | null)[] | undefined; })[]; equipment_pvp: { amulet: number | null; rune: number | null; sigils: (number | null)[]; }; }>; /** * Returns information about the hero points obtained by a character attached to a specific account. * NOTE: This api does not currently return a lot of hero point values. * Check the list here for details https://wiki.guildwars2.com/wiki/API:2/characters/:id/heropoints#Notes * * @param id - Character name */ getHeroPoints(id: string): Promise<string[]>; /** * Returns inventory of a character attached to a specific account. * * @param id - Character name */ getInventory(id: string): Promise<{ bags: ({ id: number; size: number; inventory: ({ id: number; count: number; charges?: number | undefined; infusions?: number[] | undefined; upgrades?: number[] | undefined; upgrade_slot_indices?: number[] | undefined; skin?: number | undefined; stats?: { id: number; attributes: { Power?: number | undefined; Precision?: number | undefined; CritDamage?: number | undefined; Toughness?: number | undefined; Vitality?: number | undefined; ConditionDamage?: number | undefined; ConditionDuration?: number | undefined; Healing?: number | undefined; BoonDuration?: number | undefined; }; } | undefined; dyes?: (number | null)[] | undefined; } | { binding: "Account"; id: number; count: number; charges?: number | undefined; infusions?: number[] | undefined; upgrades?: number[] | undefined; upgrade_slot_indices?: number[] | undefined; skin?: number | undefined; stats?: { id: number; attributes: { Power?: number | undefined; Precision?: number | undefined; CritDamage?: number | undefined; Toughness?: number | undefined; Vitality?: number | undefined; ConditionDamage?: number | undefined; ConditionDuration?: number | undefined; Healing?: number | undefined; BoonDuration?: number | undefined; }; } | undefined; dyes?: (number | null)[] | undefined; } | { binding: "Character"; bound_to: string; id: number; count: number; charges?: number | undefined; infusions?: number[] | undefined; upgrades?: number[] | undefined; upgrade_slot_indices?: number[] | undefined; skin?: number | undefined; stats?: { id: number; attributes: { Power?: number | undefined; Precision?: number | undefined; CritDamage?: number | undefined; Toughness?: number | undefined; Vitality?: number | undefined; ConditionDamage?: number | undefined; ConditionDuration?: number | undefined; Healing?: number | undefined; BoonDuration?: number | undefined; }; } | undefined; dyes?: (number | null)[] | undefined; } | null)[]; } | null)[]; }>; /** * Returns information about the quests selected that by a character attached to a specific account. * * @param id - Character name */ getQuests(id: string): Promise<number[]>; /** * Returns information about recipes that the given character can use. * * @param id - Character name */ getRecipes(id: string): Promise<{ recipes: number[]; }>; /** * Returns information about Super Adventure Box on a character attached to a specific account. * * @param id - Character name */ getSAB(id: string): Promise<{ zones: { id: number; mode: "infantile" | "normal" | "tribulation"; world: number; zone: number; }[]; unlocks: { id: number; name?: string | undefined; }[]; songs: { id: number; name: "secret_song" | "gatekeeper_lullaby" | "shatter_serenade"; }[]; }>; /** * Returns information about the skills equipped on a character attached to a specific account. * * @param id - Character name */ getSkills(id: string): Promise<{ skills: { pve: { heal: number | null; utilities: (number | null)[]; elite: number | null; legends?: (string | null)[] | undefined; }; pvp: { heal: number | null; utilities: (number | null)[]; elite: number | null; legends?: (string | null)[] | undefined; }; wvw: { heal: number | null; utilities: (number | null)[]; elite: number | null; legends?: (string | null)[] | undefined; }; }; }>; /** * Returns information about the specializations equipped on a character attached to a specific account. * * @param id - Character name */ getSpecializations(id: string): Promise<{ specializations: { pve: { id: number; traits: number[]; }[]; pvp: { id: number; traits: number[]; }[]; wvw: { id: number; traits: number[]; }[]; }; }>; /** * Returns information about the training of a character attached to a specific account. * * @param id - Character name */ getTraining(id: string): Promise<{ training: { id: number; spent: number; done: boolean; }[]; }>; }