DiscordCoreAPI
A Discord bot library written in C++, with custom asynchronous coroutines.
Loading...
Searching...
No Matches
EventManager.hpp
Go to the documentation of this file.
1/*
2 DiscordCoreAPI, A bot library for Discord, written in C++, and featuring explicit multithreading through the usage of custom, asynchronous C++ CoRoutines.
3
4 Copyright 2021, 2022 Chris M. (RealTimeChris)
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with this library; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
19 USA
20*/
21/// EventManager.hpp - Header for the event manager class.
22/// Apr 26, 2021
23/// https://discordcoreapi.com
24/// \file EventManager.hpp
25
26#pragma once
27
40
41namespace DiscordCoreAPI {
42
43 /**
44 * \addtogroup discord_events
45 * @{
46 */
47 /// \brief Data that is received as part of a Gateway ping event.
48 struct DiscordCoreAPI_Dll OnGatewayPingData {
49 int32_t timeUntilNextPing{};///< The number of milliseconds until the next ping.
50 };
51
52 /// \brief Data that is received as part of an InputEvent creation event.
53 struct DiscordCoreAPI_Dll OnInputEventCreationData {
54 InputEventData inputEventData{};///< InputEventData representing the input-event.
55 OnInputEventCreationData(DiscordCoreInternal::WebSocketMessage& message, Value data);
56 };
57
58 /// \brief Data that is received as part of an ApplicationCommandPermissions update event.
61 OnApplicationCommandPermissionsUpdateData(DiscordCoreInternal::WebSocketMessage& message, Value data);
62 };
63
64 /// \brief Data that is received as part of an AutoModerationRule creation event.
65 struct DiscordCoreAPI_Dll OnAutoModerationRuleCreationData {
66 AutoModerationRule theRule{};
67 OnAutoModerationRuleCreationData(DiscordCoreInternal::WebSocketMessage& message, Value data);
68 };
69
70 /// \brief Data that is received as part of an AutoModerationRule update event.
71 struct DiscordCoreAPI_Dll OnAutoModerationRuleUpdateData {
72 AutoModerationRule theRule{};
73 OnAutoModerationRuleUpdateData(DiscordCoreInternal::WebSocketMessage& message, Value data);
74 };
75
76 /// \brief Data that is received as part of an AutoModerationRule delete event.
77 struct DiscordCoreAPI_Dll OnAutoModerationRuleDeletionData {
78 AutoModerationRule theRule{};
79 OnAutoModerationRuleDeletionData(DiscordCoreInternal::WebSocketMessage& message, Value data);
80 };
81
82 /// \brief Data that is received as part of an AutoModerationAction execution event.
83 struct DiscordCoreAPI_Dll OnAutoModerationActionExecutionData {
85 OnAutoModerationActionExecutionData(DiscordCoreInternal::WebSocketMessage& message, Value data);
86 };
87
88 /// \brief Data that is received as part of a Channel creation event.
89 struct DiscordCoreAPI_Dll OnChannelCreationData {
90 std::unique_ptr<ChannelData> channel{ std::make_unique<ChannelData>() };///< The new Channel.
91 OnChannelCreationData(DiscordCoreInternal::WebSocketMessage& message, Value data);
92 OnChannelCreationData& operator=(const OnChannelCreationData& other);
94 };
95
96 /// \brief Data that is received as part of a Channel update event.
97 struct DiscordCoreAPI_Dll OnChannelUpdateData {
98 std::unique_ptr<ChannelData> channel{ std::make_unique<ChannelData>() };///< The new Channel.
99 OnChannelUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
100 OnChannelUpdateData& operator=(const OnChannelUpdateData& other);
102 };
103
104 /// \brief Data that is received as part of a Channel deletion event.
105 struct DiscordCoreAPI_Dll OnChannelDeletionData {
106 std::unique_ptr<ChannelData> channel{ std::make_unique<ChannelData>() };///< The deleted Channel.
107 OnChannelDeletionData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
110 };
111
112 /// \brief Data that is received as part of a Channel pins update event.
113 struct DiscordCoreAPI_Dll OnChannelPinsUpdateData {
114 ChannelPinsUpdateEventData dataPackage{};///< The Channel pins update responseData.
115 OnChannelPinsUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
116 };
117
118 /// \brief Data that is received as part of a Thread creation event.
119 struct DiscordCoreAPI_Dll OnThreadCreationData {
120 Thread thread{};///< The new Thread's Channel.
121 OnThreadCreationData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
122 };
123
124 /// \brief Data that is received as part of a Thread update event.
125 struct DiscordCoreAPI_Dll OnThreadUpdateData {
126 Thread thread{};///< The new Thread's Channel.
127 OnThreadUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
128 };
129
130 /// \brief Data that is received as part of a Thread deletion event.
131 struct DiscordCoreAPI_Dll OnThreadDeletionData {
132 Thread thread{};///< The deleted Thread's Channel.
133 OnThreadDeletionData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
134 };
135
136 /// \brief Data that is received as part of a Thread list sync event.
137 struct DiscordCoreAPI_Dll OnThreadListSyncData {
138 ThreadListSyncData threadListSyncData{};///< The Thread list sync responseData.
139 OnThreadListSyncData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
140 };
141
142 /// \brief Data that is received as part of a Thread member update event.
143 struct DiscordCoreAPI_Dll OnThreadMemberUpdateData {
144 ThreadMemberData threadMember{};///< Thread member update responseData.
145 OnThreadMemberUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
146 };
147
148 /// \brief Data that is received as part of a Thread members update event.
149 struct DiscordCoreAPI_Dll OnThreadMembersUpdateData {
150 ThreadMembersUpdateData threadMembersUpdateData{};///< Thread member's update responseData.
151 OnThreadMembersUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
152 };
153
154 /// \brief Data that is received as part of a Guild creation event.
155 struct DiscordCoreAPI_Dll OnGuildCreationData {
156 std::unique_ptr<GuildData> guild{ std::make_unique<GuildData>() };///< The new Guild.
157 OnGuildCreationData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal, DiscordCoreClient*);
158 OnGuildCreationData& operator=(const OnGuildCreationData&);
160 };
161
162 /// \brief Data that is received as part of a Guild update event.
163 struct DiscordCoreAPI_Dll OnGuildUpdateData {
164 std::unique_ptr<GuildData> guild{ std::make_unique<GuildData>() };///< The new Guild.
165 OnGuildUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal, DiscordCoreClient*);
166 OnGuildUpdateData& operator=(const OnGuildUpdateData&);
168 };
169
170 /// \brief Data that is received as part of a Guild deletion event.
171 struct DiscordCoreAPI_Dll OnGuildDeletionData {
172 std::unique_ptr<GuildData> guild{ std::make_unique<GuildData>() };///< The deleted Guild.
173 OnGuildDeletionData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal, DiscordCoreClient*);
174 OnGuildDeletionData& operator=(const OnGuildDeletionData&);
176 };
177
178 /// \brief Data that is received as part of a Guild ban add event.
179 struct DiscordCoreAPI_Dll OnGuildBanAddData {
180 Snowflake guildId{};///< The Guild they were banned from.
181 User user{};///< The User id of the person who was banned.
182 OnGuildBanAddData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
183 };
184
185 /// \brief Data that is received as part of a Guild ban add event.
186 struct DiscordCoreAPI_Dll OnGuildBanRemoveData {
187 Snowflake guildId{};///< The Guild they were un-banned from.
188 User user{};///< The User id of the person who was un-banned.
189 OnGuildBanRemoveData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
190 };
191
192 /// \brief Data that is received as part of a Guild emojis update event.
193 struct DiscordCoreAPI_Dll OnGuildEmojisUpdateData {
194 GuildEmojisUpdateEventData updateData{};///< The Guild emoji's update responseData.
195 OnGuildEmojisUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
196 };
197
198 /// \brief Data that is received as part of a Guild sticker update event.
199 struct DiscordCoreAPI_Dll OnGuildStickersUpdateData {
200 GuildStickersUpdateEventData updateData{};///< The GuildStickersUpdateEventData.
201 OnGuildStickersUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
202 };
203
204 /// \brief Data that is received as part of a Guild Integration update event.
205 struct DiscordCoreAPI_Dll OnGuildIntegrationsUpdateData {
206 Snowflake guildId{};///< The id of the Guild for which the integrations were updated.
207 OnGuildIntegrationsUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
208 };
209
210 /// \brief Data that is received as part of a GuildMember add event.
211 struct DiscordCoreAPI_Dll OnGuildMemberAddData {
212 std::unique_ptr<GuildMemberData> guildMember{ std::make_unique<GuildMemberData>() };///< The new GuildMember.
213 DiscordCoreClient* discordCoreClient{ nullptr };
214 OnGuildMemberAddData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal, DiscordCoreClient*);
215 OnGuildMemberAddData& operator=(const OnGuildMemberAddData&);
216 OnGuildMemberAddData(const OnGuildMemberAddData&);
217 };
218
219 /// \brief Data that is received as part of a GuildMember update event.
220 struct DiscordCoreAPI_Dll OnGuildMemberUpdateData {
221 std::unique_ptr<GuildMemberData> guildMember{ std::make_unique<GuildMemberData>() };///< The new GuildMember.
222 OnGuildMemberUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal, DiscordCoreClient*);
225 };
226
227 /// \brief Data that is received as part of a GuildMember remove event.
228 struct DiscordCoreAPI_Dll OnGuildMemberRemoveData {
229 std::unique_ptr<UserData> user{ std::make_unique<UserData>() };///< The User responseData of the removed GuildMember.
230 DiscordCoreClient* discordCoreClient{ nullptr };
231 Snowflake guildId{};///< The id of the Guild from which they were removed.
232 OnGuildMemberRemoveData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal, DiscordCoreClient*);
235 };
236
237 /// \brief Data that is received as part of a GuildMembers chunk event.
238 struct DiscordCoreAPI_Dll OnGuildMembersChunkData {
239 GuildMembersChunkEventData chunkEventData{};///< GuildMembersChunkEventData structure.
240 OnGuildMembersChunkData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
241 };
242
243 /// \brief Data that is received as part of a Role creation event.
244 struct DiscordCoreAPI_Dll OnRoleCreationData {
245 std::unique_ptr<RoleData> role{ std::make_unique<RoleData>() };///< The new Role.
246 Snowflake guildId{};///< The id of the Guild within which the Role was created.
247 OnRoleCreationData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
248 OnRoleCreationData& operator=(const OnRoleCreationData&);
250 };
251
252 /// \brief Data that is received as part of a Role update event.
253 struct DiscordCoreAPI_Dll OnRoleUpdateData {
254 std::unique_ptr<RoleData> role{ std::make_unique<RoleData>() };///< The new Role.
255 Snowflake guildId{};///< The id of the Guild within which the Role was updated.
256 OnRoleUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
257 OnRoleUpdateData& operator=(const OnRoleUpdateData&);
259 };
260
261 /// \brief Data that is received as part of a Role deletion event.
262 struct DiscordCoreAPI_Dll OnRoleDeletionData {
263 std::unique_ptr<RoleData> role{ std::make_unique<RoleData>() };///< The deleted Role.
264 Snowflake guildId{};///< The id of the Guild from which the Role was deleted.
265 OnRoleDeletionData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
266 OnRoleDeletionData& operator=(const OnRoleDeletionData&);
268 };
269
270 /// \brief Data that is received as part of a GuildScheduledEvent creation event.
271 struct DiscordCoreAPI_Dll OnGuildScheduledEventCreationData {
272 GuildScheduledEventData guildScheduledEvent{};
273 OnGuildScheduledEventCreationData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
274 };
275
276 /// \brief Data that is received as part of a GuildScheduledEvent update event.
277 struct DiscordCoreAPI_Dll OnGuildScheduledEventUpdateData {
278 GuildScheduledEventData guildScheduledEvent{};
279 OnGuildScheduledEventUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
280 };
281
282 /// \brief Data that is received as part of a GuildScheduledEvent delete event.
283 struct DiscordCoreAPI_Dll OnGuildScheduledEventDeletionData {
284 GuildScheduledEventData guildScheduledEvent{};
285 OnGuildScheduledEventDeletionData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
286 };
287
288 /// \brief Data that is received as part of a GuildScheduledEvent User add event.
289 struct DiscordCoreAPI_Dll OnGuildScheduledEventUserAddData {
290 Snowflake guildScheduledEventId{};
291 Snowflake guildId{};
292 Snowflake userId{};
293 OnGuildScheduledEventUserAddData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
294 };
295
296 /// \brief Data that is received as part of a GuildScheduledEvent User remove event.
297 struct DiscordCoreAPI_Dll OnGuildScheduledEventUserRemoveData {
298 Snowflake guildScheduledEventId{};
299 Snowflake guildId{};
300 Snowflake userId{};
301 OnGuildScheduledEventUserRemoveData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
302 };
303
304 /// \brief Data that is received as part of an Integration creation event.
305 struct DiscordCoreAPI_Dll OnIntegrationCreationData {
306 IntegrationData integrationData{};///< The new IntegrationData structure.
307 Snowflake guildId{};///< The id of the Guild for which this Integration was created.
308 OnIntegrationCreationData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
309 };
310
311 /// \brief Data that is received as part of an Integration update event.
312 struct DiscordCoreAPI_Dll OnIntegrationUpdateData {
313 IntegrationData integrationData{};///< New IntegrationData structure.
314 Snowflake guildId{};///< The id of the Guild for which the Integration was updated.
315 OnIntegrationUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
316 };
317
318 /// \brief Data that is received as part of an Integration deletion event.
319 struct DiscordCoreAPI_Dll OnIntegrationDeletionData {
320 Snowflake applicationId{};///< Application id of the current application.
321 Snowflake guildId{};///< The id of the Guild for which the Integration was deleted.
322 Snowflake id{};///< The id of the deleted Integration.
323 OnIntegrationDeletionData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
324 };
325
326 /// \brief Data that is received as part of an Invite creation event.
327 struct DiscordCoreAPI_Dll OnInviteCreationData {
328 InviteData invite{};///< Thew new InviteData structure.
329 OnInviteCreationData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
330 };
331
332 /// \brief Data that is received as part of an Invite deletion event.
333 struct DiscordCoreAPI_Dll OnInviteDeletionData {
334 Snowflake channelId{};///< The id of the Channel for which the Invite existed.
335 Snowflake guildId{};///< The id of the Guild for which the Invite existed.
336 std::string code{};///< The code of the Invite.
337 OnInviteDeletionData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
338 };
339
340 /// \brief Data that is received as part of an Interaction creation event.
341 struct DiscordCoreAPI_Dll OnInteractionCreationData {
342 InteractionData interactionData{};///< The InteractionData representing the Interaction.
343 OnInteractionCreationData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal, DiscordCoreClient* clientPtr);
344 };
345
346 /// \brief Data that is received as part of a Message creation event.
347 struct DiscordCoreAPI_Dll OnMessageCreationData {
348 Message message{};///< The new Message.
349 OnMessageCreationData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
350 };
351
352 /// \brief Data that is received as part of a Message update event.
353 struct DiscordCoreAPI_Dll OnMessageUpdateData {
354 Message messageNew{};///< The new Message.
355 OnMessageUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
356 };
357
358 /// \brief Data that is received as part of a Message deletion event.
359 struct DiscordCoreAPI_Dll OnMessageDeletionData {
360 Snowflake messageId{};///< The id of the Message which was deleted.
361 Snowflake channelId{};///< The id of the Channel from which the Message was deleted.
362 Snowflake guildId{};///< The id of the Guild from which the Message was deleted.
363 OnMessageDeletionData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
364 };
365
366 /// \brief Data that is received as part of a Message delete bulk event.
367 struct DiscordCoreAPI_Dll OnMessageDeleteBulkData {
368 std::vector<Snowflake> ids{};///< A vector containing the list of deleted Message ids.
369 Snowflake channelId{};///< The id of the Channel from which the Message was deleted.
370 Snowflake guildId{};///< The id of the Guild from which the Message was deleted.
371 OnMessageDeleteBulkData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
372 };
373
374 /// \brief Data that is received as part of a Reaction add event.
375 struct DiscordCoreAPI_Dll OnReactionAddData {
376 Reaction reaction{};///< The Reaction that was added.
377 OnReactionAddData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
378 };
379
380 /// \brief Data that is received as part of a Reaction remove event.
381 struct DiscordCoreAPI_Dll OnReactionRemoveData {
382 ReactionRemoveData reactionRemoveData{};///< The ReactionRemoveData.
383 OnReactionRemoveData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
384 };
385
386 /// \brief Data that is received as part of a Reaction remove all event.
387 struct DiscordCoreAPI_Dll OnReactionRemoveAllData {
388 Snowflake channelId{};///< The id of the Channel from which the Reactions were deleted.
389 Snowflake messageId{};///< The id of the Message from which the Reactions were deleted.
390 Snowflake guildId{};///< The id of the Guild from which the Reactions were deleted.
391 OnReactionRemoveAllData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
392 };
393
394 /// \brief Data that is received as part of a Reaction remove emoji event.
395 struct DiscordCoreAPI_Dll OnReactionRemoveEmojiData {
396 Snowflake messageId{};///< The id of the Message from which the Reactions were deleted.
397 Snowflake channelId{};///< The id of the Channel from which the Reactions were deleted.
398 Snowflake guildId{};///< The id of the Guild from which the Reactions were deleted.
399 EmojiData emoji{};///< The id of the Emoji which was removed from the Message.
400 OnReactionRemoveEmojiData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
401 };
402
403 /// \brief Data that is received as part of a presence update event.
404 struct DiscordCoreAPI_Dll OnPresenceUpdateData {
405 PresenceUpdateData presenceData{};///< PresenceUpdateData..
406 OnPresenceUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
407 };
408
409 /// \brief Data that is received as part of a StageInstance creation event.
410 struct DiscordCoreAPI_Dll OnStageInstanceCreationData {
411 StageInstanceData stageInstance{};///< The new StageInstanceData.
412 OnStageInstanceCreationData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
413 };
414
415 /// \brief Data that is received as part of a StageInstance update event.
416 struct DiscordCoreAPI_Dll OnStageInstanceUpdateData {
417 StageInstanceData stageInstance{};///< The new StageInstanceData.
418 OnStageInstanceUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
419 };
420
421 /// \brief Data that is received as part of a StageInstance deletion event.
422 struct DiscordCoreAPI_Dll OnStageInstanceDeletionData {
423 StageInstanceData stageInstance{};///< The deleted StageInstanceData.
424 OnStageInstanceDeletionData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
425 };
426
427 /// \brief Data that is received as part of a typing start event.
428 struct DiscordCoreAPI_Dll OnTypingStartData {
429 TypingStartData typingStartData{};///< TypingStartData of the event.
430 OnTypingStartData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
431 };
432
433 /// \brief Data that is received as part of a User update event.
434 struct DiscordCoreAPI_Dll OnUserUpdateData {
435 std::unique_ptr<UserData> user{ std::make_unique<UserData>() };///< The new User.
436 OnUserUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
437 OnUserUpdateData& operator=(const OnUserUpdateData&);
439 };
440
441 /// \brief Data that is received as part of a voice state update event.
442 struct DiscordCoreAPI_Dll OnVoiceStateUpdateData {
443 VoiceStateData voiceStateData{};///< VoiceStateData for the new voice state.
444 OnVoiceStateUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal, DiscordCoreInternal::WebSocketClient* sslShard);
445 };
446
447 /// \brief Data that is received as part of a voice server update event.
448 struct DiscordCoreAPI_Dll OnVoiceServerUpdateData {
449 Snowflake guildId{};///< The id of the Guild for which the server update is occurring.
450 std::string endpoint{};///< The new endpoint.
451 std::string token{};///< The token of the server update event.
452 OnVoiceServerUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal,
453 DiscordCoreInternal::WebSocketClient* sslShard);
454 };
455
456 /// \brief Data that is received as part of a WebHook update event.
457 struct DiscordCoreAPI_Dll OnWebhookUpdateData {
458 Snowflake channelId{};///< Id of the Channel for which the WebHook Update is occurring.
459 Snowflake guildId{};///< Id of the Guild for which the WebHook Update is occurring.
460 OnWebhookUpdateData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
461 };
462
463 /// \brief Data that is received upon the bot receiving an autocomplete entry.
464 struct DiscordCoreAPI_Dll OnAutoCompleteEntryData {
465 InputEventData inputEvent{};///< The input-event representing the autocomplete entry.
466 OnAutoCompleteEntryData(DiscordCoreInternal::WebSocketMessage& data, Value dataReal);
467 };
468
469 /// \brief Class for handling the assignment of event-handling functions.int32_t
470 class DiscordCoreAPI_Dll EventManager {
471 public:
472 /// \brief For adding a function to handle this event.
473 /// \param handler A delegate taking an OnGatewayPingData structure as an argument.
474 /// \returns An event_token for later de-registering the event.
477 /// \brief For removing a function from handling this event.
478 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
480
481 /// \brief For adding a function to handle this event.
482 /// \param handler A delegate taking an OnApplicationCommandPermissionsUpdateData structure as an argument.
483 /// \returns An event_token for later de-registering the event.
484 DiscordCoreInternal::EventDelegateToken onApplicationCommandsPermissionsUpdate(
486 /// \brief For removing a function from handling this event.
487 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
488 void onApplicationCommandsPermissionsUpdate(DiscordCoreInternal::EventDelegateToken& token);
489
490 /// \brief For adding a function to handle this event.
491 /// \param handler A delegate taking an OnAutoModerationRuleCreationData structure as an argument.
492 /// \returns An event_token for later de-registering the event.
493 DiscordCoreInternal::EventDelegateToken onAutoModerationRuleCreation(
495 /// \brief For removing a function from handling this event.
496 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
497 void onAutoModerationRuleCreation(DiscordCoreInternal::EventDelegateToken& token);
498
499 /// \brief For adding a function to handle this event.
500 /// \param handler A delegate taking an OnAutoModerationRuleUpdateData structure as an argument.
501 /// \returns An event_token for later de-registering the event.
502 DiscordCoreInternal::EventDelegateToken onAutoModerationRuleUpdate(
504 /// \brief For removing a function from handling this event.
505 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
506 void onAutoModerationRuleUpdate(DiscordCoreInternal::EventDelegateToken& token);
507
508 /// \brief For adding a function to handle this event.
509 /// \param handler A delegate taking an OnAutoModerationRuleDeletionData structure as an argument.
510 /// \returns An event_token for later de-registering the event.
511 DiscordCoreInternal::EventDelegateToken onAutoModerationRuleDeletion(
513 /// \brief For removing a function from handling this event.
514 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
515 void onAutoModerationRuleDeletion(DiscordCoreInternal::EventDelegateToken& token);
516
517 /// \brief For adding a function to handle this event.
518 /// \param handler A delegate taking an OnAutoModerationActionExecutionData structure as an argument.
519 /// \returns An event_token for later de-registering the event.
520 DiscordCoreInternal::EventDelegateToken onAutoModerationActionExecution(
522 /// \brief For removing a function from handling this event.
523 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
524 void onAutoModerationActionExecution(DiscordCoreInternal::EventDelegateToken& token);
525
526 /// \brief For adding a function to handle this event.
527 /// \param handler A delegate taking an OnInputEventCreationData structure as an argument.
528 /// \returns An event_token for later de-registering the event.
529 DiscordCoreInternal::EventDelegateToken onAutoCompleteEntry(
531 /// \brief For removing a function from handling this event.
532 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
533 void onAutoCompleteEntry(DiscordCoreInternal::EventDelegateToken& token);
534
535 /// \brief For adding a function to handle this event.
536 /// \param handler A delegate taking an OnInputEventCreationData structure as an argument.
537 /// \returns An event_token for later de-registering the event.
538 DiscordCoreInternal::EventDelegateToken onInputEventCreation(
540 /// \brief For removing a function from handling this event.
541 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
542 void onInputEventCreation(DiscordCoreInternal::EventDelegateToken& token);
543
544 /// \brief For adding a function to handle this event.
545 /// \param handler A delegate taking an OnChannelCreationData structure as an argument.
546 /// \returns An event_token for later de-registering the event.
549 /// \brief For removing a function from handling this event.
550 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
551 void onChannelCreation(DiscordCoreInternal::EventDelegateToken& token);
552
553 /// \brief For adding a function to handle this event.
554 /// \param handler A delegate taking an OnChannelUpdateData structure as an argument.
555 /// \returns An event_token for later de-registering the event.
558 /// \brief For removing a function from handling this event.
559 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
560 void onChannelUpdate(DiscordCoreInternal::EventDelegateToken& token);
561
562 /// \brief For adding a function to handle this event.
563 /// \param handler A delegate taking an OnChannelDeletionData structure as an argument.
564 /// \returns An event_token for later de-registering the event.
567 /// \brief For removing a function from handling this event.
568 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
569 void onChannelDeletion(DiscordCoreInternal::EventDelegateToken& token);
570
571 /// \brief For adding a function to handle this event.
572 /// \param handler A delegate taking an OnChannelPinsUpdateData structure as an argument.
573 /// \returns An event_token for later de-registering the event.
574 DiscordCoreInternal::EventDelegateToken onChannelPinsUpdate(
576 /// \brief For removing afunction from handling this event.
577 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
578 void onChannelPinsUpdate(DiscordCoreInternal::EventDelegateToken& token);
579
580 /// \brief For adding a function to handle this event.
581 /// \param handler A delegate taking an OnThreadCreationData structure as an argument.
582 /// \returns An event_token for later de-registering the event.
585 /// \brief For removing a function from handling this event.
586 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
587 void onThreadCreation(DiscordCoreInternal::EventDelegateToken& token);
588
589 /// \brief For adding a function to handle this event.
590 /// \param handler A delegate taking an OnThreadUpdateData structure as an argument.
591 /// \returns An event_token for later de-registering the event.
594 /// \brief For removing a function from handling this event.
595 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
596 void onThreadUpdate(DiscordCoreInternal::EventDelegateToken& token);
597
598 /// \brief For adding a function to handle this event.
599 /// \param handler A delegate taking an OnThreadDeletionData structure as an argument.
600 /// \returns An event_token for later de-registering the event.
603 /// \brief For removing a function from handling this event.
604 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
605 void onThreadDeletion(DiscordCoreInternal::EventDelegateToken& token);
606
607 /// \brief For adding a function to handle this event.
608 /// \param handler A delegate taking an OnThreadListSyncData structure as an argument.
609 /// \returns An event_token for later de-registering the event.
612 /// \brief For removing a function from handling this event.
613 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
614 void onThreadListSync(DiscordCoreInternal::EventDelegateToken& token);
615
616 /// \brief For adding a function to handle this event.
617 /// \param handler A delegate taking an OnThreadMemberUpdateData structure as an argument.
618 /// \returns An event_token for later de-registering the event.
619 DiscordCoreInternal::EventDelegateToken onThreadMemberUpdate(
621 /// \brief For removing a function from handling this event.
622 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
623 void onThreadMemberUpdate(DiscordCoreInternal::EventDelegateToken& token);
624
625 /// \brief For adding a function to handle this event.
626 /// \param handler A delegate taking an OnThreadMembersUpdateData structure as an argument
627 /// \returns An event_token for later de-registering the event.
628 DiscordCoreInternal::EventDelegateToken onThreadMembersUpdate(
630 /// \brief For removing a function from handling this event.
631 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
632 void onThreadMembersUpdate(DiscordCoreInternal::EventDelegateToken& token);
633
634 /// \brief For adding a function to handle this event.
635 /// \param handler A delegate taking an OnGuildCreationData structure as an argument.
636 /// \returns An event_token for later de-registering the event.
639 /// \brief For removing a function from handling this event.
640 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
641 void onGuildCreation(DiscordCoreInternal::EventDelegateToken& token);
642
643 /// \brief For adding a function to handle this event.
644 /// \param handler A delegate taking an OnGuildUpdateData structure as an argument.
645 /// \returns An event_token for later de-registering the event.
648 /// \brief For removing a function from handling this event.
649 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
650 void onGuildUpdate(DiscordCoreInternal::EventDelegateToken& token);
651
652 /// \brief For adding a function to handle this event.
653 /// \param handler A delegate taking an OnGuildDeletionData structure as an argument
654 /// \returns An event_token for later de-registering the event.
657 /// \brief For removing a function from handling this event.
658 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
659 void onGuildDeletion(DiscordCoreInternal::EventDelegateToken& token);
660
661 /// \brief For adding a function to handle this event.
662 /// \param handler A delegate taking an OnGuildBanAddData structure as an argument.
663 /// \returns An event_token for later de-registering the event.
666 /// \brief For removing a function from handling this event.
667 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
668 void onGuildBanAdd(DiscordCoreInternal::EventDelegateToken& token);
669
670 /// \brief For adding a function to handle this event.
671 /// \param handler A delegate taking an OnGuildBanRemoveData structure as an argument.
672 /// \returns An event_token for later de-registering the event.
675 /// \brief For removing a function from handling this event.
676 /// \param token DiscordCoreInternal::EventDelegateToken, from the original event registration.
677 void onGuildBanRemove(DiscordCoreInternal::EventDelegateToken& token);
678
679 /// \brief For adding a function to handle this event.
680 /// \param handler A delegate taking an OnGuildEmojisUpdateData structure as an argument.
681 /// \returns An event_token for later de-registering the event.
682 DiscordCoreInternal::EventDelegateToken onGuildEmojisUpdate(
684 /// \brief For removing a function from handling this event.
685 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
686 void onGuildEmojisUpdate(DiscordCoreInternal::EventDelegateToken& token);
687
688 /// \brief For adding a function to handle this event.
689 /// \param handler A delegate taking an OnGuildStickersUpdateData structure as an argument.
690 /// \returns An event_token for later de-registering the event.
691 DiscordCoreInternal::EventDelegateToken onGuildStickersUpdate(
693 /// \brief For removing a function from handling this event.
694 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
695 void onGuildStickersUpdate(DiscordCoreInternal::EventDelegateToken& token);
696
697 /// \brief For adding a function to handle this event.
698 /// \param handler A delegate taking an OnGuildIntegrationsUpdateData structure as an argument.
699 /// \returns An event_token for later de-registering the event.
700 DiscordCoreInternal::EventDelegateToken onGuildIntegrationsUpdate(
702 /// \brief For removing a function from handling this event.
703 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
704 void onGuildIntegrationsUpdate(DiscordCoreInternal::EventDelegateToken& token);
705
706 /// \brief For adding a function to handle this event.
707 /// \param handler A delegate taking an OnGuildMembersChunkData structure as an argument.
708 /// returns An DiscordCoreInternal::EventDelegateToken, > for later de-registering the event.
709 DiscordCoreInternal::EventDelegateToken onGuildMembersChunk(
711 /// \brief For removing a function from handling this event.
712 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
713 void onGuildMembersChunk(DiscordCoreInternal::EventDelegateToken& token);
714
715 /// \brief For adding a function to handle this event.
716 /// \param handler A delegate taking an OnGuildMemberAddData structure as an argument.
717 /// \returns An event_token for later de-registering the event.
720 /// \brief For removing a function from handling this event.
721 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
722 void onGuildMemberAdd(DiscordCoreInternal::EventDelegateToken& token);
723
724 /// \brief For adding a function to handle this event.
725 /// \param handler A delegate taking an OnGuildMemberRemoveData structure as an argument.
726 /// \returns An event_token for later de-registering the event.
727 DiscordCoreInternal::EventDelegateToken onGuildMemberRemove(
729 /// \brief For removing a function from handling this event.
730 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
731 void onGuildMemberRemove(DiscordCoreInternal::EventDelegateToken& token);
732
733 /// \brief For adding a function to handle this event.
734 /// \param handler A delegate taking an OnGuildMemberUpdateData structure as an argument.
735 /// \returns An event_token for later de-registering the event.
736 DiscordCoreInternal::EventDelegateToken onGuildMemberUpdate(
738 /// \brief For removing a function from handling this event.
739 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
740 void onGuildMemberUpdate(DiscordCoreInternal::EventDelegateToken& token);
741
742 /// \brief For adding a function to handle this event.
743 /// \param handler A delegate taking an OnRoleCreationData structure as an argument.
744 /// \returns An event_token for later de-registering the event.
747 /// \brief For removing a function from handling this event.
748 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
749 void onRoleCreation(DiscordCoreInternal::EventDelegateToken& token);
750
751 /// \brief For adding a function to handle this event.
752 /// \param handler A delegate taking an OnRoleUpdateData structure as an argument
753 /// \returns An event_token for later de-registering the event.
756 /// \brief For removing a function from handling this event.
757 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
758 void onRoleUpdate(DiscordCoreInternal::EventDelegateToken& token);
759
760 /// \brief For adding a function to handle this event.
761 /// \param handler A delegate taking an OnRoleDeletionData structure as an argument.
762 /// \returns An event_token for later de-registering the event.
765 /// \brief For removing a function from handling this event.
766 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
767 void onRoleDeletion(DiscordCoreInternal::EventDelegateToken& token);
768
769 /// \brief For adding a function to handle this event.
770 /// \param handler A delegate taking an OnGuildScheduledEventCreationData structure as an argument.
771 /// \returns An event_token for later de-registering the event.
772 DiscordCoreInternal::EventDelegateToken onGuildScheduledEventCreation(
774 /// \brief For removing a function from handling this event.
775 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
776 void onGuildScheduledEventCreation(DiscordCoreInternal::EventDelegateToken& token);
777
778 /// \brief For adding a function to handle this event.
779 /// \param handler A delegate taking an OnGuildScheduledEventUpdateData structure as an argument.
780 /// \returns An event_token for later de-registering the event.
781 DiscordCoreInternal::EventDelegateToken onGuildScheduledEventUpdate(
783 /// \brief For removing a function from handling this event.
784 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
785 void onGuildScheduledEventUpdate(DiscordCoreInternal::EventDelegateToken& token);
786
787 /// \brief For adding a function to handle this event.
788 /// \param handler A delegate taking an OnGuildScheduledEventDeletionData structure as an argument.
789 /// \returns An event_token for later de-registering the event.
790 DiscordCoreInternal::EventDelegateToken onGuildScheduledEventDeletion(
792 /// \brief For removing a function from handling this event.
793 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
794 void onGuildScheduledEventDeletion(DiscordCoreInternal::EventDelegateToken& token);
795
796 /// \brief For adding a function to handle this event.
797 /// \param handler A delegate taking an OnGuildScheduledEventUserAddData structure as an argument.
798 /// \returns An event_token for later de-registering the event.
799 DiscordCoreInternal::EventDelegateToken onGuildScheduledEventUserAdd(
801 /// \brief For removing a function from handling this event.
802 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
803 void onGuildScheduledEventUserAdd(DiscordCoreInternal::EventDelegateToken& token);
804
805 /// \brief For adding a function to handle this event.
806 /// \param handler A delegate taking an OnGuildScheduledEventUserRemoveData structure as an argument.
807 /// \returns An event_token for later de-registering the event.
808 DiscordCoreInternal::EventDelegateToken onGuildScheduledEventUserRemove(
810 /// \brief For removing a function from handling this event.
811 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
812 void onGuildScheduledEventUserRemove(DiscordCoreInternal::EventDelegateToken& token);
813
814 /// \brief For adding a function to handle this event.
815 /// \param handler A delegate taking an OnIntegrationCreationData structure as an argument.
816 /// \returns An event_token for later de-registering the event.
817 DiscordCoreInternal::EventDelegateToken onIntegrationCreation(
819 /// \brief For removing a function from handling this event.
820 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
821 void onIntegrationCreation(DiscordCoreInternal::EventDelegateToken& token);
822
823 /// \brief For adding a function to handle this event.
824 /// \param handler A delegate taking an OnIntegrationUpdateData structure as an argument.
825 /// \returns An event_token for later de-registering the event.
826 DiscordCoreInternal::EventDelegateToken onIntegrationUpdate(
828 /// \brief For removing a function from handling this event.
829 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
830 void onIntegrationUpdate(DiscordCoreInternal::EventDelegateToken& token);
831
832 /// \brief For adding a function to handle this event.
833 /// \param handler A delegate taking an OnIntegrationDeletionData structure as an argument.
834 /// \returns An event_token for later de-registering the event.
835 DiscordCoreInternal::EventDelegateToken onIntegrationDeletion(
837 /// \brief For removing a function from handling this event.
838 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
839 void onIntegrationDeletion(DiscordCoreInternal::EventDelegateToken& token);
840
841 /// \brief For adding a function to handle this event.
842 /// \param handler A delegate taking an OnInteractionCreationData structure as an argument.
843 /// \returns An event_token for later de-registering the event.
844 DiscordCoreInternal::EventDelegateToken onInteractionCreation(
846 /// \brief For removing a function from handling this event.
847 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
848 void onInteractionCreation(DiscordCoreInternal::EventDelegateToken& token);
849
850 /// \brief For adding a function to handle this event.
851 /// \param handler A delegate taking an OnInviteCreationData structure as an argument.
852 /// \returns An event_token for later de-registering the event.
855 /// \brief For removing a function from handling this event.
856 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
857 void onInviteCreation(DiscordCoreInternal::EventDelegateToken& token);
858
859 /// \brief For adding a function to handle this event.
860 /// \param handler A delegate taking an OnInviteDeletionData structure as an argument.
861 /// \returns An event_token for later de-registering the event.
864 /// \brief For removing a function from handling this event.
865 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
866 void onInviteDeletion(DiscordCoreInternal::EventDelegateToken& token);
867
868 /// \brief For adding a function to handle this event.
869 /// \param handler A delegate taking an OnMessageCreationData structure as an argument.
870 /// \returns An event_token for later de-registering the event.
873 /// \brief For removing a function from handling this event.
874 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
875 void onMessageCreation(DiscordCoreInternal::EventDelegateToken& token);
876
877 /// \brief For adding a function to handle this event.
878 /// \param handler A delegate taking an OnMessageUpdateData structure as an argument.
879 /// \returns An event_token for later de-registering the event.
882 /// \brief For removing a function from handling this event.
883 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
884 void onMessageUpdate(DiscordCoreInternal::EventDelegateToken& token);
885
886 /// \brief For adding a function to handle this event.
887 /// \param handler A delegate taking an OnMessageDeletionData structure as an argument.
888 /// \returns An event_token for later de-registering the event.
891 /// \brief For removing a function from handling this event.
892 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
893 void onMessageDeletion(DiscordCoreInternal::EventDelegateToken& token);
894
895 /// \brief For adding a function to handle this event.
896 /// \param handler A delegate taking an OnMessageDeleteBulkData structure as an argument.
897 /// \returns An event_token for later de-registering the event.
898 DiscordCoreInternal::EventDelegateToken onMessageDeleteBulk(
900 /// \brief For removing a function from handling this event.
901 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
902 void onMessageDeleteBulk(DiscordCoreInternal::EventDelegateToken& token);
903
904 /// \brief For adding a function to handle this event.
905 /// \param handler A delegate taking an OnReactionAddData structure as an argument.
906 /// \returns An event_token for later de-registering the event.
909 /// \brief For removing a function from handling this event.
910 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
911 void onReactionAdd(DiscordCoreInternal::EventDelegateToken& token);
912
913 /// \brief For adding a function to handle this event.
914 /// \param handler A delegate taking an OnReactionRemoveData structure as an argument.
915 /// \returns An event_token for later de-registering the event.
918 /// \brief For removing a function from handling this event.
919 /// \param token An DiscordCoreInternal::EventDelegateToken,from the original event registration.
920 void onReactionRemove(DiscordCoreInternal::EventDelegateToken& token);
921
922 /// \brief For adding a function to handle this event.
923 /// \param handler A delegate taking an OnReactionRemoveAllData structure as an argument.
924 /// \returns An event_token for later de-registering the event.
925 DiscordCoreInternal::EventDelegateToken onReactionRemoveAll(
927 /// \brief For removing a function from handling this event.
928 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
929 void onReactionRemoveAll(DiscordCoreInternal::EventDelegateToken& token);
930
931 /// \brief For adding a function to handle this event.
932 /// \param handler A delegate taking an OnReactionRemoveEmojiData structure as an argument.
933 /// \returns An event_token for later de-registering the event.
934 DiscordCoreInternal::EventDelegateToken onReactionRemoveEmoji(
936 /// \brief For removing a function from handling this event.
937 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
938 void onReactionRemoveEmoji(DiscordCoreInternal::EventDelegateToken& token);
939
940 /// \brief For adding a function to handle this event.
941 /// \param handler A delegate taking an OnPresenceUpdateData structure as an argument.
942 /// \returns An event_token for later de-registering the event.
945 /// \brief For removing a function from handling this event.
946 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
947 void onPresenceUpdate(DiscordCoreInternal::EventDelegateToken& token);
948
949 /// \brief For adding a function to handle this event.
950 /// \param handler A delegate taking an OnStageInstanceCreationData structure as an argument.
951 /// \returns An event_token for later de-registering the event.
952 DiscordCoreInternal::EventDelegateToken onStageInstanceCreation(
954 /// \brief For removing a function from handling this event.
955 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
956 void onStageInstanceCreation(DiscordCoreInternal::EventDelegateToken& token);
957
958 /// \brief For adding a function to handle this event.
959 /// \param handler A delegate taking an OnStageInstanceUpdateData structure as an argument.
960 /// \returns An event_token for later de-registering the event.
961 DiscordCoreInternal::EventDelegateToken onStageInstanceUpdate(
963 /// \brief For removing a function from handling this event.
964 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
965 void onStageInstanceUpdate(DiscordCoreInternal::EventDelegateToken& token);
966
967 /// \brief For adding a function to handle this event.
968 /// \param handler A delegate taking an OnStageInstanceDeletionData structure as an argument.
969 /// \returns An event_token for later de-registering the event.
970 DiscordCoreInternal::EventDelegateToken onStageInstanceDeletion(
972 /// \brief For removing a function from handling this event.
973 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
974 void onStageInstanceDeletion(DiscordCoreInternal::EventDelegateToken& token);
975
976 /// \brief For adding a function to handle this event.
977 /// \param handler A delegate taking an OnTypingStartData structure as an argument.
978 /// \returns An event_token for later de-registering the event.
981 /// \brief For removing a function from handling this event.
982 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
983 void onTypingStart(DiscordCoreInternal::EventDelegateToken& token);
984
985 /// \brief For adding a function to handle this event.
986 /// \param handler A delegate taking an OnUserUpdateData structure as an argument.
987 /// \returns An event_token for later de-registering the event.
990 /// \brief For removing a function from handling this event.
991 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
992 void onUserUpdate(DiscordCoreInternal::EventDelegateToken& token);
993
994 /// \brief For adding a function to handle this event.
995 /// \param handler A delegate taking an OnVoiceStateUpdateData structure as an argument.
996 /// \returns An event_token for later de-registering the event.
999 /// \brief For removing a function from handling this event.
1000 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
1001 void onVoiceStateUpdate(DiscordCoreInternal::EventDelegateToken& token);
1002
1003 /// \brief For adding a function to handle this event.
1004 /// \param handler A delegate taking an OnVoiceServerUpdateData structure as an argument.
1005 /// \returns An event_token for later de-registering the event.
1006 DiscordCoreInternal::EventDelegateToken onVoiceServerUpdate(
1008 /// \brief For removing a function from handling this event.
1009 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
1010 void onVoiceServerUpdate(DiscordCoreInternal::EventDelegateToken& token);
1011
1012 /// \brief For adding a function to handle this event.
1013 /// \param handler A delegate taking an OnWebhookUpdateData structure as an argument.
1014 /// \returns An event_token for later de-registering the event.
1017 /// \brief For removing a function from handling this event.
1018 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
1019 void onWebhookUpdate(DiscordCoreInternal::EventDelegateToken& token);
1020
1021 DiscordCoreInternal::Event<CoRoutine<void>, OnGatewayPingData> onGatewayPingEvent{};
1022
1023 DiscordCoreInternal::Event<CoRoutine<void>, OnApplicationCommandPermissionsUpdateData> onApplicationCommandPermissionsUpdateEvent{};
1024
1025 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoModerationRuleCreationData> onAutoModerationRuleCreationEvent{};
1026
1027 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoModerationRuleUpdateData> onAutoModerationRuleUpdateEvent{};
1028
1029 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoModerationRuleDeletionData> onAutoModerationRuleDeletionEvent{};
1030
1031 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoModerationActionExecutionData> onAutoModerationActionExecutionEvent{};
1032
1033 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoCompleteEntryData> onAutoCompleteEntryEvent{};
1034
1035 DiscordCoreInternal::Event<CoRoutine<void>, OnInputEventCreationData> onInputEventCreationEvent{};
1036
1037 DiscordCoreInternal::Event<CoRoutine<void>, OnChannelCreationData> onChannelCreationEvent{};
1038
1039 DiscordCoreInternal::Event<CoRoutine<void>, OnChannelUpdateData> onChannelUpdateEvent{};
1040
1041 DiscordCoreInternal::Event<CoRoutine<void>, OnChannelDeletionData> onChannelDeletionEvent{};
1042
1043 DiscordCoreInternal::Event<CoRoutine<void>, OnChannelPinsUpdateData> onChannelPinsUpdateEvent{};
1044
1045 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadCreationData> onThreadCreationEvent{};
1046
1047 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadUpdateData> onThreadUpdateEvent{};
1048
1049 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadDeletionData> onThreadDeletionEvent{};
1050
1051 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadListSyncData> onThreadListSyncEvent{};
1052
1053 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadMemberUpdateData> onThreadMemberUpdateEvent{};
1054
1055 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadMembersUpdateData> onThreadMembersUpdateEvent{};
1056
1057 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildCreationData> onGuildCreationEvent{};
1058
1059 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildUpdateData> onGuildUpdateEvent{};
1060
1061 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildDeletionData> onGuildDeletionEvent{};
1062
1063 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildBanAddData> onGuildBanAddEvent{};
1064
1065 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildBanRemoveData> onGuildBanRemoveEvent{};
1066
1067 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildEmojisUpdateData> onGuildEmojisUpdateEvent{};
1068
1069 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildStickersUpdateData> onGuildStickersUpdateEvent{};
1070
1071 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildIntegrationsUpdateData> onGuildIntegrationsUpdateEvent{};
1072
1073 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildMemberAddData> onGuildMemberAddEvent{};
1074
1075 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildMemberRemoveData> onGuildMemberRemoveEvent{};
1076
1077 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildMemberUpdateData> onGuildMemberUpdateEvent{};
1078
1079 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildMembersChunkData> onGuildMembersChunkEvent{};
1080
1081 DiscordCoreInternal::Event<CoRoutine<void>, OnRoleCreationData> onRoleCreationEvent{};
1082
1083 DiscordCoreInternal::Event<CoRoutine<void>, OnRoleUpdateData> onRoleUpdateEvent{};
1084
1085 DiscordCoreInternal::Event<CoRoutine<void>, OnRoleDeletionData> onRoleDeletionEvent{};
1086
1087 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventCreationData> onGuildScheduledEventCreationEvent{};
1088
1089 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventUpdateData> onGuildScheduledEventUpdateEvent{};
1090
1091 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventDeletionData> onGuildScheduledEventDeletionEvent{};
1092
1093 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventUserAddData> onGuildScheduledEventUserAddEvent{};
1094
1095 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventUserRemoveData> onGuildScheduledEventUserRemoveEvent{};
1096
1097 DiscordCoreInternal::Event<CoRoutine<void>, OnIntegrationCreationData> onIntegrationCreationEvent{};
1098
1099 DiscordCoreInternal::Event<CoRoutine<void>, OnIntegrationUpdateData> onIntegrationUpdateEvent{};
1100
1101 DiscordCoreInternal::Event<CoRoutine<void>, OnIntegrationDeletionData> onIntegrationDeletionEvent{};
1102
1103 DiscordCoreInternal::Event<CoRoutine<void>, OnInteractionCreationData> onInteractionCreationEvent{};
1104
1105 DiscordCoreInternal::Event<CoRoutine<void>, OnInviteCreationData> onInviteCreationEvent{};
1106
1107 DiscordCoreInternal::Event<CoRoutine<void>, OnInviteDeletionData> onInviteDeletionEvent{};
1108
1109 DiscordCoreInternal::Event<CoRoutine<void>, OnMessageCreationData> onMessageCreationEvent{};
1110
1111 DiscordCoreInternal::Event<CoRoutine<void>, OnMessageUpdateData> onMessageUpdateEvent{};
1112
1113 DiscordCoreInternal::Event<CoRoutine<void>, OnMessageDeletionData> onMessageDeletionEvent{};
1114
1115 DiscordCoreInternal::Event<CoRoutine<void>, OnMessageDeleteBulkData> onMessageDeleteBulkEvent{};
1116
1117 DiscordCoreInternal::Event<CoRoutine<void>, OnReactionAddData> onReactionAddEvent{};
1118
1119 DiscordCoreInternal::Event<CoRoutine<void>, OnReactionRemoveData> onReactionRemoveEvent{};
1120
1121 DiscordCoreInternal::Event<CoRoutine<void>, OnReactionRemoveAllData> onReactionRemoveAllEvent{};
1122
1123 DiscordCoreInternal::Event<CoRoutine<void>, OnReactionRemoveEmojiData> onReactionRemoveEmojiEvent{};
1124
1125 DiscordCoreInternal::Event<CoRoutine<void>, OnPresenceUpdateData> onPresenceUpdateEvent{};
1126
1127 DiscordCoreInternal::Event<CoRoutine<void>, OnStageInstanceCreationData> onStageInstanceCreationEvent{};
1128
1129 DiscordCoreInternal::Event<CoRoutine<void>, OnStageInstanceUpdateData> onStageInstanceUpdateEvent{};
1130
1131 DiscordCoreInternal::Event<CoRoutine<void>, OnStageInstanceDeletionData> onStageInstanceDeletionEvent{};
1132
1133 DiscordCoreInternal::Event<CoRoutine<void>, OnTypingStartData> onTypingStartEvent{};
1134
1135 DiscordCoreInternal::Event<CoRoutine<void>, OnUserUpdateData> onUserUpdateEvent{};
1136
1137 DiscordCoreInternal::Event<CoRoutine<void>, OnVoiceStateUpdateData> onVoiceStateUpdateEvent{};
1138
1139 DiscordCoreInternal::Event<CoRoutine<void>, OnVoiceServerUpdateData> onVoiceServerUpdateEvent{};
1140
1141 DiscordCoreInternal::Event<CoRoutine<void>, OnWebhookUpdateData> onWebhookUpdateEvent{};
1142 };
1143 /**@}*/
1144
1145}// namespace DiscordCoreAPI
The main namespace for this library.
For when an auto-moderation-rule is executed.
Represents an auto-moderation-rule.
A CoRoutine - representing a potentially asynchronous operation/function.
Definition: CoRoutine.hpp:52
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.
Data for a single member of a Thread.
Data structure representing a single emoji.
Represents the Permissions for accessing an ApplicationCommand from within a Guild.
Data representing a Guild Scheduled Event.
Representing "TypingStart" data.
Data for when some Channel pins are updated.
Data for when threads are synced.
Represents a Thread-members-update.
Data representing a Guild Emoji Update event.
Data representing a Guild Stickers Update event.
Data representing an input-event, which is any Message or Interaction that is coming into the bot as ...
Represents a single Thread.
A single User.