C_AuctionHouse.GetCommoditySearchResultInfo

From Warcraft Wiki
Jump to navigation Jump to search

Returns search results for a commodity item.

result = C_AuctionHouse.GetCommoditySearchResultInfo(itemID, commoditySearchResultIndex)

Arguments

itemID
number
commoditySearchResultIndex
number

Returns

result
CommoditySearchResultInfo?
Field Type Description
itemID number
quantity number
unitPrice number
auctionID number
owners string[]
totalNumberOfOwners number
timeLeftSeconds number?
numOwnerItems number
containsOwnerItem boolean
containsAccountItem boolean

Example

Sends a search query for  [Storm Silver Ore] when the button is pressed. Also prints results when manually browsing the AH.

local test_item = 5956 -- Blacksmith Hammer
local test_commodity = 152579 -- Storm Silver Ore

local btn = CreateFrame("Button", nil, UIParent, "UIPanelButtonTemplate")
btn:SetPoint("CENTER")
btn:SetSize(120, 40)
btn:SetText("Example")
btn:SetScript("OnClick", function(self, button)
	local itemKey = C_AuctionHouse.MakeItemKey(test_commodity)
	C_AuctionHouse.SendSearchQuery(itemKey, {}, false)
end)

local f = CreateFrame("Frame")

function f:ITEM_SEARCH_RESULTS_UPDATED(event, itemKey)
	for i = 1, C_AuctionHouse.GetNumItemSearchResults(itemKey) do
		local result = C_AuctionHouse.GetItemSearchResultInfo(itemKey, i)
		print(event, itemKey.itemID, i, result.auctionID, result.buyoutAmount)
	end
end

function f:COMMODITY_SEARCH_RESULTS_UPDATED(event, itemID)
	for i = 1, C_AuctionHouse.GetNumCommoditySearchResults(itemID) do
		local result = C_AuctionHouse.GetCommoditySearchResultInfo(itemID, i)
		print(event, itemID, i, result.quantity, result.auctionID, result.unitPrice)
	end
end

function f:OnEvent(event, ...)
	self[event](self, event, ...)
end

f:RegisterEvent("ITEM_SEARCH_RESULTS_UPDATED")
f:RegisterEvent("COMMODITY_SEARCH_RESULTS_UPDATED")
f:SetScript("OnEvent", f.OnEvent)

Patch changes

Shadowlands Patch 9.0.5 (2021-03-09): Added totalNumberOfOwners field.
Battle for Azeroth Patch 8.3.0 (2020-01-14): Added.