Fantastic update! I have been using the new chat system and prefer it by a long shot to the old one. More features will come soon for TextChatService like they said. Thank you Roblox.
add a button that lets you
Migrate all of your games without needed to edit them, best for anyone that has too many games
why just not automatically force it instead of moderating
Roblox is committed to preserving these legacy experiences. For transparency, one avenue we are researching is the impact of having methods that custom chats rely on such as TextFilterResult:GetChatForUserAsync return an empty result. Most custom chats at this time are likely using either TextFilterResult:GetChatForUserAsync or Chat:FilterStringAsync and the validity of the use cases these APIs provided will have diminished after April 30th, 2025.
Doesn’t look like it.
There are apis for ChatTranslations, and I found out after noticing chat translation worked in the LegacyChat (it just has to be enabled)
Here is the code from the LegacyChat: (Inside ChatService, under ChatServiceRunner)
--// Return values: bool filterSuccess, bool resultIsFilterObject, variant result
function methods:InternalApplyRobloxFilterAndTranslate(speakerName, listOfTargetLanguages, message, textFilterContext)
local alwaysRunFilter = false
local runFilter = RunService:IsServer() and not RunService:IsStudio()
if (alwaysRunFilter or runFilter) then
local fromSpeaker = self:GetSpeaker(speakerName)
if fromSpeaker == nil then
return false, nil, nil
end
local fromPlayerObj = fromSpeaker:GetPlayer()
if fromPlayerObj == nil then
return true, false, message
end
if allSpaces(message) then
return true, false, message
end
local success, filterResult = pcall(function()
local ts = game:GetService("TextService")
local result = ts:FilterAndTranslateStringAsync(message, fromPlayerObj.UserId, listOfTargetLanguages, textFilterContext)
return result
end)
if (success) then
return true, true, filterResult
else
warn("Error filtering and translating message", message, filterResult)
self:InternalNotifyFilterIssue()
return false, nil, nil
end
end
task.wait()
return true, false, message
end
I have tried playing with this api, but it seems to work in an odd way, and I just noticed this…
(It does work right now still)
Yes, but TextFilterResult is clearly going to not allow for chat filtering in some way. Or maybe not, but this announcement was horribly timed and should’ve had more thought put in before it was pushed to developers. And hell its horrible timing, and little thought is just proven by the fact this announcement was posted under the Roblox account.
To be honest that change is not needed at all, People forked the legacy chat or used it by preference and for some purposes and also because it runs better than TextChatService
At least not force devs to switch because they can still use the new API to respect the regulations instead of directly removing Legacy Chat and Forks entirely
hey I was using betterchat+ in my game
Wait, so you’re telling us we need to migrate to a new API that doesn’t even exist yet? And that all forms of user communication must go through this currently nonexistent API or we’ll get axed?
You’ve all lost it.
Because they can’t, a custom chat system could go directly through remotes without ever touching their API. It would have to be rewritten manually.
They’re just forcing us to always use their API so they can listen in and moderate everything.
DONT FORCE THIS
This will completely DESTROY my game as it ABSOLUTELY RELIES on custom chats!
Please think of an alternative way to do this!
such as using a service for checking parental settings
so i have to go to all of my games and migrate or else i might get banned
What about players who have starter places and play exclusively on mobile, without access to a computer (i.e. without being able to access the Studio)?
Will they simply suffer from moderation because they don’t have a computer?
This is ABSURD.
EDIT: As Reapimus said, only games with modified versions of the legacy chat may not go through automigration. Thanks for the clarification.
What if a user contains private placeslots with no access to other players? Not having been updated, edited nor played in years.
Will the developers be forced to delete their old chat code? I’m wondering how this enforcement will actually go.
Roblox try not to make the worst updates known to man (impossible)
- Legacy chat system will be removed by April 30th, 2025.
i loved this style
EDIT: still love the style.
roblox creates starter places for everyone, but not everyone has access to a computer.
unfair.
EDIT: As Reapimus said, only games with modified versions of the legacy chat may not go through automigration. Thanks for the clarification.
are they purposefully trying to wipe off users so that their trash servers can finally handle it or what
Please rethink this. There must be an easier solution. Maybe just fix and keep maintaining the legacy chat service? I hope if enough complain this could end up getting U turned like that time they announced a controversial policy change over use of catalog assets in games.
I hope this was not triggered by bad press or a recent lawsuit.
my account is gonna get deleted for forgetting to migrate to that service in some random baseplate game