- Sample Page
- Cleanup pre-v4.0.0 config
- Dependencies
- Versioning
- Authors
- License
- Bugs/Enhancements
- Acknowledgements
The Discord plugin for Touch Portal provides seamless integration, allowing users to control various Discord functionalities directly from Touch Portal with minimal configuration.
- Mute and Deafen: Mute and deafen yourself in Discord effortlessly.
- Channel Navigation: Jump to specific voice or text channels on servers you have joined.
- Call Management: Hang up voice calls with a single tap.
- Connection Stats: View detailed voice connection statistics, including server information and ping.
- Voice Mode Toggle: Easily switch between Push-To-Talk and Voice Activity modes.
- Hotkey Configurations: Set and manage Push-To-Talk hotkey combinations.
- Voice Settings Control: Adjust various voice settings to optimize your Discord experience.
- Volume Control: Use sliders to control microphone and speaker volumes.
- DM Management: Open Direct Message text or voice calls by ID.
- Soundboard Integration: Play soundboard sounds directly through Touch Portal.
- Push to Mute/Talk: Utilize Push-To-Mute and Push-To-Talk features for better voice management.
This plugin simplifies your Discord interactions, bringing essential controls to your fingertips.
| Action | Description |
|---|---|
| Mute | Mute yourself in Discord. |
| Deafen | Deafen yourself in Discord (inherently mutes as well). |
| Voice Mode | Change between Voice Activity and Push-To-Talk Modes. |
| Hang Up | Hang up the voice call when in a voice call. |
| Select Channel | Go to a specific voice/text channel in a given server. |
| Reset Push To Talk Keys | Resets the array inside the plugin; doesn't affect Discord directly. |
| Push To Talk Key | Adds a key to the push-to-talk key array inside the plugin; doesn't affect Discord directly. |
| Store Push To Talk Keys | Store the key combinations in the push-to-talk key array to Discord for use with Push to Talk. |
| Auto Gain Control | Toggle/Enable/Disable Auto Gain Control. |
| Quality of Service Priority | Toggle/Enable/Disable Quality of Service Priority. |
| Echo Cancellation | Toggle/Enable/Disable Echo Cancellation. |
| Noise Suppression | Toggle/Enable/Disable Noise Suppression. If using Krisp, this does nothing to disable that. |
| Silence Warning | Toggle/Enable/Disable Silence Warning. (Not much documentation available on this.) |
| DM Voice Channel | Join a Personal or Group DM Voice Channel by Channel ID. Note: Does not ring the other person; it just forces you into the voice channel. |
| DM Text Channel | Join a Personal or Group DM Text Channel by Channel ID. |
| Push To Talk | (Only works in Voice Activity mode) Un-mutes/Deafens on hold; re-mutes on release. |
| Push To Mute | (Only works in Voice Activity mode) Mutes/Deafens on hold; un-mutes/Deafens on release. |
| Play Sound | Trigger Discord Soundboard sounds from Touch Portal. |
| Toggle Camera | Toggle the Camera on/off in Voice Chat. |
| Toggle Screenshare | Toggle the Screenshare on/off. When turned on, it will prompt to select what to screenshare. |
| Set Default Audio Device | Change the Input/Output device used for Discord. |
| Set Default Audio Volume | Set/Increase/Decrease the Input/Output volume for Discord. (-10 will lower by 10) |
| Connector | Description |
|---|---|
| Adjust Input Volume | Slider to control the Voice Volume |
| Adjust Output Volume | Slider to control the Speaker Volume |
| Adjust VC User Volume | Slider to control a users Volume in a Voice Chat |
| State | Category | Description |
|---|---|---|
| Discord Current Input Device | Main | Displays the current input device in Discord |
| Discord Current Output Device | Main | Displays the current output device in Discord |
| Discord Mute | Main | Mutes or unmutes Discord audio |
| Discord Deafen | Main | Deafens or undeafens Discord audio |
| Discord Camera | Main | Indicates the camera status in Discord |
| Discord Screen Share | Main | Indicates the screen sharing status in Discord |
| Discord Speaker Volume | Main | Displays the current speaker volume in Discord |
| Discord Voice Volume | Main | Displays the current voice volume in Discord |
| Discord Process Running | Main | Indicates if Discord process is running |
| Discord Connected | Main | Indicates if Discord is connected or disconnected |
| Automatic Gain Control | Discord Settings | Controls automatic gain settings |
| Echo Cancellation | Discord Settings | Controls echo cancellation settings |
| Noise Suppression | Discord Settings | Controls noise suppression settings |
| Silence Warning | Discord Settings | Controls silence warning settings |
| Quality of Service Priority | Discord Settings | Controls Quality of Service priority |
| Voice Mode Type | Discord Settings | Sets the voice mode type |
| DM: UserName | Direct Message | Represents the user's name in a DM |
| DM: UserID | Direct Message | Represents the user's ID in a DM |
| DM: ChannelID | Direct Message | Represents the channel ID for a DM |
| DM: Content | Direct Message | Represents the content of a DM |
| Discord New DM Event | Direct Message | Indicates a new DM event |
| DM: Timestamp | Direct Message | Represents the timestamp of a DM |
| DM: User Avatar | Direct Message | Represents the user's avatar in a DM |
| Mention: UserName | Mentions | Represents the mentioned user's name |
| Mention: UserID | Mentions | Represents the mentioned user's ID |
| Mention: ChannelID | Mentions | Represents the channel ID for a mention |
| Mention: Content | Mentions | Represents the content of a mention |
| Discord New Mention Event | Mentions | Indicates a new mention event |
| Mention: Timestamp | Mentions | Represents the timestamp of a mention |
| Mention: User Avatar | Mentions | Represents the mentioned user's avatar |
| Voice Channel Connected | Voice Channel Info | Indicates if the user is connected to a voice channel |
| Voice Channel Server ID | Voice Channel Info | Represents the ID of the voice channel server |
| Voice Channel Server Name | Voice Channel Info | Represents the name of the voice channel server |
| Voice Channel ID | Voice Channel Info | Represents the ID of the voice channel |
| Voice Channel Name | Voice Channel Info | Represents the name of the voice channel |
| Voice Average Ping | Voice Channel Info | Represents the average ping in the voice channel |
| Voice Hostname | Voice Channel Info | Represents the hostname of the voice server |
| Voice Channel Participants | Voice Channel Info | Lists the participants in the current voice channel |
| Voice Channel Participant IDs | Voice Channel Info | Lists the participant IDs in the current voice channel |
| User Status: isSpeaking | User Info (VC) | Indicates if the user is currently speaking |
| User ID | User Info (VC) | Represents the user's ID in the voice chat |
| User Nickname | User Info (VC) | Represents the user's nickname in the voice chat |
| User Status: Mute | User Info (VC) | Indicates if the user is muted |
| User Status: Self Mute | User Info (VC) | Indicates if the user has self-muted |
| User Status: Self Deaf | User Info (VC) | Indicates if the user has self-deafened |
| User Status: Deafen | User Info (VC) | Indicates if the user is deafened |
| User Volume | User Info (VC) | Represents the user's volume level |
| User Avatar | User Info (VC) | Represents the user's avatar image |
| User Avatar ID | User Info (VC) | Represents the ID for the user's avatar |
| User Status: Server Mute | User Info (VC) | Indicates if the user is server-muted |
| Event | Description |
|---|---|
| Discord DM | Triggered when a Direct Message is received (See Direct Message States) |
| Discord Notification | Triggered when a Notification is received (See Notification States) |
Q: What is Canary or PTB Versions??
A: Find out Here
HOW TO - Installation and Configuration (CLICK TO EXPAND)
-
Ensure Discord is Open
- Make sure the Discord app is open on your PC or Mac.
-
Download the Plugin
- Download the
.tppfile for your OS from Releases.
- Download the
-
Import the Plugin into Touch Portal
- Open Touch Portal and go to Settings (gear icon).
- Navigate to Plug-ins.
- Click the Import Plug-in button.
- Select the downloaded
.tppfile and press Open. - A popup should confirm the plugin was successfully imported.
- If this is your first import, you'll be asked to Trust the Plugin. To prevent this prompt in the future, click Trust Always.
-
Configure the Plugin
- Select Touch Portal Discord Plugin from the dropdown on the Plug-ins settings page.
-
Set Up Your Discord Application
- The Discord Application page should automatically open in your browser. If not, visit the Discord Developer Portal.
- Log in with your Discord credentials.
-
Create a New Application
- If you already have an application from previous plugin usage, skip to Step 8.
- Go to Applications on the left side.
- Click New Application in the top right.
- Name your application (e.g., "Touch Portal Plugin") and click Create.
-
Configure OAuth2 Settings
- Go to OAuth2 on the left side.
- Click Add Redirect.
- Enter
http://localhost(without trailing slash orhttps://) and click Save Changes.
-
Get Your Client ID and Secret
- Locate the Client ID and click Copy. Paste it into the "Discord Client Id" field in the Touch Portal Settings.
- Locate the Client Secret and click Reset Secret. If 2FA is enabled, enter your token.
-
Authorize the Application
-
Reauthorize if Necessary
- If the authorization window closes unexpectedly:
- Click the Stop button on the Touch Portal Discord Plugin settings page.
- Click Start to reinitiate the authorization process.
- If the authorization window closes unexpectedly:
-
Start Using the Plugin
- You should now be able to use the new functions of the Touch Portal Discord Plugin!
Complete Installation Video (Includes Troubleshooting)
My Buttons no longer work (Click to Expand)
- 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 (Click to Expand)
- Delete the action and re-add it.
- If that doesn't work, stop and start the plugin as noted above.
The channel list blanked out (Click to Expand)
- Change the server dropdown to a different server, then back again to the server you want.
Turn on Debug Log Mode (Click to Expand)
- Go to Settings -> Plug-ins.
- Select `Touch Portal Discord Plugin` in the dropdown.
- Set `Discord Debug Mode` to `On`.
- Click Save button.
- To turn off, change it to `Off`.
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 (TODO: Need to update this page)
- 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






