this was kinda long overdue lol, the existing chat window just really doesn’t fit in with the style that roblox is going for nowadays; but i get preservation of older scripts/ testing would be required so i’m just glad that it’s out now
This is amazing cant wait until it’s released to the public!
I made it support group support
Here is the code if anyone is wondering
--!strict
local TextChatService = game:GetService("TextChatService")
local Players = game:GetService("Players")
local GROUP_ID = 0 -- // Put your group ID here
TextChatService.OnIncomingMessage = function(message: TextChatMessage)
local props = Instance.new("TextChatMessageProperties")
if message.TextSource then
local player = Players:GetPlayerByUserId(message.TextSource.UserId)
if player:GetRankInGroup(GROUP_ID) == 255 then
props.PrefixText = "<font color='#ff0000'>[Owner]</font> " .. "<font color='#ff0000'>" .. message.PrefixText .. "</font>"
elseif player:GetRankInGroup(GROUP_ID) == 1 then
props.PrefixText = "<font color='#ffffff'>[Member]</font> " .. "<font color='#ffffff'>" .. message.PrefixText .. "</font>"
end
end
return props
end
Good job! these fonts are beautiful, now im going to test it tmrw to see if its stable and good and nice enough.
That’s great! it’s now easier to edit the chat. Thank you Roblox!
This is an update that I can’t wait to see used at Group bases.
Pretty cool, glad to see chat is being updated. I have a couple questions/requests though:
1- Should the player’s chat colour be updated, will it update in the chat window? That’s an existing flaw in the current chat system and I’d like to see it addressed if it isn’t already. Same with chat tags, if a player’s chat tag is removed, will it update in all of their existing messages? Also, are there plans to allow colour-changing chat tags? Obviously, one could change the player’s chat colour over time but if there was an actual implementation, I think it would be a very useful and commonly used feature Also, how about allowing a player’s name or message to use a UIGradient without having to fork the chat?
2- Aside from forking the chat modules, is there a way to prevent the player from sending a chat? For example, if they’re playing a game where they have to guess a word, it will not send if they type that word, spoiling it for other users?
3- How about speakers?
4- Are speaker objects removed from the new chat system? How about customizability (eg. roleplay names)? Sometimes display names don’t suffice.
5- What about customizing the default chat (eg theme colour, background colour…)?
6- This is probably a reach but since this is an update to the interface, are there plans to allow developers to implement their own icons for CoreGui buttons? Specifically the chat, menu and “…” icons.
Are these limits modifiable?
Any plans to allow more than one alias? This is a pretty big limit imo considering many developers use more than one alias for a single command. Also, what happens if there are duplicate aliases (one command has the same alias as another)?
I actually really like this update, I can’t wait to see all the future changes I can make to my game!
Glad to see this but can the chat system fallback to the legacy lua chat on live servers as this is beta?
systemd on Roblox
I don’t agree that this is a flaw at all. I made a script before to take advantage of this behaviour by giving moderators of the place it was for the ability to prefix their message to make that specific message itself stand out from the rest for if they have something important to say. However, not every message needs to stand out as such. This behaviour is good and it would be a pain to see tags and name/chat colours locked to the TextSource instead of being custom per message.
Legacy chat I use a fork to add an ImageLabel to a players chat line as a little custom icon before there name. Be nice if this could be supported in this, with the ability to have/keep the text based chat tag at the same time
This is a sweat update! I remember this topic was closed and I wasn’t the first to write my reply
Hey there! Thanks for the questions -
-
These are interesting ideas for deeper customizability, and definitely the type of feedback we’re looking for during this beta. Right now with the default chat UI, each message is associated with an immutable TextChatMessage object - so they won’t change if a future message says something different, and cannot be modified. You could probably achieve this if you made your own chat frontend, but that’s something we’ll brainstorm for the provided chat. I can see the use case in both directions.
-
There isn’t a way to filter specific message currently, but that sounds like a use case we should support
-
The idea of speakers from old chat are represented by “TextSource” objects within TextChannels, and have a CanSend property. We may introduce more customization here.
-
For things like roleplay names, you could modify the PrefixText within an OnIncomingMessage callback
repeat wait() until game.Players.LocalPlayer
game.Players.LocalPlayer:SetAttribute("CustomName", "MyCustomName")
game:GetService("TextChatService").OnIncomingMessage = function(textChatMessage)
if not textChatMessage.TextSource then
return
end
local player = game.Players:GetPlayerByUserId(textChatMessage.TextSource.UserId)
local displayName = player:GetAttribute("CustomName")
local props = Instance.new("TextChatMessageProperties")
props.PrefixText = "["..displayName.."]"
return props
end
-
We have plans to add more customization through the Configuration objects, prioritizing based on the feedback we get from this beta
-
I don’t think we currently intend on exposing an API for this, as a workaround you might be able to make your own chat button and toggle the visibility of chat with the configurations Enabled property
-
Message size limits are currently internal, but I can see some use cases for controlling them. We may consider a constrained property for this.
-
Right now commands can be triggered by a prefix match of either the Primary or Secondary alias (/help, /h). If two commands have the same alias, they should both be fired when a message is received with a matching prefix. This could allow you to add as many aliases as you want to a command, but this does feel a bit hacky.
Appreciate the feedback, please feel free to post if you think of anything else!
Hi so, I’m pretty old. Since this talks about filtering, can we do something about it?
It’s pretty stupid that the filter: a). Doesn’t tell me what’s being filtered so that I can correct it and b). Is enabled for all users regardless of an age. Even when you verify your age.
Before it was the whole “oh btw, kids can change their birthdays”. Ok fine, good point. Now it’s “oh ha, guess we’re going to assume that they can change their government IDs too!”. What is the excuse now? I have to be from Mars? I have to sell my soul to the nearest wizard with a girl with red shoes? Filtering is starting to become an annoyance and is seriously impacting my ability to tolerate this platform and any game in it. In fact, I don’t even go on this platform anymore simply because of this. No other reason. Just this.
I get that we have to be kid friendly but, lock that to kids and let teen / adults be able to get away with a very lenient filter. Unless this happens anytime soon, Roblox is a kid’s platform and no one can tell me otherwise.
If you want to get an older audience or remotely diversify without every adult who doesn’t develop and plays only games feel like a pedophile, I’d love to be treated as an actual adult. I’m sure other adults would love that as well. I’m sure games would love to appeal to more than just kids and teens. I get that we want to built the metaverse and all but, is this the metaverse for kids or the metaverse for all?
Does this new chat system come with chat filters or do we have to add it ourselfs?
The new features seem useful, but I think that the default look of the new chat is far too opaque. I liked the old chat because the transparent background didn’t draw too much attention or block view of the game when it didn’t have to.
Seems like the chat filter’s not working?
Yes I am getting the same issue?
The filter for chat has broke for both legacy and the latest one:
The chat filter does not work in studio
That’s confusing to chat filter a game but not in studio…