All Projects → brainboxdotcc → DPP

brainboxdotcc / DPP

Licence: Apache-2.0 license
C++ Discord API Bot Library - D++ is Lightweight and scalable for small and huge bots!

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to DPP

hata
Async Discord API wrapper.
Stars: ✭ 156 (-72.14%)
Mutual labels:  discord-api, api-wrapper, discord-api-wrapper
discljord
A Clojure wrapper library for the Discord API, with full API coverage (except voice, for now), and high scalability
Stars: ✭ 179 (-68.04%)
Mutual labels:  discord-api, discord-api-wrapper
Disqord
An asynchronous Discord API wrapper for .NET.
Stars: ✭ 155 (-72.32%)
Mutual labels:  discord-api, discord-api-wrapper
discord.bat
🗑️ the BEST discord lib
Stars: ✭ 38 (-93.21%)
Mutual labels:  discord-api, api-wrapper
Finance-Robinhood
Trade stocks and ETFs with free brokerage Robinhood and Perl
Stars: ✭ 42 (-92.5%)
Mutual labels:  api-wrapper, etf
Clamor
The Python Discord API Framework
Stars: ✭ 14 (-97.5%)
Mutual labels:  discord-api, discord-api-wrapper
acord
An API wrapper for discord, built using aiohttp and pydantic.
Stars: ✭ 25 (-95.54%)
Mutual labels:  discord-api, api-wrapper
nextcord
A Python wrapper for the Discord API forked from discord.py
Stars: ✭ 956 (+70.71%)
Mutual labels:  discord-api, api-wrapper
MaSH
A minimalistic Discord API wrapper made in Posix Shell
Stars: ✭ 22 (-96.07%)
Mutual labels:  discord-api, discord-api-wrapper
windows-bot-template
A D++ Discord Bot template for Visual Studio 2019 (Windows x64 and x86) - Ready to go, just add your code!
Stars: ✭ 15 (-97.32%)
Mutual labels:  discord-api, dpp
Dis-Snek
A Python API wrapper for Discord
Stars: ✭ 71 (-87.32%)
Mutual labels:  discord-api, api-wrapper
nyxx
Wrapper around Discord API for Dart
Stars: ✭ 217 (-61.25%)
Mutual labels:  discord-api, api-wrapper
hikari-lightbulb
The official unofficial command handler for the Python discord API wrapper library, Hikari.
Stars: ✭ 152 (-72.86%)
Mutual labels:  discord-api, api-wrapper
gencord
A simple, beginner-friendly, and easy-to-use library for interacting with the Discord API, with minimal syntax.
Stars: ✭ 20 (-96.43%)
Mutual labels:  discord-api, discord-api-wrapper
Diskord
[Mirror of GitLab] A Kotlin client for Discord with a light wrapper on the REST APIs and a simple to use DSL for basic bots.
Stars: ✭ 146 (-73.93%)
Mutual labels:  discord-api, discord-api-wrapper
pybuildkite
A Python library for the Buildkite API
Stars: ✭ 29 (-94.82%)
Mutual labels:  api-wrapper
CheckSSL
🔒Check your site's SSL status using curl & bash
Stars: ✭ 41 (-92.68%)
Mutual labels:  ssl
orca
C Multi-REST API library for Discord, Slack, Reddit, etc.
Stars: ✭ 360 (-35.71%)
Mutual labels:  discord-api
jokeapi
Official golang wrapper for Sv443's jokeapi.
Stars: ✭ 19 (-96.61%)
Mutual labels:  api-wrapper
wp-pgp-encrypted-emails
🔐 📧 Encrypts WordPress emails using OpenPGP or S/MIME with a familiar API.
Stars: ✭ 35 (-93.75%)
Mutual labels:  api-wrapper
DPP

An incredibly lightweight C++ Discord library


Discord Downloads Codacy Badge Lines of code D++ CI AUR version Contributor Covenant


D++ is a lightweight and efficient library for Discord written in modern C++, covering as much of the API specification as possible with an incredibly small memory footprint even when caching large amounts of data.

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

Want to help? Drop me a line or send a PR.

This library is in use on TriviaBot and Sporks bot and many other bots!

Documentation

The documentation is constantly evolving and improving, generated from the code comments and markdown examples using Doxygen.

View the D++ library documentation

Example

This is a simple ping-pong example using slash commands.

#include <dpp/dpp.h>
#include <cstdlib>
 
int main() {
    dpp::cluster bot(std::getenv("BOT_TOKEN"));
 
    bot.on_slashcommand([](auto event) {
         if (event.command.get_command_name() == "ping") {
             event.reply("Pong!");
         }
    });
 
    bot.on_ready([&bot](auto event) {
        if (dpp::run_once<struct register_bot_commands>()) {
            bot.global_command_create(
                dpp::slashcommand("ping", "Ping pong!", bot.me.id)
            );
        }
    });
 
    bot.start(dpp::st_wait);
}

You can find more examples in our example page.

Supported Systems

Linux

The library runs ideally on Linux.

Mac OS X and FreeBSD

The library is well-functional and stable on Mac OS X and FreeBSD 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!

🤝 Contributing

Contributions, issues and feature requests are welcome. After cloning and setting up project locally, you can just submit a PR to this repo and it will be deployed once it's accepted.

Please read the D++ Code Style Guide for more information on how we format pull requests.

💬 Get in touch

If you have various suggestions, questions or want to discuss things with our community, Join our discord server! Make a humorous reference to brains in your nickname to get access to a secret brain cult channel! :)

Discord

Show your support

We love people's support in growing and improving. Be sure to leave a ⭐️ if you like the project and also be sure to contribute, if you're interested!

Dependencies

Build requirements

  • cmake (version 3.13+)
  • A supported C++ compiler from the list below

Supported compilers

  • g++ (version 8 or higher)
  • clang
  • AppleClang (12.0 or higher)
  • Microsoft Visual Studio 2019 or 2022 (16.x/17.x)
  • mingw-w64 (gcc version 8 or higher)

Other compilers may work (either newer versions of those listed above, or different compilers entirely) but have not been tested by us.

External Dependencies (You must install these)

  • OpenSSL (whichever -dev package comes with your OS)
  • zlib (whichever -dev package comes with your OS)

Optional Dependencies

For voice support you require both of:

Included Dependencies (Packaged with the library)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].