StreamDeck-Discord is a C++ plugin for the Elgato StreamDeck for controlling self-mute and self-deafen in the Discord app.
Installation and demo video: https://youtu.be/MSMbRtj2fFA
- Download the
com.fredemmott.discord.streamDeckPlugin
file from the releases page, and double-click it. - Add a mute or deafen button to your streamdeck
- Go to the Discord developer portal, and create an application
- Go to 'OAuth2' on the left hand side
- Add
https://localhost/
as a redirect URI - go back to 'General Information'
- copy the client ID and paste it into 'app ID' in the StreamDeck button properties
- copy the client secret and paste it into 'app secret' in the StreamDeck button properties
- Discord should now ask you for permission a few times, then you're done :)
- You might get a firewall prompt. You need to allow it.
- Try the suggestions in TROUBLESHOOTING.md
- If that does not resolve the problem, sign up/sign in to github, and click 'New discussion' on https://github.com/fredemmott/StreamDeck-Discord/discussions ; create an entry in the "Q & A" category
I'm not able to offer 1:1 help, e.g. via Discord.
- only one application can control Discord voice settings at a time. Stop anything else that controls Discord mute/deafen, such as the Discord applet in Logitech Gaming Software
- mute/deafen only apply while the application is running. For example, if you mute the microphone, then quit the StreamDeck software, the microphone might not be muted.
These limitations are imposed by Discord and can not be fixed by this plugin.
This information is not used or shared by the plugin. It asks for this permission as if it doesn't, Discord will separately prompt for it anyway, even though it's not wanted. Asking for it up front means you will get one permission prompt instead of two.
Discord plugins use OAuth2. The flow is basically:
- this plugin asks the local Discord app for a code
- the Discord app gives this plugin a code
- the plugin asks the Discord web API to convert the code into an OAuth token
- the Discord API gives the plugin the token
- the plugin uses the token to log in to the client
The third step requires internet access.
See https://support.discordapp.com/hc/en-us/community/posts/360038666632-IPC-authentication
See https://support.discordapp.com/hc/en-us/community/posts/360038666632-IPC-authentication
This project is MIT-licensed.