/voice

Implementation of the Discord Voice API for discord.js and other JS/TS libraries

Primary LanguageTypeScriptApache License 2.0Apache-2.0


discord.js


Discord server npm version npm downloads Build status Code coverage Patreon

About

An implementation of the Discord Voice API for Node.js, written in TypeScript.

Features:

  • Send and receive* audio in Discord voice-based channels
  • A strong focus on reliability and predictable behaviour
  • 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 16.0.0 or newer is required.

npm install @discordjs/voice
yarn add @discordjs/voice
pnpm 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):

  • sodium: ^3.0.2
  • tweetnacl: ^1.0.3
  • libsodium-wrappers: ^0.7.9

Opus Libraries (npm install):

  • @discordjs/opus: ^0.4.0
  • opusscript: ^0.0.7

FFmpeg:

  • FFmpeg (installed and added to environment)
  • ffmpeg-static: ^4.2.7 (npm install)

Links

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.