The discord solution is to hide channels behind a role, put a message in the welcome page with emoji reactions, and run a not to assign the role to anyone who clicks on the emoji. Only downside is that its publicly visible and very jank.
I wish they had a built in way,
& also some way to make channels line bot_commands default to muted