* chore(deps): update github-actions * actions/cache v4 -> v5 * actions/create-github-app-token v2 -> v3 * actions/download-artifact v6 -> v8 * actions/labeler v5 -> v6 * actions/upload-artifact v5 -> v7 * codecov/codecov-action v4 -> v6 * crazy-max/ghaction-github-labeler v5 -> v6 * dessant/lock-threads v5 -> v6 * docker/build-push-action v6 -> v7 * docker/login-action v3 -> v4 * docker/setup-buildx-action v3 -> v4 * pnpm/action-setup v4.1.0 -> v6.0.8 * chore(deps): minor/patch bumps and pnpm v11 * chore(deps): bump lint-staged to v17 * chore(deps): bump commitlint to v21 * chore(deps): bump vercel to v54 * chore(deps): bump vite to v8 * chore(deps): bump chromatic to v17 * chore(deps): bump validate-npm-package-name to v8 * chore(deps): bump uuid to v14 * chore(deps): bump cloudflare to v6 * chore(deps): bump meilisearch to v0.58 * chore(deps): bump fumadocs-mdx to v15 * chore(deps): lockfile * chore: fixes * fixup! chore(deps): minor/patch bumps and pnpm v11 * chore(deps): bump vercel to v56 * chore(deps): bump chromatic to v18 * chore: fix format/lint and change prettier range * chore(deps): bump vitest-websocket-mock to v0.7 * chore(deps): bump cloudflare to v7 * chore(deps): bump meilisearch to v0.59 * chore(deps): bump commander to v15 * chore(deps): bump sharp to v0.35 * chore(deps): bump undici to v8 * chore: lockfile * fixup! chore(deps): update github-actions * fix(rest): requested changes * chore: minor/patch * chore(deps): bump meilisearch to v0.60 * chore(deps): bump vercel to v57 * fixup! fixup! chore(deps): update github-actions * chore: revert prettier upgrade * chore: minor/patch * chore(deps): bump vercel to v58 * chore(deps): regen lockfile * chore(deps): undici 8.10.1 and pnpm 11.25 * chore(deps): minor/patch * fix: lockfile * chore: more
About
@discordjs/voice is a TypeScript implementation of the Discord Voice API for Node.js.
Features:
- Send and receive* audio in Discord voice-based channels
- A strong focus on reliability and predictable behavior
- Horizontal scalability and libraries other than discord.js are supported with custom adapters
- A robust audio processing system that can handle a wide range of audio sources
*Audio receive is not documented by Discord so stable support is not guaranteed
Installation
Node.js 24.17.0 or newer is required.
npm install @discordjs/voice
yarn add @discordjs/voice
pnpm add @discordjs/voice
bun add @discordjs/voice
Dependencies
This library has several optional dependencies to support a variety of different platforms. Install one dependency from each of the categories shown below. The dependencies are listed in order of preference for performance. If you can't install one of the options, try installing another.
Encryption Libraries (npm install):
Note
You only need to install one of these libraries if your system does not support
aes-256-gcm(verify by runningrequire('node:crypto').getCiphers().includes('aes-256-gcm')).
sodium-native: ^3.3.0sodium: ^3.0.2@stablelib/xchacha20poly1305: ^2.0.0@noble/ciphers: ^1.0.0libsodium-wrappers: ^0.7.9
DAVE Protocol Libraries (e2ee)
Note
At this time,
@snazzah/daveyis the only supported DAVE protocol library in this package, and comes pre-installed. In the future, we may support other libraries once they are created.
@snazzah/davey: ^0.1.6
Opus Libraries (npm install):
@discordjs/opus: ^0.4.0opusscript: ^0.0.7
FFmpeg:
FFmpeg(installed and added to environment)ffmpeg-static: ^4.2.7 (npm install)
Examples
The voice-examples repository contains examples on how to use this package. Feel free to check them out if you need a nudge in the right direction.
Links
- Website (source)
- Documentation
- Guide (source) Also see the v13 to v14 Update Guide, which includes updated and removed items from the library.
- discord.js Discord server
- Discord Developers Discord server
- GitHub
- npm
- Related libraries
Contributing
Before creating an issue, please ensure that it hasn't already been reported/suggested, and double-check the
documentation.
See the contribution guide if you'd like to submit a PR.
Help
If you don't understand something in the documentation, you are experiencing problems, or you just need a gentle nudge in the right direction, please don't hesitate to join our official discord.js Server.