jpgohlke / twitch-chat-filter

58 stars 37 forks source link

Compatibility with Twitch ReChat (VOD) #163

Open Erassus opened 9 years ago

Erassus commented 9 years ago

ReChat adds recorded chat messages to VODs (video on demand) on Twitch. But i can't manage the both forks to work at same time.

I asked to the author of the https://github.com/pencil/rechat [ https://www.rechat.org/ ] and the response is: The chat filter extension would have to be adjusted to support ReChat.

Is there a way to handle both scripts?

This would very useful for recaption HD highlights videos with chat for TPP community.

hugomg commented 9 years ago

What do you mean by doesn't work? Please give a more detailed explanation of whats going on and how to reproduce the problem. What video URL were you trying to watch? I'm not even sure Rechat still has the original TPP chat because their website says they only keep the logs for a week...

Anyway, right now the chat filter works by overwriting an internal method in Twitch's live chat object. This lets us rewrite and filter messages before they get sent to the chat UI in the first place, as well as check some additional message metadata thats not usually displayed. The first point lets us rewrite the messaegs while they are still just raw strings, before they get converted to HTML. The second point was important for performance and to keep scrolling sane - in the first version of the script we would filter messages after they got added to the window and what would happen is that out of the 300 messages that can appear in the chat window at a time you would only see around 10 the remaining 290 messages having been hidden by the filter but still taking up space in the chat buffer. The 10 messages you got to see would also last for a very short amount of time, being pushed out of the buffer by the stream of hidden messages. The metadata thing is mostly useful for checking for admin messages talking about bans or slowmode so it shouldn't matter much in rechat's case.

What this all means is that TCF right now is only coded to work on the live chat and completely ignores what Rechat seems to be doing, which is load chat logs from a 3rd party website and replay them in a replica of the twitch chat window. (btw, I'm not even sure if TCF even tries to load on a VOD page). I guess that if we really wanted we might be able to make TCF somewhat compatible with rechat but it would not be trivial and certainly we wouldn't be able to get every feature to work exactly as it does right now. I would suspect that other chat filter scripts might be more easily modifiable - as I mentioned, the very first version of TCF (and other similar scripts that existed at the time) worked by hiding messages after they got added to the chat window and that should be much easier to adapt to Rechat than what TCF does.

Erassus commented 9 years ago

Thanks for the response. So this mean the first version of TCF can be modifiable to work with ReChat at same time in the past broadcast, anyways the only filter needed is the inputs commands in the chat, perhaps others filters can easily adapted to them, but TCF it's a unique filter for TPP.

Sorry if can't explain with more details, english is not my native language, anyways the only suggestion is TCF can work with ReChat in past video broadcasts. I will reply if can manage them.