- Touch Portal Plugin to Interact with Discord
- Sample Page
- Cleanup pre-v4.0.0 config
- Dependencies
- Versioning
- Authors
- License
- Bugs/Enhancements
- Acknowledgements
Mute and Deafen Discord directly from Touch Portal with only Minor configuration needed
Jump to specific Voice or Text channels on servers you joiend to
Hangup voice calls
See Voice Connection Stats (server, ping)
Toggle/Set Push To Talk or Voice Activity Modes
Set Push To Talk Hotkey Combinations
pre-v4.0.0
- Mute yourself in Discord
- Deafen yourself in Discord
- Worked on fixing connection issues
v4.0.0
Additions:
- Action for Voice Mode Changes - PTT to Voice Activity (and back again)
- Action for Push-To-Talk Hotkey Changing
- Action to Go to specific Voice or Text channel within a Discord server you belong to
- If in a Voice Channel allow you to hang up the call
- Voice Connection Statistics
Voice Server
Ping Average
- State for Voice Channel Connected to
- State for Voice Mode Type
- Watch for Discord.exe to be running before attempting to connect, polls every 10 seconds so could cause slight delay in connection if start up is slow (Win Only, still working Mac)
Updates:
- Reworked to with Touch Portal v2.3 plugin api enhancement/changes
- Settings moved from custom built config to inside Touch Portal (will require reconfiguration using discord dev app you already have setup)
- Will now request authorization EACH time Touch Portal (or the plug-in) starts, this way guaranteeing your Access Token is fresh
- *Note*: May be reworked in the future to store Access Token but found issues with this implementation during development.
Bug Fixes:
- Added bug fix from pre-v4.0.0 here as well - longer wait times between attempted reconnect
v4.0.1
- Can't remember.. brain fried
v4.0.2
Updates:
- Setting to tell you if Discord was successfully connected to - Valid values are 'Disconnected' or 'Connected'
- (Windows Only) Setting to disable the Process Watcher if for some reason your system isn't recongizing the application properly.
- *Note*: This could require a stop/start of TPDiscord if Discord closes while authenticated, this can be done inside Touch Portal Settings -> Plug-Ins -> Select "Touch Portal Discord Plugin" and clicking the Stop button, wait a few seconds, click the Start button
v4.0.3
Bug Fix:
- Fixing Voice Activity and PTT switching
v4.0.4
Bug Fix:
- Fixes ProcessWatcher for those who experienced issues, it now forces onto the environment path the directories needed for this to work (Windows only)
v4.0.5
Package Update:
- Update find-process npm module to 1.4.7 - to pick up bug fix for #32
v4.1.0
Package Update:
- Update discord-rpc npm module to 4.0.1 - to pick up bug fix for #41 and ehancement #20
Updates:
- No More Re-Auhtorization prompt if you have already authorized your developer app, so restarts will be clean and connect without issue
- Refactored the event subscription process due to discord-rpc npm module update. Verified all events still fire as expected.
v4.2.0
Updates:
- 3 New States - Discord Voice Channel ID, Discord Voice Channel Server, Discord Voice Channel Server ID
- Discord Mute - Mute yourself in Discord
- Discord Deafen - Deafen yourself in Discord (inherently mutes as well)
- Discord Hang Up - When in a voice call this will hang up the voice call
- Discord Select Channel - go to a specific voice/text channel in a given server
- Discord Reset Push To Talk Keys - resets array inside the plugin, doesn't affect Discord directly
- Discord Push To Talk Key - adds key to the push to talk key array inside the plugin, doesn't affect Discord Directly
- Discord Store Push To Talk Keys - store the key combinations in the push to talk key array to Discord to use with Push to Talk
- Discord Mute
- Valid Values: On, Off
- Discord Deafen
- Valid Values: On, Off
- Discord Voice Channel Connected
- Valid Values: Yes, No
- Discord Voice Channel Name
- Value: Connected voice channel name or 'Personal' <None>
- Note: This will be 'Personal' when connecting an audio call outside of a server (through DM)
- Discord Voice Channel ID
- Value: Connected voice channel id or <None>
- Discord Voice Channel Server Name
- Value: Connected voice channel server name or 'Personal' or <None>
- Note: This will be 'Personal' when connecting an audio call outside of a server (through DM)
- Discord Voice Channel Server ID
- Value: Connected voice channel server id or 'Personal' or <None>
- Note: This will be 'Personal' when connecting an audio call outside of a server (through DM)
- Discord Voice Average Ping
- Value: in milliseconds)
- Discord Voice Hostname
- Value: Voice Host connected to at Discord
- Discord Voice Mode Type
- Valid Values: PUSH_TO_TALK, VOICE_ACTIVITY
- Make sure Discord app is open on your PC or Mac
- Download the .tpp file the installer for your OS Windows OR MacOS:
- Go to Touch Portal Settings (the gear icon)
- Go To Plug-ins
- Click the Import Plug-in button
- Navigate to the downloaded tpp file, select it and press Open
- A popup should tell you Successfully Imported plugin
- If this is your first time importing, you will be asked To Trust the Plugin, to prevent this from popping up each time you start Touch Portal, click Trust Always
- Now Select Touch Portal Discord Plugin in the dropdown on the Plug-ins settings page
- The Discord Application page should have auto opened on your PC in your browser
- if not Visit: Discord Developer Portal
- Login with your Discord Credentials
- If you already have an application from previous plugin usage, skip to Step 20.
- Go to "Applications" on the left side of the portal
- Click "New Application" in the top right of the Applications page
- Name your Application "Touch Portal Plugin" (or whatever you want to call it), and click "Create"
- Go to "OAuth2" on the left side of the Site
- Click the "Add Redirect" button
- Enter in:
http://localhost
exactly, not trailing slash, and not https:// - Click "Save Changes"
- Locate the Client Id and click the "Copy" button, go to the Touch Portal Settings Window and paste in the client id into the "Discord Client Id" field
- Go back to the developer portal website
- Locate the Client Secret and click the "Copy" button, go to Touch Portal Settings window and paste in the client secret into the "Discord Client Secret" field
- Click "Save"
- After a few seconds, you should get asked to authorize the application you created as a plugin in Discord, click "Authorize"
- If for some reason, you mis-clicked and the authorize window went away
- Click the Stop button on the Touch Portal Discord Plugin settings page
- Then Click Start button and it should then re-ask you to authorize
- Now you should be able to use the new functions of the Touch Portal Discord Plugin!
- My Buttons no longer work
- Make sure Discord is open
- Go to Touch Portal Settings
- Click Plug-ins
- Select Touch Portal Discord Plugin in the dropdown
- Click Stop button
- Click Start Button
- Reauthorize the Plugin
- The server list blanked out
- delete the action and readd it
- if that doesn't work stop and start the plugin as notated above
- The channel list blanked out
- Change the server dropdown to a different server, and back again to the server you want
NOTE: This DOES NOT press them, it sets them as the push to talk keys inside discord
Sample Page Download
Has a sample button for all actions, and states to display info
- After importing v4.0.0 plugin
- On Windows
- Go to %APPDATA%\TouchPortal\plugins
- On Mac
- Go to /Users/<Your User Name>/Documents/TouchPortal/plugins
- Delete the config folder (this was only used by this plugin)
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Jameson Allen - Initial work - Spdermn02
This project is licensed under the GPL 3.0 License - see the LICENSE file for details
Use the Github Issues tab to report any bugs/enhancements for this plug-in. Or mention them in the Official Touch Portal discord channel #discord
- Thank you to Reinier and Ty the Touch Portal Creators
- Thank you to all the users of the Discord Plugin
- Thank you to 50 Shades of Skittles for Testing
- Thank you to Dominikk#5392 in the Touch Portal Discord for helping troubleshoot for 4.0.4 bug fix
- Thank you Discord for not shutting down the RPC API