local messagingservice = game:GetService("MessagingService")
local httpserv = game:GetService("HttpService")
function ServerMessageRecieved(DataRecieved)
local textObject
local filteredMessage
local decodedData = httpserv:JSONDecode(DataRecieved.Data)
local textservice = game:GetService("TextService")
local success, errorMessage = pcall(function()
textObject = textservice:FilterStringAsync(decodedData.message, decodedData.id)
end)
if success then
print('Data for filter created')
else
warn(errorMessage)
end
local filtered, err = pcall(function()
filteredMessage = textObject:GetNonChatStringForBroadcastAsync()
end)
if filtered then
print(filteredMessage)
else
warn(err)
end
print(decodedData.sender)
for i3, v3 in pairs(game.Players:GetChildren()) do
wait(.3)
print('No swears. Unfiltered')
local clone = game.ReplicatedStorage:WaitForChild('ChatLabel'):Clone()
clone.Parent = v3:WaitForChild('PlayerGui'):WaitForChild('MessagingService'):WaitForChild('ScrollingFrame')
clone.Text = decodedData.sender..':'..filteredMessage
clone.Name = 'Chatted'
end
end
game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(p, mess)
local messagedata = {
sender = p.Name,
id = p.UserId,
message = mess
}
local encoded = httpserv:JSONEncode(messagedata)
messagingservice:PublishAsync('Chat', encoded)
print('Contacted servers successfully')
end)
messagingservice:SubscribeAsync('Chat', ServerMessageRecieved)
why isnt this filtering the message… it writes the bad word the way it is
I’ve been struggling for very long
Help greatly appreciated
Thanks