4f94c4f20b
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
85 lines
2.6 KiB
Markdown
85 lines
2.6 KiB
Markdown
# discord-lobby-mute
|
||
|
||
Runs in the system tray as a console app. Press a configurable global hotkey to toggle server-mute for everyone in a Discord voice channel.
|
||
|
||
## Setup
|
||
|
||
1. Create a bot at https://discord.com/developers/applications
|
||
- Enable **Server Members Intent** under Privileged Gateway Intents
|
||
- Grant the **Mute Members** permission when inviting it to your server
|
||
2. Place `config.json` next to the `.exe` and fill in your values (see below)
|
||
3. Run `discord-lobby-mute.exe`
|
||
|
||
## config.json
|
||
|
||
```json
|
||
{
|
||
"token": "YOUR_BOT_TOKEN",
|
||
"guild_id": "YOUR_SERVER_ID",
|
||
"channel_id": "YOUR_VOICE_CHANNEL_ID",
|
||
"keybind": "ctrl+shift+m",
|
||
"exempt_users": ["YOUR_DISCORD_USER_ID"]
|
||
}
|
||
```
|
||
|
||
`exempt_users` is optional. Any user IDs listed there will never be muted. Add your own ID to exclude yourself when pressing the keybind.
|
||
|
||
To get IDs: enable **Developer Mode** in Discord settings, then right-click a server, channel, or user and choose **Copy ID**.
|
||
|
||
## Keybind format
|
||
|
||
`modifier+modifier+key` — modifiers come first, key last. Case-insensitive.
|
||
|
||
Examples: `ctrl+shift+m`, `alt+f9`, `ctrl+alt+delete`
|
||
|
||
### Modifiers
|
||
|
||
| Value | Windows | Linux | macOS |
|
||
|---------|-------------|-------------|-------------|
|
||
| `ctrl` | Control | Control | Control |
|
||
| `shift` | Shift | Shift | Shift |
|
||
| `alt` | Alt | Alt (Mod1) | Option |
|
||
| `win` | Windows key | Super (Mod4)| Cmd |
|
||
| `super` | Windows key | Super (Mod4)| Cmd |
|
||
| `cmd` | — | — | Cmd |
|
||
|
||
### Keys
|
||
|
||
| Value | Key |
|
||
|-------------------|----------------------|
|
||
| `a` – `z` | Letter keys |
|
||
| `0` – `9` | Number row |
|
||
| `f1` – `f20` | Function keys |
|
||
| `space` | Space |
|
||
| `enter` / `return`| Enter / Return |
|
||
| `escape` / `esc` | Escape |
|
||
| `tab` | Tab |
|
||
| `delete` | Delete |
|
||
| `left` | Left arrow |
|
||
| `right` | Right arrow |
|
||
| `up` | Up arrow |
|
||
| `down` | Down arrow |
|
||
|
||
## Build
|
||
|
||
```bash
|
||
# Windows
|
||
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o discord-lobby-mute.exe .
|
||
|
||
# Linux
|
||
go build -ldflags="-s -w" -o discord-lobby-mute .
|
||
|
||
# macOS
|
||
go build -ldflags="-s -w" -o discord-lobby-mute .
|
||
```
|
||
|
||
> **macOS**: the app needs Accessibility permission to register global hotkeys. Grant it in System Settings → Privacy & Security → Accessibility.
|
||
|
||
> **Linux**: requires X11 (`libx11-dev`) and CGO enabled.
|
||
|
||
## Tests
|
||
|
||
```bash
|
||
go test ./...
|
||
```
|