LegacyChat ported to TextChatService

DisplayBubble is the alternative, but I did not consider the legacy bubble chat when porting it…
If you change the settings to get the old bubble chat, and use Chat:Chat() (and I mean Chat = Game:GetService("Chat"), it works, but the new bubble chat overlaps it for some reason?

Or you can manually trigger this function, in this module
image

Or you can wait for me to implement it in the port, for the next version, probably as a Chat:ChatLegacyBubble() or some name like that

2 Likes

Is there any way, using this port, I can prevent the new chat filtering so much?
Also there seems to be a delay when I chat, why is this?

Sadly no, it uses the same filterer as TextChatService (probably?)

The delay is probably because messages have to do the client → server round trip twice. Using TextChatService’s API, it is impossible to either intercept sent messages on the server (other than the ShouldDeliverCallback maybe), and it is also impossible to use :SendAsync() from the server. So to get the LegacyChat backend working, what I did was, message is sent to the LegacyChat backend, processed (but no filtering step), then sent back to the sender client (and other clients for the placeholder effect), and the sender client then calls :SendAsync() and there I assume it is sent back to the server (internally) to be filtered and sent to every player

Yeah it’s stupid

1 Like

V1.5 is now safe to use, and was published to the creator store. Fixed an issue with the beta version, where the ContextActionService binding (for openeing the chat) was not being binded unless chat settings for the keybinds were modified

1 Like

everyone uses this now (bus simulator is using it)
because roblox just forced legacychatservice to load the textchatservice