How would I change the output of what a player said?

Basically, if a player says a swear word then it should come out as tags. How would I do that? And I know the Roblox filter does that, but I don’t want something completely fine tagging for no reason.

Would I have to say if Player.Chatted == "(swear word)" then, but I would actually have to put a swear word in the script?

You are trying to untag a word?

No, to make a custom filtering system since Roblox’s tags stuff for no reason.

You cannot implement your custom tag system, as it is agaisnt their ToS.
You must use their built-in tag system when having a chat / custom chat.

1 Like

@oofdog4526 This is correct. I forgot to mention this. However, you can always add words using the link Xacima has posted above. Sorry!

I don’t think you can create your own filter system, unless you have a big table of bad words or know how to use HttpService.


You can use TextService:FilterStringAsync or Chat:FilterStringForBroadcast to filter messages. (i dont know which is the best to use)

local TextService = game:GetService('TextService')
local success, message = xpcall(function()
    return TextService:FilterStringAsync(str, userId, Enum.TextFilterContext.PublicChat)
end, warn)

if success then
    print('Filtered message:', message)
end

Player.Chatted is a event, not a value.

1 Like

Making your own filtering system is a bad idea as players can easily bypass your filter. Roblox’s filter is advanced that most bypassing methods get tagged after like a few weeks.