This is a yielding function. When called, it will pause the Lua thread that called the function until a result is ready to be returned, without interrupting other scripts.
The FilterStringAsync function filters a string being received from a user, using the
TextService, and returns a
TextFilterResult which can be used to distribute the correctly filtered text accordingly.
This method should be called once each time a user submits a message. Do not cache the results of this function and re-use them for separate messages. If a user submits the same text multiple times this method must be called again each time the message is sent. If the results are cached and reused spam detection and many forms of context-aware filtering will be broken and potentially put user safety at risk. Games that improperly use cached results may face moderation.
However, it is encouraged to keep these result objects to display the same message to users who join the server later. For example: this can be used to safely and efficiently implement a server chat log that always uses the least restrictive filtering for users who join later, or for efficiently displaying text like a pet name to a user who joins the game after the pet was first spawned and name filtered.
Enum/TextFilterContext parameter will not impact the filtered result of the query. This value will be used to improve Roblox’s text filtering.
Private text is anything that is seen only by specific players, rather than every player. For example, if the chat is seen by a single player, or by a selected group of players, then the chat is considered private. Chat for teams or chat that is potentially visible to a wider group, such as the server, is considered public. If you are unsure what your text qualifies as, leave the optional field blank.
- This method always yields to make a text filtering service call
- This method may throw if there is a service error that can not be resolved. If this function throws an error please do not retry the request; this method implements it’s own retry logic internally. If this method fails do not display the text to any user.
- 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.
The text to be filtered.
The userId of the player filtering the text.
The context that the filtered message will be used in. The default is PrivateChat.
Can be used to distribute the correctly filtered text accordingly.