The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

WoW::Armory::API - Perl interface to WoW API

SYNOPSIS

    use WoW::Armory::API;

    $api = WoW::Armory::API->new(Region => 'eu', Locale => 'ru_RU');

    $char_data = $api->GetCharacter('realm', 'Character', 'items,pets,mounts');
    $guild_data = $api->GetGuild('realm', 'Guild');

    print $char_data->{items}{head}{name};
    print $guild_data->{name};

    use WoW::Armory::Class::Character;
    use WoW::Armory::Class::Guild;

    $char = WoW::Armory::Class::Character->new($char_data);
    $guild = WoW::Armory::Class::Guild->new($guild_data);

    print $char->items->head->name;
    print $guild->name;

METHODS

Constants

WOW_CHARACTER_FIELDS

    @fields = @{WOW_CHARACTER_FIELDS()};
    $data = $api->GetCharacter($realmId, $characterName, join(',', @fields));

WOW_GUILD_FIELDS

    @fields = @{WOW_GUILD_FIELDS()};
    $data = $api->GetGuild($realmId, $guildName, join(',', @fields));

WOW_ARENA_TEAM_2

    $data = $api->GetArena($realmId, WOW_ARENA_TEAM_2, $teamName);

WOW_ARENA_TEAM_3

    $data = $api->GetArena($realmId, WOW_ARENA_TEAM_3, $teamName);

WOW_ARENA_TEAM_5

    $data = $api->GetArena($realmId, WOW_ARENA_TEAM_5, $teamName);

Constructor

new()

    $api = WoW::Armory::API->new;
    $api = WoW::Armory::API->new(Region => $regionId, Locale => $locale);

General

GetRegions()

    $data = WoW::Armory::API->GetRegions();
    $data = $api->GetRegions();

SetRegion()

    $api->SetRegion($regionId);
    $api->SetRegion($regionId, $locale);

HasLocale()

    $hasLocale = $api->HasLocale($locale);

SetLocale()

    $api->SetLocale($locale);

GetApiHost()

    $host = $api->GetApiHost();

DoApiCall()

    $data = $api->DoApiCall($method, @params);

WoW API

All of these methods return the appropriate data structure or undef. See http://blizzard.github.com/api-wow-docs/ for more details.

GetAchievement()

    $data = $api->GetAchievement($achievementId);

GetAuctionData()

    $data = $api->GetAuctionData($realmId);

GetBattlePetAbility()

    $data = $api->GetBattlePetAbility($abilityId);

GetBattlePetSpecies()

    $data = $api->GetBattlePetSpecies($speciesId);

GetBattlePetStats()

    $data = $api->GetBattlePetStats($speciesId);
    $data = $api->GetBattlePetStats($speciesId, $level, $breedId, $qualityId);

GetChallenge()

    $data = $api->GetChallenge($realmId);

GetChallengeRegion()

    $data = $api->GetChallengeRegion();

GetCharacter()

    $data = $api->GetCharacter($realmId, $characterName);
    $data = $api->GetCharacter($realmId, $characterName, $fields);

GetItem()

    $data = $api->GetItem($itemId);

GetItemSet()

    $data = $api->GetItemSet($itemSetId);

GetGuild()

    $data = $api->GetGuild($realmId, $guildName);
    $data = $api->GetGuild($realmId, $guildName, $fields);

GetArena()

    $data = $api->GetArena($realmId, $teamSize, $teamName);

GetPvpArena()

    $data = $api->GetPvpArena($battleGroup, $teamSize);
    $data = $api->GetPvpArena($battleGroup, $teamSize, $page, $pageSize, $asc);

GetPvpRatedbgLadder()

    $data = $api->GetPvpRatedbgLadder();
    $data = $api->GetPvpRatedbgLadder($page, $pageSize, $asc);

GetQuest()

    $data = $api->GetQuest($questId);

GetRealmStatus()

    $data = $api->GetRealmStatus();

GetRecipe()

    $data = $api->GetRecipe($recipeId);

GetSpell()

    $data = $api->GetSpell($spellId);

GetDataBattlegroups()

    $data = $api->GetDataBattlegroups();

GetDataCharacterRaces()

    $data = $api->GetDataCharacterRaces();

GetDataCharacterClasses()

    $data = $api->GetDataCharacterClasses();

GetDataCharacterAchievements()

    $data = $api->GetDataCharacterAchievements();

GetDataGuildRewards()

    $data = $api->GetDataGuildRewards();

GetDataGuildPerks()

    $data = $api->GetDataGuildPerks();

GetDataGuildAchievements()

    $data = $api->GetDataGuildAchievements();

GetDataItemClasses()

    $data = $api->GetDataItemClasses();

GetDataTalents()

    $data = $api->GetDataTalents();

GetDataPetTypes()

    $data = $api->GetDataPetTypes();

SEE ALSO

http://blizzard.github.com/api-wow-docs/

REPOSITORY

The source code for the WoW::Armory::API is held in a public git repository on Github: https://github.com/Silencer2K/perl-wow-api

AUTHOR

Aleksandr Aleshin <silencer@cpan.org>

COPYRIGHT

This software is copyright (c) 2012 by Aleksandr Aleshin.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.