With the nature of how modular core chat is, I’m finding it difficult to locate where messages are sent so I can block certain things found in messages from being sent. I know how to do it; just where to do it I’m unsure of, like which module (if it’s a module), etc.
I was told there’s great documentation on core chat, but I can’t find it on the developer site. Maybe I’m using the wrong keywords?
If you are looking to apply your own filtering before what Roblox already does, there is a method of the ChatService called RegisterFilterMessageFunction. This allows you to modify messages and I believe this exists pre-filter. This is in the Chat Service documentation under Filter Functions and ironically it’s also the hub of the great documentation you seem to have missed.
If I recall correctly, the server does not use filtered strings. It holds a copy of filtered strings only for the sake of display to clients. The server is permitted to hold unfiltered strings. Therefore, you can realistically check what a player sends at any time without the filter applied.
If you want to redact your own keywords from being sent, a filter function is what you want. If you want to completely block a message from being sent, use a command module with a word whitelist. If the whitelist is triggered, process the message by returning true but make sure to inform the user that their message wasn’t sent in order to prevent complaints about a potentially bugged chat system.