Hey everyone! I’m currently creating a spelling game and I’m using an external API to fetch a set amount of random (safe) words. However, I’m sure that Roblox would take the game down as some words appear as swear words or something similar, yet they are not. So that made me think that I should definitely implement a text filter in the game.
Sure, easy enough, I start digging through the API documentation, find out about FilterStringAsync… except there’s a problem. It always requires a UserID. A server doesn’t have one, so I came to the idea that I should put my own ID there… except I found this line in the documentation:
This method currently throws if fromUserId is not online on the current server. We plan to support users who are offline or on a different server in the future.
So my question is if that support is now in effect or are we still waiting on it? The whole documentation could be a lot simpler regarding the implementation of the feature in general, but I digress.
If anything, maybe you guys have another idea of how I could pull this off with maybe another built in service or something completely third.
Update
I have confirmed my theory - you do need a UserID of a player that is in the server. Despite that, the filtering is atrocious. Let me give you a few examples of which words Roblox decided to filter out, which actually surprised me:
polarizer, rustiness, thurible, cloyed, ixtle, schmooze, dyadics
And many more that are simply not filter worthy. I have no idea what Roblox is thinking, but I’m not that surprised. FilterTextAsync works just fine and I will simply have to throw out all the filtered words despite them being not even close to a swear one.