guildwars2-ts
Version:
GuildWars 2 API Wrapper in Typescript
535 lines (534 loc) • 23.6 kB
TypeScript
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;
}[];
}>;
}