Goal: Force a specific Player to a private channel.
I want to remove the player from the default “All” channel, but when using LeaveChannel, an error returns, saying “All” does not exist. When I print ChatService:GetChannels(), guess what prints? “All”. Doing this in a while true loop always returns “All”.
It seems like Roblox does not want us to remove the System/All channels, since doing so (I’ve tried forcefully doing this) will result in a bunch of errors (the chat module expects the player to be in the default chat channel for the first couple seconds after joining, but is telling us this in a very roundabout way. I ended up waiting a couple seconds for the player to be dealt with, and repeatedly forcing the player into having the private channel as their main.
As for aesthetics, would it still be possible to achieve something like this:
I couldn’t find am image for this, but a message should print saying “You have been moved to a new chat channel!” and from that point onwards, all messages the player sends will be limited to that channel.
The whisper-like/slash-team-like channel indicator is very annoying to work with, and not something I’d desire to be shown to the player in this circumstance.
Is there any way to get rid of this?