I have all of the libraries (libopus.dll and libsodium.dll), I have FFMPEG and an audio file in my execution path, but still the bot immediately disconnects after joining th
With Discord.Net you have to rename libopus.dll
to opus.dll
.
These are a few things I pulled from the official Discord API guild.
Windows 64-bit: https://dsharpplus.emzi0767.com/natives/vnext_natives_win32_x64.zip
Windows 32-bit: https://dsharpplus.emzi0767.com/natives/vnext_natives_win32_x86.zip
FFmpeg for Windows: https://dsharpplus.emzi0767.com/natives/index.html#ffmpeg-for-windows
Other OSes:
GNU/Linux: https://dsharpplus.emzi0767.com/articles/vnext_setup.html#gnulinux-1
OS X: https://dsharpplus.emzi0767.com/articles/vnext_setup.html#mac-os-x-1
FreeBSD: https://dsharpplus.emzi0767.com/articles/vnext_setup.html#freebsd
Note for D.NET users: You need to rename libopus.dll to opus.dll before use, otherwise audio client will still complain about missing libraries.
For starters, Foxbot has the libsodium and opus libraries for windows ready to go. These are the ones I use in my personal audio bot as well.
Now, there is a slight difference between where you have to locate your dll's based on what you are doing.
During deployed runs, aka published project or running it from the console through your bin/insert path to env etc
directly, discord.net looks for the libsodium/opus dll's in your bin/insert path to env etc
.
However, during debug runs with visual studio and the likes, instead of looking in your bin/insert path to env etc
, it will look in the root folder of your project. Hence for this scenario, you will also need to include the libsodium and opus dll's in the folder where your .csproj is located.
As a personal preference, I also do the same for the ffmpeg.exe. Including this both in deployed bin folders, and having a copy besides the csproj.