Talk:API C BattleNet.GetFriendGameAccountInfo

Many changes here, some of which correct errors which date back to the original entry.

The second argument is accountIndex, not toonIndex and has been since the function was first implemented in 6.2.4.21315. I know this was listed originally "moving" or "renaming" a function, but truly, it's a new profile altogether.

While in the vast majority of cases, accountIndex will always be 1 (for players currently online), multi-boxers can have up to 5 different accounts. This is how Blizzard distinguishes between them in the FriendsFrame.lua code in FrameXML beginning with 6.2.4.21315 and continuing through (at least) 7.3.0.24920.

"Either" implies a set of two. I corrected the grammar regarding the list of client values that can be returned.

I altered the description of "gameText" to reflect its defining characteristic - that the string that is returned is XML/HTML-safe. I suspect this was implemented as part of the 'integrated social media into the game' push by Blizzard. Val'sharah on the Earthen Ring server returns as a string with the ampersand-"apos"-semi-colon embedded in it with " - Earthen Ring" appended to the end, for instance. The earlier description made no mention of that and as far as I can see, the reason this field exists is for that purpose.

broadcastTime has always been milliseconds, not seconds. I corrected that after verifying by direct experimentation and searching back through FrameXML to the initial implementation of this API function.

The functional descriptions of bnetIDGameAccount and presenceID are essentially identical, and they seem to be different keys into many of the BN* functions, but why one and not the other seems somewhat arbitrary or at least I haven't found a pattern to it yet. Many of the Gamepedia functions that referenced bnetIDGameAccount actually only function correctly with presenceID (discovered through direct experimentation - and corrected where I could find them). The two variables are not identical (there's probably no reason they couldn't end up with the same value, but there's no lockstep between them), they're both numeric, and they're both used as identifiers into BN* functions. Blizzard's use of this function in FrameXML never once captures presenceID, but presenceID is used in FrameXML in many places elsewhere. Any knowledgeable feedback on this would be appreciated.

Variables returned in position 18 and 19 are boolean, but no experiment I could design returned anything other than false in either of them. They're not related to guild membership or rank, online presence, connectivity mode, hostility, faction-identity, paid vs. trial account, test character (one of those "try out a class things"), or anything else I could think to try testing. It's possible they're for internal use at Blizzard. It's possible they're unimplemented. It's possible they're indicators for whether a toon is a GM or suspended or on an account that's idle. They could be related to that odd Chinese-client time throttling thing. Blizzard never makes any use of either of those variables in any call of this function. They either stop looking at variables prior to these positions or they use placeholders for them. Things still to check (I had no way of doing so) - possibly refer-a-friend or 'can summon' friends.

The variable in position 20 is the characterGUID - formatted PLAYER--. This is CHARACTER related, not PLAYER related. If a player is online, but not in-game (as in - on the app or in Hearthstone or something), this value will be nil (not spaces - missing altogether).

My apologies if I'm being direct here - it's my style - no insult or affront is intended to anyone by it.Mltco78dhs (talk) 22:29, 20 May 2018 (UTC)