Not exactly sure what category I should’ve put this question, so I chose Art Design since it relates to Custom UI.
With Roblox’s recent shift from the Legacy Chat to TextChatService (even going so far as to force older games to use the new one), I garnered the impression that Roblox really wants developers to use the official service because of moderation, translation, and security concerns.
With that being said, is it okay (from a moderation standpoint) to make my own custom chat system? Ideally, it’d be completely separate from any of the existing chat services. All text would still be filtered to comply with moderation.
The reason I am asking this question is because I do not like the default Roblox chat. It’s quite difficult to stylize it and implement special mechanics because of its inherently limited number of features.
You must use TextChatService for user chat messages. While it isn’t impossible to make your own custom UI with TextChatService, it isn’t super easy. If you like the old appearance, take a look at LegacyChat ported to TextChatService. You will also find a list of other custom chats compatible with the TextChatService API if you scroll down to the " Other resources" section. It is important that whatever you do, you use TextChatService otherwise you risk moderation.
Not quite, Roblox doesn’t want the normal filter to be used for chat messages (and as such, TextFilterResult:GetChatForUserAsync() has been deprecated, and returns an empty string). This also means Chatter, which you’ve linked, probably doesn’t work anymore
Although I don’t know if the even older Chat:FilterStringAsync() still works, but if it does, then it is likely against ToS to use it for chat related filtering
Instead of TextFilterResult:GetChatForUserAsync(), TextChannel:SendAsync() and the related events/callbacks from the TextChatService api have to be used for chat related filtering
If I remember correclty the tos states you must use the built-in chat system for sending messages because of reporting systems and to make sure the developer is using the bultin moderation techniques