A couple feature requests that would be really handy

The first feature that I’d like to see is the ability for moderators to edit their own and other users’ messages after they’ve been sent.

If you’re claiming that the ability to edit messages will take away from freedom of speech, then explain how that is any different from simply purging the messages of the people in question?

While it would be interesting if you could edit your own messages (and that’s a feature I and many others want to see), it’s not an appropriate use-case to let other users edit someone else’s messages. The primary focus of moderating a channel is to ensure a safe and enjoyable environment for chatters. People should be free to say what they want without fear of content being edited, but allowing mods to edit users’ messages does start down a path of potential corruption of mods doing just that.

For example, I made a bot that would automatically translate any non-english messages to english with the Google Translate API. If I had the ability to edit messages though, I could automatically edit any foreign message to be automatically translated to the default language of the channel instead of effectively doubling the number of messages when translating.

As for positive uses, take for example the translation bot. If only the ability to edit messages was added, you could check a message when it is sent to see if it can be translated, then edit the message to contain the original message as well as a translation. When I was moderating for 14k people at one time, we had many, many, foreign users in chat. So rather than time them all out, which would be alienating an entire group of people, I made a bot that allowed me to see their translated messages to decide if their content was appropriate for chat. However, if the ability to see messages before they are sent was added, you could see the foreign message before it is sent, then translate it en-route so it is posted as a translated message.

I’m not sure if you’ve calculated the costs of translating chat lines, but I already have. At a cost of $20 per million characters translated and a max message length of 500 characters, the worst case scenario is $20 gets you 2000 lines of chat translated to a single language (with multiple destination languages multiplying the number of characters translated). Chat runs at a rate of 300-500 lines per second. If you do the quick math on that, it’s extremely expensive to scale a service like that, so that’d never be a viable use-case for editing other users’ messages. BetterTTV already allows you to double-click on chat lines to translate, which is a far more cost-saving solution to translating foreign text.

The second feature request is similar to the first. It’d be nice to have the ability to pre-screen any messages that are sent to the chat. Meaning, we can see what a user is trying to send, then decide whether or not to let it appear in chat. If we were able to do this, we could stop spam bots before they even have a chance to post, which would stop any disruption in chat. We could also filter out any copy-pastas without having a slew of messages taking up a large portion of the chat. Overall it would be a really useful utility to have when moderating a chat or creating automated systems to do so.

There are no queue-like properties to the pre-screening, essentially what it would do is send the message to a function to get a return value, if the value is returned as false then the message is not sent. If the return value is a string, it sends that message instead, and if there is no return value, it simply sends as written. It’s not as if there are a list of messages waiting to be checked.

Lets be honest here, Twitch would never implement third party pre-screening of messages. It doesn’t make sense for them because it adds more latency to messages, and at the rate of which messages are flowing through their system there’s no sensible way to even create such a system at their scale.

The only type of “pre-screening” I see Twitch ever implementing is some sort of algorithm to drop messages from spamming users. If they implemented this, it would be completely transparent and unbeknownst to us.