Table of Contents

Installing Native Dependencies

This is a hidden guide that is not visible in the guides index! If you are reading this, you are probably looking for information on how to install native dependencies for HTTP interactions or voice.

HTTP Interactions

For HTTP interactions, Libsodium is required.

Voice

For voice:

  • Libdave is required.
  • Libsodium is not generally required, but it is highly recommended for production bots. It is caused by the fact that generally Aes256GcmRtpSizeEncryption, which does not require Libsodium, is supported by Discord and is used by default. However, there is a small chance that Discord will not support this encryption mode for your connection. In this case, XChaCha20Poly1305RtpSizeEncryption, which does require Libsodium, is used by default.
  • Opus is only required when you are using Opus prefixed classes.

Installation

For dynamic linking, you can install Libsodium for the most popular platforms by referencing the official Libsodium NuGet package.

Manual or System-wide Installation

Windows

For dynamic linking on Windows, you need to use the dynamic link libraries (libdave, libsodium, and/or opus). Here's how to set it up:

  • Download or build the dynamic link libraries (libdave, libsodium, and/or opus) compatible with your development environment.

  • Place these files in the runtime directory of your application. This is the folder where your application's executable is located.

Linux and MacOS

Dynamic linking on Linux and MacOS involves using shared libraries (libdave, libsodium, and/or opus). You can install them using your system's package manager if available or follow these steps to install them manually:

  • Download or build the shared libraries (libdave, libsodium, and/or opus) that are compatible with your development environment.

  • Place these files in the runtime directory of your application, which is the folder where your application's executable is located.

Library Installation Link
Libdave https://github.com/discord/libdave/releases
Libsodium https://doc.libsodium.org/installation
Opus https://opus-codec.org/downloads