"TextChatService is not enabled" error occurs when calling AddUserAsync even though ChatVersion is set to TextChatService

I’m working on a recreation of the legacy chat system interface that uses TextChatService. In the process of trying to create a TextChannel for a whisper, I found that the AddUserAsync call always fails in this scenario with the following error:

System Information: AMD Ryzeb 7 3600X 8-Core Processor, 32 GB, AMD Radeon RX 6700 XT
Enabled Beta Features: Dragger QoL Improvements, Face Capture, Live Animation Creator, Updated Roblox Controls
Legacy chat rewrite.rbxl (118.3 KB)

Expected behavior

I expect AddUserAsync to add a TextSource to the TextChannel as described in the API documentation.

4 Likes

Update: Immediately found the cause of this error after posting; creating a TextChannel and calling AddUserAsync before parenting it to TextChannels will cause this error. Still leaving the post up as the error message is inaccurate.

4 Likes

This is just an acknowledgment announcement!

We’ve filed a ticket into our internal database for this issue, and we will update you when we have further information!

Thanks for the report!

2 Likes

This is occurring again.

We (THA) wrote and open-sourced Custom Chat UI on top of TextChatService to bypass all issues with the ROBLOX Default that have yet to be patched.

The open-source module is 95% of the code, but now we aren’t even able to use it sometimes. That of which is entirely due to this same error.

Here is the function that is being called:

This is where it’s being called:

Please can you check to see if this bug has been fixed @focia19 - It’s disheartening that even with what was proven to be a working open-source solution, we still can’t escape ROBLOX’s issues.


Context: We found this can happen regardless of when the channel is parented if the calling ModuleScript and called ModuleScript are loaded too closely together. We had to change the loading process of our ModuleScript AssetService to be in the list of Core services, instead of regular services for our game systems.

It seems to be reliant on when things load in for us.

1 Like

Hello, I don’t know if you are all still having this issue, but I found a solution:
for me, I moved the .Parent before everything else:

local whisperChannel = Instance.new("TextChannel")
whisperChannel.Parent = game:GetService("TextChatService").TextChannels
whisperChannel:SetDirectChatRequester(fromPlayer)
whisperChannel:AddUserAsync(toPlayer.UserId)
--whisperChannel.Parent = game:GetService("TextChatService").TextChannels

Hope this helps :3

1 Like

Hello. Are you still experiencing issues with this error message?

If two module scripts are being loaded and called upon (such as via a Start Function that both modules share) on separate tasks, we’ve found that we’ll get the error message because the server hasn’t finished setting up or creating the TextChannel in time.

Would it be possible to get a clearer message for this (i.e. Channel Not Parented to TextChatService)?

1 Like

Hello. This bug has been fixed with a clearer studio message. If you are still experiencing any issues related to this bug please let us know.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.