Enumerating your own logged in toons (like you can for any Bnet friend)

I’m trying to enumerate all the toons I have currently logged in in my own BNet but I have not found a way yet.

It’s fairly ez to enumerate any friends toons using BNGetFriendGameAccountInfo but trying to use my own, I stepped on the fact that BNGetInfo first return value which is supposed to be the presenceId is always nil

Is this some oversight or am I missing some other way to get that information ?

I could I suppose have some sort of echo service that would do that (as it’s available for any friend) but that seems quite silly to have to do

If an oversight, can it be fixed soon ?
If on purpose can someone explain why ?

Thanks a lot !

ps: edit, updated to add clarification I need logged in multi account not historical single account toon list

There is no API function to enumerate your own characters that I’m aware of but if you use an addon that stores character information like an action bar/unit frame … you could find characters in their saved variables table(s) which are global.

Anything that uses AceDB will have a profileKeys sub-table with character-realm entries.

I mean logged in simultaneously characters, not history for the same account. There is no such thing as “global” (bnet level) saved variables that I know of, it’s all per account at best. (ie I’m asking about multiple wow accounts under 1 bnet account)

If it is possible, they seem to be keeping that sort of information to themselves as the documentation for C_BattleNet is very empty atm.

This might not be the answer you want, but if you created a battletag community and joined it, every toon on every account that’s logged in will show in it.

You don’t have to invite anyone else to that community.

Create a community called “Me, Myself, and I” or some such nonsense and then any time you want to see what toons you have logged in under that battletag, just open the community window and make sure only logged-in toons are shown.

Thanks for replying Ehiztari but I want the tracking to be automatic, I create a lot of alts and I don’t want to manually put them in some list (while what I need exists already, just isn’t available somehow) - also you can’t do anything with communities from addons, it’s all protected frames/code.

Anyone knows of a good reason why it’s possible to list your friends characters being played but not your own ?

If you create and join a battletag group, you only do it one time and after that it IS automatic.

Thanks Ehiztari but you can’t read community data from addons (it’s protected strings, for some reason)

(and I just need to bnet msg myself… why can’t I while I can BNSendGameData any bnet friend… I could keep another account around just for that but that seems extremely silly (also it’s against the tos to have unattend toons I am pretty sure))

Well, if the problem you’re trying to solve is communicating from one alt to another then the solution is likely to be simpler.

Create a small addon that uses C_ChatInfo.SendAddonMessage() to a channel you also establish or join on login and in that addon also use C_ChatInfo.RegisterAddonMessagePrefix() so you can read messages sent by others using the addon.

It’s entirely possible to set the message prefix to something that uniquely identifies you (I’m thinking battletag ID).

The presenting problem was enumeration, which is difficult using the existing API, but if what you want to do is broadcast between them, that’s very doable.

Also, if every toon you have logs in with that addon installed, they could send out a sort of ping (just their name, maybe, in the data packet) once a second (or once a minute or once an hour - depending on how current you need the info to be) and it wouldn’t be that hard to accumulate those and get a census.

What sort of information are you wanting to send back and forth? Is this a multi-boxing sort of thing or are you just looking to keep track of family members all playing on the same battletag account?

As to “Why can’t I…?” with the Blizzard API, it comes down to three answers, none of which can be address accurately here (they can and probably will be addressed, but it’ll be opinions of various degrees of being informed):

  • Anti-Botting Measures
  • Unsupported Features
    • First thought I had when I saw this thread was “How many people are sharing this account?”
    • Second thought I had was “Why doesn’t he KNOW how many toons he’s logged in on already?”
    • Third was “This is a real unicorn of an issue?”
  • Incompetence (lots of that - you wouldn’t believe the garbage I’ve found in Blizzard’s code)

One caveat - your toons would have to be on the same server or on a realm-connected server.

Frankly, if you’ve got multiple toons online from different accounts under your battletag ID at the same time that ARE NOT on the same server, I’d really be curious just what the heck is going on.

Using a channel is what I already do today in my addon (DynamicBoxer if you want to see the source), but yes, that doesn’t work cross realms

(and as I mentioned using my own battlenet info would be safer/not require a password for the channel etc too but would solve cross realm as I do get BNSendGameData from my friends)

People do multibox cross realm (I made a small survey it was at least 30%), I don’t personally, mostly because I didn’t think of it, but I am trying to solve a general problem of flexibility of using whichever characters you have logged in and make a party (without typing every character name)

As a side note, some people do use 1 wow account for 1 bnet and they could find out their other logged in toons (as the api work for friends, not for self), if one uses 1 bnet for N wow accounts, it seems odd that would me more restricted

Okay.

We’ve already confirmed that you’re not going to get this the way you want to get it.

I’m 58 years old, a stroke survivor, and a cancer survivor and I know what toon(s) I’m logged into at all times.

If you have a specific problem you’re attempting to address, state is.

If this is just a complaint that you can’t leverage the Friends API to track your own logged-in toons on your own account in an automated fashion, then I have to say the Blizzard support page is thataway <points off in the distance in some vague direction>.

What are you doing that you don’t know who is logged into your account?

If it’s just a question of being able to invite them, a community will work just fine. I do it all the time. Make a community that’s NOT by battle tag and join with each toon you care about. Once the community is made, joining is a one-time action less troublesome than installing or configuring an addon and you can do it for yourself (unlike with a guild, you can cut-and-paste an invitation and use it on your own toons). When you’re logged in, you’ll see them and you can invite them from the community UI.

If it’s something else, let us know what that is

But you’re not going to get very far just repeating that Blizzard’s Friends API doesn’t allow you to be friends with yourself or recognize you as your own friend.

That API isn’t intended to do what you want it to do and it’s not broken because of that. It’s not a general Battlenet Account API.