richard 6c56192141 Add startup logging and Discord ready timeout
Adds log lines at each startup step so the log file is never empty on
failure. Adds a 30s timeout on the Discord ready event so a bad token or
blocked network produces a clear log message instead of a silent hang.
Falls back to %TEMP% for the log file if the exe directory isn't writable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 19:31:21 +03:00
2026-06-01 17:49:11 +03:00

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

{
    "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

# 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

go test ./...
S
Description
Discord bot that listens to keybinds and then mutes every user except yourself in the specified voice channel
Readme 3.2 MiB
v1.0.3 Latest
2026-06-01 17:40:18 +00:00
Languages
Go 100%