local TextService = game:GetService("TextService")
local function GetTextObject(message, fromPlayerId)
local TextObject
local Success, Error = pcall(function()
TextObject = TextService:FilterStringAsync(message, fromPlayerId)
end)
if Success then
return TextObject
else
print("Error generating TextFilterResult:", Error)
end
return false
end
local function GetFilteredMessage(textObject)
local FilteredMessage
local Success, Error = pcall(function()
FilteredMessage = textObject:GetNonChatStringForBroadcastAsync()
end)
if Success then
return FilteredMessage
else
print("Error filtering message:", Error)
end
return false
end
function IDService.Client:ChangeName(player, newDisplayName)
self.Server:ChangeDisplayName(player, newDisplayName)
end
--// Change player display name
function IDService:ChangeDisplayName(player, newDisplayName)
local PlayerData = DataService:Get(player)
local MessageObject = GetTextObject(newDisplayName, player.UserId)
local FilteredName = ""
FilteredName = GetFilteredMessage(MessageObject)
print(FilteredName)
PlayerData.DisplayName = FilteredName
player:SetAttribute("DisplayName", FilteredName)
end
Got code from here Text and Chat Filtering but it ain’t filtering anything
Players can enter their name, cutting off the name, but you can imagine what the rest of the word is