Morgan Hofmann
Morgan Hofmann

Reputation: 35

Discord.NET - Bot immediately disconnects after joining voice channel

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 the channel. Why is this happening and how do I fix it?

EDIT: I use this sample for audio: https://gist.github.com/Joe4evr/773d3ce6cc10dbea6924d59bbfa3c62a

Upvotes: 1

Views: 3575

Answers (3)

MX D
MX D

Reputation: 2485

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.

Upvotes: 0

SlothGod
SlothGod

Reputation: 376

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:

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.

Binary Flowchart

Upvotes: 2

CCYD
CCYD

Reputation: 29

With Discord.Net you have to rename libopus.dll to opus.dll.

Upvotes: 2

Related Questions