Simple feedback system [open sourced]



That’s very interesting because I was almost certain that you only had to filter text that other people could see.

#22 Section II, Rule 1 states “Filter all chat and text… Roblox scans all chat communication and player inputted text for the safety of our users and legal compliance reasons, including the Children’s Online Privacy Protection Act (COPPA).”


I’m positive they’re referring to text that shows up in-game, not text that shows up in another place, especially since you should be the only one seeing the unfiltered text, if you’re doing a feedback system.


I am positive of that too. In fact the Developer Documentation even states:

Any displayed text that a developer does not have explicit control over should be filtered. In general, this mainly refers to text that players have control over but there are a few other cases that are important to consider to make sure games are compliant with the Roblox filtering rules.

Feedback as such is not displayed to any user, including the user that typed it. It is collected and saved and never displayed on the platform. On-top of that as long as we are not displaying the feedback to the user in a second session it wouldn’t need to be filtered then either

The one exception to text filtering is when it comes to displaying text to a player that they wrote themselves, although there are still some considerations to keep in mind. […] An important caveat of this exception is when retrieving stored messages.

Taking unfiltered text input and storing it in a datastore, database, or sending it to an external service shouldn’t require filtering so long as we filter any of the text when we retrieve it if and only if we want to display it back to users.


I’m pretty sure you do have to filter text that is taken off-site. Players can type phone numbers / addresses / other personal information.


I completely understand the reasoning here actually. It might be a good idea to update the Developer site to reflect this information so that developers are not blindsided by it thinking they had followed the rules when Roblox has a deeper concern in place.


Yes, that was actually the main concern that many people raised before I began filtering the text. They said although no other players would see the text in the game, that personal information could still be input into it. That’s one of the reasons I began filtering it.


From what I heard you do not need to filter text that only the owner or developers will see. Also, if it’s going to a third party application then the data would need to fit their TOS and as discord does not need text ti be filtered I don’t think it needs to be filtered. Maybe roblox wants it to be filtered as a model which is fine.


EchoReaper: The old thread was closed because the model did not use text filtering at the time.

I did have to filter it.


Well at least we can manipulate the code to not filter.


Then that’s up to you, and may get your game taken down. It’s your call whether to risk it or not.


I myself would keep it filtered. But my way of filtering is not sending the feedback if filtered therefore it prevents spams and goes by TOS


I would still send it, as part of the feedback may not be filtered. Say someone wrote a very large nice bit of feedback, then one little part of it gets filtered. The message that they took their time to write doesn’t send. I think it’s better to just send it then not.


Alternatively, since you don’t need to filter text that is being displayed only to the person entering it you could display to them the text that they have entered as well as a filtered confirmation so that they can choose to edit their feedback before submitting it.

“Here’s what your feedback looks like” Send/Edit


I like this idea, but can you add in a written tutorial on this post?
I got lost on the webhook url part.


I may do that, but it’ll have to wait till tomorrow. Thanks for the feedback!


just curious (and im not a coder myself so idk) but could you maybe have a repeat that checks every word in the feed back box, and have a pcall that detects bad language, thus blurrying only that word out and leaving the rest?

so basically have the script dis-assemble the sentence, check each word, then put it back together with the bad words censored?


You should not need to filter text not seen by other users.

Same annoyance of the Roblox search function.


The filter makes this pretty much useless.

Is there a better way?


There’s a lot of feedback systems out there, but thanks for sharing this resource anyway. I always like me a simple asset to explore, help improve or potentially learn from. As well, I’m sure someone has put your asset to good use.

Replies to certain comments:

@b_irdio Don’t remove the filter, you’ll get your asset taken down. To abide by both Roblox and Discord ToS, you should be filtering text that is sent to third party APIs intended for display, including Discord. There are some things that are not acceptable to display on a Discord chat which also goes for Roblox and sending out requests to third party servers. What you referenced only applies to on-platform, in-game text. This statement is also flawed slightly; you do not need to filter text that is not being displayed to other players. Owner or developer or not, filter rules are still applicable.

@Revelted That could work but it’s a relative anti-pattern towards the filter. Using the whole and complete filter on a string intended for display is fine as it is.

@Blue101black The reason for this has been explained several tens of times over. Site searches are filtered because there are millions and millions of assets on the site and potential for inappropriate content to spawn up. Blocking inappropriate content is a catch-all instead of letting children see it - that which could chain up to parents being aware of what is on their childrens’ screens and raising concerns.

@RuizuKun_Dev I wouldn’t say that the filter makes this useless (in the first place I wouldn’t use a feedback system to Discord), but no there is not “a better way”. In the end, whatever you do, you’re still going to have to end up sending over filtered text.