Seconded. I just dont understand how such a change can go live without being fully integrated beforehand, or at least on release. Same thing has happened with “special” names and obviously no change was taken from that “fiasco”.
I do agree. Yes, an API endpoint with a list of username a user had would actually be better than a
previous-name tag. However, we’ll still have to rely on user ID for now.
Regardless, when a moderator is looking at chat, they don’t see peoples userid, they see their username. So when they go to tell a bot or a script or a program !somecommand (user) they have to type in the username. Moderators don’t remember userids, but they can remember usernames. So if you aren’t data mining all the userid’s, they are pretty useless after the fact.
What the moderator needs is to be able to do, is type in a username, and get returned a list of previous names of that user, without storing the data of every user who has strolled through chat on a hard drive.
This is all I am looking for. It could be a menu on the site for all I care. (Which would mean there would be an endpoint hidden in there probably).
Something like this would be much needed. At the moment, users who change their usernames can basically trick moderators by saying “I don’t know why I was banned” and any user logs would have been rendered useless.
logs should be stored by ID, not by name.
Moderators can’t see userid’s scrolling through chat, so how would that be useful to them?
There are currently ways to solve the issue though. Like if using a bot/script/program to track bans, to have the app do the work to retrieve the ID of the banned user, the mod wouldn’t need to know a users ID. For channels that are logging chat they can make sure user ID is logged along with username.
Yes it’s not perfect as there are some events where an ID isn’t included, but the vast majority of bans are for something typed in chat, which does include an ID.
The logging tool would store by ID and on request look up the ID from name and search by it.
Okay, but what if you are using none of the above. There should be a way for a moderator to this without 3rd party software. They should be able to click on somebodies profile and see their username history. There is a reason why steam does this and the same applies here.
Agreed. The lack of a username history seems like it will open up the potential for abuse and plain old confusion.
To be honest the having an endpoint would just be a convenience thing for me, but there needs to be the ability to check this on the website with no bots, no scripts, and no logs.
I agree completely something similar to Steam would be optimal.
Legacy systems are completely broken because of this mess. Something like old username to the right ID could be very useful to convert the last legacy systems.
Theres sth to convert from a current username to ID (Accepts up to 100 names per request): Twitch API Version Update Discussion & FAQ
If somebody has changed his name alread though you’re out of luck it seems as it returns some “bogus” ID
room-id tags to ROOMSTATE messages.
created_by_user_id field to moderator action pubsub messages.
Let me know where IDs are missing that you use. There’s a lot of surface area here that our products don’t rely on needing historic logins (such as the realtime chat moderation logs) that you might use.
Yes, exactly. I can’t convert usernames to ids in some legacy systems because some people already changed their name.
If only this feature was properly announced and allowed devs a reasonable timeframe to adjust to ¯\_(ツ)_/¯
Great, thanks for the warning Twitch. This is catastrophic.
That is wrong. The _id variable of a user stays the same even when you change the name. That is the idea behind that. Its just that, when querying the old name (that now nobody owns) you get some bogus ID that doesnt lead to some account.
I have tested this earlier today. Used https://api.twitch.tv/kraken/users?login=name&api_version=5 to get the id of some account. Then changed the name of that account and queryed against the new name. Both times i got the same _id value