Add Discord++ to Community Resources > Libraries #3722
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added my C++ library, Discord++, to the list of community libraries.
One of the core tenants of my library is modularity. Core functionality like the HTTP and WebSocket gateway modules can be swapped out to make use of different dependencies (though currently there aren't extra options) and plugins can be added seamlessly.
To this effect, my ratelimiting implementation is in a plugin: https://github.com/DiscordPP/plugin-ratelimit/blob/master/discordpp/plugin-ratelimit.hh
I plan to add a check to make sure some ratelimiting plugin is installed for safety. Edit: done
An example of a plugin, this one allows for easy use of
!keyword
-style commands: https://github.com/DiscordPP/plugin-responderAn example bot: https://github.com/DiscordPP/echo-bot
Edit 8/29: Plugin: Endpoints now has all of the endpoints for handling interactions. They're under
discordpp/categories/application-commands.hh
anddiscordpp/categories/receiving-and-responding.hh
Edit 8/29: An example of these in use: https://github.com/DiscordPP/echo-bot/blob/master/main.cc#L111-L139
Edit 8/30: Added thread endpoints under /channel/ and under /guild/
Edit 9/1: Plugin: Endpoints now has all endpoints minus GitHub and Slack-compatible webhooks