D++ (DPP)
C++ Discord API Bot Library
Installing from XBPS (Void Linux)

To install D++ from XBPS source packages collection, follow the step below (as root):

xbps-install -Sy dpp-devel

This will install D++ development files and related libraries

You will now be able to use D++ by including its library on the command line:

g++ mybot.cpp -o mybot -ldpp

Note
Compiling your bot with a raw `g++` command is not advised in any real project, and the example above should be used only as a test. From here, you should learn to create a bot in D++ by moving on to Building a Discord Bot Using CMake (UNIX) or if you have not yet created a token for your bot, Creating a Bot Token - If you are having trouble setting up CMake, you can try our template cmake bot project.

To build D++ with coroutine support as an XBPS package, follow the steps below. Ensure that xbps-src is set up beforehand:

# Inside the void-packages root folder
git checkout master && git pull
# Modifies the configure arguments to include coroutine support (-DDPP_CORO=ON)
grep -q 'configure_args=.*-DDPP_CORO=ON' srcpkgs/dpp/template || sed -i -e 's/\(configure_args="[^"]*\)"/\1 -DDPP_CORO=ON"/' srcpkgs/dpp/template
./xbps-src -K pkg dpp

Then as root:

# Inside the void-packages root folder
xbps-install --repository hostdir/binpkgs dpp-devel

This will do the following three things:

  • Update the void-packages repository to the latest commit on master
  • Patch the template file of D++ to enable coroutine support
  • Build an XBPS package for D++ and install it
Note
Cloning the void-packages repository may take some time

Warning
D++ Coroutines are a very new feature and are currently only supported by D++ on g++ 13, clang/LLVM 14, and MSVC 19.37 or above. Additionally, D++ must be built with the CMake option DPP_CORO, and your program must both define the macro DPP_CORO and use C++20 or above. The feature is experimental and may have bugs or even crashes, please report any to GitHub Issues or to our Discord Server.

D++ Library version 9.0.13D++ Library version 9.0.12D++ Library version 9.0.11D++ Library version 9.0.10D++ Library version 9.0.9D++ Library version 9.0.8D++ Library version 9.0.7D++ Library version 9.0.6D++ Library version 9.0.5D++ Library version 9.0.4D++ Library version 9.0.3D++ Library version 9.0.2D++ Library version 9.0.1D++ Library version 9.0.0D++ Library version 1.0.2D++ Library version 1.0.1D++ Library version 1.0.0