I don’t think you should give this script publicly available to everyone since this topic is accessible to everyone even when not logged in
You should report it to roblox and not show it even more people-
This could be a big concern
I don’t think you should give this script publicly available to everyone since this topic is accessible to everyone even when not logged in
You should report it to roblox and not show it even more people-
This could be a big concern
run the text through the text filter, then kick them or don’t send the message if it gets filtered
I’ll make a bug report with the information we have soon enough if staff doesn’t see this post
A simple google search will give you the same scripts, theres no reason to hide it on here.
This could be moved over to a private messages maybe
Not saying because its publicly accessible but so that the discussion can continue if the post gets taken down which will probably happen soon
I have already tried reporting exploits/bypasses to Roblox. They are incredibly slow to act on them if at all. The “Solara” executor mentioned in the OP has remained unpatched for half a year now. They need to start acting on this stuff immediately or expand their chat filter with some kind of OCR because right now it’s incredibly easy to bypass and say practically anything with exploits
the problem is figuring out if this even counts as a bug, i’d assume this can(???) be done without exploits
this issue is just sad because they want everyone to swap to TextChatService
If you’re referring to “I’m gonna touch you”, this kind of behavior is unfortunately wide-spread. I’ve seen it in YouTube comments, Team Fortress 2, and even the innocent games, like Work At A Pizza Place. It’s just awful, truly.
No, not that. They basically say exactly what he said in that message.
You should not use kick, expecially with how advanced exploiter are nowadays, kick function even if called on the server side return a function called on the client and then can be nil returned. So whatever the kind of system you might use. I would recommend using a banned word table and adding the following.
Solution for this:
Kick and wait 2 seconds.
if game.Players:FindFirstChild(player.Name) then
player:Destroy()
end
Regards MagicLuau
It’s a server script, nothing can be done. Stop trying to correct things you don’t have knowledge on, please.
I can’t upload more due to amount of stuff I have to censor. Keep in mind it’s an “All Ages” game, this is not acceptable at all.
Heya! Here I made a comprehensive code that detects if a user tries to send a bypassed chat message. It should work for every separator characters that does the bypassing stuff.
It also warns the user before kicking them. So no false kicks
--> Services
local TextService = game:GetService("TextService")
local Players = game:GetService("Players")
--> User warnings
local UserWarnings = {}
--> Create a simple character size library thing
local CharacterSizeLib = {
Cache = {}
}
function CharacterSizeLib:GetSize(code : number)
if self.Cache[code] then
return self.Cache[code]
end
local param = Instance.new("GetTextBoundsParams")
param.Size = 50
param.Text = utf8.char(code)
self.Cache[code] = TextService:GetTextBoundsAsync(param)
return self.Cache[code]
end
function IsTextReallyFiltered(TextToScan : string, UserId : number) : "safe" | "attempted"
local CleanTextToScan = ""
local work = pcall(function()
for _,Char in utf8.codes(TextToScan) do
local CharSize = CharacterSizeLib:GetSize(Char)
if CharSize.X > 2 then
CleanTextToScan ..= utf8.char(Char)
end
end
end)
if not work then
return "safe"
end
--> Something's sus about this text so we gotta try to filter it again but without those invisible characters
if TextToScan ~= CleanTextToScan then
local work,result : TextFilterResult = pcall(function()
return TextService:FilterStringAsync(CleanTextToScan,UserId,Enum.TextFilterContext.PublicChat)
end)
if work and result:GetNonChatStringForBroadcastAsync() ~= CleanTextToScan then
return "attempted"
else
return "safe"
end
else
return "safe"
end
end
local TextChatService = game:GetService('TextChatService')
local General : TextChannel = TextChatService:WaitForChild('TextChannels'):WaitForChild("RBXGeneral")
General.ShouldDeliverCallback = function(message : TextChatMessage, textSource : TextSource)
local UserId = message.TextSource.UserId
if IsTextReallyFiltered(message.Text,UserId) == "attempted" then
--> Warn user
UserWarnings[UserId] = (UserWarnings[UserId] or 0) + 1
-- Your warn notification code thing here
--> Kick player if they kept repeating it
if UserWarnings[UserId] >= 5 then
local Player = Players:GetPlayerByUserId(UserId)
if Player then
Player:Kick("No bypassed bad words please 🙏")
end
end
return nil
end
end
Players.PlayerRemoving:Connect(function(Player)
UserWarnings[Player.UserId] = nil
end)
Spoiler I haven’t tested this code yet.
I hope this helps while Robox is still tinkering with their “child safety” features
@be_nj Could we maybe get some eyes on this (referring to OP, not the reply)? Shouldn’t be too hard to patch out. Let me know if you need me to file a bug report for better tracking.
I can confirm relevant teams are already aware and are working to address
Yea this has been a issue for a while
It works with most words it seems like which is a big concern
it shouldn’t be this easy to bypass the filter
I’m sorry, WITH ONE ARROW? Do they even filter custom names?
They do
They didn’t in the past but they are now filtering those names aswell since a few months
Honestly that’s dumb since only you can see them, but still, that’s such a stupid bypass, ONE > SYMBOL!?
At this point, they should filter the strings WITHOUT special symbols.