# 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"
}
```

To get IDs: enable **Developer Mode** in Discord settings, then right-click a server or channel 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   | Key          |
|---------|--------------|
| `ctrl`  | Control      |
| `shift` | Shift        |
| `alt`   | Alt          |
| `win`   | Windows key  |
| `super` | Windows key  |

### 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

Cross-compile for Windows from Linux/macOS:

```bash
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o discord-lobby-mute.exe .
```
