Is having a suggestion gui appropriate?

I implemented a gui that lets player suggest things and then when they send a message I can see it on a discord webhook, but I was wonering if it’s appropriate or inappropriate for roblox having one.

I’m not a lawyer and I don’t know anything.

Don’t know what rules apply when exfiltrating communications from Roblox to other platforms (Discord), but you should probably filter it just like any other text comms between Roblox users because you’re a Roblox user and you’re probably not allowed to expose yourself or the people who read suggestions to non-filtered content. If you send and/or store and/or process stuff like the suggesters’ user IDs or user names or other personal information, it’s your responsibility to follow whatever data protection laws and rights such as GDPR are relevant for those users. The standard of complying with those laws and rights by Roblox developers (the hobbyists and children, anyway) is really low so you probably won’t be caught if you don’t comply with those. But the ethical / safe-ish thing to do is to not store any personal information outside of Roblox datastores and only send the text itself of the suggestion, and automatically delete it after say a month or even once you’ve read the suggestion. The less data you have the better, generally. If you need to know what user sent what suggestion for e.g. moderation or reward purposes, store that in Roblox data stores.

If you’re a professional developer with employees and stuff then you should research what requirements there are for you to have data protection officers or w/e they’re called. IIRC if you’re a company of a certain number of employees then different rules apply.

You probably won’t be held responsible no matter what you do though, it’s a wild west out there :cowboy_hat_face:

2 Likes

In short, any user input data that you’re trying to save (whether that be with a DataStore, Webhook, or even just within the same server) must be filtered properly first.

You’ll need to look into Text Filtering.

The filter method that you use will depend on the context of which the text is displayed. Examples include player to player or player to storage.

In this particular case, you’ll want to use GetNonChatStringForBroadcastAsync. It might be helpful to highlight filtered text in red as the player types, that way they can see what words might get censored before they submit it.

this message will only be visible for me, do I still have to add the censor?

yeah but my game has more than 10m visits and 1k ccu :sweat_smile:

Yes, this is for safety and is required by both Roblox’s ToS and US law. This is mainly due to users under 13, but the ToS still applies regardless of age. Without filtering, it would allow users of any age to bypass the filter and give away potentially personal information. Even though that’s unlikely in this case, the possibility of it is the only part that’s relevant.

ok so all I have to do is apply the chat filtering thing to the gui and make it so when users type it will censor, right?

The filter only needs to apply to the string right before it’s sent anywhere (such as a datastore or webhook).

The part I mentioned to censor while typing is only for cosmetic purposes. An example would be having a chat window that highlights blacklisted words in red. It would allow players to see what words are allowed or not before they even send the message, which gives them a chance to edit it. I would recommend highlighting with RichText instead of overwriting the text with the filtered version as it may trigger on incomplete words as they type.

alright, last thing, can you use GetNonChatStringForBroadcastAsync with a local script?

I don’t believe it is, but you can have the server send back the filtered version of the text.

However, this method appears to be poorly implemented as it not only doesn’t appear to censor anything in studio, but it also doesn’t even list that as a function in auto-complete (yet it does “function” and doesn’t error). Definitely make sure to test this before putting it into a live game.

ok so I made something like this, I typed some “bad” words and it censored everything
image
and I also added some rules


It should be good right?

1 Like

yes it is, Clean Up Roblox have one and the game didn’t get banned

I don’t believe a warning like that would be necessary. Also I would have the server verify the integrity of the text so that it doesn’t submit text that is mostly or entirely censored. It would also be good to tell the client/player that things have been censored.

you mean that it is appropriate, right?

Please don’t post misleading information, especially when it may lead to rule violations or legal trouble.

I don’t think it’s really needed because a game with 120m visits has the same thing with rules and when u stop typing it doesnt censor but it only censor when they see the message.

They censor the output before it reaches their datastores or webhooks. As I said before, this is required by law and Roblox’s ToS. You don’t need to censor things as the player types, that’s only to improve their user experience so that they may see that their submission will be censored in some way.

yeah… I do the same too for my gui so I think I should be good, right?

I didn’t mean the warning in the UI. I meant something more like this:

The (fake) phone number would be colored red as it will be censored. This is just a visual way to show to the player that this text will be censored and won’t be viewable. This isn’t needed, I’m only recommending this for user convenience. The only part that’s required is censoring the text before it reaches anywhere else, like your webhook.

oh, i see what you mean, but is it really needed?