D++ (DPP)
A Lightweight C++ library for Discord
D++ Developer Documentation

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 to have a incredibly small memory footprint, even when caching large amounts of data.

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 official Discord server!


Downloads

You can download the latest releases and check out our source code from the GitHub page.

Library features

  • Really small memory footprint
  • Efficient caching system for guilds, channels, guild members, roles, users
  • Sharding and clustering (Many shards, one process: specify the number of shards, or let the library decide)
  • Highly optimised ETF (Erlang Term Format) support for very fast websocket throughput (no other C++ Discord library has this!)
  • Slash Commands/Interactions support
  • Voice support (sending and receiving audio)
  • The entire Discord API is available for use in the library
  • Stable Windows support
  • Ready-made compiled packages for Windows, Raspberry Pi (ARM64/ARM6/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 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