index

# 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!)

- 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/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

- Frequently Asked Questions (FAQ)

- Installing D++

- Example Programs

- A Glossary of Common Discord Terms

# Architecture

- Clusters, Shards, and Guilds

- Thread Model

# Learning Resources

- C++ for JavaScript Developers

- C++ In Four Hours