I’m currently working on an engine for my current project and one of the tasks I want to set myself is creating a working webhook that will export a person’s username and chat (that was filtered) to an external database where it would be stored so it could be reviewed by moderators and it could be determined whether action needed to be taken or not.
I have a few concerns with a system like this though.
The first would be the very major issue of how the ChatService’s filter is dynamic and censors a vast range of things. Even words like “ok” at times. I don’t want the ChatFilter to detect random words it thinks are inappropriate and then return it to the system which then exports it via webhook as a result. This could result in the webhook being flooded quite easily.
To resolve the idea above, I queried whether creating my own filter that would have a “standardized” set of filtered words which would create a copy of that string, censor it appropriately (to a point where it is adequately censored but allows the word used to still be identified), and then export it via webhook as described before. My only concern with this would be this. Does having a self-created filter in the game (bear in mind the original string would still go through the chat filter as usual and the chat’s filtering process wouldn’t actually be interfered with), pose a risk to having my game moderated as a result.
Any input on the above would be greatly appreciated.
Why do you need to keep track of times the filter was able to accurately filter out words instead of times it didn’t? Not much work around this unless you ignore what Roblox filters and only send the message through a webhook if your filter picks it up.
You must use Roblox filter at all times, no exceptions. You may use your filter on top of Roblox’s one but not your one on it’s own.
There was a survey recently on whether we would like to be able to remove the Roblox filter in favour of our own custom one, however the results weren’t revealed yet.
Just need to point out that filtering is not required if the text is only local (for yourself) such as when typing in textbox or naming things other wont see. But generally any text visible to other clients should be filtered
I am not on my laptop atm but I think (correct me if im wrong) the filterasync function has an argument that lets you filter text baded on age. When filtering names ive been using the highest age so that words lik «ok» etc doesnt get filtered.