Discord.CPP or Discord.C++ is a C++ library for interaction with the Discord API.
Doxygen-generated documentation is available here.
- boost-beast
- certify
- nlohman-json
- boost-process
- libsodium
- libopus
The communication with Discord is build around boost-beast(using certify to handle certificates) and nlohman-json.
Libsodium and libopus are needed to encrypt voice data.
The library is still in an early state of development, so many features are missing but will be added somewhere in the future. However below is an overview of features based on Discord's library comparision table.
Feature | working? |
---|---|
Create | No |
Delete | Yes |
DM | Yes |
History | Yes |
Info | Read-only |
Permission | No |
Feature | working? |
---|---|
Create | No |
Delete | No |
Info | No |
Join | No |
Feature | working? |
---|---|
Send | Yes |
Send File | No |
Edit | Yes |
Delete | Yes |
Feature | working? |
---|---|
Create | No |
Delete | No |
Edit | No |
Info | No |
Feature | working? |
---|---|
Create | No |
Delete | Yes |
Edit | No |
Info | Yes |
Kick | Yes |
Ban | Yes |
Unban | Yes |
Ban List | No |
Change owner | No |
Feature | working? |
---|---|
Manage Nicknames | No |
Move Users in Voicechannels | No |
Mute/Defean Users | No |
Feature | working? |
---|---|
Edit Profile | No |
Send typing | No |
Feature | working? |
---|---|
Manual sharding | Yes |
Auto sharding | Yes |
Event | handled? |
---|---|
Create | Yes |
Delete | Yes |
Update | Yes |
Event | handled? |
---|---|
Receive | Yes |
Delete | No |
Update | No |
Event | handled? |
---|---|
Create | No |
Delete | No |
Update | No |
Feature | working? |
---|---|
Receive | No |
Send | Yes |
Event | handled? |
---|---|
Create | Yes |
Delete | Yes |
Update | Yes |
Ban | Yes |
Unban | Yes |
Event | handled? |
---|---|
Join | Yes |
Leave | Yes |
Typing | Yes |
Feature | working? |
---|---|
Receive | No |
Send | Yes |
Multi-Server | Yes(not tested yet) |
State Update | Partial(only the bot user) |