THIS PLUGIN IS NO LONGER MAINTAINED, USE ELGATO'S PLUGIN INSTEAD
https://apps.elgato.com/plugins/com.elgato.discord
![Continuous Integration](https://github.com/fredemmott/StreamDeck-Discord/workflows/Continuous%20Integration/badge.svg)
StreamDeck-Discord
StreamDeck-Discord is a C++ plugin for the Elgato StreamDeck for controlling the Discord application running on your computer.
Features
- Toggle/enable/disable self-mute/deafen
- Switch between voice-activation and push-to-talk
Installation
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
- Hit Save Changes at the bottom of the page
- 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.
Need Help?
- 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.
Limitations
- 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.
Why does this plugin ask for my Discord username and avatar?
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.
See https://support.discordapp.com/hc/en-us/community/posts/360038932712-allow-apps-without-identify-role
Why does this plugin ask my firewall for permission to access the internet?
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
Why does this plugin require me to register an app with Discord?
See https://support.discordapp.com/hc/en-us/community/posts/360038666632-IPC-authentication
License
This project is MIT-licensed.