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
48 template<typename ValueType> struct EventData {
49 public:
50 ValueType value{};
51 };
52
53 template<typename ValueType, typename OldValueType> struct UpdatedEventData {
54 public:
55 OldValueType oldValue{};
56 ValueType value{};
57 };
58
59 struct DiscordCoreAPI_Dll GuildMemberRemoveData {
60 Snowflake guildId{};
61 UserData user{};
62 };
63
64 struct DiscordCoreAPI_Dll GuildBanAddData {
65 Snowflake guildId{};
66 User user{};
67 };
68
69 struct DiscordCoreAPI_Dll GuildBanRemoveData {
70 Snowflake guildId{};
71 User user{};
72 };
73
74 struct DiscordCoreAPI_Dll RoleCreationData {
75 Snowflake guildId{};
76 RoleData role{};
77 };
78
79 struct DiscordCoreAPI_Dll RoleUpdateData {
80 Snowflake guildId{};
81 RoleData role{};
82 };
83
84 struct DiscordCoreAPI_Dll RoleDeletionData {
85 Snowflake guildId{};
86 RoleData role{};
87 };
88
89 struct DiscordCoreAPI_Dll GuildScheduledEventUserAddData {
90 Snowflake guildScheduledEventId{};
91 Snowflake guildId{};
92 Snowflake userId{};
93 };
94
95 struct DiscordCoreAPI_Dll GuildScheduledEventUserRemoveData {
96 Snowflake guildScheduledEventId{};
97 Snowflake guildId{};
98 Snowflake userId{};
99 };
100
101 struct DiscordCoreAPI_Dll IntegrationCreationData {
102 IntegrationData integrationData{};///< The new IntegrationData structure.
103 Snowflake guildId{};///< The id of the Guild for which this Integration was created.
104 };
105
106 struct DiscordCoreAPI_Dll IntegrationUpdateData {
107 IntegrationData integrationData{};///< New IntegrationData structure.
108 Snowflake guildId{};///< The id of the Guild for which the Integration was updated.
109 };
110
111 struct DiscordCoreAPI_Dll IntegrationDeletionData {
112 Snowflake applicationId{};///< Application id of the current application.
113 Snowflake guildId{};///< The id of the Guild for which the Integration was deleted.
114 Snowflake id{};///< The id of the deleted Integration.
115 };
116
117 struct DiscordCoreAPI_Dll InviteDeletionData {
118 Snowflake channelId{};///< The id of the Channel for which the Invite existed.
119 Snowflake guildId{};///< The id of the Guild for which the Invite existed.
120 std::string code{};///< The code of the Invite.
121 };
122
123 struct DiscordCoreAPI_Dll MessageDeletionData {
124 Snowflake messageId{};///< The id of the Message which was deleted.
125 Snowflake channelId{};///< The id of the Channel from which the Message was deleted.
126 Snowflake guildId{};///< The id of the Guild from which the Message was deleted.
127 };
128
129 struct DiscordCoreAPI_Dll MessageDeletionBulkData {
130 std::vector<Snowflake> ids{};///< A vector containing the list of deleted Message ids.
131 Snowflake channelId{};///< The id of the Channel from which the Message was deleted.
132 Snowflake guildId{};///< The id of the Guild from which the Message was deleted.
133 };
134
135 struct DiscordCoreAPI_Dll ReactionRemoveAllData {
136 Snowflake channelId{};///< The id of the Channel from which the Reactions were deleted.
137 Snowflake messageId{};///< The id of the Message from which the Reactions were deleted.
138 Snowflake guildId{};///< The id of the Guild from which the Reactions were deleted.
139 };
140
141 struct DiscordCoreAPI_Dll ReactionRemoveEmojiData {
142 Snowflake messageId{};///< The id of the Message from which the Reactions were deleted.
143 Snowflake channelId{};///< The id of the Channel from which the Reactions were deleted.
144 Snowflake guildId{};///< The id of the Guild from which the Reactions were deleted.
145 EmojiData emoji{};///< The id of the Emoji which was removed from the Message.
146 };
147
148 struct DiscordCoreAPI_Dll WebHookUpdateData {
149 Snowflake channelId{};///< Id of the Channel for which the WebHook Update is occurring.
150 Snowflake guildId{};///< Id of the Guild for which the WebHook Update is occurring.
151 };
152
153 /// \brief Data that is received as part of a Gateway ping event.
154 struct DiscordCoreAPI_Dll OnGatewayPingData : public EventData<int32_t> {
155 int32_t timeUntilNextPing{};///< The number of milliseconds until the next ping.
156 };
157
158 /// \brief Data that is received as part of an InputEvent creation event.
159 struct DiscordCoreAPI_Dll OnInputEventCreationData : public EventData<InputEventData> {
160 OnInputEventCreationData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
161 };
162
163 /// \brief Data that is received as part of an ApplicationCommandPermissions update event.
164 struct DiscordCoreAPI_Dll OnApplicationCommandPermissionsUpdateData : public EventData<GuildApplicationCommandPermissionsData> {
165 OnApplicationCommandPermissionsUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
166 };
167
168 /// \brief Data that is received as part of an AutoModerationRule creation event.
169 struct DiscordCoreAPI_Dll OnAutoModerationRuleCreationData : public EventData<AutoModerationRule> {
170 OnAutoModerationRuleCreationData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
171 };
172
173 /// \brief Data that is received as part of an AutoModerationRule update event.
174 struct DiscordCoreAPI_Dll OnAutoModerationRuleUpdateData : public EventData<AutoModerationRule> {
175 OnAutoModerationRuleUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
176 };
177
178 /// \brief Data that is received as part of an AutoModerationRule delete event.
179 struct DiscordCoreAPI_Dll OnAutoModerationRuleDeletionData : public EventData<AutoModerationRule> {
180 OnAutoModerationRuleDeletionData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
181 };
182
183 /// \brief Data that is received as part of an AutoModerationAction execution event.
184 struct DiscordCoreAPI_Dll OnAutoModerationActionExecutionData : public EventData<AutoModerationActionExecutionEventData> {
185 OnAutoModerationActionExecutionData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
186 };
187
188 /// \brief Data that is received as part of a Channel creation event.
189 struct DiscordCoreAPI_Dll OnChannelCreationData : public EventData<ChannelData> {
190 OnChannelCreationData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
191 OnChannelCreationData& operator=(const OnChannelCreationData& other);
193 };
194
195 /// \brief Data that is received as part of a Channel update event.
196 struct DiscordCoreAPI_Dll OnChannelUpdateData : public UpdatedEventData<ChannelData, ChannelData> {
197 OnChannelUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
198 OnChannelUpdateData& operator=(const OnChannelUpdateData& other);
200 };
201
202 /// \brief Data that is received as part of a Channel deletion event.
203 struct DiscordCoreAPI_Dll OnChannelDeletionData : public EventData<ChannelData> {
204 OnChannelDeletionData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
207 };
208
209 /// \brief Data that is received as part of a Channel pins update event.
210 struct DiscordCoreAPI_Dll OnChannelPinsUpdateData : public EventData<ChannelPinsUpdateEventData> {
211 OnChannelPinsUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
212 };
213
214 /// \brief Data that is received as part of a Thread creation event.
215 struct DiscordCoreAPI_Dll OnThreadCreationData : public EventData<Thread> {
216 OnThreadCreationData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
217 };
218
219 /// \brief Data that is received as part of a Thread update event.
220 struct DiscordCoreAPI_Dll OnThreadUpdateData : public EventData<Thread> {
221 OnThreadUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
222 };
223
224 /// \brief Data that is received as part of a Thread deletion event.
225 struct DiscordCoreAPI_Dll OnThreadDeletionData : public EventData<Thread> {
226 OnThreadDeletionData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
227 };
228
229 /// \brief Data that is received as part of a Thread list sync event.
230 struct DiscordCoreAPI_Dll OnThreadListSyncData : public EventData<ThreadListSyncData> {
231 OnThreadListSyncData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
232 };
233
234 /// \brief Data that is received as part of a Thread member update event.
235 struct DiscordCoreAPI_Dll OnThreadMemberUpdateData : public EventData<ThreadMemberData> {
236 OnThreadMemberUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
237 };
238
239 /// \brief Data that is received as part of a Thread members update event.
240 struct DiscordCoreAPI_Dll OnThreadMembersUpdateData : public EventData<ThreadMembersUpdateData> {
241 OnThreadMembersUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
242 };
243
244 /// \brief Data that is received as part of a Guild creation event.
245 struct DiscordCoreAPI_Dll OnGuildCreationData : public EventData<GuildCacheData> {
246 OnGuildCreationData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse, DiscordCoreClient*);
247 OnGuildCreationData& operator=(const OnGuildCreationData&);
249 };
250
251 /// \brief Data that is received as part of a Guild update event.
252 struct DiscordCoreAPI_Dll OnGuildUpdateData : public UpdatedEventData<GuildCacheData, GuildData> {
253 OnGuildUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse, DiscordCoreClient*);
254 OnGuildUpdateData& operator=(const OnGuildUpdateData&);
256 };
257
258 /// \brief Data that is received as part of a Guild deletion event.
259 struct DiscordCoreAPI_Dll OnGuildDeletionData : public EventData<GuildCacheData> {
260 OnGuildDeletionData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse, DiscordCoreClient*);
261 OnGuildDeletionData& operator=(const OnGuildDeletionData&);
263 };
264
265 /// \brief Data that is received as part of a Guild ban add event.
266 struct DiscordCoreAPI_Dll OnGuildBanAddData : public EventData<GuildBanAddData> {
267 OnGuildBanAddData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
268 };
269
270 /// \brief Data that is received as part of a Guild ban add event.
271 struct DiscordCoreAPI_Dll OnGuildBanRemoveData : public EventData<GuildBanRemoveData> {
272 OnGuildBanRemoveData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
273 };
274
275 /// \brief Data that is received as part of a Guild emojis update event.
276 struct DiscordCoreAPI_Dll OnGuildEmojisUpdateData : public EventData<GuildEmojisUpdateEventData> {
277 OnGuildEmojisUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
278 };
279
280 /// \brief Data that is received as part of a Guild sticker update event.
281 struct DiscordCoreAPI_Dll OnGuildStickersUpdateData : public EventData<GuildStickersUpdateEventData> {
282 OnGuildStickersUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
283 };
284
285 /// \brief Data that is received as part of a Guild Integration update event.
286 struct DiscordCoreAPI_Dll OnGuildIntegrationsUpdateData : public EventData<Snowflake> {
287 OnGuildIntegrationsUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
288 };
289
290 /// \brief Data that is received as part of a GuildMember add event.
291 struct DiscordCoreAPI_Dll OnGuildMemberAddData : public EventData<GuildMemberCacheData> {
292 DiscordCoreClient* discordCoreClient{ nullptr };
293 OnGuildMemberAddData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse, DiscordCoreClient*);
296 };
297
298 /// \brief Data that is received as part of a GuildMember update event.
299 struct DiscordCoreAPI_Dll OnGuildMemberUpdateData : public UpdatedEventData<GuildMemberCacheData, GuildMemberData> {
300 OnGuildMemberUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse, DiscordCoreClient*);
303 };
304
305 /// \brief Data that is received as part of a GuildMember remove event.
306 struct DiscordCoreAPI_Dll OnGuildMemberRemoveData : public EventData<GuildMemberRemoveData> {
307 DiscordCoreClient* discordCoreClient{ nullptr };
308 OnGuildMemberRemoveData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse, DiscordCoreClient*);
311 };
312
313 /// \brief Data that is received as part of a GuildMembers chunk event.
314 struct DiscordCoreAPI_Dll OnGuildMembersChunkData : public EventData<GuildMembersChunkEventData> {
315 OnGuildMembersChunkData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
316 };
317
318 /// \brief Data that is received as part of a Role creation event.
319 struct DiscordCoreAPI_Dll OnRoleCreationData : public EventData<RoleCreationData> {
320 OnRoleCreationData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
321 OnRoleCreationData& operator=(const OnRoleCreationData&);
323 };
324
325 /// \brief Data that is received as part of a Role update event.
326 struct DiscordCoreAPI_Dll OnRoleUpdateData : public UpdatedEventData<RoleUpdateData, RoleData> {
327 OnRoleUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
328 OnRoleUpdateData& operator=(const OnRoleUpdateData&);
330 };
331
332 /// \brief Data that is received as part of a Role deletion event.
333 struct DiscordCoreAPI_Dll OnRoleDeletionData : public EventData<RoleDeletionData> {
334 OnRoleDeletionData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
335 OnRoleDeletionData& operator=(const OnRoleDeletionData&);
337 };
338
339 /// \brief Data that is received as part of a GuildScheduledEvent creation event.
340 struct DiscordCoreAPI_Dll OnGuildScheduledEventCreationData : public EventData<GuildScheduledEventData> {
341 OnGuildScheduledEventCreationData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
342 };
343
344 /// \brief Data that is received as part of a GuildScheduledEvent update event.
345 struct DiscordCoreAPI_Dll OnGuildScheduledEventUpdateData : public EventData<GuildScheduledEventData> {
346 OnGuildScheduledEventUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
347 };
348
349 /// \brief Data that is received as part of a GuildScheduledEvent delete event.
350 struct DiscordCoreAPI_Dll OnGuildScheduledEventDeletionData : public EventData<GuildScheduledEventData> {
351 OnGuildScheduledEventDeletionData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
352 };
353
354 /// \brief Data that is received as part of a GuildScheduledEvent User add event.
355 struct DiscordCoreAPI_Dll OnGuildScheduledEventUserAddData : public EventData<GuildScheduledEventUserAddData> {
356 OnGuildScheduledEventUserAddData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
357 };
358
359 /// \brief Data that is received as part of a GuildScheduledEvent User remove event.
360 struct DiscordCoreAPI_Dll OnGuildScheduledEventUserRemoveData : public EventData<GuildScheduledEventUserRemoveData> {
361 OnGuildScheduledEventUserRemoveData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
362 };
363
364 /// \brief Data that is received as part of an Integration creation event.
365 struct DiscordCoreAPI_Dll OnIntegrationCreationData : public EventData<IntegrationCreationData> {
366 OnIntegrationCreationData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
367 };
368
369 /// \brief Data that is received as part of an Integration update event.
370 struct DiscordCoreAPI_Dll OnIntegrationUpdateData : public EventData<IntegrationUpdateData> {
371 OnIntegrationUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
372 };
373
374 /// \brief Data that is received as part of an Integration deletion event.
375 struct DiscordCoreAPI_Dll OnIntegrationDeletionData : public EventData<IntegrationDeletionData> {
376 OnIntegrationDeletionData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
377 };
378
379 /// \brief Data that is received as part of an Invite creation event.
380 struct DiscordCoreAPI_Dll OnInviteCreationData : public EventData<InviteData> {
381 OnInviteCreationData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
382 };
383
384 /// \brief Data that is received as part of an Invite deletion event.
385 struct DiscordCoreAPI_Dll OnInviteDeletionData : public EventData<InviteDeletionData> {
386 OnInviteDeletionData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
387 };
388
389 /// \brief Data that is received as part of an Interaction creation event.
390 struct DiscordCoreAPI_Dll OnInteractionCreationData : public EventData<InteractionData> {
391 OnInteractionCreationData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse, DiscordCoreClient* clientPtr);
392 };
393
394 /// \brief Data that is received as part of a Message creation event.
395 struct DiscordCoreAPI_Dll OnMessageCreationData : public EventData<Message> {
396 OnMessageCreationData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
397 };
398
399 /// \brief Data that is received as part of a Message update event.
400 struct DiscordCoreAPI_Dll OnMessageUpdateData : public EventData<Message> {
401 OnMessageUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
402 };
403
404 /// \brief Data that is received as part of a Message deletion event.
405 struct DiscordCoreAPI_Dll OnMessageDeletionData : public EventData<MessageDeletionData> {
406 OnMessageDeletionData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
407 };
408
409 /// \brief Data that is received as part of a Message delete bulk event.
410 struct DiscordCoreAPI_Dll OnMessageDeleteBulkData : public EventData<MessageDeletionBulkData> {
411 OnMessageDeleteBulkData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
412 };
413
414 /// \brief Data that is received as part of a Reaction add event.
415 struct DiscordCoreAPI_Dll OnReactionAddData : public EventData<Reaction> {
416 OnReactionAddData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
417 };
418
419 /// \brief Data that is received as part of a Reaction remove event.
420 struct DiscordCoreAPI_Dll OnReactionRemoveData : public EventData<ReactionRemoveData> {
421 ReactionRemoveData reactionRemoveData{};///< The ReactionRemoveData.
422 OnReactionRemoveData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
423 };
424
425 /// \brief Data that is received as part of a Reaction remove all event.
426 struct DiscordCoreAPI_Dll OnReactionRemoveAllData : public EventData<ReactionRemoveAllData> {
427 OnReactionRemoveAllData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
428 };
429
430 /// \brief Data that is received as part of a Reaction remove emoji event.
431 struct DiscordCoreAPI_Dll OnReactionRemoveEmojiData : public EventData<ReactionRemoveEmojiData> {
432 OnReactionRemoveEmojiData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
433 };
434
435 /// \brief Data that is received as part of a presence update event.
436 struct DiscordCoreAPI_Dll OnPresenceUpdateData : public EventData<PresenceUpdateData> {
437 OnPresenceUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
438 };
439
440 /// \brief Data that is received as part of a StageInstance creation event.
441 struct DiscordCoreAPI_Dll OnStageInstanceCreationData : public EventData<StageInstance> {
442 OnStageInstanceCreationData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
443 };
444
445 /// \brief Data that is received as part of a StageInstance update event.
446 struct DiscordCoreAPI_Dll OnStageInstanceUpdateData : public EventData<StageInstance> {
447 OnStageInstanceUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
448 };
449
450 /// \brief Data that is received as part of a StageInstance deletion event.
451 struct DiscordCoreAPI_Dll OnStageInstanceDeletionData : public EventData<StageInstance> {
452 OnStageInstanceDeletionData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
453 };
454
455 /// \brief Data that is received as part of a typing start event.
456 struct DiscordCoreAPI_Dll OnTypingStartData : public EventData<TypingStartData> {
457 OnTypingStartData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
458 };
459
460 /// \brief Data that is received as part of a User update event.
461 struct DiscordCoreAPI_Dll OnUserUpdateData : public UpdatedEventData<User, UserData> {
462 OnUserUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
463 OnUserUpdateData& operator=(const OnUserUpdateData&);
465 };
466
467 /// \brief Data that is received as part of a voice state update event.
468 struct DiscordCoreAPI_Dll OnVoiceStateUpdateData : public EventData<VoiceStateData> {
469 OnVoiceStateUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse, DiscordCoreInternal::WebSocketClient* sslShard);
470 };
471
472 /// \brief Data that is received as part of a voice server update event.
473 struct DiscordCoreAPI_Dll OnVoiceServerUpdateData : public EventData<VoiceServerUpdateData> {
474 OnVoiceServerUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse, DiscordCoreInternal::WebSocketClient* sslShard);
475 };
476
477 /// \brief Data that is received as part of a WebHook update event.
478 struct DiscordCoreAPI_Dll OnWebhookUpdateData : public EventData<WebHookUpdateData> {
479 OnWebhookUpdateData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
480 };
481
482 /// \brief Data that is received upon the bot receiving an autocomplete entry.
483 struct DiscordCoreAPI_Dll OnAutoCompleteEntryData : public EventData<InputEventData> {
484 OnAutoCompleteEntryData(Jsonifier::JsonifierCore& parser, std::string_view dataToParse);
485 };
486
487 /// \brief Class for handling the assignment of event-handling functions.int32_t
488 class DiscordCoreAPI_Dll EventManager {
489 public:
490 /// \brief For adding a function to handle this event.
491 /// \param handler A delegate taking an OnGatewayPingData structure as an argument.
492 /// \returns An event_token for later de-registering the event.
494 /// \brief For removing a function from handling this event.
495 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
497
498 /// \brief For adding a function to handle this event.
499 /// \param handler A delegate taking an OnApplicationCommandPermissionsUpdateData structure as an argument.
500 /// \returns An event_token for later de-registering the event.
501 DiscordCoreInternal::EventDelegateToken onApplicationCommandsPermissionsUpdate(
503 /// \brief For removing a function from handling this event.
504 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
505 void onApplicationCommandsPermissionsUpdate(DiscordCoreInternal::EventDelegateToken& token);
506
507 /// \brief For adding a function to handle this event.
508 /// \param handler A delegate taking an OnAutoModerationRuleCreationData structure as an argument.
509 /// \returns An event_token for later de-registering the event.
510 DiscordCoreInternal::EventDelegateToken onAutoModerationRuleCreation(
512 /// \brief For removing a function from handling this event.
513 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
514 void onAutoModerationRuleCreation(DiscordCoreInternal::EventDelegateToken& token);
515
516 /// \brief For adding a function to handle this event.
517 /// \param handler A delegate taking an OnAutoModerationRuleUpdateData structure as an argument.
518 /// \returns An event_token for later de-registering the event.
519 DiscordCoreInternal::EventDelegateToken onAutoModerationRuleUpdate(
521 /// \brief For removing a function from handling this event.
522 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
523 void onAutoModerationRuleUpdate(DiscordCoreInternal::EventDelegateToken& token);
524
525 /// \brief For adding a function to handle this event.
526 /// \param handler A delegate taking an OnAutoModerationRuleDeletionData structure as an argument.
527 /// \returns An event_token for later de-registering the event.
528 DiscordCoreInternal::EventDelegateToken onAutoModerationRuleDeletion(
530 /// \brief For removing a function from handling this event.
531 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
532 void onAutoModerationRuleDeletion(DiscordCoreInternal::EventDelegateToken& token);
533
534 /// \brief For adding a function to handle this event.
535 /// \param handler A delegate taking an OnAutoModerationActionExecutionData structure as an argument.
536 /// \returns An event_token for later de-registering the event.
537 DiscordCoreInternal::EventDelegateToken onAutoModerationActionExecution(
539 /// \brief For removing a function from handling this event.
540 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
541 void onAutoModerationActionExecution(DiscordCoreInternal::EventDelegateToken& token);
542
543 /// \brief For adding a function to handle this event.
544 /// \param handler A delegate taking an OnInputEventCreationData structure as an argument.
545 /// \returns An event_token for later de-registering the event.
546 DiscordCoreInternal::EventDelegateToken onAutoCompleteEntry(
548 /// \brief For removing a function from handling this event.
549 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
550 void onAutoCompleteEntry(DiscordCoreInternal::EventDelegateToken& token);
551
552 /// \brief For adding a function to handle this event.
553 /// \param handler A delegate taking an OnInputEventCreationData structure as an argument.
554 /// \returns An event_token for later de-registering the event.
555 DiscordCoreInternal::EventDelegateToken onInputEventCreation(
557 /// \brief For removing a function from handling this event.
558 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
559 void onInputEventCreation(DiscordCoreInternal::EventDelegateToken& token);
560
561 /// \brief For adding a function to handle this event.
562 /// \param handler A delegate taking an OnChannelCreationData structure as an argument.
563 /// \returns An event_token for later de-registering the event.
566 /// \brief For removing a function from handling this event.
567 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
568 void onChannelCreation(DiscordCoreInternal::EventDelegateToken& token);
569
570 /// \brief For adding a function to handle this event.
571 /// \param handler A delegate taking an OnChannelUpdateData structure as an argument.
572 /// \returns An event_token for later de-registering the event.
575 /// \brief For removing a function from handling this event.
576 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
577 void onChannelUpdate(DiscordCoreInternal::EventDelegateToken& token);
578
579 /// \brief For adding a function to handle this event.
580 /// \param handler A delegate taking an OnChannelDeletionData structure as an argument.
581 /// \returns An event_token for later de-registering the event.
584 /// \brief For removing a function from handling this event.
585 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
586 void onChannelDeletion(DiscordCoreInternal::EventDelegateToken& token);
587
588 /// \brief For adding a function to handle this event.
589 /// \param handler A delegate taking an OnChannelPinsUpdateData structure as an argument.
590 /// \returns An event_token for later de-registering the event.
591 DiscordCoreInternal::EventDelegateToken onChannelPinsUpdate(
593 /// \brief For removing afunction from handling this event.
594 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
595 void onChannelPinsUpdate(DiscordCoreInternal::EventDelegateToken& token);
596
597 /// \brief For adding a function to handle this event.
598 /// \param handler A delegate taking an OnThreadCreationData structure as an argument.
599 /// \returns An event_token for later de-registering the event.
602 /// \brief For removing a function from handling this event.
603 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
604 void onThreadCreation(DiscordCoreInternal::EventDelegateToken& token);
605
606 /// \brief For adding a function to handle this event.
607 /// \param handler A delegate taking an OnThreadUpdateData structure as an argument.
608 /// \returns An event_token for later de-registering the event.
610 /// \brief For removing a function from handling this event.
611 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
612 void onThreadUpdate(DiscordCoreInternal::EventDelegateToken& token);
613
614 /// \brief For adding a function to handle this event.
615 /// \param handler A delegate taking an OnThreadDeletionData structure as an argument.
616 /// \returns An event_token for later de-registering the event.
619 /// \brief For removing a function from handling this event.
620 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
621 void onThreadDeletion(DiscordCoreInternal::EventDelegateToken& token);
622
623 /// \brief For adding a function to handle this event.
624 /// \param handler A delegate taking an OnThreadListSyncData structure as an argument.
625 /// \returns An event_token for later de-registering the event.
628 /// \brief For removing a function from handling this event.
629 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
630 void onThreadListSync(DiscordCoreInternal::EventDelegateToken& token);
631
632 /// \brief For adding a function to handle this event.
633 /// \param handler A delegate taking an OnThreadMemberUpdateData structure as an argument.
634 /// \returns An event_token for later de-registering the event.
635 DiscordCoreInternal::EventDelegateToken onThreadMemberUpdate(
637 /// \brief For removing a function from handling this event.
638 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
639 void onThreadMemberUpdate(DiscordCoreInternal::EventDelegateToken& token);
640
641 /// \brief For adding a function to handle this event.
642 /// \param handler A delegate taking an OnThreadMembersUpdateData structure as an argument
643 /// \returns An event_token for later de-registering the event.
644 DiscordCoreInternal::EventDelegateToken onThreadMembersUpdate(
646 /// \brief For removing a function from handling this event.
647 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
648 void onThreadMembersUpdate(DiscordCoreInternal::EventDelegateToken& token);
649
650 /// \brief For adding a function to handle this event.
651 /// \param handler A delegate taking an OnGuildCreationData structure as an argument.
652 /// \returns An event_token for later de-registering the event.
655 /// \brief For removing a function from handling this event.
656 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
657 void onGuildCreation(DiscordCoreInternal::EventDelegateToken& token);
658
659 /// \brief For adding a function to handle this event.
660 /// \param handler A delegate taking an OnGuildUpdateData structure as an argument.
661 /// \returns An event_token for later de-registering the event.
663 /// \brief For removing a function from handling this event.
664 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
665 void onGuildUpdate(DiscordCoreInternal::EventDelegateToken& token);
666
667 /// \brief For adding a function to handle this event.
668 /// \param handler A delegate taking an OnGuildDeletionData structure as an argument
669 /// \returns An event_token for later de-registering the event.
672 /// \brief For removing a function from handling this event.
673 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
674 void onGuildDeletion(DiscordCoreInternal::EventDelegateToken& token);
675
676 /// \brief For adding a function to handle this event.
677 /// \param handler A delegate taking an OnGuildBanAddData structure as an argument.
678 /// \returns An event_token for later de-registering the event.
680 /// \brief For removing a function from handling this event.
681 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
682 void onGuildBanAdd(DiscordCoreInternal::EventDelegateToken& token);
683
684 /// \brief For adding a function to handle this event.
685 /// \param handler A delegate taking an OnGuildBanRemoveData structure as an argument.
686 /// \returns An event_token for later de-registering the event.
689 /// \brief For removing a function from handling this event.
690 /// \param token DiscordCoreInternal::EventDelegateToken, from the original event registration.
691 void onGuildBanRemove(DiscordCoreInternal::EventDelegateToken& token);
692
693 /// \brief For adding a function to handle this event.
694 /// \param handler A delegate taking an OnGuildEmojisUpdateData structure as an argument.
695 /// \returns An event_token for later de-registering the event.
696 DiscordCoreInternal::EventDelegateToken onGuildEmojisUpdate(
698 /// \brief For removing a function from handling this event.
699 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
700 void onGuildEmojisUpdate(DiscordCoreInternal::EventDelegateToken& token);
701
702 /// \brief For adding a function to handle this event.
703 /// \param handler A delegate taking an OnGuildStickersUpdateData structure as an argument.
704 /// \returns An event_token for later de-registering the event.
705 DiscordCoreInternal::EventDelegateToken onGuildStickersUpdate(
707 /// \brief For removing a function from handling this event.
708 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
709 void onGuildStickersUpdate(DiscordCoreInternal::EventDelegateToken& token);
710
711 /// \brief For adding a function to handle this event.
712 /// \param handler A delegate taking an OnGuildIntegrationsUpdateData structure as an argument.
713 /// \returns An event_token for later de-registering the event.
714 DiscordCoreInternal::EventDelegateToken onGuildIntegrationsUpdate(
716 /// \brief For removing a function from handling this event.
717 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
718 void onGuildIntegrationsUpdate(DiscordCoreInternal::EventDelegateToken& token);
719
720 /// \brief For adding a function to handle this event.
721 /// \param handler A delegate taking an OnGuildMembersChunkData structure as an argument.
722 /// returns An DiscordCoreInternal::EventDelegateToken, > for later de-registering the event.
723 DiscordCoreInternal::EventDelegateToken onGuildMembersChunk(
725 /// \brief For removing a function from handling this event.
726 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
727 void onGuildMembersChunk(DiscordCoreInternal::EventDelegateToken& token);
728
729 /// \brief For adding a function to handle this event.
730 /// \param handler A delegate taking an OnGuildMemberAddData structure as an argument.
731 /// \returns An event_token for later de-registering the event.
734 /// \brief For removing a function from handling this event.
735 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
736 void onGuildMemberAdd(DiscordCoreInternal::EventDelegateToken& token);
737
738 /// \brief For adding a function to handle this event.
739 /// \param handler A delegate taking an OnGuildMemberRemoveData structure as an argument.
740 /// \returns An event_token for later de-registering the event.
741 DiscordCoreInternal::EventDelegateToken onGuildMemberRemove(
743 /// \brief For removing a function from handling this event.
744 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
745 void onGuildMemberRemove(DiscordCoreInternal::EventDelegateToken& token);
746
747 /// \brief For adding a function to handle this event.
748 /// \param handler A delegate taking an OnGuildMemberUpdateData structure as an argument.
749 /// \returns An event_token for later de-registering the event.
750 DiscordCoreInternal::EventDelegateToken onGuildMemberUpdate(
752 /// \brief For removing a function from handling this event.
753 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
754 void onGuildMemberUpdate(DiscordCoreInternal::EventDelegateToken& token);
755
756 /// \brief For adding a function to handle this event.
757 /// \param handler A delegate taking an OnRoleCreationData structure as an argument.
758 /// \returns An event_token for later de-registering the event.
760 /// \brief For removing a function from handling this event.
761 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
762 void onRoleCreation(DiscordCoreInternal::EventDelegateToken& token);
763
764 /// \brief For adding a function to handle this event.
765 /// \param handler A delegate taking an OnRoleUpdateData structure as an argument
766 /// \returns An event_token for later de-registering the event.
768 /// \brief For removing a function from handling this event.
769 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
770 void onRoleUpdate(DiscordCoreInternal::EventDelegateToken& token);
771
772 /// \brief For adding a function to handle this event.
773 /// \param handler A delegate taking an OnRoleDeletionData structure as an argument.
774 /// \returns An event_token for later de-registering the event.
776 /// \brief For removing a function from handling this event.
777 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
778 void onRoleDeletion(DiscordCoreInternal::EventDelegateToken& token);
779
780 /// \brief For adding a function to handle this event.
781 /// \param handler A delegate taking an OnGuildScheduledEventCreationData structure as an argument.
782 /// \returns An event_token for later de-registering the event.
783 DiscordCoreInternal::EventDelegateToken onGuildScheduledEventCreation(
785 /// \brief For removing a function from handling this event.
786 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
787 void onGuildScheduledEventCreation(DiscordCoreInternal::EventDelegateToken& token);
788
789 /// \brief For adding a function to handle this event.
790 /// \param handler A delegate taking an OnGuildScheduledEventUpdateData structure as an argument.
791 /// \returns An event_token for later de-registering the event.
792 DiscordCoreInternal::EventDelegateToken onGuildScheduledEventUpdate(
794 /// \brief For removing a function from handling this event.
795 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
796 void onGuildScheduledEventUpdate(DiscordCoreInternal::EventDelegateToken& token);
797
798 /// \brief For adding a function to handle this event.
799 /// \param handler A delegate taking an OnGuildScheduledEventDeletionData structure as an argument.
800 /// \returns An event_token for later de-registering the event.
801 DiscordCoreInternal::EventDelegateToken onGuildScheduledEventDeletion(
803 /// \brief For removing a function from handling this event.
804 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
805 void onGuildScheduledEventDeletion(DiscordCoreInternal::EventDelegateToken& token);
806
807 /// \brief For adding a function to handle this event.
808 /// \param handler A delegate taking an OnGuildScheduledEventUserAddData structure as an argument.
809 /// \returns An event_token for later de-registering the event.
810 DiscordCoreInternal::EventDelegateToken onGuildScheduledEventUserAdd(
812 /// \brief For removing a function from handling this event.
813 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
814 void onGuildScheduledEventUserAdd(DiscordCoreInternal::EventDelegateToken& token);
815
816 /// \brief For adding a function to handle this event.
817 /// \param handler A delegate taking an OnGuildScheduledEventUserRemoveData structure as an argument.
818 /// \returns An event_token for later de-registering the event.
819 DiscordCoreInternal::EventDelegateToken onGuildScheduledEventUserRemove(
821 /// \brief For removing a function from handling this event.
822 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
823 void onGuildScheduledEventUserRemove(DiscordCoreInternal::EventDelegateToken& token);
824
825 /// \brief For adding a function to handle this event.
826 /// \param handler A delegate taking an OnIntegrationCreationData structure as an argument.
827 /// \returns An event_token for later de-registering the event.
828 DiscordCoreInternal::EventDelegateToken onIntegrationCreation(
830 /// \brief For removing a function from handling this event.
831 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
832 void onIntegrationCreation(DiscordCoreInternal::EventDelegateToken& token);
833
834 /// \brief For adding a function to handle this event.
835 /// \param handler A delegate taking an OnIntegrationUpdateData structure as an argument.
836 /// \returns An event_token for later de-registering the event.
837 DiscordCoreInternal::EventDelegateToken onIntegrationUpdate(
839 /// \brief For removing a function from handling this event.
840 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
841 void onIntegrationUpdate(DiscordCoreInternal::EventDelegateToken& token);
842
843 /// \brief For adding a function to handle this event.
844 /// \param handler A delegate taking an OnIntegrationDeletionData structure as an argument.
845 /// \returns An event_token for later de-registering the event.
846 DiscordCoreInternal::EventDelegateToken onIntegrationDeletion(
848 /// \brief For removing a function from handling this event.
849 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
850 void onIntegrationDeletion(DiscordCoreInternal::EventDelegateToken& token);
851
852 /// \brief For adding a function to handle this event.
853 /// \param handler A delegate taking an OnInteractionCreationData structure as an argument.
854 /// \returns An event_token for later de-registering the event.
855 DiscordCoreInternal::EventDelegateToken onInteractionCreation(
857 /// \brief For removing a function from handling this event.
858 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
859 void onInteractionCreation(DiscordCoreInternal::EventDelegateToken& token);
860
861 /// \brief For adding a function to handle this event.
862 /// \param handler A delegate taking an OnInviteCreationData structure as an argument.
863 /// \returns An event_token for later de-registering the event.
866 /// \brief For removing a function from handling this event.
867 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
868 void onInviteCreation(DiscordCoreInternal::EventDelegateToken& token);
869
870 /// \brief For adding a function to handle this event.
871 /// \param handler A delegate taking an OnInviteDeletionData structure as an argument.
872 /// \returns An event_token for later de-registering the event.
875 /// \brief For removing a function from handling this event.
876 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
877 void onInviteDeletion(DiscordCoreInternal::EventDelegateToken& token);
878
879 /// \brief For adding a function to handle this event.
880 /// \param handler A delegate taking an OnMessageCreationData structure as an argument.
881 /// \returns An event_token for later de-registering the event.
884 /// \brief For removing a function from handling this event.
885 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
886 void onMessageCreation(DiscordCoreInternal::EventDelegateToken& token);
887
888 /// \brief For adding a function to handle this event.
889 /// \param handler A delegate taking an OnMessageUpdateData structure as an argument.
890 /// \returns An event_token for later de-registering the event.
893 /// \brief For removing a function from handling this event.
894 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
895 void onMessageUpdate(DiscordCoreInternal::EventDelegateToken& token);
896
897 /// \brief For adding a function to handle this event.
898 /// \param handler A delegate taking an OnMessageDeletionData structure as an argument.
899 /// \returns An event_token for later de-registering the event.
902 /// \brief For removing a function from handling this event.
903 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
904 void onMessageDeletion(DiscordCoreInternal::EventDelegateToken& token);
905
906 /// \brief For adding a function to handle this event.
907 /// \param handler A delegate taking an OnMessageDeleteBulkData structure as an argument.
908 /// \returns An event_token for later de-registering the event.
909 DiscordCoreInternal::EventDelegateToken onMessageDeleteBulk(
911 /// \brief For removing a function from handling this event.
912 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
913 void onMessageDeleteBulk(DiscordCoreInternal::EventDelegateToken& token);
914
915 /// \brief For adding a function to handle this event.
916 /// \param handler A delegate taking an OnReactionAddData structure as an argument.
917 /// \returns An event_token for later de-registering the event.
919 /// \brief For removing a function from handling this event.
920 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
921 void onReactionAdd(DiscordCoreInternal::EventDelegateToken& token);
922
923 /// \brief For adding a function to handle this event.
924 /// \param handler A delegate taking an OnReactionRemoveData structure as an argument.
925 /// \returns An event_token for later de-registering the event.
928 /// \brief For removing a function from handling this event.
929 /// \param token An DiscordCoreInternal::EventDelegateToken,from the original event registration.
930 void onReactionRemove(DiscordCoreInternal::EventDelegateToken& token);
931
932 /// \brief For adding a function to handle this event.
933 /// \param handler A delegate taking an OnReactionRemoveAllData structure as an argument.
934 /// \returns An event_token for later de-registering the event.
935 DiscordCoreInternal::EventDelegateToken onReactionRemoveAll(
937 /// \brief For removing a function from handling this event.
938 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
939 void onReactionRemoveAll(DiscordCoreInternal::EventDelegateToken& token);
940
941 /// \brief For adding a function to handle this event.
942 /// \param handler A delegate taking an OnReactionRemoveEmojiData structure as an argument.
943 /// \returns An event_token for later de-registering the event.
944 DiscordCoreInternal::EventDelegateToken onReactionRemoveEmoji(
946 /// \brief For removing a function from handling this event.
947 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
948 void onReactionRemoveEmoji(DiscordCoreInternal::EventDelegateToken& token);
949
950 /// \brief For adding a function to handle this event.
951 /// \param handler A delegate taking an OnPresenceUpdateData structure as an argument.
952 /// \returns An event_token for later de-registering the event.
955 /// \brief For removing a function from handling this event.
956 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
957 void onPresenceUpdate(DiscordCoreInternal::EventDelegateToken& token);
958
959 /// \brief For adding a function to handle this event.
960 /// \param handler A delegate taking an OnStageInstanceCreationData structure as an argument.
961 /// \returns An event_token for later de-registering the event.
962 DiscordCoreInternal::EventDelegateToken onStageInstanceCreation(
964 /// \brief For removing a function from handling this event.
965 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
966 void onStageInstanceCreation(DiscordCoreInternal::EventDelegateToken& token);
967
968 /// \brief For adding a function to handle this event.
969 /// \param handler A delegate taking an OnStageInstanceUpdateData structure as an argument.
970 /// \returns An event_token for later de-registering the event.
971 DiscordCoreInternal::EventDelegateToken onStageInstanceUpdate(
973 /// \brief For removing a function from handling this event.
974 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
975 void onStageInstanceUpdate(DiscordCoreInternal::EventDelegateToken& token);
976
977 /// \brief For adding a function to handle this event.
978 /// \param handler A delegate taking an OnStageInstanceDeletionData structure as an argument.
979 /// \returns An event_token for later de-registering the event.
980 DiscordCoreInternal::EventDelegateToken onStageInstanceDeletion(
982 /// \brief For removing a function from handling this event.
983 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
984 void onStageInstanceDeletion(DiscordCoreInternal::EventDelegateToken& token);
985
986 /// \brief For adding a function to handle this event.
987 /// \param handler A delegate taking an OnTypingStartData structure as an argument.
988 /// \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 onTypingStart(DiscordCoreInternal::EventDelegateToken& token);
993
994 /// \brief For adding a function to handle this event.
995 /// \param handler A delegate taking an OnUserUpdateData structure as an argument.
996 /// \returns An event_token for later de-registering the event.
998 /// \brief For removing a function from handling this event.
999 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
1000 void onUserUpdate(DiscordCoreInternal::EventDelegateToken& token);
1001
1002 /// \brief For adding a function to handle this event.
1003 /// \param handler A delegate taking an OnVoiceStateUpdateData structure as an argument.
1004 /// \returns An event_token for later de-registering the event.
1005 DiscordCoreInternal::EventDelegateToken onVoiceStateUpdate(
1007 /// \brief For removing a function from handling this event.
1008 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
1009 void onVoiceStateUpdate(DiscordCoreInternal::EventDelegateToken& token);
1010
1011 /// \brief For adding a function to handle this event.
1012 /// \param handler A delegate taking an OnVoiceServerUpdateData structure as an argument.
1013 /// \returns An event_token for later de-registering the event.
1014 DiscordCoreInternal::EventDelegateToken onVoiceServerUpdate(
1016 /// \brief For removing a function from handling this event.
1017 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
1018 void onVoiceServerUpdate(DiscordCoreInternal::EventDelegateToken& token);
1019
1020 /// \brief For adding a function to handle this event.
1021 /// \param handler A delegate taking an OnWebhookUpdateData structure as an argument.
1022 /// \returns An event_token for later de-registering the event.
1025 /// \brief For removing a function from handling this event.
1026 /// \param token An DiscordCoreInternal::EventDelegateToken, from the original event registration.
1027 void onWebhookUpdate(DiscordCoreInternal::EventDelegateToken& token);
1028
1029 DiscordCoreInternal::Event<CoRoutine<void>, OnGatewayPingData> onGatewayPingEvent{};
1030
1031 DiscordCoreInternal::Event<CoRoutine<void>, OnApplicationCommandPermissionsUpdateData> onApplicationCommandPermissionsUpdateEvent{};
1032
1033 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoModerationRuleCreationData> onAutoModerationRuleCreationEvent{};
1034
1035 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoModerationRuleUpdateData> onAutoModerationRuleUpdateEvent{};
1036
1037 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoModerationRuleDeletionData> onAutoModerationRuleDeletionEvent{};
1038
1039 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoModerationActionExecutionData> onAutoModerationActionExecutionEvent{};
1040
1041 DiscordCoreInternal::Event<CoRoutine<void>, OnAutoCompleteEntryData> onAutoCompleteEntryEvent{};
1042
1043 DiscordCoreInternal::Event<CoRoutine<void>, OnInputEventCreationData> onInputEventCreationEvent{};
1044
1045 DiscordCoreInternal::Event<CoRoutine<void>, OnChannelCreationData> onChannelCreationEvent{};
1046
1047 DiscordCoreInternal::Event<CoRoutine<void>, OnChannelUpdateData> onChannelUpdateEvent{};
1048
1049 DiscordCoreInternal::Event<CoRoutine<void>, OnChannelDeletionData> onChannelDeletionEvent{};
1050
1051 DiscordCoreInternal::Event<CoRoutine<void>, OnChannelPinsUpdateData> onChannelPinsUpdateEvent{};
1052
1053 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadCreationData> onThreadCreationEvent{};
1054
1055 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadUpdateData> onThreadUpdateEvent{};
1056
1057 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadDeletionData> onThreadDeletionEvent{};
1058
1059 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadListSyncData> onThreadListSyncEvent{};
1060
1061 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadMemberUpdateData> onThreadMemberUpdateEvent{};
1062
1063 DiscordCoreInternal::Event<CoRoutine<void>, OnThreadMembersUpdateData> onThreadMembersUpdateEvent{};
1064
1065 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildCreationData> onGuildCreationEvent{};
1066
1067 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildUpdateData> onGuildUpdateEvent{};
1068
1069 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildDeletionData> onGuildDeletionEvent{};
1070
1071 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildBanAddData> onGuildBanAddEvent{};
1072
1073 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildBanRemoveData> onGuildBanRemoveEvent{};
1074
1075 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildEmojisUpdateData> onGuildEmojisUpdateEvent{};
1076
1077 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildStickersUpdateData> onGuildStickersUpdateEvent{};
1078
1079 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildIntegrationsUpdateData> onGuildIntegrationsUpdateEvent{};
1080
1081 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildMemberAddData> onGuildMemberAddEvent{};
1082
1083 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildMemberRemoveData> onGuildMemberRemoveEvent{};
1084
1085 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildMemberUpdateData> onGuildMemberUpdateEvent{};
1086
1087 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildMembersChunkData> onGuildMembersChunkEvent{};
1088
1089 DiscordCoreInternal::Event<CoRoutine<void>, OnRoleCreationData> onRoleCreationEvent{};
1090
1091 DiscordCoreInternal::Event<CoRoutine<void>, OnRoleUpdateData> onRoleUpdateEvent{};
1092
1093 DiscordCoreInternal::Event<CoRoutine<void>, OnRoleDeletionData> onRoleDeletionEvent{};
1094
1095 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventCreationData> onGuildScheduledEventCreationEvent{};
1096
1097 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventUpdateData> onGuildScheduledEventUpdateEvent{};
1098
1099 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventDeletionData> onGuildScheduledEventDeletionEvent{};
1100
1101 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventUserAddData> onGuildScheduledEventUserAddEvent{};
1102
1103 DiscordCoreInternal::Event<CoRoutine<void>, OnGuildScheduledEventUserRemoveData> onGuildScheduledEventUserRemoveEvent{};
1104
1105 DiscordCoreInternal::Event<CoRoutine<void>, OnIntegrationCreationData> onIntegrationCreationEvent{};
1106
1107 DiscordCoreInternal::Event<CoRoutine<void>, OnIntegrationUpdateData> onIntegrationUpdateEvent{};
1108
1109 DiscordCoreInternal::Event<CoRoutine<void>, OnIntegrationDeletionData> onIntegrationDeletionEvent{};
1110
1111 DiscordCoreInternal::Event<CoRoutine<void>, OnInteractionCreationData> onInteractionCreationEvent{};
1112
1113 DiscordCoreInternal::Event<CoRoutine<void>, OnInviteCreationData> onInviteCreationEvent{};
1114
1115 DiscordCoreInternal::Event<CoRoutine<void>, OnInviteDeletionData> onInviteDeletionEvent{};
1116
1117 DiscordCoreInternal::Event<CoRoutine<void>, OnMessageCreationData> onMessageCreationEvent{};
1118
1119 DiscordCoreInternal::Event<CoRoutine<void>, OnMessageUpdateData> onMessageUpdateEvent{};
1120
1121 DiscordCoreInternal::Event<CoRoutine<void>, OnMessageDeletionData> onMessageDeletionEvent{};
1122
1123 DiscordCoreInternal::Event<CoRoutine<void>, OnMessageDeleteBulkData> onMessageDeleteBulkEvent{};
1124
1125 DiscordCoreInternal::Event<CoRoutine<void>, OnReactionAddData> onReactionAddEvent{};
1126
1127 DiscordCoreInternal::Event<CoRoutine<void>, OnReactionRemoveData> onReactionRemoveEvent{};
1128
1129 DiscordCoreInternal::Event<CoRoutine<void>, OnReactionRemoveAllData> onReactionRemoveAllEvent{};
1130
1131 DiscordCoreInternal::Event<CoRoutine<void>, OnReactionRemoveEmojiData> onReactionRemoveEmojiEvent{};
1132
1133 DiscordCoreInternal::Event<CoRoutine<void>, OnPresenceUpdateData> onPresenceUpdateEvent{};
1134
1135 DiscordCoreInternal::Event<CoRoutine<void>, OnStageInstanceCreationData> onStageInstanceCreationEvent{};
1136
1137 DiscordCoreInternal::Event<CoRoutine<void>, OnStageInstanceUpdateData> onStageInstanceUpdateEvent{};
1138
1139 DiscordCoreInternal::Event<CoRoutine<void>, OnStageInstanceDeletionData> onStageInstanceDeletionEvent{};
1140
1141 DiscordCoreInternal::Event<CoRoutine<void>, OnTypingStartData> onTypingStartEvent{};
1142
1143 DiscordCoreInternal::Event<CoRoutine<void>, OnUserUpdateData> onUserUpdateEvent{};
1144
1145 DiscordCoreInternal::Event<CoRoutine<void>, OnVoiceStateUpdateData> onVoiceStateUpdateEvent{};
1146
1147 DiscordCoreInternal::Event<CoRoutine<void>, OnVoiceServerUpdateData> onVoiceServerUpdateEvent{};
1148
1149 DiscordCoreInternal::Event<CoRoutine<void>, OnWebhookUpdateData> onWebhookUpdateEvent{};
1150 };
1151 /**@}*/
1152
1153}// namespace DiscordCoreAPI
The main namespace for this library.
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.