Fun little Discord bot using .NET to make cool/fun stuff for my friends 😸
For the bot to connect to a voice channel and send audio in local development, you will need the following (note that this isn't necessary for a deployed env using Docker)
libsodium
and opus
- https://github.com/discord-net/Discord.Net/blob/dev/voice-natives/vnext_natives_win32_x64.zip
libsodium.dll
and libopus.dll
from the above downloadlibopus.dll
to opus.dll
./bin/Debug/net6.0
)ffmpeg
- https://ffmpeg.org/download.htmlThis project uses DiscordNET's interaction framework for handling commands
Commands are organized into modules which are found in the Modules
directory. Within a module you can create commands and sub-commands
The interaction framework handles automatically creating/updating/deleting commands on the server(s) when the bot starts
Key | Description |
---|---|
BINGBOT_DISCORD_API_KEY | API key for your discord application (if you don't already have a bot application, follow at least step 1 https://discord.com/developers/docs/getting-started) |
BINGBOT_ELEVEN_LABS_API_KEY | API key for the ElevenLabs Text-to-Speech API |
BINGBOT_OPENAI_API_KEY | OpenAPI key for GPT & Dall-E 3 |
BINGBOT_POSTGRES_CONNECTION_STRING | Connection string for postgres - https://www.npgsql.org/doc/connection-string-parameters.html |
note: BINGBOT_
is stripped by the configuration builder prior to usage in the app
If you don't want to give the bot administrator permission, you will need to use (at least) the following permission set for the bot to be able to use the full suite of features