Not sure if it is a bug or not, or we are using it wrong but "REPLICATE_ITEM_LIST_UPDATE" event triggers no sooner than every 15 minutes when the request is sent .. but ... the moment it triggers it hangs the game, even though I am testing for 0 results and not going any further.
So .. instead I registered for every AuctionHouse event to see what did what ..
"AUCTION_HOUSE_BROWSE_RESULTS_UPDATED" appears to trigger when you click the search button. It will return 500 items off the bat
This is an example of one of the table entries that you can retrieve after that event using C_AuctionHouse.GetBrowseResults() which returns a table.
Lua Code:
{
["itemKey"] = {
["itemLevel"] = 0,
["itemSuffix"] = 0,
["itemID"] = 129100,
["battlePetSpeciesID"] = 0,
},
["totalQuantity"] = 428,
["minPrice"] = 23300,
["containsOwnerItem"] = false,
}, -- [498]
When you select an item in the list the event "AUCTION_HOUSE_NEW_RESULTS_RECEIVED" is triggered along with the relevant itemKey info. An example of which is as follows:
Lua Code:
["Info"] = {
["isPet"] = false,
["itemName"] = "\"Merry Munchkin\" Costume",
["isCommodity"] = true,
["isEquipment"] = false,
["iconFileID"] = 133169,
["quality"] = 1,
},
AUCTION_HOUSE_NEW_RESULTS_RECEIVED also triggers when you click search but the argument is nil so testing for a nil value before trying to process it will stop those errors.
The only other thing you might want to look into is the following:
https://wow.gamepedia.com/API_C_Auct...endBrowseQuery
However, I haven't played with this as it involved building a search query to send, similar to selecting an item type then clicking search.
Here is my addon file that I used to get the above results.
Lua Code:
-- Create or Load Addon WTF Table
XrystalUI_Auctioneer_Info = XrystalUI_Auctioneer_Info or {}
local function OnEvent(self, event, ...)
print(event,...)
if event == "AUCTION_HOUSE_SHOW" then
elseif event == "AUCTION_HOUSE_BROWSE_RESULTS_UPDATED" then
XrystalUI_Auctioneer_Info["BrowseResults"] = XrystalUI_Auctioneer_Info["BrowseResults"] or {}
XrystalUI_Auctioneer_Info["BrowseResults"] = C_AuctionHouse.GetBrowseResults()
elseif event == "AUCTION_HOUSE_NEW_RESULTS_RECEIVED" then
local itemKey = ...
if ( itemKey ) then
XrystalUI_Auctioneer_Info["NewResults"] = XrystalUI_Auctioneer_Info["NewResults"] or {}
XrystalUI_Auctioneer_Info["NewResults"]["itemKey"] = XrystalUI_Auctioneer_Info["NewResults"]["itemKey"] or {}
local itemKeyInfo = C_AuctionHouse.GetItemKeyInfo(itemKey)
local itemKeyInfoResults = { itemKey, itemKeyInfo }
table.insert(XrystalUI_Auctioneer_Info["NewResults"]["itemKey"],itemKeyInfoResults)
end
end
end
local f = CreateFrame("Frame")
f:RegisterEvent("AUCTION_HOUSE_SHOW")
f:RegisterEvent("AUCTION_HOUSE_BROWSE_RESULTS_UPDATED")
f:RegisterEvent("AUCTION_HOUSE_NEW_RESULTS_RECEIVED") -- [itemKey]
f:SetScript("OnEvent", OnEvent)