48 template<
typename ValueType>
struct EventData {
53 template<
typename ValueType,
typename OldValueType>
struct UpdatedEventData {
55 OldValueType oldValue{};
59 struct DiscordCoreAPI_Dll GuildMemberRemoveData {
64 struct DiscordCoreAPI_Dll GuildBanAddData {
69 struct DiscordCoreAPI_Dll GuildBanRemoveData {
74 struct DiscordCoreAPI_Dll RoleCreationData {
79 struct DiscordCoreAPI_Dll RoleUpdateData {
84 struct DiscordCoreAPI_Dll RoleDeletionData {
89 struct DiscordCoreAPI_Dll GuildScheduledEventUserAddData {
90 Snowflake guildScheduledEventId{};
95 struct DiscordCoreAPI_Dll GuildScheduledEventUserRemoveData {
96 Snowflake guildScheduledEventId{};
101 struct DiscordCoreAPI_Dll IntegrationCreationData {
102 IntegrationData integrationData{};
106 struct DiscordCoreAPI_Dll IntegrationUpdateData {
107 IntegrationData integrationData{};
111 struct DiscordCoreAPI_Dll IntegrationDeletionData {
112 Snowflake applicationId{};
117 struct DiscordCoreAPI_Dll InviteDeletionData {
118 Snowflake channelId{};
123 struct DiscordCoreAPI_Dll MessageDeletionData {
124 Snowflake messageId{};
125 Snowflake channelId{};
129 struct DiscordCoreAPI_Dll MessageDeletionBulkData {
130 std::vector<Snowflake> ids{};
131 Snowflake channelId{};
135 struct DiscordCoreAPI_Dll ReactionRemoveAllData {
136 Snowflake channelId{};
137 Snowflake messageId{};
141 struct DiscordCoreAPI_Dll ReactionRemoveEmojiData {
142 Snowflake messageId{};
143 Snowflake channelId{};
148 struct DiscordCoreAPI_Dll WebHookUpdateData {
149 Snowflake channelId{};
155 int32_t timeUntilNextPing{};
252 struct DiscordCoreAPI_Dll
OnGuildUpdateData :
public UpdatedEventData<GuildCacheData, GuildData> {
267 OnGuildBanAddData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
326 struct DiscordCoreAPI_Dll
OnRoleUpdateData :
public UpdatedEventData<RoleUpdateData, RoleData> {
327 OnRoleUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
416 OnReactionAddData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
457 OnTypingStartData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
462 OnUserUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
469 OnVoiceStateUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse, DiscordCoreInternal::WebSocketClient* sslShard);
474 OnVoiceServerUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse, DiscordCoreInternal::WebSocketClient* sslShard);
1029 DiscordCoreInternal::Event<CoRoutine<void>,
OnGatewayPingData> onGatewayPingEvent{};
1033 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoModerationRuleCreationData> onAutoModerationRuleCreationEvent{};
1035 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoModerationRuleUpdateData> onAutoModerationRuleUpdateEvent{};
1037 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoModerationRuleDeletionData> onAutoModerationRuleDeletionEvent{};
1039 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoModerationActionExecutionData> onAutoModerationActionExecutionEvent{};
1041 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoCompleteEntryData> onAutoCompleteEntryEvent{};
1043 DiscordCoreInternal::Event<CoRoutine<void>, OnInputEventCreationData> onInputEventCreationEvent{};
1045 DiscordCoreInternal::Event<CoRoutine<void>, OnChannelCreationData> onChannelCreationEvent{};
1047 DiscordCoreInternal::Event<CoRoutine<void>, OnChannelUpdateData> onChannelUpdateEvent{};
1049 DiscordCoreInternal::Event<CoRoutine<void>, OnChannelDeletionData> onChannelDeletionEvent{};
1051 DiscordCoreInternal::Event<CoRoutine<void>, OnChannelPinsUpdateData> onChannelPinsUpdateEvent{};
1053 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadCreationData> onThreadCreationEvent{};
1055 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadUpdateData> onThreadUpdateEvent{};
1057 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadDeletionData> onThreadDeletionEvent{};
1059 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadListSyncData> onThreadListSyncEvent{};
1061 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadMemberUpdateData> onThreadMemberUpdateEvent{};
1063 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadMembersUpdateData> onThreadMembersUpdateEvent{};
1065 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildCreationData> onGuildCreationEvent{};
1067 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildUpdateData> onGuildUpdateEvent{};
1069 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildDeletionData> onGuildDeletionEvent{};
1071 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildBanAddData> onGuildBanAddEvent{};
1073 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildBanRemoveData> onGuildBanRemoveEvent{};
1075 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildEmojisUpdateData> onGuildEmojisUpdateEvent{};
1077 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildStickersUpdateData> onGuildStickersUpdateEvent{};
1079 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildIntegrationsUpdateData> onGuildIntegrationsUpdateEvent{};
1081 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildMemberAddData> onGuildMemberAddEvent{};
1083 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildMemberRemoveData> onGuildMemberRemoveEvent{};
1085 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildMemberUpdateData> onGuildMemberUpdateEvent{};
1087 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildMembersChunkData> onGuildMembersChunkEvent{};
1089 DiscordCoreInternal::Event<CoRoutine<void>, OnRoleCreationData> onRoleCreationEvent{};
1091 DiscordCoreInternal::Event<CoRoutine<void>, OnRoleUpdateData> onRoleUpdateEvent{};
1093 DiscordCoreInternal::Event<CoRoutine<void>, OnRoleDeletionData> onRoleDeletionEvent{};
1095 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventCreationData> onGuildScheduledEventCreationEvent{};
1097 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventUpdateData> onGuildScheduledEventUpdateEvent{};
1099 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventDeletionData> onGuildScheduledEventDeletionEvent{};
1101 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventUserAddData> onGuildScheduledEventUserAddEvent{};
1103 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventUserRemoveData> onGuildScheduledEventUserRemoveEvent{};
1105 DiscordCoreInternal::Event<CoRoutine<void>, OnIntegrationCreationData> onIntegrationCreationEvent{};
1107 DiscordCoreInternal::Event<CoRoutine<void>, OnIntegrationUpdateData> onIntegrationUpdateEvent{};
1109 DiscordCoreInternal::Event<CoRoutine<void>, OnIntegrationDeletionData> onIntegrationDeletionEvent{};
1111 DiscordCoreInternal::Event<CoRoutine<void>, OnInteractionCreationData> onInteractionCreationEvent{};
1113 DiscordCoreInternal::Event<CoRoutine<void>, OnInviteCreationData> onInviteCreationEvent{};
1115 DiscordCoreInternal::Event<CoRoutine<void>, OnInviteDeletionData> onInviteDeletionEvent{};
1117 DiscordCoreInternal::Event<CoRoutine<void>, OnMessageCreationData> onMessageCreationEvent{};
1119 DiscordCoreInternal::Event<CoRoutine<void>, OnMessageUpdateData> onMessageUpdateEvent{};
1121 DiscordCoreInternal::Event<CoRoutine<void>, OnMessageDeletionData> onMessageDeletionEvent{};
1123 DiscordCoreInternal::Event<CoRoutine<void>, OnMessageDeleteBulkData> onMessageDeleteBulkEvent{};
1125 DiscordCoreInternal::Event<CoRoutine<void>, OnReactionAddData> onReactionAddEvent{};
1127 DiscordCoreInternal::Event<CoRoutine<void>, OnReactionRemoveData> onReactionRemoveEvent{};
1129 DiscordCoreInternal::Event<CoRoutine<void>, OnReactionRemoveAllData> onReactionRemoveAllEvent{};
1131 DiscordCoreInternal::Event<CoRoutine<void>, OnReactionRemoveEmojiData> onReactionRemoveEmojiEvent{};
1133 DiscordCoreInternal::Event<CoRoutine<void>, OnPresenceUpdateData> onPresenceUpdateEvent{};
1135 DiscordCoreInternal::Event<CoRoutine<void>, OnStageInstanceCreationData> onStageInstanceCreationEvent{};
1137 DiscordCoreInternal::Event<CoRoutine<void>, OnStageInstanceUpdateData> onStageInstanceUpdateEvent{};
1139 DiscordCoreInternal::Event<CoRoutine<void>, OnStageInstanceDeletionData> onStageInstanceDeletionEvent{};
1141 DiscordCoreInternal::Event<CoRoutine<void>, OnTypingStartData> onTypingStartEvent{};
1143 DiscordCoreInternal::Event<CoRoutine<void>, OnUserUpdateData> onUserUpdateEvent{};
1145 DiscordCoreInternal::Event<CoRoutine<void>, OnVoiceStateUpdateData> onVoiceStateUpdateEvent{};
1147 DiscordCoreInternal::Event<CoRoutine<void>, OnVoiceServerUpdateData> onVoiceServerUpdateEvent{};
1149 DiscordCoreInternal::Event<CoRoutine<void>, OnWebhookUpdateData> onWebhookUpdateEvent{};
The main namespace for this library.
A CoRoutine - representing a potentially asynchronous operation/function.
DiscordCoreClient - The main class for this library.
Event-delegate token, representing an event.
Event-delegate, for representing an event-function to be executed.
Data that is received as part of a Gateway ping event.
Data that is received as part of an InputEvent creation event.
Data that is received as part of an ApplicationCommandPermissions update event.
Data that is received as part of an AutoModerationRule creation event.
Data that is received as part of an AutoModerationRule update event.
Data that is received as part of an AutoModerationRule delete event.
Data that is received as part of an AutoModerationAction execution event.
Data that is received as part of a Channel creation event.
Data that is received as part of a Channel update event.
Data that is received as part of a Channel deletion event.
Data that is received as part of a Channel pins update event.
Data that is received as part of a Thread creation event.
Data that is received as part of a Thread update event.
Data that is received as part of a Thread deletion event.
Data that is received as part of a Thread list sync event.
Data that is received as part of a Thread member update event.
Data that is received as part of a Thread members update event.
Data that is received as part of a Guild creation event.
Data that is received as part of a Guild update event.
Data that is received as part of a Guild deletion event.
Data that is received as part of a Guild ban add event.
Data that is received as part of a Guild ban add event.
Data that is received as part of a Guild emojis update event.
Data that is received as part of a Guild sticker update event.
Data that is received as part of a Guild Integration update event.
Data that is received as part of a GuildMember add event.
Data that is received as part of a GuildMember update event.
Data that is received as part of a GuildMember remove event.
Data that is received as part of a GuildMembers chunk event.
Data that is received as part of a Role creation event.
Data that is received as part of a Role update event.
Data that is received as part of a Role deletion event.
Data that is received as part of a GuildScheduledEvent creation event.
Data that is received as part of a GuildScheduledEvent update event.
Data that is received as part of a GuildScheduledEvent delete event.
Data that is received as part of a GuildScheduledEvent User add event.
Data that is received as part of a GuildScheduledEvent User remove event.
Data that is received as part of an Integration creation event.
Data that is received as part of an Integration update event.
Data that is received as part of an Integration deletion event.
Data that is received as part of an Invite creation event.
Data that is received as part of an Invite deletion event.
Data that is received as part of an Interaction creation event.
Data that is received as part of a Message creation event.
Data that is received as part of a Message update event.
Data that is received as part of a Message deletion event.
Data that is received as part of a Message delete bulk event.
Data that is received as part of a Reaction add event.
Data that is received as part of a Reaction remove event.
Data that is received as part of a Reaction remove all event.
Data that is received as part of a Reaction remove emoji event.
Data that is received as part of a presence update event.
Data that is received as part of a StageInstance creation event.
Data that is received as part of a StageInstance update event.
Data that is received as part of a StageInstance deletion event.
Data that is received as part of a typing start event.
Data that is received as part of a User update event.
Data that is received as part of a voice state update event.
Data that is received as part of a voice server update event.
Data that is received as part of a WebHook update event.
Data that is received upon the bot receiving an autocomplete entry.
Class for handling the assignment of event-handling functions.int32_t.
DiscordCoreInternal::EventDelegateToken onGatewayPing(const DiscordCoreInternal::EventDelegate< CoRoutine< void >, OnGatewayPingData > handler)
For adding a function to handle this event.
void onGatewayPing(DiscordCoreInternal::EventDelegateToken &token)
For removing a function from handling this event.