Username changes / Identifying users?

Well well well,

People can change their names now, user as well as display name. Thats great.

How are we supposed to identify users after they’ve changed their name? Somebody called “user1” subscribes. They change their name and the next time they subscribe they’re suddenly called user2. How are we supposed to identify them?

You should already use userIds if you talk about a bot. If manually, you just have to know it :wink:

From what i’ve read before the userid is not transmitted for chat / irc messages, only on oauth login, and there were no plans to introduce this.

By userid, it should be sent in the user notice.

@badges=staff/1,broadcaster/1,turbo/1;color=#008000;display-name=TWITCH_UserName;emotes=;mod=0;msg-id=resub;msg-param-months=6;room-id=1337;subscriber=1;system-msg=TWITCH_UserName\shas\ssubscribed\sfor\s6\smonths!;login=twitch_username;turbo=1;user-id=1337;user-type=staff USERNOTICE #channel

1 Like

You might need to request CAPs, but it is transmitted.

User ID does exist as a message tag on chat messages, but a lot of other chat features (timeout notices, roomstates, joins, parts, signing in) don’t support IDs.

There should probably be an endpoint to get history of names that a user has had. Let’s say I ban “user1”, and the next day some guy named “user2” sends me a whisper and says he has no idea why he was banned, now I have no idea if it is the same person.

Without a bot that is constantly logging the userid of people you ban, there is no way to know if this “user2” is the guy you just banned yesterday for spamming ASCII in chat, or some guy who was banned a year ago who just wants to rejoin the community.

Without an endpoint for name history, this new name changing feature is going to just be a convenient way to disguise yourself to get out of a ban, which I would dare to say isn’t within the spirit of the Twitch Terms of Service.

1 Like

Yup. First and foremost there shouldnt be any breaking changes to an API endpoint that is not EOL yet.

A name change doesn’t get around a ban, for user2 to show up and talk it would have to be a whole new account to get around the ban.

user1 gets banned for a reason. Renames himself to user2 and then user2 appeals his ban. Mods have no record of user2 and thus unban him because it actually seems like he was wrongfully banned.

it does if you can trick a mod into unbanning you

Exactly my concern.

@Kinsi, @Mike111177 That sounds like a Mod issue if they fall for something like that then surely? If you’re keeping track of who had previously been banned and for why, then those records should include their Twitch ID so that for any unban requests you can refer back to that regardless of any name changes. And if you don’t log bans and their reasons anyway, how does the situation now differ from before unless your mods remember every single person they’ve banned and why?

We manually log bans. When we post a name and reason to the log there is really no good tool to just grab the persons userid from the desktop.

It is hard enough just to get the mods to log them at all.

Also in our case we have a year of logs already with no userids.

I think it does not help to discuss whether a moderator should or should not fall for a situation that could be avoided by sending user IDs in every IRC message (JOINs, PARTs, subscription messages etc.) in the first place.
This has already been requested multiple times before months ago, especially for the subscription mesage [1, 2], and there unfortunately has not yet been an official statement why this cannot be implemented (as far as I know).

So I’ll try it again here:
Is it possible to have user IDs on JOINs/PARTs and subscription messages etc.? Might it be possible to extend the subscription notification by also sending something like a USERNOTICE (e.g. with msg-id just being sub instead of resub in this case) to match the resubscription notification process? :slight_smile:

[1] How to detect initial subscriptions for people with "special" names
[2] Sub-streak STILL not fixed after 4 months? (last paragraph)

1 Like

Would it be possible to include a new IRCv3 tag, maybe something like previous-name?
It would be so much easier for moderation and chat logging

That would potentially go insane if a user keeps renaming, and if its only the very last one its useless. Just use the id, its way more persistent.

It would be actually, but isn’t name change only available to a user every 60 days or something?

Need to stop trying to hold onto usernames and switch to IDs as soon as possible…

I’m not sure if this is a good argument to support something like a previous-name tag. I can easily construct a worst case scenario where a user changes his/her name twice before rejoining a channel’s chat and writing a message.
What @ceriath said - a user ID everywhere would help a lot.
Imho the right way to easily provide trackable user names while not forcing developers to violate the terms by collecting user data forever is to offer an additional API endpoint which allows to query for every name a user had by specifiying his/her ID.
Having said this, I think the missing user ID thing still has a higher priority right now.

1 Like