diff --git a/annotated.html b/annotated.html
index 07164963a4c..0c8bd2d9784 100644
--- a/annotated.html
+++ b/annotated.html
@@ -371,96 +371,97 @@
Cmessage_reaction_remove_all_t | Message remove all reactions |
Cmessage_reaction_remove_emoji_t | Message remove emoji |
Cmessage_reaction_remove_t | Message reaction remove |
- Cmessage_update_t | Message update |
- Cmoveable_promise | Generic promise class, represents the owning potion of an asynchronous value |
- Cmoving_averager | |
- Cmultipart_content | Represents a multipart mime body and the correct top-level mime type If a non-multipart request is passed in, this is represented as a plain body and the application/json mime type |
- Conboarding | Represents a guild's onboarding flow |
- Conboarding_prompt | Represents an onboarding prompt |
- Conboarding_prompt_option | Represents an onboarding prompt option |
- Coneshot_timer | Trigger a timed event once. The provided callback is called only once |
- Cparam_info | Details of a command parameter used in registration. Note that for non-slash commands optional parameters can only be at the end of the list of parameters |
- Cparse_exception | Represents inability to parse data, usually caused by malformed JSON or ETF |
- Cpartial_emoji | An emoji reference for a component (select menus included) or a poll |
- Cpermission | Represents a permission bitmask (refer to enum dpp::permissions) which are held in an uint64_t |
- Cpermission_overwrite | Channel permission overwrites |
- Cpoll | Represents a poll |
- Cpoll_answer | Represents an answer in a poll |
- Cpoll_media | Structure representing a poll media, for example the poll question or a possible poll answer |
- ►Cpoll_results | Represents the results of a poll |
- Canswer_count | Represents a reference to an answer and its count of votes |
- Cpresence | Represents user presence, e.g. what game they are playing and if they are online |
- Cpresence_update_t | Presence update |
- Cprune | Defines a request to count prunable users, or start a prune operation |
- Creaction | Represents a reaction to a dpp::message |
- Creaction_collector | Reaction collector. Collects message reactions during a set timeframe and returns them in a list via the completed() method |
- Cready_t | Session ready |
- ►Crequest_queue | The request_queue class manages rate limits and marshalls HTTP requests that have been built as http_request objects |
- Ccompleted_request | A completed request. Contains both the request and the response |
- Cqueued_deleting_request | A request queued for deletion in the queue |
- Cresolved_user | Dpp::resolved_user contains both a dpp::guild_member and a dpp::user. The user can be used to obtain in-depth user details such as if they are nitro, and the guild member information to check their roles on a guild etc. The Discord API provides both if a parameter is a user ping, so we offer both in a combined structure |
- Crest_exception | Represents an error on a REST API call, e.g. a HTTPS request |
- Cresumed_t | Session resumed |
- Crole | Represents a role within a dpp::guild. Roles are combined via logical OR of the permission bitmasks, then channel-specific overrides can be applied on top, deny types apply a logic NOT to the bit mask, and allows apply a logical OR |
- Crole_collector | Role collector. Collects guild roles during a set timeframe and returns them in a list via the completed() method |
- Cscheduled_event | A scheduled event |
- Cscheduled_event_collector | Scheduled event collector. Collects messages during a set timeframe and returns them in a list via the completed() method |
- Cselect_click_t | Click on select |
- Cselect_option | An option for a select component |
- Csku | A definition of a discord SKU |
- Cslashcommand | Represents an application command, created by your bot either globally, or on a guild |
- Cslashcommand_t | User has issued a slash command |
- Csnowflake | A container for a 64 bit unsigned value representing many things on discord. This value is known in distributed computing as a snowflake value |
- Cssl_client | Implements a simple non-blocking SSL stream client |
- Cstage_instance | A stage instance. Stage instances are like a conference facility, with moderators/speakers and listeners |
- Cstage_instance_create_t | Create stage instance |
- Cstage_instance_delete_t | Delete stage instance |
- Cstage_instance_update_t | Update stage instance |
- Csticker | Represents stickers received in messages |
- Csticker_pack | Represents a sticker pack (the built in groups of stickers that all nitro users get to use) |
- Ctask | A coroutine task. It starts immediately on construction and can be co_await-ed, making it perfect for parallel coroutines returning a value |
- Ctask_cancelled_exception | Represents the cancellation of a task. Will be thrown to the awaiter of a cancelled task |
- Ctask_dummy | |
- Cteam_member | Represents a team member on a team who maintain a bot/application |
- Cthread | A definition of a discord thread. A thread is a superset of a channel. Not to be confused with std::thread ! |
- Cthread_collector | Thread collector. Collects threads during a set timeframe and returns them in a list via the completed() method |
- Cthread_create_t | Thread Create |
- Cthread_delete_t | Thread Delete |
- Cthread_list_sync_t | Thread List Sync |
- Cthread_member | Represents membership of a user with a thread |
- Cthread_member_update_t | Thread Member Update |
- Cthread_members_update_t | Thread Members Update |
- Cthread_metadata | Metadata for threads |
- Cthread_update_t | Thread Update |
- Ctimed_listener | A timed_listener is a way to temporarily attach to an event for a specific timeframe, then detach when complete. A lambda may also be optionally called when the timeout is reached. Destructing the timed_listener detaches any attached event listeners, and cancels any created timers, but does not call any timeout lambda |
- Ctimer_t | Used internally to store state of active timers |
- Ctyping_start_t | Typing start |
- Cuser | Represents a user on discord. May or may not be a member of a dpp::guild |
- Cuser_context_menu_t | Event parameter for context menu interactions for users |
- Cuser_identified | A user with additional fields only available via the oauth2 identify scope. These are not included in dpp::user as additional scopes are needed to fetch them which bots do not normally have |
- Cuser_update_t | User update |
- Cvoice_buffer_send_t | Voice buffer send |
- Cvoice_client_disconnect_t | Voice client disconnect event |
- Cvoice_client_speaking_t | Voice client speaking event |
- Cvoice_exception | Represents an error with voice processing |
- Cvoice_out_packet | An opus-encoded RTP packet to be sent out to a voice channel |
- Cvoice_ready_t | Voice user talking |
- Cvoice_receive_t | Voice receive packet |
- Cvoice_server_update_t | Voice server update |
- Cvoice_state_update_t | Voice state update |
- Cvoice_track_marker_t | Voice state update |
- Cvoice_user_talking_t | Voice user talking |
- Cvoiceconn | Represents a connection to a voice channel. A client can only connect to one voice channel per guild at a time, so these are stored in a map in the dpp::discord_client keyed by guild_id |
- Cvoiceregion | Represents a voice region on discord |
- Cvoicestate | Represents the voice state of a user on a guild These are stored in the dpp::guild object, and accessible there, or via dpp::channel::get_voice_members |
- Cwebhook | Represents a discord webhook |
- Cwebhooks_update_t | Webhooks update |
- Cwebsocket_client | Implements a websocket client based on the SSL client |
- Cwelcome_channel | Defines a channel on a server's welcome screen |
- Cwelcome_screen | Defines a server's welcome screen |
- ►Cwhen_any | Experimental class to co_await on a bunch of awaitable objects, resuming when the first one completes. On completion, returns a result object that contains the index of the awaitable that finished first. A user can call result::index() and result::get<N>() on the result object to get the result, similar to std::variant |
- Cawaiter | Object returned by operator co_await(). Meant to be used by the standard library, not by a user |
- Cresult | Object returned by operator co_await() on resumption. Can be moved but not copied |
+ Cmessage_snapshot | |
+ Cmessage_update_t | Message update |
+ Cmoveable_promise | Generic promise class, represents the owning potion of an asynchronous value |
+ Cmoving_averager | |
+ Cmultipart_content | Represents a multipart mime body and the correct top-level mime type If a non-multipart request is passed in, this is represented as a plain body and the application/json mime type |
+ Conboarding | Represents a guild's onboarding flow |
+ Conboarding_prompt | Represents an onboarding prompt |
+ Conboarding_prompt_option | Represents an onboarding prompt option |
+ Coneshot_timer | Trigger a timed event once. The provided callback is called only once |
+ Cparam_info | Details of a command parameter used in registration. Note that for non-slash commands optional parameters can only be at the end of the list of parameters |
+ Cparse_exception | Represents inability to parse data, usually caused by malformed JSON or ETF |
+ Cpartial_emoji | An emoji reference for a component (select menus included) or a poll |
+ Cpermission | Represents a permission bitmask (refer to enum dpp::permissions) which are held in an uint64_t |
+ Cpermission_overwrite | Channel permission overwrites |
+ Cpoll | Represents a poll |
+ Cpoll_answer | Represents an answer in a poll |
+ Cpoll_media | Structure representing a poll media, for example the poll question or a possible poll answer |
+ ►Cpoll_results | Represents the results of a poll |
+ Canswer_count | Represents a reference to an answer and its count of votes |
+ Cpresence | Represents user presence, e.g. what game they are playing and if they are online |
+ Cpresence_update_t | Presence update |
+ Cprune | Defines a request to count prunable users, or start a prune operation |
+ Creaction | Represents a reaction to a dpp::message |
+ Creaction_collector | Reaction collector. Collects message reactions during a set timeframe and returns them in a list via the completed() method |
+ Cready_t | Session ready |
+ ►Crequest_queue | The request_queue class manages rate limits and marshalls HTTP requests that have been built as http_request objects |
+ Ccompleted_request | A completed request. Contains both the request and the response |
+ Cqueued_deleting_request | A request queued for deletion in the queue |
+ Cresolved_user | Dpp::resolved_user contains both a dpp::guild_member and a dpp::user. The user can be used to obtain in-depth user details such as if they are nitro, and the guild member information to check their roles on a guild etc. The Discord API provides both if a parameter is a user ping, so we offer both in a combined structure |
+ Crest_exception | Represents an error on a REST API call, e.g. a HTTPS request |
+ Cresumed_t | Session resumed |
+ Crole | Represents a role within a dpp::guild. Roles are combined via logical OR of the permission bitmasks, then channel-specific overrides can be applied on top, deny types apply a logic NOT to the bit mask, and allows apply a logical OR |
+ Crole_collector | Role collector. Collects guild roles during a set timeframe and returns them in a list via the completed() method |
+ Cscheduled_event | A scheduled event |
+ Cscheduled_event_collector | Scheduled event collector. Collects messages during a set timeframe and returns them in a list via the completed() method |
+ Cselect_click_t | Click on select |
+ Cselect_option | An option for a select component |
+ Csku | A definition of a discord SKU |
+ Cslashcommand | Represents an application command, created by your bot either globally, or on a guild |
+ Cslashcommand_t | User has issued a slash command |
+ Csnowflake | A container for a 64 bit unsigned value representing many things on discord. This value is known in distributed computing as a snowflake value |
+ Cssl_client | Implements a simple non-blocking SSL stream client |
+ Cstage_instance | A stage instance. Stage instances are like a conference facility, with moderators/speakers and listeners |
+ Cstage_instance_create_t | Create stage instance |
+ Cstage_instance_delete_t | Delete stage instance |
+ Cstage_instance_update_t | Update stage instance |
+ Csticker | Represents stickers received in messages |
+ Csticker_pack | Represents a sticker pack (the built in groups of stickers that all nitro users get to use) |
+ Ctask | A coroutine task. It starts immediately on construction and can be co_await-ed, making it perfect for parallel coroutines returning a value |
+ Ctask_cancelled_exception | Represents the cancellation of a task. Will be thrown to the awaiter of a cancelled task |
+ Ctask_dummy | |
+ Cteam_member | Represents a team member on a team who maintain a bot/application |
+ Cthread | A definition of a discord thread. A thread is a superset of a channel. Not to be confused with std::thread ! |
+ Cthread_collector | Thread collector. Collects threads during a set timeframe and returns them in a list via the completed() method |
+ Cthread_create_t | Thread Create |
+ Cthread_delete_t | Thread Delete |
+ Cthread_list_sync_t | Thread List Sync |
+ Cthread_member | Represents membership of a user with a thread |
+ Cthread_member_update_t | Thread Member Update |
+ Cthread_members_update_t | Thread Members Update |
+ Cthread_metadata | Metadata for threads |
+ Cthread_update_t | Thread Update |
+ Ctimed_listener | A timed_listener is a way to temporarily attach to an event for a specific timeframe, then detach when complete. A lambda may also be optionally called when the timeout is reached. Destructing the timed_listener detaches any attached event listeners, and cancels any created timers, but does not call any timeout lambda |
+ Ctimer_t | Used internally to store state of active timers |
+ Ctyping_start_t | Typing start |
+ Cuser | Represents a user on discord. May or may not be a member of a dpp::guild |
+ Cuser_context_menu_t | Event parameter for context menu interactions for users |
+ Cuser_identified | A user with additional fields only available via the oauth2 identify scope. These are not included in dpp::user as additional scopes are needed to fetch them which bots do not normally have |
+ Cuser_update_t | User update |
+ Cvoice_buffer_send_t | Voice buffer send |
+ Cvoice_client_disconnect_t | Voice client disconnect event |
+ Cvoice_client_speaking_t | Voice client speaking event |
+ Cvoice_exception | Represents an error with voice processing |
+ Cvoice_out_packet | An opus-encoded RTP packet to be sent out to a voice channel |
+ Cvoice_ready_t | Voice user talking |
+ Cvoice_receive_t | Voice receive packet |
+ Cvoice_server_update_t | Voice server update |
+ Cvoice_state_update_t | Voice state update |
+ Cvoice_track_marker_t | Voice state update |
+ Cvoice_user_talking_t | Voice user talking |
+ Cvoiceconn | Represents a connection to a voice channel. A client can only connect to one voice channel per guild at a time, so these are stored in a map in the dpp::discord_client keyed by guild_id |
+ Cvoiceregion | Represents a voice region on discord |
+ Cvoicestate | Represents the voice state of a user on a guild These are stored in the dpp::guild object, and accessible there, or via dpp::channel::get_voice_members |
+ Cwebhook | Represents a discord webhook |
+ Cwebhooks_update_t | Webhooks update |
+ Cwebsocket_client | Implements a websocket client based on the SSL client |
+ Cwelcome_channel | Defines a channel on a server's welcome screen |
+ Cwelcome_screen | Defines a server's welcome screen |
+ ►Cwhen_any | Experimental class to co_await on a bunch of awaitable objects, resuming when the first one completes. On completion, returns a result object that contains the index of the awaitable that finished first. A user can call result::index() and result::get<N>() on the result object to get the result, similar to std::variant |
+ Cawaiter | Object returned by operator co_await(). Meant to be used by the standard library, not by a user |
+ Cresult | Object returned by operator co_await() on resumption. Can be moved but not copied |
►Nstd | STL namespace |
Chash< dpp::snowflake > | |
diff --git a/annotated_dup.js b/annotated_dup.js
index d0ebb3f68b0..614f4b94eab 100644
--- a/annotated_dup.js
+++ b/annotated_dup.js
@@ -274,6 +274,7 @@ var annotated_dup =
[ "message_reaction_remove_all_t", "structdpp_1_1message__reaction__remove__all__t.html", "structdpp_1_1message__reaction__remove__all__t" ],
[ "message_reaction_remove_emoji_t", "structdpp_1_1message__reaction__remove__emoji__t.html", "structdpp_1_1message__reaction__remove__emoji__t" ],
[ "message_reaction_remove_t", "structdpp_1_1message__reaction__remove__t.html", "structdpp_1_1message__reaction__remove__t" ],
+ [ "message_snapshot", "structdpp_1_1message__snapshot.html", "structdpp_1_1message__snapshot" ],
[ "message_update_t", "structdpp_1_1message__update__t.html", "structdpp_1_1message__update__t" ],
[ "moveable_promise", "classdpp_1_1moveable__promise.html", "classdpp_1_1moveable__promise" ],
[ "moving_averager", "structdpp_1_1moving__averager.html", "structdpp_1_1moving__averager" ],
diff --git a/awaiting-events.html b/awaiting-events.html
index 4a9fdf202b9..cc53a2e0046 100644
--- a/awaiting-events.html
+++ b/awaiting-events.html
@@ -173,7 +173,7 @@
void edit_original_response(const message &m, command_completion_event_t callback=utility::log_error()) const
Edit original response message for this interaction.
interaction command
command interaction
Definition: dispatcher.h:678
dpp::async< dpp::confirmation_callback_t > co_reply() const
Acknowledge interaction without displaying a message to the user, for use with button and select menu...
-Represents messages sent and received on Discord.
Definition: message.h:2016
+Represents messages sent and received on Discord.
Definition: message.h:2034
Session ready.
Definition: dispatcher.h:961
User has issued a slash command.
Definition: dispatcher.h:695
Note that there is a problem with that! If the user never clicks your button, or if the message gets deleted, your coroutine will be stuck waiting... And waiting... Forever until your bot shuts down, occupying a space in memory. This is where the next example comes into play as a solution, with a button that expires with time.
diff --git a/caching-messages.html b/caching-messages.html
index 64ca76dea80..e47ead921b0 100644
--- a/caching-messages.html
+++ b/caching-messages.html
@@ -180,8 +180,8 @@
interaction command
command interaction
Definition: dispatcher.h:678
virtual command_value get_parameter(const std::string &name) const
Get a slashcommand parameter.
Create message.
Definition: dispatcher.h:1635
-Represents messages sent and received on Discord.
Definition: message.h:2016
-std::string content
Contents of the message.
Definition: message.h:2061
+Represents messages sent and received on Discord.
Definition: message.h:2034
+std::string content
Contents of the message.
Definition: message.h:2079
Session ready.
Definition: dispatcher.h:961
User has issued a slash command.
Definition: dispatcher.h:695
diff --git a/callback-functions.html b/callback-functions.html
index 152b042608c..8a9bf54c2c6 100644
--- a/callback-functions.html
+++ b/callback-functions.html
@@ -212,7 +212,7 @@
T get() const
Get the stored value via std::get.
Definition: restresults.h:323
void reply(command_completion_event_t callback=utility::log_error()) const
Acknowledge interaction without displaying a message to the user, for use with button and select menu...
interaction command
command interaction
Definition: dispatcher.h:678
-Represents messages sent and received on Discord.
Definition: message.h:2016
+Represents messages sent and received on Discord.
Definition: message.h:2034
Session ready.
Definition: dispatcher.h:961
User has issued a slash command.
Definition: dispatcher.h:695
This is the result:
diff --git a/classdpp_1_1channel__collector.html b/classdpp_1_1channel__collector.html
index 4635d207d57..05be4d08a1e 100644
--- a/classdpp_1_1channel__collector.html
+++ b/classdpp_1_1channel__collector.html
@@ -408,7 +408,7 @@