Ok so the way it works is that blah blah blah you know…how about I show you
video of me and my alt when my alt say anything scam related
if you thing my alt just typed that here are the chat logs
now for the scripting stuff B)
NOTE: LEAVE THE SCRIPT INSIDE WORKSPACE
- do this and name the scripts the same
first the “ChatModuleAdder” script
local CSR = game.Chat:WaitForChild("ChatServiceRunner")
CSR.Disabled = true
for _,v in pairs(script:GetChildren()) do
v.Parent = game.Chat:WaitForChild("ChatModules")
end
CSR.Disabled = false --ChatServiceRunner is now restarted and will load all added modules
script:Destroy() --the script has after this no purpose anymore
now for the “AntiBotModule” script
local WordsThatTheBotProbablyWillSayWhenHeComesToSpamYourGame = {"robux", " r$ ", "!" ,".", " using ", "free", "check ", " go ", "browser", "visit", " instantly", "roux", "dot com"}
local ReplaceMessage = "Im a bot thats trying to scam and now I got kicked " --Feel free to modify :D
local function ScanForWords(msg)
local count = 0
for _,v in pairs(WordsThatTheBotProbablyWillSayWhenHeComesToSpamYourGame) do --loops through the list of words
if(string.find(msg,v) ~= nil) then --matches words with the message
count = count + 1 --if true, the total count will be increased with 1
end
end
if (count > 3) then --when the message matches 4 of the words in the words list, change is huge that this is a bot
return true
end
return false --if not a bot, the function returns false and no one gets hurt
end
local function Run(ChatService)
local function FilterRobuxWord(sender, messageObject, channelName)
if(ScanForWords(string.lower(messageObject.Message))) then
messageObject.Message = ReplaceMessage
game.Players:FindFirstChild(sender):Kick()
end
end
ChatService:RegisterFilterMessageFunction("makeLowercase", FilterRobuxWord)
end
return Run
If you are to lazy and want to just use the model here is the link
https://www.roblox.com/library/6941421351/anti-scam-chat-filter
Edit: also yes I know I suck at explaining things lol