Add Squad Up to Plugin Store#1046
Conversation
Issues FoundNo issues with your PR description were found. Next Steps
Thank you for your contribution! If you need any help, please reach out on our Discord server. ❤️ |
|
does this work with the desktop discord app instead of a browser? also you should apply for IPC anyway, they don't need an active userbase they just need a reasonable usecase |
For the IPC, I'll have to look into applying for it sooner if that's the case. As for desktop Discord, there is a weird limitation I ran into with the app on SteamOS where it would deeplink you to the app, but would never take you to the server and voice channel you chose to join from the quick access menu. The implemented flow ended up being the most convenient for now until I can get the IPC process implemented at a later date, which would eliminate the need for the browser completely. I would still support both browser and IPC for the plugin though, incase its needed. |
|
This pull request is stale as no updates or testing reports have been posted within the last 7 days. Please ensure you are actively recruiting testers or resolving the issues discussed. If you do not remove the stale label or comment, this will be closed in 7 days. Please close this pull request if you need more time to resolve issues so we can keep our repo healthy. |
|
Is there anyone willing to test this plugin? |
Add Squad Up to Plugin Store
This plugin brings Discord voice channel browsing, joining, moving, and disconnecting into the Steam Quick Access Menu, so users don't have to switch out of their game to manage their voice channel connection. Below is a feature-by-feature breakdown:
Core feature set:
Discord user authorization: The user will need to sign in to Discord and provide the plugin a 6-digit code for initial authorization for it to use the Discord API. The user can either type in the code themselves or click the "Send to Squad Up" button from the page that displays the 6-digit code that will post the code to the Squad Up Cloudflare Worker session, and the plugin's frontend polls that endpoint and auto-claims the code without the user ever copying or typing it.
Browse and sort your Discord servers: In the QAM, users see a list of their Discord servers (only those where the Squad Up bot has been invited and have at least one voice channel). Server display order can be manually rearranged via an in-plugin reorder mode (buttons appear next to each server when the sort icon is tapped).
See live voice activity: Each server tile shows a real-time count and stack of avatars of users currently in voice across that server's channels. Expanding a server reveals its individual voice channels and shows any users currently connected to those channels.
Open a voice channel in your browser: If the user isn't yet connected to voice in that server, tapping a channel opens Discord in their configured browser via a browser that is added as a non-Steam app. The plugin remembers the browser shortcut and reuses the existing window. Currently, joining a Discord voice channel requires the user to associate a browser as a non-Steam app because Discord requires the user to join through their app exclusively. You can get around this restriction by getting approved to use Discord's RPC IPC, which would allow the plugin to join the user to the voice channel directly without leaving the plugin, but this requires approval from Discord once the app is actively being used and is a lengthy approval process that has a high likelihood of being denied.
Move between voice channels in the same server: If the user is already connected to a voice channel in a server, tapping a different channel in that same server moves them there via Discord's API, without the need to revisit the browser.
Disconnect from voice: Tapping the channel the user is currently connected to disconnects them from the voice channel. This uses the same in-place API call without the need for the browser.
NOTE: There are two separate backend services used for this plugin to work properly. Both are available as public repos:
Task Checklist
Developer
NOTE: I wrote the majority of the code, but I did use AI to do the following:
- Refactor code to be more efficient/readable.
- Write comments and thorough documentation throughout the codebase.
- Create the TERMS.md and PRIVACY.md files.
- Review and update the README.md to be more thorough and accurately reflect the codebase.
Plugin
Backend
Community
Testing