4.2 KiB
D++: A C++ Discord API Library for Bots
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 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
The following downloads are for the most recent version:
- Source Code
- x64 Linux .deb (64 bit Debian, Ubuntu etc)
- x86 Linux .deb (32 bit Debian, Ubuntu etc)
- x64 Linux .rpm (64 bit Redhat, CentOS etc)
- x86 Linux .rpm (32 bit Redhat, CentOS etc)
- x64 Windows (64 bit vs2019 release build)
- x64 Windows (64 bit vs2022 release build)
- x64 Windows (64 bit vs2019 debug build)
- x64 Windows (64 bit vs2022 debug build)
- ARM6 Linux .deb (32 bit Raspberry Pi 1, 2)
- ARM7 Linux .deb (32 bit Raspberry Pi 3, 4)
- ARM64 Linux .deb (64 bit Raspberry Pi 4, Smartphones)
You can find further releases in other architectures and formats or the source code on the GitHub Repository. For a realtime JSON format list of all download links, click here
Library features
- Support for Discord API v10
- 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!)
- \ref slashcommands "Slash Commands/Interactions support"
- \ref soundboard "Voice support" (sending and receiving audio)
- The entire Discord API is available for use in the library
- Stable \ref buildwindows "Windows support"
- Ready-made compiled packages for Windows, Raspberry Pi (ARM64/ARM7/ARMv6), Debian x86/x64 and RPM based distributions
- Highly scalable for large amounts of guilds and users
Supported Operating Systems
Linux
The library runs ideally on Linux.
Mac OS X, FreeBSD, and OpenBSD
The library is well-functional and stable on Mac OS X, FreeBSD, and OpenBSD too!
Raspberry Pi
For running your bot on a Raspberry Pi, we offer a prebuilt .deb package for ARM64, ARM6, and ARM7 so that you do not have to wait for it to compile.
Windows
Windows is well-supported with ready-made compiled DLL and LIB files, please check out our Windows Bot Template repository. The Windows Bot repository can be cloned and integrated immediately into any Visual Studio 2019 and 2022 project in a matter of minutes.
Other OS
The library should work fine on other operating systems as well, and if you run a D++ bot on something not listed here, please let us know!
Getting started
- GitHub Repository
- Discord Server
- \ref frequently-asked-questions
- \ref installing
- \ref example-programs
- \ref glossary-of-common-discord-terms
Architecture
- \ref clusters-shards-guilds
- \ref thread-model