TextChannel:SendInternalAsync(): Differentiate consented and scripted chat messages

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?)

14 Likes

Yeah it’s true. They made another exploit and i got terminated. I currently submitted an appeal with some proof that the game was really infected and I hope i get my account reinstated soon. I’ll keep you guys updated.

They likely didn’t read the post

This would mean messages made by a player and sent through a custom chat (which would use scripts) would not be moderated, allowing players to say things without being moderated, no?

Rather than not moderate them, the moderator should simply be aware that there is a chance a script-sent message is not real, and judge accordingly.

This is fixable if Roblox implements per game bans, I made a post about this a while back:

1 Like

You’re right, this would impact custom chat systems, including ones that use TextChatService.

I believe that the benefit of people not being afraid to join random games and getting terminated outweighs people not getting moderated for what they say in games with custom chat systems. If people talk inappropriately in one game, they probably talk inappropriately in all games. Moderation will catch up to the eventually.

1 Like