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 )
ArgumentsEdit
- name
- string
- A part of the item's name (or the complete name) or "" for no retrenchment. Must be 63 bytes or less.
- minLevel
- integer (or nil)
- Items below this level won't be returned. Either a number or nil for no restrictions.
- maxLevel
- integer (or nil)
- Items above this level won't be returned. Either a number or nil for no restrictions.
- page
- integer
- What page in the auctionhouse this shows up. Note that pages start at 0.
- isUsable
- boolean (or nil for false)
- Is useable by the player.
- qualityIndex
- integer
- 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
- boolean
- 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
- boolean
- Should the name be used as an exact match or should it match substrings of the auction items.
- filterData
- table
- 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
- The following commands will return the currently selected category and subcategory:
/dump AuctionFrameBrowse.selectedCategoryIndex /dump AuctionFrameBrowse.selectedSubcategoryIndex
ExamplesEdit
Note: AH window has to be open before you click the macro.
- Finds twink gear, blue armor between lvl 10 and 19:
QueryAuctionItems("", 10, 19, 0, false, 3, false, false, nil)
- Finds battle pets that you haven't learned:
QueryAuctionItems("", nil, nil, 0, false, 0, false, false, AuctionCategories[10].filters)
- Finds anything on the AH with the word 'Nobles' in it. Useful for hunting down that elusive last and final Darkmoon Card. :)
/script QueryAuctionItems("Nobles", 0, 0, 0, false, 3, false, false, nil)
NotesEdit
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.3Edit
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.