thank you, I have tried to adapt this code to what I need and to see what variables there are this came out of it
adjusted script
local ServerScriptService = game:GetService("ServerScriptService")
local ChatService = require(ServerScriptService:WaitForChild("ChatServiceRunner").ChatService)
local http = game:GetService("HttpService")
local function speakerAdded(speakerName)
local speaker = ChatService:GetSpeaker(speakerName)
speaker.SaidMessage:Connect(function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z)
local alpha = {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}
local alpha = http:JSONEncode(alpha)
print(alpha)
end)
end
ChatService.SpeakerAdded:Connect(speakerAdded)
for _, speaker in ipairs(ChatService:GetSpeakerList()) do``
speakerAdded(speaker)
end
the output it gave was:
[{"ExtraData":{"Tags":[],"NameColor":null},"IsFiltered":true,"ID":1,"FromSpeaker":"boeljoet","MessageType":"Message","Time":1601884681,"IsFilterResult":true,"MessageLength":27,"OriginalChannel":"All","SpeakerUserId":55017578,"FilterResult":null},"All"]
sadly not the content of the message
also tried this code to see what events are triggered for the chat
adjusted script
local DefaultChatSystemChatEvents = game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents
local http = game:GetService("HttpService")
function lissener2 (lissener,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z)
local alpha = {lissener,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}
local alpha = http:JSONEncode(alpha)
print(alpha)
end
function ChannelNameColorUpdated(...)
lissener = "ChannelNameColorUpdated"
lissener2(lissener,...)
end
DefaultChatSystemChatEvents.ChannelNameColorUpdated.OnServerEvent:Connect(ChannelNameColorUpdated)
function OnChannelJoined(...)
lissener = "OnChannelJoined"
lissener2(lissener,...)
end
DefaultChatSystemChatEvents.OnChannelJoined.OnServerEvent:Connect(OnChannelJoined)
function OnChannelLeft(...)
lissener = "OnChannelLeft"
lissener2(lissener,...)
end
DefaultChatSystemChatEvents.OnChannelLeft.OnServerEvent:Connect(OnChannelLeft)
function OnMainChannelSet(...)
lissener = "OnMainChannelSet"
lissener2(lissener,...)
end
DefaultChatSystemChatEvents.OnMainChannelSet.OnServerEvent:Connect(OnMainChannelSet)
function OnMessageDoneFiltering(...)
lissener = "OnMessageDoneFiltering"
lissener2(lissener,...)
end
DefaultChatSystemChatEvents.OnMessageDoneFiltering.OnServerEvent:Connect(OnMessageDoneFiltering)
function OnMuted(...)
lissener = "OnMuted"
lissener2(lissener,...)
end
DefaultChatSystemChatEvents.OnMuted.OnServerEvent:Connect(OnMuted)
function OnNewMessage(...)
lissener = "OnNewMessage"
lissener2(lissener,...)
end
DefaultChatSystemChatEvents.OnNewMessage.OnServerEvent:Connect(OnNewMessage)
function OnNewSystemMessage(...)
lissener = "OnNewSystemMessage"
lissener2(lissener,...)
end
DefaultChatSystemChatEvents.OnNewSystemMessage.OnServerEvent:Connect(OnNewSystemMessage)
function OnUnmuted(...)
lissener = "OnUnmuted"
lissener2(lissener,...)
end
DefaultChatSystemChatEvents.OnUnmuted.OnServerEvent:Connect(OnUnmuted)
function SayMessageRequest(...)
lissener = "SayMessageRequest"
lissener2(lissener,...)
end
DefaultChatSystemChatEvents.SayMessageRequest.OnServerEvent:Connect(SayMessageRequest)
function SetBlockedUserIdsRequest(...)
lissener = "SetBlockedUserIdsRequest"
lissener2(lissener,...)
end
DefaultChatSystemChatEvents.SetBlockedUserIdsRequest.OnServerEvent:Connect(SetBlockedUserIdsRequest)
output
the message either starts with /to or /t and on repeat the “all” changes to player name or /t
however:
as you can see, no sender(and also not filtered, but that can be added)