Logs sendPayload calls (op code, result), onVoiceServerUpdate
and onVoiceStateUpdate to identify why connection stays at signalling.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Log voice state transitions (Signalling → Connecting → Ready etc.)
- Log play requests with sound name, guild, channel, file path
- Log connection creation, rejoin attempts, and failures
- Log AudioPlayer state changes and errors
- All prefixed with [Soundboard] for easy filtering
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- await sodium.ready + nacl preload (same as original jukebox)
- Add generateDependencyReport() for debugging
- Add type declarations for libsodium-wrappers and tweetnacl
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>