As a developer and player on Roblox, I’m worried about player safety. By now, you have surely heard about the Crosswoods Incidents, and related stories of it. People can get banned for something a script made them say in game. This method will serve as a way to differentiate what scripts make you say and what you have actually chatted willingly.
TextChannel:SendInternalAsync(message: string, metadata: string, manual: boolean)
Used internally to tell the server that a TextChatMessage will be sent to this channel.
RobloxScriptSecurity Client
TextChannel:SendAsync()
Sends a TextChatMessage to the server.
Client
TextChannel:SendInternalAsync()
would be used by CoreScripts to tell the server that a message is being sent. Along with the metadata of the message, a boolean will also be passed. If true
, this message was sent by a player willingly. Otherwise, it was sent by a script. Messages that are sent by a script are not subject to moderation but are still subject to the chat filter.
Internally, this method would replace the usage of TextChannel:SendAsync()
, where the boolean will always be true
. The old method will call the internal method, where the boolean passed will be false
.
Recap
Developers will continue to use TextChannel:SendAsync()
to get the player to say something, while Roblox will use TextChannel:SendInternalAsync()
. Direct internal usage in CoreScripts will be guaranteed to be sent by a player, and the server will know this. Messages sent by scripts will not be subject to moderation, but they will continue to be filtered as usual. This differentiation will solve the Crosswoods concerns, making Roblox more reliable platform to be on.
Sources:
https://devforum.roblox.com/t/roblox-crosswoods-is-back/3299577/
https://devforum.roblox.com/t/roblox-crosswoods-situation-discussion/3111345/
Roblox Finally Did It… (THANK YOU)
I Got Banned on Roblox for Child Exploitation…
The “Free” UGC Limited troll that deletes your roblox account… (MUCH WORSE Than Crosswoods?)