[BETA] Timeout reasons & durations

I would think this would be very useful if it showed up in chat logs from chatty it would help all moderators a trimendous amount e.g. thesuperman got banned and a mod wanted to know why for some reason it would show up in logs and help modrators.

When testing this yesterday, we found that when performing a timeout with reason, the logs indicated the timeout was “by moderator”. Would be really great to have the Twitch Username of the Moderator in the field.

For an immediate timeout, we discovered that it was easier to get the timeout done (quick button), then perform the command again with reason. This way the offender wasn’t left in chat while the moderator was typing.

This didn’t work with BANS however. If you ban first then try to repeat the ban just for the sole purpose of getting the log entry, the reason doesn’t record in the log. So, to remedy this for now, our staff is going to perform a timeout regardless, then manually enter the ban with reason just to get the log entry.

Loving this feature Aaron. Thank you.

1 Like

Exposing the moderator’s name to public is a terrible idea. It makes the moderator a target for abuse and harassment. Bots don’t care so it’s fine for them to automatically append their name in the reason, but humans do and it can even be dangerous.

As it stands currently, channel owner can ask moderators to use a unique identifier (such as initials), which the public can’t identify, but the moderators can. I hope the moderator audits/logs aren’t far away, which will of course tell who did what. Exposing it immediately in the chat to the other moderators would be helpful, though.

1 Like

I appreciate your caution; And, I’ve received more death threats and harassing messages than I’d like to admit. Those of course were reported immediately. I would like to think that as long as I abide by Twitch TOS/ROC, and my broadcaster’s rules, that my actions regardless are justified, and why I don’t mind tagging my username with them.

I’ll assume that my experience over the years (only dealing with 15K max viewers, and closer to the lower 100’s these days) makes a difference in that statement. I could see how exposing the username to large ESL type populations, or a larger broadcaster could put a moderator at risk.

I’ll just say this. It’s never gone past that day or two max (of harassment), thanks to Twitch staff acting on those reports. This is just my experience. I’ve not moderated at the level you and many others have here.


If you don’t want to expose moderator names to the channel when performing a timeout/ban, could twitch not limit the information being sent to users based on if they are a mod or not? So broadcasters/mods would receive the ban/timeout duration, user, mod who issued the command, and reason, but limit it so that normal channel users would only see the user and reason? Or are these sort of messages an all or nothing type of thing where it’s not possible for twitch to vary what is shown to different users?


Yeah, should be possible. It wouldn’t be the only message in chat only sent to specific users

er I don’t think we have any messages sent to multiple, specific people? We have single user, and rooms.

I think an addition to this beta should be usernames of the moderator/staff/broadcaster which commenced the punishment alongside of all existing data.

@ban-duration=600;ban-administrator=mal1t1a;ban-reason=timeout\stest :tmi.twitch.tv CLEARCHAT #mal1t1a :kappbottester1
@ban-reason=timeout\stest :tmi.twitch.tv CLEARCHAT #mal1t1a :kappbottester1
1 Like

Personally, I would like the “ban-administrator” data to be able to provide the person that performed the timeout/ban optionally logged in the bot that I work on.

You can already include that information in the reason (e.g. “memes not dank enough by [mod]”). Allowing a field dedicated to the moderator’s name to be manually set like that would make it an unreliable source of information.

Broadcasting unbans to everyone would be helpful as well, to get a more consistent ban log

1 Like

Not sure I follow this statement. The request from myself, and I believe Mal1ti1a is to have the name of the user that executed the .timeout or .ban command placed as the ban-administrator. Certainly this information is known at the time as the user has to be verified to ensure that they can even execute the command. I certainly would not want it to be based on user input from chat.

Ah, I misread the last part of your post.

I read that as someone timing out using your bot (as in the bot sends the timeout on someone’s behalf), while you meant the bot could just log the username. My bad.

1 Like

I’ve been writing a function to unescape the ban/timeout reasons and it looks like the “=” character is not being escaped. It is causing an issue with the IRCv3 tags and the reason won’t be displayed at all on the website.

Example: /timeout username 60 you = banned

= does not need to be escaped per IRC v3 specification. The first = is considered the limit between key and value, the rest are part of the value as-is until you reach a semicolon (starting a new key) or a space (ending tags). Sounds like a bug on the website’s tag parsing.


Thanks for pointing that out @3ventic :smile:

Would love for the web chat GUI to look something like this, to prevent spamming multiple lines:

If reason is not given:

{Username} has been timed out for 10 seconds.

If reason is given:

{Username} has been timed out for 10 seconds, due to: {Reason}

Also would love for the first letter of the usernames to be uppercase.

And also merging multiple timeouts like BTTV does.

1 Like

@moocat We’re hoping that developers send a single timeout. Multiple timeouts are an artifact of a small race condition. I’d recommend sending the /timeout after 50ms if you encounter it, instead of sending multiple timeouts for a single message.

Multiple timeouts are currently being “merged” into a first takes precedence within 2 seconds. We’ll take another stab at this in the short future. I appreciate the feedback regarding multiple lines.

The only reason I’m sending 2 is that BTTV had an issue where instant timeouts often wouldn’t remove the message, as it hadn’t been added to the DOM yet. Seems like that’s been fixed at some point though(?)


I notice it modding many chats that if someone spams avoiding filters in ways when they get timed out sometimes the last message is still seen after the timeout, not in BTTV only too…