I’ve been trying for the longest while to remove Roblox chat commands, because my game would suffer a lot if players knew they had the ability to privately chat with others with nobody being able to see what they said, All I really want disabled is /w command and no matter what I’ve tried it keeps coming back up some way or another. I’ve made scripts but those didn’t help, and I’ve even went in the Roblox studio community discord to ask there but nobody could help.
maybe you can try manually deleting it? im not very familiar with the chat system, but make your own command for /w that just send the raw message, including the /w to chat (ofc use filterservice and all that so its not against TOS)
Yeah I tried that but roblox still overrides that
If there is no function for this, your best bet is to test the game, copy the chatmodule in explorer, paste it back where it was when you tested, then edit it out yourself. Roblox will recognize that the module already exists and will use your version.
They changed how this works since I last did this or I did it wrong, but through testing ive written this little script that works pretty easily.
local whisperCmd = game.TextChatService:WaitForChild("TextChatCommands").RBXWhisperCommand
whisperCmd.Enabled, whisperCmd.AutocompleteVisible = false, false
Tried this too but Roblox still forces it somehow
Did you check the properties of the command after you tested? For me it updated
Well the commands disable but it still works I checked and the commands disabled and even when I enable it the command are but set to enbaled false but roblox still finds a way overwrite that
You can leave CreateDefaultCommands enabled and put this script in ServerScriptService:
local TextChatService = game:GetService("TextChatService")
local commands = TextChatService:WaitForChild("TextChatCommands")
local whisper = commands:WaitForChild("RBXWhisperCommand")
whisper:Destroy()
This will completely remove the whisper command
The crazy thing is I used this and it says it doesn’t exist but when I hop in the game with my friend it still forces whisper
This is a bit complicated considering you probably don’t want something hackable.
Easy way would be to just turn off chat altogether. Totally doable, totally hackable.
Then there is the fact you can chat more ways than just a whisper. Also the new chat system is different and unless they changed something this may not even be possible. You can still do it with the older system Legacy Chat, but I’m thinking that’s going to end up deprecated if it isn’t already. Programs are asking to switch automatically so probably…
This should work for Legacy Chat, with all mentioned considerations; (other than it’s Legacy Chat)
task.wait(3) --ServerScript
local ChatService = require(game:GetService("ServerScriptService")
:WaitForChild("ChatServiceRunner"):WaitForChild("ChatService"))
ChatService.SpeakerAdded:Connect(function(name)
local speaker = ChatService:GetSpeaker(name)
for _, cmd in ipairs({"w","whisper","pm","tell","t","msg","message"}) do
speaker:RegisterCommand(cmd, function() return true end, Enum.ChatCallbackType.Private)
end
end)
You could run the program in the studio, copy the needed files for chat, then hack it out of the script and place the script back and leave it. I’ve seen this in the past, not something I would do.
I find it hard to believe this isn’t possible… doing some research…
Well they even removed the direct chat setting from the studio.
All I could find is what foamycoolkid5 already posted, however that is still only for the whisper.
For now… this looks like the only way.
local TextChatService = game:GetService("TextChatService")
local cmds = TextChatService:WaitForChild("TextChatCommands")
local block = { "w", "whisper", "pm", "tell", "t", "msg", "message" }
for _, name in ipairs(block) do
local cmd = cmds:FindFirstChild(name)
if cmd then cmd:Destroy() end
end
Tested and not working… Tested foamycoolkid5 version also, not working…
It seems like Roblox has gone way out of their way to stop this. Maybe someone else will know more. Good luck!
Ah thanks or the help, the context behind why I want whispering gone is I’m making a cc rpg game an I made a whispering feature that allows other to listen in on what your saying if they get close I also added a text over people who are too far from the people whispering it says [Inaudible] for people too far away, and I just feel like it’ll kill immersion if you can just whisper to people with nobody knowing.
I thought I knew how to do that, but that was the Legacy Chat system. Then it turned into a huge rabbit hole, and I like puzzles like that. There are some things about this that make it seem like Roblox is pushing away from it. When you start talking about hacking some script, like I was, that’s always a red flag. Roblox may still add that (or I just can’t find it), but for now, my answer is.
LocalScript
game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, false)
Now only the hackers can whisper.
This disables the whole chat while it works yeah its not quite what I was looking for