firewire 5da6d610b1
All checks were successful
Build / Build (push) Successful in 3m33s
Update todo
2026-06-06 20:32:46 -04:00
2026-05-31 22:35:29 -04:00
2026-05-31 22:33:57 -04:00
2026-05-31 23:22:58 -04:00
2026-05-31 22:33:57 -04:00
2026-06-06 20:31:28 -04:00
2026-05-31 22:33:57 -04:00
2026-05-31 22:33:57 -04:00
2026-05-31 23:22:58 -04:00
2026-06-06 20:08:53 -04:00
2026-05-31 22:33:57 -04:00
2026-06-01 00:32:24 -04:00
2026-06-06 20:32:46 -04:00

dppbots

Behold! A large collection of example code for d++!

This repo is a collection of examples for dpp, a cpp discord library.

The majority of the examples have come from these docs. This repo more or less exists for me to learn how the library works through following the docs as well as to keep all the examples in one place for others to find and learn from. With that all in mind, I've gone through and added comments after going through the doc page into the example itself. This is mostly for me to reiterate over the code to better understand it and put it into my own words, but should also serve as a fairly quick reference to how and what is going on for those wanting to learn without a bunch of reading.

The docs themselves contain a lot lot more information then what I have put into comments, so if you're stuck or want to know more, make sure you check them out.

Project structure

src

The "./src/" directory holds all relevant source code. The overall structure follows the structure in the documentation mentioned above with a special 00_project added in to make sure i have the project setup correctly and that everything works. Everything is split into chapters with examples inside of them. Each example contains its own "src" dir and "CMakeLists.txt" file.

root
└── src
    ├── 00_project
    ├── 01_basics
    │   ├── 01_first_bot
    │   ├── 02_embeds
    │   ├── 03_private_messages
    │   ├── 04_adding_files
    │   ├── 05_webhooks
    │   ├── 06_callback_functions
    │   ├── 07_cache
    │   └── 08_listening_to_messages
    ├── 02_interactions_and_components
    │   ├── 01_slash_commands
    │   │   ├── 01_using_slash_cmds
    │   │   ├── 02_clearing_registered_cmds
    │   │   ├── 03_sub_commands
    │   │   ├── 04_autocompletion
    │   │   ├── 05_file_parameters
    │   │   └── 06_cmd_handler
    │   ├── 02_ephemeral_replies
    │   ├── 03_user_apps
    │   ├── 04_resolved_objects
    │   ├── 05_message_components
    │   │   ├── 01_btn
    │   │   ├── 02_advanced_btn
    │   │   ├── 03_select_menu
    │   │   ├── 04_select_menu_defaults
    │   │   ├── 05_editing_msg_from_btn
    │   │   └── 06_components_v2
    │   ├── 06_modals
    │   ├── 07_context_menus
    │   └── 08_thinking
    ├── 03_music_and_audio
    │   ├── 01_sound_board
    │   ├── 02_opus_file
    │   ├── 03_mp3_file
    │   ├── 04_recording_vc
    │   └── 05_join_or_switch_channel
    ├── 04_coroutines
    │   ├── 01_intro
    │   ├── 02_simple_cmds
    │   ├── 03_waiting_for_events
    │   └── 04_expiring_btn
    └── 05_misc
        ├── 01_arbitrary_requests
        ├── 02_spdlog
        ├── 03_editing_channels_msgs
        ├── 04_threads
        ├── 05_caching_messages
        ├── 06_collecting_reactions
        ├── 07_eval_cmd
        ├── 08_checking_permissions
        ├── 09_bot_status
        ├── 10_emojis
        └── 11_timers

Build system/helpful scripts

root
├── cmake   - Contains cmake includes
├── scripts - Build system scripts for unix systems

Building

Once the project has been built you'll have two folders created that will be of interest. A "build" and a "bin" folder. Note: the bin folder will only exist on unix based systems (Linux, MacOS, etc) The "build" folder will contain all of your build intermediaries. "Bin" will contain your actual executables.

root
├── build
├── bin
│   ├── Debug
│   ├── Release
│   └── Relwithdeb

Contributing

Unfortunately, with this being a completely private git server, there is no way for anyone to directly contribute. If you have a feature request or a code edit, please contact me on discord: firewire_

Description
No description provided
Readme MIT 66 KiB
main Latest
2026-06-01 02:38:57 +00:00
Languages
C++ 70.8%
CMake 23.6%
Shell 5.6%