D++ (DPP)
C++ Discord API Bot Library
Welcome to the D++ developer wiki!

What is D++ (DPP)?

D++ is a lightweight and simple library for Discord written in modern C++. It is designed to cover as much of the API specification as possible and take very little memory to do so, even when caching large amounts of the data to cut down on HTTP requests.

It is created by the developer of TriviaBot and contributed to by a dedicated team of developers.

This project is now in stable development and accepting PRs and feature requests – Don't be a stranger! If you want to contribute, just get in touch via github or our Discord server!

Library features:

  • Really small memory footprint
  • Efficient caching system for guilds, channels, guild members, roles, users
  • Sharding (Many shards, one process: specify the number of shards, or let the library decide)
  • Slash Commands/Interactions support
  • Voice support
  • The entire Discord API is available for use in the library
  • Stable Windows support
  • Ready-made compiled packages for Windows, Raspberry Pi (ARM64/ARM7) and Debian x86/x64

Supported Operating Systems

The library runs great on Linux. Windows is also supported and we offer ready made compiled DLL and LIB files for easy integration into any windows visual studio 2019 project. Mac OS X and FreeBSD is also functional and stable, as is running your bot on a Raspberry Pi - we offer a prebuilt .deb for ARM64, ARM6 and ARM7 to save on having to wait for it to compile.

The library may work fine in other operating systems too, if you run a D++ bot on something not listed here please let us know!

Getting started

Architecture

Learning Resources

D++ Library version 10.0.29D++ Library version 10.0.28D++ Library version 10.0.27D++ Library version 10.0.26D++ Library version 10.0.25D++ Library version 10.0.24D++ Library version 10.0.23D++ Library version 10.0.22D++ Library version 10.0.21D++ Library version 10.0.20D++ Library version 10.0.19D++ Library version 10.0.18D++ Library version 10.0.17D++ Library version 10.0.16D++ Library version 10.0.15D++ Library version 10.0.14D++ Library version 10.0.13D++ Library version 10.0.12D++ Library version 10.0.11D++ Library version 10.0.10D++ Library version 10.0.9D++ Library version 10.0.8D++ Library version 10.0.7D++ Library version 10.0.6D++ Library version 10.0.5D++ Library version 10.0.4D++ Library version 10.0.3D++ Library version 10.0.2D++ Library version 10.0.1D++ Library version 10.0.0D++ Library version 9.0.19D++ Library version 9.0.18D++ Library version 9.0.17D++ Library version 9.0.16D++ Library version 9.0.15D++ Library version 9.0.14D++ 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