By settting CreateDefaultTextChannels to false, when players join they will no longer have any valid TextChannels to send to so naturally they will be unable to send or recieve messages. Re-enable CreateDefaultTextChannels to fix players being unable to chat.
A solution I have just tried seems to work. When the client recieves a message, it will check its metadata (all system messages with the “You are now on the ‘XY’ team” have the same metadata), and modify its contents to a single whitespace. This causes it to not be displayed.
LocalScript (make sure this doesn’t conflict with any code elsewhere which also uses TextChatService.OnIncomingMessage)
game:GetService("TextChatService").OnIncomingMessage = function(Message)
if Message.Metadata == "Roblox.Team.Success.NowInTeam" then
local TextChatMessageProperties = Instance.new("TextChatMessageProperties")
TextChatMessageProperties.Text = " "
return TextChatMessageProperties
end
end