I have looked over the available documentation, but it is primarily function signatures. In the past I'd just figure things out from there via trial and error, but with results reportedly taking up to an hour to load that would be a slow process. Also I'd rather not choke the servers with possibly erroneous requests if I can avoid it.
From what I can gather reading the documentation, the process for caching event history and iterating over the results is something like:
Use CreateGuildHistoryRequest to get the server to start caching events.
Poll with GetGuildHistoryRequestFlags until GUILD_HISTORY_REQUEST_FLAG_COMPLETE is true (unless there's an event I can register for that will let me know?)
Iterate over the results via GetGuildHistoryEventBasicInfo (or one of the event category specific variants of it) in a for loop, using starting and ending event indices obtained via GetGuildHistoryEventIndicesForTimeRange.
Is this accurate? I've read that the data is cached in chunks of 500 entries. If there are more than 500 results, will they all end up in the cache at the same time, or do you have to use RequestMoreGuildHistoryEvents after you've processed the current chunk?
Thank you, any insight anyone can provide would be greatly appreciated.