What methods are there to detect when someone chats

I’m trying to make a chat log that detects when people chat, but I heard there was a bypass around game.Players.Chatted and I’m not sure what to do now

How damaging is the bypass, and is it exploit-related? If it just allows people to see chatlogs, there’s not much damage they can do. I have had no issues using player.Chatted in any of my games.

well lets say the message displays in the chat.

you can probably get the text from there using ChildAdded and stuff

I will make one rq

Here I made the script

local plr = game.Players.LocalPlayer

local ChatGui : ScreenGui = plr.PlayerGui:WaitForChild("Chat")
local Scroller : ScrollingFrame = ChatGui.Frame.ChatChannelParentFrame.Frame_MessageLogDisplay.Scroller

Scroller.ChildAdded:Connect(function(Frame)
	if Frame:IsA("Frame") then
		local TextLabel : TextLabel = Frame.TextLabel
		local TextButton : TextButton = TextLabel:FindFirstChildWhichIsA("TextButton")
		
		if TextButton then
			local Data = {
				Chatter = string.sub(string.sub(TextButton.Text,2),1,-3),
				Message = string.gsub(string.gsub(TextLabel.Text, "%s+$", ""), "^%s+", ""),
				Time = os.date("%c")
			}
			
			print(Data)
		end
	end
end)

image

That’s just example of what you can do
(Also there are some cons to it)

1 Like

yes it’s exploit related I also need to be able to see users whispers and /c system but If they can bypass it with a simple script

Well if .Chatted doesn’t pick it up… was it really said? I can’t see any way that a chat message will effect something if the .Chatted event doesn’t fire. You can probably just pretend it doesn’t exist anyways.

If you really need something else though there isn’t really anything. The best you could do is make your own chat system.

Also, player.Chatted detects all chats, including whispers and emotes.

1 Like

Ive seen it done and someone showcased it to me so I have no idea how

game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.OnMessageDoneFiltering.OnClientEvent:Connect(function(D)
	print(D)
end)
-- Local Script
1 Like