TextChatService has virtually no server developer capabilities. The only things we are allowed to do are define ShouldDeliverCallback for TextChannels and edit the configuration instances.
This puts me at odds with creating chat logs for server moderation purposes. I have customer support and moderation teams that are required to see all chats sent in my experience but the lack of server capabilities puts me at odds with offering this. This is especially troublesome when allowing TextChatService to create default channels.
With the Legacy Chat System, I reimplemented the team channel so that any chats would replicate to both players on the same team and to our moderators. This is particularly important so they can see bubble chats (we have the chat window disabled). I’m not entirely sure how to go about doing that while letting TextChatService handle general, system and team chats by default.
Besides that, TextChatService will internally define ShouldDeliverCallback for default channels and silently fails when attempting to redefine them. Salt on the wound is that any event related to receiving messages is strictly client-side only. In this way, I am completely unable to make a chat logger with pure TextChatService API.
The only way I can continue to perform this is through the Player.Chatted
event but it’s unclear if that will remain idiomatic long-term. Roblox has demonstrated that they will be taking a heavy handed approach to locking down the chat backend for safety updates so the API doesn’t completely feel stable to me, nor does it feel like “elaborate RemoteEvents” as a chat engineer once described TextChatService to me.