You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hey everyone just a new release here, with the following changes being primary:
-Fixed an issue with the SongAPI classes' stop method.
-Updated the move assignment operator of the UniquePtr class.
-Updated the VoiceConnection and SongAPI's logic to improve simplicity.
-Updated the License.
-Refactored the namespaces for increased simplicity.
-Fixed an issue mentioned here:
#32

6
6
7
-
Hello, and welcome to DiscordCoreAPI! This is a Discord bot library, written in C++, that leverages custom asynchronous [CoRoutines](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Include/discordcoreapi/CoRoutine.hpp), as well as a home-brew set of [Https](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Source/Https.cpp#L369),
8
-
[WebSocket](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Source/WebSocketEntities.cpp#L414), and [Datagram](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Source/VoiceConnection.cpp#L285) socket clients - all to deliver the utmost performance and efficiency for your bot. It uses roughly 0.1% of an Intel i7 9750h CPU to stream audio in high quality (Opus @ 48Khz, 16-bit) to a single server.
7
+
Hello, and welcome to DiscordCoreAPI! This is a Discord bot library, written in C++, that leverages custom asynchronous [CoRoutines](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Include/discordcoreapi/CoRoutine.hpp), as well as a home-brew set of [Https](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Source/Https.cpp#L375),
8
+
[WebSocket](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Source/WebSocketEntities.cpp#L441), and [Datagram](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Source/VoiceConnection.cpp#L277) socket clients - all to deliver the utmost performance and efficiency for your bot. It uses roughly 0.1% of an Intel i7 9750h CPU to stream audio in high quality (Opus @ 48Khz, 16-bit) to a single server.
9
9
10
10

11
11
@@ -15,7 +15,7 @@ Hello, and welcome to DiscordCoreAPI! This is a Discord bot library, written in
[This is a link to the Discord server!](https://discord.gg/adgMqeBuhP)
@@ -26,10 +26,10 @@ Hello, and welcome to DiscordCoreAPI! This is a Discord bot library, written in
26
26
# Features
27
27
28
28
## Performant
29
-
- Thanks to utilizing [Erlang Text Format](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Include/discordcoreapi/Utilities/Etf.hpp) for websocket transfer, and a pool of [kept-alive HTTPS connections](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Include/discordcoreapi/Https.hpp#L141) - this library offers the snappiest responses to your interactions and user input.
29
+
- Thanks to utilizing [Erlang Text Format](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Include/discordcoreapi/Utilities/Etf.hpp) for websocket transfer, and a pool of [kept-alive HTTPS connections](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Include/discordcoreapi/Https.hpp#L143) - this library offers the snappiest responses to your interactions and user input.
30
30
31
31
## Audio-Bridge
32
-
- Connect multiple voice-channels to one-another using the `DiscordCoreAPI::StreamInfo` member of the `DiscordCoreAPI::VoiceConnectInitData` structure, with the `DiscordCoreAPI::VoiceConnection` class.
32
+
- Connect multiple voice-channels to one-another using the `StreamInfo` member of the `VoiceConnectInitData` structure, with the `VoiceConnection` class.
33
33
34
34
## CPU Efficient
35
35
- It only uses about 0.1% of an Intel i7 9750h to stream audio in high quality (Opus 48Khz 16-bit Stereo) to a single server.
@@ -38,7 +38,7 @@ Hello, and welcome to DiscordCoreAPI! This is a Discord bot library, written in
38
38
- All of the Discord API endpoints are covered in this library, including voice communication.
39
39
40
40
## Concurrent Discord API Access
41
-
- As a result of using [custom asynchronous coroutines](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Include/discordcoreapi/CoRoutine.hpp) along with a [thread pool](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Include/discordcoreapi/Utilities/ThreadPool.hpp#L146), this library has the ability to make fully asynchronous/concurrent requests to the Discord API.
41
+
- As a result of using [custom asynchronous coroutines](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Include/discordcoreapi/CoRoutine.hpp) along with a [thread pool](https://github.com/RealTimeChris/DiscordCoreAPI/blob/main/Include/discordcoreapi/Utilities/ThreadPool.hpp#L146), this library has the ability to make fully asynchronous/concurrent requests to the Discord API.
42
42
43
43
## Advanced Rate-Limiting System
44
44
- Guarantees that the order in which HTTPS requests are executed is the same that they were submitted in - despite being launched across different threads, while never infracting on any of the Discord API's rate-limits and while running concurrently across all of the endpoints.
@@ -76,21 +76,21 @@ Hello, and welcome to DiscordCoreAPI! This is a Discord bot library, written in
76
76
</p>
77
77
78
78
## A Unified "Input-Event" System
79
-
- User interactions (Application Commands, Message Commands, User Commands) are accepted via the `DiscordCoreAPI::EventManager::onInputEventCreation` event.
80
-
- They can all be responded to using the `DiscordCoreAPI::InputEvents::respondToInputEventAsync()` function.
81
-
- Alternatively you can implement your own input-event handling by using the raw `DiscordCoreAPI::EventManager::onInteractionCreation` or `DiscordCoreAPI::EventManager::onMessageCreation` events.
79
+
- User interactions (Application Commands, Message Commands, User Commands) are accepted via the `EventManager::onInputEventCreation` event.
80
+
- They can all be responded to using the `InputEvents::respondToInputEventAsync()` function.
81
+
- Alternatively you can implement your own input-event handling by using the raw `EventManager::onInteractionCreation` or `EventManager::onMessageCreation` events.
- By running `cmake --install ./Build/Debug_OR_Release`, you will be given a cmake package, which can be used to build from this library, using other cmake projects.
129
129
- It is used by setting `DiscordCoreAPI_DIR` to wherever the DiscordCoreAPIConfig.cmake file would have been installed on your system by having run the `cmake --install` command, and then using `find_package()` on `DiscordCoreAPI`.
130
-
- When found, you will be granted the following cmake "variables"; `DiscordCoreAPI::DiscordCoreAPI` - this is the library target which can be linked to from other targets in cmake, and on Windows; `$<TARGET_RUNTIME_DLLS:DiscordCoreAPI-Bot>` - which is a list of dll files to be copied into your executable's final location after building. As well as `RELEASE_PDB_FILE_PATH`, `DEBUG_PDB_FILE_PATH`, `RELEASE_PDB_FILE_NAME`, and `DEBUG_PDB_FILE_NAME`, which are full file/directory paths/filenames to the library's PDB files.
130
+
- When found, you will be granted the following cmake "variables"; `DiscordCoreAPI` - this is the library target which can be linked to from other targets in cmake, and on Windows; `$<TARGET_RUNTIME_DLLS:DiscordCoreAPI-Bot>` - which is a list of dll files to be copied into your executable's final location after building. As well as `RELEASE_PDB_FILE_PATH`, `DEBUG_PDB_FILE_PATH`, `RELEASE_PDB_FILE_NAME`, and `DEBUG_PDB_FILE_NAME`, which are full file/directory paths/filenames to the library's PDB files.
131
131
- [Here](https://github.com/RealTimeChris/Bot-Template-for-DiscordCoreAPI/blob/main/CMakeLists.txt) is an example of building an executable from this library with this method.
Copy file name to clipboardexpand all lines: Documentation/Doxygen/Documentation-Examples/Application-Command-Stuff/Batch Edit Guild Application Command Permissions.md
- Execute the `DiscordCoreAPI::ApplicationCommands::batchEditGuildApplicationCommandPermissionsAsync()` function, while passing in a data structure of type `DiscordCoreAPI::BatchEditGuildApplicationCommandPermissionsData`, with a return value of type `auto` or `std::vector<DiscordCoreAPI::GuildApplicationCommandPermissionsData>`.
3
+
- Execute the `ApplicationCommands::batchEditGuildApplicationCommandPermissionsAsync()` function, while passing in a data structure of type `BatchEditGuildApplicationCommandPermissionsData`, with a return value of type `auto` or `std::vector<GuildApplicationCommandPermissionsData>`.
4
4
- Call the function with `.get()` added to the end in order to wait for the results now.
Copy file name to clipboardexpand all lines: Documentation/Doxygen/Documentation-Examples/Application-Command-Stuff/Bulk Overwrite Global Application Commands.md
+13-13
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
Bulk Overwriting Global Application Commands {#bulkoverwriteglobalcommands}
2
2
============
3
-
- Execute the `DiscordCoreAPI::ApplicationCommands::bulkOverwriteGlobalApplicationCommandsAsync()` function, while passing in a data structure of type `DiscordCoreAPI::BulkOverwriteGlobalApplicationCommandsData`, with a return value of `auto` or `std::vector<DiscordCoreAPI::ApplicationCommand>`.
3
+
- Execute the `ApplicationCommands::bulkOverwriteGlobalApplicationCommandsAsync()` function, while passing in a data structure of type `BulkOverwriteGlobalApplicationCommandsData`, with a return value of `auto` or `std::vector<ApplicationCommand>`.
4
4
- Call the function with `.get()` added to the end in order to wait for the results now.
5
5
6
6
```cpp
@@ -13,44 +13,44 @@ Bulk Overwriting Global Application Commands {#bulkoverwriteglobalcommands}
13
13
14
14
namespaceDiscordCoreAPI {
15
15
16
-
class Test : public DiscordCoreAPI::BaseFunction {
16
+
class Test : public BaseFunction {
17
17
public:
18
18
Test() {
19
19
commandName = "test";
20
20
helpDescription = "Testing purposes!";
21
-
DiscordCoreAPI::EmbedData msgEmbed;
21
+
EmbedData msgEmbed;
22
22
msgEmbed.setDescription("------\nSimply enter !test or /test!\n------");
Copy file name to clipboardexpand all lines: Documentation/Doxygen/Documentation-Examples/Application-Command-Stuff/Bulk Overwrite Guild Application Commands.md
- Execute the `DiscordCoreAPI::ApplicationCommands::bulkOverwriteGuildApplicationCommandsAsync()` function and execute it, while passing in a data structure of type `DiscordCoreAPI::BulkOverwriteGuildApplicationCommandsData`, with a return value of `auto` or `std::vector<DiscordCoreAPI::ApplicationCommand>`.
3
+
- Execute the `ApplicationCommands::bulkOverwriteGuildApplicationCommandsAsync()` function and execute it, while passing in a data structure of type `BulkOverwriteGuildApplicationCommandsData`, with a return value of `auto` or `std::vector<ApplicationCommand>`.
4
4
- Call the function with `.get()` added to the end in order to wait for the results now.
0 commit comments