New In-Experience Text Chat System Public Release!

That one’s deprecated. The creator @Jumpathy made a new version.

She released it a week or 2 before the original announcement

Please fix the issue described by GammaShock. There’s also this weird thing where OnIncomingMessage is called twice.

local TextChatService = game:GetService("TextChatService");

TextChatService.OnIncomingMessage = function()
	print("Message incoming!")
end

screenshot2

3 Likes

IgnoreGuiInset is on and still?
(But merit is able to close flooded GUI from chat command)

This is called twice because the first call has the TextChatMessageStatus of sending and the next likely has the status as Success

1 Like

I kinda prefer the V1 over the newer version, because it’s minimalistic, intuitive and straightforward. The newer version got much more features, but the UX didn’t really improve with that :sweat_smile:

Whats the point of TextChatMessageProperties?
From what I can tell, you can do either of these:

TextChatService.OnIncomingMessage = function(message: TextChatMessage)
	local props = Instance.new("TextChatMessageProperties")
	
	if message.TextSource then
		local player = Players:GetPlayerByUserId(message.TextSource.UserId)
		
		if player:GetAttribute("isVIP") == true then
			props.PrefixText = "<font color='#F5CD30'>[VIP]</font> " .. message.PrefixText
		end
	end
	
	return props
end
TextChatService.OnIncomingMessage = function(message: TextChatMessage)
	if message.TextSource then
		local player = Players:GetPlayerByUserId(message.TextSource.UserId)
		
		if player:GetAttribute("isVIP") == true then
			message.PrefixText = "<font color='#F5CD30'>[VIP]</font> " .. message.PrefixText
		end
	end
end

To get the same outcome

This is actually a bug! TextChatMessage properties are supposed to be read-only.

4 Likes

Can you make a new post for these reports? I can follow up better there.

I’m not sure if this is true. From what I can see, both use 25, 27, 29 at 0.3 transparency.

Tabs are not implemented in the default UI at this time.

Since the new chat is a CoreGui, it will always appear over developer UI. This is more often expected behavior since the chat keybind will continue to work and take user input even if the chat is hidden behind another layer.

If you wish to momentarily hide the UI, you may use ChatWindowConfiguration.Enabled and ChatInputBarConfiguration.Enabled or StarterGui:SetCoreGuiEnabled instead.

3 Likes

Oh, I always thought it was 31, 33, 35. Maybe I was just thinking of something else.

Edit: Yep, just checked through the coregui and apparently it is. Dang I guess my UI was always slightly off then lmfao

The reason is to align the text to the icon (so when the chat window background becomes transparent, the text would be lined up with the icon).

4 Likes

Can you elaborate what you mean by V1 (did you mean the current chat?) and how the UX did not improve?

Definitely a much improved feature, testing it out right now!

Apologies for the miscommunication, it was a reply on @ValiantWind about a custom chat resource (BetterChat):


The new chat system has a clean UI and a pretty good UX.

One thing I would recommend is to add auto-completions. By autocompleting with built-in commands and usernames, players won’t have difficulties with using these commands.

Nowadays, people seem to struggle often with “/team” and “/whisper”, so it would be helpful to recommend the best input before they send it.

7 Likes

How can we make chat tags with this? And how could we mute people with this?

1 Like

Please check out the previous Studio Beta announcement: New Beta In-Experience Chat System for Channels, Filtering and More! (we actually linked this above a few times in the original post, please read it in detail if you can!) for more usage examples, including implementing chat tags.

1 Like

Also I highly recommend you check out the documentation links for more information, for example the documentation for TextChatService | Roblox Creator Documentation lists out some of the default commands that are created when TextChatService.CreateDefaultCommands is set to true, including mute/unmute commands.

Why can’t I do /e dance? I should be able to

I tried to /e dance and things seemed to be working :wut:

Maybe try again and see if it works now.
If you have more information please file a bug report!

3 Likes

If you meant in Find the Marker’s one, dev banned because of Catzo’s Laugh clip

I already enabled the new system to see if it’s good. I like it so far because admin still works and it matches the rest of the UI. It has a few minor bugs that have already been reported and personally I think the : should be the same color as the name but other than that it’s great! Thanks for releasing it!