readme
All checks were successful
Build / Build (push) Successful in 3m30s

This commit is contained in:
2026-05-31 23:55:22 -04:00
parent c2a9187071
commit 2acba97173
3 changed files with 119 additions and 3 deletions

118
README.md Normal file
View File

@@ -0,0 +1,118 @@
# 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](https://dpp.dev/example-programs.html).
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 add 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_