TextChatService disguised as Legacy Chat

very bad showcase image

Installation at the bottom.

:wave: Hiya!
I immediately went to work on a way to have the feel of the old chat on the somewhat new TextChatService whenever news came out that the old Legacy Chat was getting removed.


Features

  • Works with the old way of making System Messages, Chat Tags, Name Colours and Chat Colours
  • i think that's the whole reason why i made it anyway

Things to work on View on GitHub

Working on right now View on GitHub


:bug: Please tell me if you find any bugs, or want anything to get added.
It might take me a while to respond.

If I take too long, I recommend you to try out this lad’s resource instead.
He made something very similar to what I did, scripted better, but with less features, at the same time as I was making this!


Get it on GitHub|100

This project uses Rojo to help push it over to GitHub.
Icons made by cxmeel, which can be viewed here

Installation

Get RBLXfile.rbxm from a release and insert it!

If you have one, you can replace the default ChatSettings module with your own.
If you do that, comment out the ChatConstants lines.

You can add client and server commands you might have had in the Legacy Chat in their folders:
image

Note that not everything is supported yet. If you get an error with anything, it’s probably not supported.


Only channels you have added with the ChatService module will work with this.
Look here to see how to do that.

This does not use the default channels created by Roblox, it creates an All channel and System channel.

In fact, you should uncheck these two properties in TextChatService or else Roblox might sometimes override the All channel with RBXGeneral and it will not work.
image

It should work with custom TextChatCommands as it is sending with TextChatService.

16 Likes

Can you explain in more detail what is meant by disguised as legacy chat? Is it just how the chat looks or can you use legacy chat tags as well?

1 Like

Sure. The title is quite bad, sorry about that! :joy:

Both, yes. I’m trying to make old methods work on the new chat.

I don’t really recommend to use this system in real games yet, as I kind of rushed to release this, and it’s a bit glitchy. I’m working on fixing issues.

Chat Tags are bug-free though!
They are tested to work with this script:

local Players = game:GetService("Players")
local ChatService = require(game.ServerScriptService:WaitForChild("ChatServiceRunner"):WaitForChild("ChatService"))

local channels = {}
for i=1, 10 do
	local channel = ChatService:AddChannel("test" .. i)
	table.insert(channels, channel)
end

ChatService.SpeakerAdded:Connect(function(username)
	--get speaker and player from username
	local speaker = ChatService:GetSpeaker(username) 
	local player = Players:FindFirstChild(username) 

	local tags = {} --create the tags table
	table.insert(tags, {TagText = "VIP", TagColor = Color3.fromRGB(255, 255, 0)})
	table.insert(tags, {TagText = "role"})
	
	speaker:SetExtraData("Tags", tags) --setting the tags after they're loaded and configured
	--speaker:SetExtraData("ChatColor", Color3.fromRGB(0, 0, 0))
	
	for i,channel in pairs(channels) do
		speaker:JoinChannel(channel.Name)
	end
end)

Sorry for not adding any images/videos! Might make some soon.

1 Like

Poor LegacyChat , i was scared until you found a way to revive it :sob:
Yesterday , i’ve downloaded the model of LegacyChat simulaTOR

1 Like

Nice! If you find bugs, please let me know. I’m already working on fixing some.