WoW:API QueryAuctionItems: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(Updated the function to new arguement structure of 7.0.3.)
(keep pre-7.0.3 data around until 7.0.3 info is more complete)
Line 1: Line 1:
{{Source needed}}
{{wowapi}}
{{wowapi}}


Line 7: Line 8:
  )
  )


== Arguments ==  
== Arguments ==
:(string type, integer type, integer type, integer type, boolean type, integer type, integer type, integer type, integer type, boolean type)
:(string type, integer type, integer type, integer type, boolean type, integer type, integer type, integer type, integer type, boolean type)


Line 42: Line 43:
  QueryAuctionItems("", 10, 19, 0, nil, false, false, nil)
  QueryAuctionItems("", 10, 19, 0, nil, false, false, nil)


=== Result ===
=== Script ===


:Finds twink gear! (blue armor between lvl 10 and 19)
:Finds twink gear! (blue armor between lvl 10 and 19)
Line 56: Line 57:
== Notes ==
== Notes ==
;If name is longer than 63 bytes, you'll be disconnected from the server.
;If name is longer than 63 bytes, you'll be disconnected from the server.
:;If any of the entered arguments is of the wrong type, the search assumes a nil value.
== Pre-Patch 7.0.3 ==
Will return information about items in the auction house.  There must be a delay of about 0.3 second between regular queries and 15 minutes between getall queries.  Use [[API CanSendAuctionQuery|CanSendAuctionQuery]]() to determine if a query can be done.
QueryAuctionItems("name", minLevel, maxLevel,
  invTypeIndex, classIndex, subclassIndex,
  page, isUsable, qualityIndex, getAll
)
;Arguments
:(string type, integer type, integer type, integer type, integer type, integer type, integer type, integer type, integer type, boolean type)
:;name : A part of the item's name (or the complete name) or "" for no retrenchment.  Must be 63 bytes or less.
:;minLevel : Items below this level won't be returned. Either a number or nil for no restrictions.
:;maxLevel : Items above this level won't be returned. Either a number or nil for no restrictions.
:;invtypeIndex : Character's slotposition in which the item can be placed in. Can be one of the following values
:::;1 -  Head slot (INVTYPE_HEAD)
:::;2 - Neck slot (INVTYPE_NECK)
:::;3 - Shoulder slot (INVTYPE_SHOULDER)
:::;4 - Shirt slot (INVTYPE_BODY)
:::;5 - Chest slot (INVTYPE_CHEST)
:::;6 - Waist slot (INVTYPE_WAIST)
:::;7 - Leg slot (INVTYPE_LEGS)
:::;8 - Feet slot (INVTYPE_FEET)
:::;9 - Wrist slot (INVTYPE_WRIST)
:::;10 - Hand slot (INVTYPE_HAND)
:::;11 - Finger slot (INVTYPE_FINGER)
:::;12 - Trinket slot (INVTYPE_TRINKET)
:::;13 - Back slot (INVTYPE_CLOAK)
:::;14 - Weapon offhand slot (INVTYPE_HOLDABLE)
:::;15 - Weapon mainhand slot (INVTYPE_WEAPONMAINHAND)
:::;16 - Robe slot (INVTYPE_ROBE)
:::;17 - Tabard slot (INVTYPE_TABARD)
:::;18 - Container slot (INVTYPE_BAG)
:::;19 - 2handed weapon (takes two slots) (INVTYPE_2HWEAPON)
:::;20 - Ranged weapon slot (INVTYPE_RANGED)
:::;21 - Shield slot (INVTYPE_SHIELD)
:::;22 - Both weapon slots (INVTYPE_WEAPON)
:::;0 - no restrictions
:;classIndex : Returns only item in this class. Integer corresponds to the row number of the table returned by [[API GetAuctionItemClasses|GetAuctionItemClasses]]() or 0 for no restrictions.
:;subclassIndex : Returns only items in this subclass. Integer corresponds to the row number of the table returned by [[API GetAuctionItemSubClasses|GetAuctionItemSubClasses]](index) or 0 for no restrictions.
:;page : What page in the auctionhouse this shows up. Note that pages start at 0.
:;isUsable : Is useable by the player (1 = true, 0 = no restrictions)
:;qualityIndex : Can be one of the following values
:::;0 - No restriction
:::;1 - Common Quality (white) or better
:::;2 - Uncommon Quality (green) or better
:::;3 - Rare Quality (blue) or better
:::;4 - Epic Quality (purple) or better
:;getAll : Download the ENTIRE auction house as one single page. Only allowed when [[API CanSendAuctionQuery|CanSendAuctionQuery]]() returns true as its second return (~every 15 minutes). May disconnect people with low bandwidth. Also see notes on client-to-server traffic in [[API GetAuctionItemInfo|GetAuctionItemInfo]]() (Added in 2.3, though initially disabled. Appears to be enabled as of 2.4)
;Examples
QueryAuctionItems("", 10, 19, 0, 2, 0, 0, 0, 3, 0)
;Script
:Finds twink gear! (blue armor between lvl 10 and 19)
:
:also, the First page is page (0) zero
/script QueryAuctionItems("Nobles", 0, 0, 0, 0, 0, 0, 0, 0, 0)
;Result
:Finds anything on the AH with the word 'Nobles' in it. Useful for hunting down that elusive last and final Darkmoon Card. :)
:Hint: AH window has to be open before you click the macro.
;Notes
:;If name is longer than 63 bytes, you'll be disconnected from the server.
:;invTypeIndex does not appear to work for values past 14.
:;If any of the entered arguments is of the wrong type, the search assumes a nil value.
:;If any of the entered arguments is of the wrong type, the search assumes a nil value.

Revision as of 20:50, 25 July 2016

Template:Source needed

WoW API < QueryAuctionItems

Will return information about items in the auction house. There must be a delay of about 0.3 second between regular queries and 15 minutes between getall queries. Use CanSendAuctionQuery() to determine if a query can be done.

QueryAuctionItems("name", minLevel, maxLevel, page,
  isUsable, qualityIndex, getAll, exactMatch, filterData
)

Arguments

(string type, integer type, integer type, integer type, boolean type, integer type, integer type, integer type, integer type, boolean type)
name
A part of the item's name (or the complete name) or "" for no retrenchment. Must be 63 bytes or less.
minLevel
Items below this level won't be returned. Either a number or nil for no restrictions.
maxLevel
Items above this level won't be returned. Either a number or nil for no restrictions.
page
What page in the auctionhouse this shows up. Note that pages start at 0.
isUsable
Is useable by the player (1 = true, 0 = no restrictions)
qualityIndex
Can be one of the following values
0 - No restriction
1 - Common Quality (white) or better
2 - Uncommon Quality (green) or better
3 - Rare Quality (blue) or better
4 - Epic Quality (purple) or better
getAll
Download the ENTIRE auction house as one single page. Only allowed when CanSendAuctionQuery() returns true as its second return (~every 15 minutes). May disconnect people with low bandwidth. Also see notes on client-to-server traffic in GetAuctionItemInfo() (Added in 2.3, though initially disabled. Appears to be enabled as of 2.4)


exactMatch
Should the name be used as an exact match or should it match substrings of the auction items.
filterData
The old invtypeIndex, classIndex, and subclassIndex roled into one.: This is the code that builds the filter value(s) for filterData:
local filterData;
	if categoryIndex and subCategoryIndex and subSubCategoryIndex then
		filterData = AuctionCategories[categoryIndex].subCategories[subCategoryIndex].subCategories[subSubCategoryIndex].filters;
	elseif categoryIndex and subCategoryIndex then
		filterData = AuctionCategories[categoryIndex].subCategories[subCategoryIndex].filters;
	elseif categoryIndex then
		filterData = AuctionCategories[categoryIndex].filters;
	else
		-- not filtering by category, leave nil for all
        end

Examples

QueryAuctionItems("", 10, 19, 0, nil, false, false, nil)

Script

Finds twink gear! (blue armor between lvl 10 and 19)
also, the First page is page (0) zero
/script QueryAuctionItems("Nobles", 0, 0, 0, nil, false, false, nil)

Result

Finds anything on the AH with the word 'Nobles' in it. Useful for hunting down that elusive last and final Darkmoon Card. :)
Hint: AH window has to be open before you click the macro.

Notes

If name is longer than 63 bytes, you'll be disconnected from the server.
If any of the entered arguments is of the wrong type, the search assumes a nil value.

Pre-Patch 7.0.3

Will return information about items in the auction house. There must be a delay of about 0.3 second between regular queries and 15 minutes between getall queries. Use CanSendAuctionQuery() to determine if a query can be done.

QueryAuctionItems("name", minLevel, maxLevel, 
  invTypeIndex, classIndex, subclassIndex, 
  page, isUsable, qualityIndex, getAll
)
Arguments
(string type, integer type, integer type, integer type, integer type, integer type, integer type, integer type, integer type, boolean type)
name
A part of the item's name (or the complete name) or "" for no retrenchment. Must be 63 bytes or less.
minLevel
Items below this level won't be returned. Either a number or nil for no restrictions.
maxLevel
Items above this level won't be returned. Either a number or nil for no restrictions.
invtypeIndex
Character's slotposition in which the item can be placed in. Can be one of the following values
1 - Head slot (INVTYPE_HEAD)
2 - Neck slot (INVTYPE_NECK)
3 - Shoulder slot (INVTYPE_SHOULDER)
4 - Shirt slot (INVTYPE_BODY)
5 - Chest slot (INVTYPE_CHEST)
6 - Waist slot (INVTYPE_WAIST)
7 - Leg slot (INVTYPE_LEGS)
8 - Feet slot (INVTYPE_FEET)
9 - Wrist slot (INVTYPE_WRIST)
10 - Hand slot (INVTYPE_HAND)
11 - Finger slot (INVTYPE_FINGER)
12 - Trinket slot (INVTYPE_TRINKET)
13 - Back slot (INVTYPE_CLOAK)
14 - Weapon offhand slot (INVTYPE_HOLDABLE)
15 - Weapon mainhand slot (INVTYPE_WEAPONMAINHAND)
16 - Robe slot (INVTYPE_ROBE)
17 - Tabard slot (INVTYPE_TABARD)
18 - Container slot (INVTYPE_BAG)
19 - 2handed weapon (takes two slots) (INVTYPE_2HWEAPON)
20 - Ranged weapon slot (INVTYPE_RANGED)
21 - Shield slot (INVTYPE_SHIELD)
22 - Both weapon slots (INVTYPE_WEAPON)
0 - no restrictions
classIndex
Returns only item in this class. Integer corresponds to the row number of the table returned by GetAuctionItemClasses() or 0 for no restrictions.
subclassIndex
Returns only items in this subclass. Integer corresponds to the row number of the table returned by GetAuctionItemSubClasses(index) or 0 for no restrictions.
page
What page in the auctionhouse this shows up. Note that pages start at 0.
isUsable
Is useable by the player (1 = true, 0 = no restrictions)
qualityIndex
Can be one of the following values
0 - No restriction
1 - Common Quality (white) or better
2 - Uncommon Quality (green) or better
3 - Rare Quality (blue) or better
4 - Epic Quality (purple) or better
getAll
Download the ENTIRE auction house as one single page. Only allowed when CanSendAuctionQuery() returns true as its second return (~every 15 minutes). May disconnect people with low bandwidth. Also see notes on client-to-server traffic in GetAuctionItemInfo() (Added in 2.3, though initially disabled. Appears to be enabled as of 2.4)
Examples
QueryAuctionItems("", 10, 19, 0, 2, 0, 0, 0, 3, 0)
Script
Finds twink gear! (blue armor between lvl 10 and 19)
also, the First page is page (0) zero
/script QueryAuctionItems("Nobles", 0, 0, 0, 0, 0, 0, 0, 0, 0)
Result
Finds anything on the AH with the word 'Nobles' in it. Useful for hunting down that elusive last and final Darkmoon Card. :)
Hint: AH window has to be open before you click the macro.
Notes
If name is longer than 63 bytes, you'll be disconnected from the server.
invTypeIndex does not appear to work for values past 14.
If any of the entered arguments is of the wrong type, the search assumes a nil value.