Closed marpy closed 3 years ago
Self-mute/deaf cannot be done through the API. This can only by done by the user themselves.
Discord allows server admins and others with the mute permission to mute a user that's equivalent to a self mute.
I'm quite certain this does not exist, there are only two mutes... a server mute, and a "personal mute" for lack of a better word. The latter mutes the person for only the person who muted them
As others have said, this isn't possible. You can't force users to client-side mute themselves. If you need to have a "quiet" channel I suggest restricting the "voice activity" permission from everyone in it so that they may only talk with push to talk. That should have around the same effect as what you are proposing.
You can't self-mute another member through the API.
If you want to mute them yourself as a moderator movement then there's Member.edit
. If you want to self-mute or self-deafen the bot for whatever reason there's Guild.change_voice_state
.
Anything else is not possible via the API.
Thanks @Rapptz, you're right that the API doesn't enable that, I should have checked there first.
The functionality does exist in the client UI, so I thought it was possible via API. Thanks!
Summary
Bot should be able to "self_mute" or soft mute another user
What is the feature request for?
The core library
The Problem
When a user joins a channel meant for generally quiet time, there is no way to automatically mute them without allowing them to unmute afterward unless they have admin permissions. If there's a channel that's meant for more quiet/study times that anyone can join, they can potentially disrupt an ongoing conversation. Utilizing the current mute functionality by the bot is a Server Mute, which would prevent the user from unmuting themselves unless they have proper permissions to do so.
The Ideal Solution
Discord allows server admins and others with the mute permission to mute a user that's equivalent to a self mute. I'd like for the Member.edit() function to include
self_mute
/soft_mute
andself_deafen
/soft_deafen
to be new options to facilitate this. This will allow the user to unmute themselves in the normal fashion, which will require a deliberate action on their part, thereby reducing the disruption/interruption on a fresh join.The Current Solution
There really isn't one at the moment, save manually muting people. But the reaction time of humans is much slower than that of computers, so it's basically a moot point.