WoW:API QueryAuctionItems: Difference between revisions

Updated the function to new arguement structure of 7.0.3.
(Updated with new information)
(Updated the function to new arguement structure of 7.0.3.)
Line 3: Line 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.
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,  
  QueryAuctionItems("name", minLevel, maxLevel, page,
  invTypeIndex, classIndex, subclassIndex,  
   isUsable, qualityIndex, getAll, exactMatch, filterData
   page, isUsable, qualityIndex, getAll
  )
  )


== Arguments ==  
== Arguments ==  
:(string type, integer type, integer type, integer type, integer 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)


:;name : A part of the item's name (or the complete name) or "" for no retrenchment.  Must be 63 bytes or less.
;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.
:;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.
:;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.
:;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)
:;isUsable : Is useable by the player (1 = true, 0 = no restrictions)
Line 52: Line 25:




:;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 ==
== Examples ==
  QueryAuctionItems("", 10, 19, 0, 2, 0, 0, 0, 3, 0)
  QueryAuctionItems("", 10, 19, 0, nil, false, false, nil)


=== Result ===
=== Result ===
Line 61: Line 48:
:also, the First page is page (0) zero
:also, the First page is page (0) zero


  /script QueryAuctionItems("Nobles", 0, 0, 0, 0, 0, 0, 0, 0, 0)
  /script QueryAuctionItems("Nobles", 0, 0, 0, nil, false, false, nil)


=== Result ===
=== Result ===
Line 68: Line 55:


== 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.
:;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.
Anonymous user