disgroove 3.0.0-dev.fd521a8 → 3.0.1-dev.24a02ed

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/LICENSE +9 -9
  2. package/README.md +48 -48
  3. package/dist/lib/Client.d.ts +68 -58
  4. package/dist/lib/Client.js +59 -23
  5. package/dist/lib/constants.d.ts +17 -4
  6. package/dist/lib/constants.js +18 -4
  7. package/dist/lib/gateway/Dispatcher.d.ts +104 -0
  8. package/dist/lib/gateway/Dispatcher.js +472 -0
  9. package/dist/lib/gateway/Shard.d.ts +10 -22
  10. package/dist/lib/gateway/Shard.js +123 -656
  11. package/dist/lib/gateway/Transmitter.d.ts +22 -0
  12. package/dist/lib/gateway/Transmitter.js +93 -0
  13. package/dist/lib/rest/Endpoints.d.ts +3 -0
  14. package/dist/lib/rest/Endpoints.js +10 -3
  15. package/dist/lib/rest/RequestManager.js +21 -7
  16. package/dist/lib/rest/index.js +17 -7
  17. package/dist/lib/transformers/Components.d.ts +3 -1
  18. package/dist/lib/transformers/Components.js +26 -0
  19. package/dist/lib/transformers/Guilds.d.ts +2 -0
  20. package/dist/lib/transformers/Guilds.js +134 -0
  21. package/dist/lib/transformers/Interactions.js +30 -0
  22. package/dist/lib/transformers/Invites.js +2 -2
  23. package/dist/lib/transformers/Presences.d.ts +3 -3
  24. package/dist/lib/types/components.d.ts +36 -4
  25. package/dist/lib/types/gateway-events.d.ts +203 -75
  26. package/dist/lib/types/interaction.d.ts +3 -3
  27. package/dist/lib/types/invite.d.ts +5 -2
  28. package/dist/lib/utils/errors.d.ts +3 -1
  29. package/dist/lib/utils/errors.js +4 -0
  30. package/dist/lib/utils/formatters.js +9 -10
  31. package/dist/lib/utils/index.d.ts +1 -0
  32. package/dist/lib/utils/index.js +18 -7
  33. package/dist/lib/utils/permissions.d.ts +2 -0
  34. package/dist/lib/utils/permissions.js +7 -0
  35. package/dist/package.json +5 -5
  36. package/package.json +6 -6
  37. package/dist/lib/types/message-components.d.ts +0 -450
  38. package/dist/lib/types/message-components.js +0 -2
@@ -4,10 +4,12 @@ import type { RawAutoModerationAction, AutoModerationAction } from "./auto-moder
4
4
  import type { RawChannel, RawThreadMember, Channel, ThreadMember } from "./channel";
5
5
  import type { snowflake, timestamp } from "./common";
6
6
  import type { RawEmoji, Emoji } from "./emoji";
7
- import type { RawGuildMember, GuildMember } from "./guild";
7
+ import type { RawGuildMember, GuildMember, RawUnavailableGuild, UnavailableGuild } from "./guild";
8
8
  import type { RawGuildScheduledEvent, GuildScheduledEvent } from "./guild-scheduled-event";
9
+ import { RawRole, Role } from "./role";
9
10
  import type { RawSoundboardSound, SoundboardSound } from "./soundboard";
10
11
  import type { RawStageInstance, StageInstance } from "./stage-instance";
12
+ import { RawSticker, Sticker } from "./sticker";
11
13
  import type { RawUser, RawAvatarDecorationData, User, AvatarDecorationData } from "./user";
12
14
  import type { RawVoiceState, VoiceState } from "./voice";
13
15
  /** https://discord.com/developers/docs/events/gateway-events#payload-structure */
@@ -66,8 +68,18 @@ export interface RawGatewayVoiceStateUpdate {
66
68
  self_mute: boolean;
67
69
  self_deaf: boolean;
68
70
  }
71
+ /** https://discord.com/developers/docs/events/gateway-events#ready-ready-event-fields */
72
+ export interface RawReadyEvent {
73
+ v: number;
74
+ user: RawUser;
75
+ guilds: Array<RawUnavailableGuild>;
76
+ session_id: string;
77
+ resume_gateway_url: string;
78
+ shard?: [number, number];
79
+ application: Pick<RawApplication, "id" | "flags">;
80
+ }
69
81
  /** https://discord.com/developers/docs/events/gateway-events#auto-moderation-action-execution-auto-moderation-action-execution-event-fields */
70
- export interface RawAutoModerationActionExecutionEventFields {
82
+ export interface RawAutoModerationActionExecutionEvent {
71
83
  guild_id: snowflake;
72
84
  action: RawAutoModerationAction;
73
85
  rule_id: snowflake;
@@ -81,18 +93,18 @@ export interface RawAutoModerationActionExecutionEventFields {
81
93
  matched_content: string | null;
82
94
  }
83
95
  /** https://discord.com/developers/docs/events/gateway-events#thread-list-sync-thread-list-sync-event-fields */
84
- export interface RawThreadListSyncEventFields {
96
+ export interface RawThreadListSyncEvent {
85
97
  guild_id: snowflake;
86
98
  channel_ids?: Array<snowflake>;
87
99
  threads: Array<RawChannel>;
88
100
  members: Array<RawThreadMember>;
89
101
  }
90
102
  /** https://discord.com/developers/docs/events/gateway-events#thread-member-update-thread-member-update-event-extra-fields */
91
- export interface RawThreadMemberUpdateEventExtraFields {
103
+ export interface RawThreadMemberUpdateEventExtra {
92
104
  guild_id: snowflake;
93
105
  }
94
106
  /** https://discord.com/developers/docs/events/gateway-events#thread-members-update-thread-members-update-event-fields */
95
- export interface RawThreadMembersUpdateEventFields {
107
+ export interface RawThreadMembersUpdateEvent {
96
108
  id: snowflake;
97
109
  guild_id: snowflake;
98
110
  member_count: number;
@@ -100,13 +112,13 @@ export interface RawThreadMembersUpdateEventFields {
100
112
  removed_member_ids?: Array<snowflake>;
101
113
  }
102
114
  /** https://discord.com/developers/docs/events/gateway-events#channel-pins-update-channel-pins-update-event-fields */
103
- export interface RawChannelPinsUpdateEventFields {
115
+ export interface RawChannelPinsUpdateEvent {
104
116
  guild_id?: snowflake;
105
117
  channel_id: snowflake;
106
118
  last_pin_timestamp?: timestamp | null;
107
119
  }
108
120
  /** https://discord.com/developers/docs/events/gateway-events#guild-create-guild-create-extra-fields */
109
- export interface RawGuildCreateEventExtraFields {
121
+ export interface RawGuildCreateEventExtra {
110
122
  joined_at?: timestamp;
111
123
  large?: boolean;
112
124
  unavailable?: boolean;
@@ -115,40 +127,50 @@ export interface RawGuildCreateEventExtraFields {
115
127
  members?: Array<RawGuildMember>;
116
128
  channels?: Array<RawChannel>;
117
129
  threads?: Array<RawChannel>;
118
- presences?: Array<RawPresenceUpdateEventFields>;
130
+ presences?: Array<RawPresenceUpdateEvent>;
119
131
  stage_instances?: Array<RawStageInstance>;
120
132
  guild_scheduled_events?: Array<RawGuildScheduledEvent>;
121
133
  soundboard_sounds?: Array<RawSoundboardSound>;
122
134
  }
123
135
  /** https://discord.com/developers/docs/events/gateway-events#guild-audit-log-entry-create-guild-audit-log-entry-create-extra-fields */
124
- export interface RawGuildAuditLogEntryCreateExtraFields {
136
+ export interface RawGuildAuditLogEntryCreateExtra {
125
137
  guild_id: snowflake;
126
138
  }
127
139
  /** https://discord.com/developers/docs/events/gateway-events#guild-ban-add-guild-ban-add-event-fields */
128
- export interface RawGuildBanAddEventFields {
140
+ export interface RawGuildBanAddEvent {
129
141
  guild_id: snowflake;
130
142
  user: RawUser;
131
143
  }
132
144
  /** https://discord.com/developers/docs/events/gateway-events#guild-ban-remove-guild-ban-remove-event-fields */
133
- export interface RawGuildBanRemoveEventFields {
145
+ export interface RawGuildBanRemoveEvent {
134
146
  guild_id: snowflake;
135
147
  user: RawUser;
136
148
  }
149
+ /** https://discord.com/developers/docs/events/gateway-events#guild-emojis-update */
150
+ export interface RawGuildEmojisUpdateEvent {
151
+ guild_id: snowflake;
152
+ emojis: Array<RawEmoji>;
153
+ }
154
+ /** https://discord.com/developers/docs/events/gateway-events#guild-stickers-update */
155
+ export interface RawGuildStickersUpdateEvent {
156
+ guild_id: snowflake;
157
+ stickers: Array<RawSticker>;
158
+ }
137
159
  /** https://discord.com/developers/docs/events/gateway-events#guild-integrations-update-guild-integrations-update-event-fields */
138
- export interface RawGuildIntegrationsUpdateEventFields {
160
+ export interface RawGuildIntegrationsUpdateEvent {
139
161
  guild_id: snowflake;
140
162
  }
141
163
  /** https://discord.com/developers/docs/events/gateway-events#guild-member-add-guild-member-add-extra-fields */
142
- export interface RawGuildMemberAddEventExtraFields {
164
+ export interface RawGuildMemberAddEventExtra {
143
165
  guild_id: snowflake;
144
166
  }
145
167
  /** https://discord.com/developers/docs/events/gateway-events#guild-member-remove-guild-member-remove-event-fields */
146
- export interface RawGuildMemberRemoveEventFields {
168
+ export interface RawGuildMemberRemoveEvent {
147
169
  guild_id: snowflake;
148
170
  user: RawUser;
149
171
  }
150
172
  /** https://discord.com/developers/docs/events/gateway-events#guild-member-update-guild-member-update-event-fields */
151
- export interface RawGuildMemberUpdateEventFields {
173
+ export interface RawGuildMemberUpdateEvent {
152
174
  guild_id: snowflake;
153
175
  roles: Array<snowflake>;
154
176
  user: RawUser;
@@ -165,36 +187,73 @@ export interface RawGuildMemberUpdateEventFields {
165
187
  avatar_decoration_data?: RawAvatarDecorationData | null;
166
188
  }
167
189
  /** https://discord.com/developers/docs/events/gateway-events#guild-members-chunk-guild-members-chunk-event-fields */
168
- export interface RawGuildMembersChunkEventFields {
190
+ export interface RawGuildMembersChunkEvent {
169
191
  guild_id: snowflake;
170
192
  members: Array<RawGuildMember>;
171
193
  chunk_index: number;
172
194
  chunk_count: number;
173
195
  not_found?: Array<string>;
174
- presences?: Array<RawPresenceUpdateEventFields>;
196
+ presences?: Array<RawPresenceUpdateEvent>;
175
197
  nonce?: string;
176
198
  }
199
+ /** https://discord.com/developers/docs/events/gateway-events#guild-role-create-guild-role-create-event-fields */
200
+ export interface RawGuildRoleCreateEvent {
201
+ guild_id: snowflake;
202
+ role: RawRole;
203
+ }
204
+ /** https://discord.com/developers/docs/events/gateway-events#guild-role-update-guild-role-update-event-fields */
205
+ export interface RawGuildRoleUpdateEvent {
206
+ guild_id: snowflake;
207
+ role: RawRole;
208
+ }
209
+ /** https://discord.com/developers/docs/events/gateway-events#guild-role-delete-guild-role-delete-event-fields */
210
+ export interface RawGuildRoleDeleteEvent {
211
+ guild_id: snowflake;
212
+ role_id: snowflake;
213
+ }
214
+ /** https://discord.com/developers/docs/events/gateway-events#guild-scheduled-event-user-add-guild-scheduled-event-user-add-event-fields */
215
+ export interface RawGuildScheduledEventUserAddEvent {
216
+ guild_scheduled_event_id: snowflake;
217
+ user_id: snowflake;
218
+ guild_id: snowflake;
219
+ }
220
+ /** https://discord.com/developers/docs/events/gateway-events#guild-scheduled-event-user-remove-guild-scheduled-event-user-remove-event-fields */
221
+ export interface RawGuildScheduledEventUserRemoveEvent {
222
+ guild_scheduled_event_id: snowflake;
223
+ user_id: snowflake;
224
+ guild_id: snowflake;
225
+ }
177
226
  /** https://discord.com/developers/docs/events/gateway-events#guild-soundboard-sound-delete-guild-soundboard-sound-delete-event-fields */
178
- export interface RawGuildSoundboardSoundDeleteEventFields {
179
- soundId: snowflake;
180
- guildId: snowflake;
227
+ export interface RawGuildSoundboardSoundDeleteEvent {
228
+ sound_id: snowflake;
229
+ guild_id: snowflake;
230
+ }
231
+ /** https://discord.com/developers/docs/events/gateway-events#guild-soundboard-sounds-update-guild-soundboard-sounds-update-event-fields */
232
+ export interface RawGuildSoundboardSoundsUpdateEvent {
233
+ soundboard_sounds: Array<RawSoundboardSound>;
234
+ guild_id: snowflake;
235
+ }
236
+ /** https://discord.com/developers/docs/events/gateway-events#soundboard-sounds-soundboard-sounds-event-fields */
237
+ export interface RawGuildSoundboardSoundsEvent {
238
+ soundboard_sounds: Array<RawSoundboardSound>;
239
+ guild_id: snowflake;
181
240
  }
182
241
  /** https://discord.com/developers/docs/events/gateway-events#integration-create-integration-create-event-additional-fields */
183
- export interface RawIntegrationCreateEventExtraFields {
242
+ export interface RawIntegrationCreateEventExtra {
184
243
  guild_id: snowflake;
185
244
  }
186
245
  /** https://discord.com/developers/docs/events/gateway-events#integration-update-integration-update-event-additional-fields */
187
- export interface RawIntegrationUpdateEventExtraFields {
246
+ export interface RawIntegrationUpdateEventExtra {
188
247
  guild_id: snowflake;
189
248
  }
190
249
  /** https://discord.com/developers/docs/events/gateway-events#integration-delete-integration-delete-event-fields */
191
- export interface RawIntegrationDeleteEventFields {
250
+ export interface RawIntegrationDeleteEvent {
192
251
  id: snowflake;
193
252
  guild_id: snowflake;
194
253
  application_id?: snowflake;
195
254
  }
196
255
  /** https://discord.com/developers/docs/events/gateway-events#invite-create-invite-create-event-fields */
197
- export interface RawInviteCreateEventFields {
256
+ export interface RawInviteCreateEvent {
198
257
  channel_id: snowflake;
199
258
  code: string;
200
259
  created_at: timestamp;
@@ -208,33 +267,34 @@ export interface RawInviteCreateEventFields {
208
267
  temporary: boolean;
209
268
  uses: number;
210
269
  expires_at: timestamp | null;
270
+ roles_ids?: Array<snowflake>;
211
271
  }
212
272
  /** https://discord.com/developers/docs/events/gateway-events#invite-delete-invite-delete-event-fields */
213
- export interface RawInviteDeleteEventFields {
273
+ export interface RawInviteDeleteEvent {
214
274
  channel_id: snowflake;
215
275
  guild_id?: snowflake;
216
276
  code: string;
217
277
  }
218
278
  /** https://discord.com/developers/docs/events/gateway-events#message-create-message-create-extra-fields */
219
- export interface RawMessageCreateEventExtraFields {
279
+ export interface RawMessageCreateEventExtra {
220
280
  guild_id?: snowflake;
221
281
  member?: RawGuildMember;
222
282
  mentions: Array<RawUser>;
223
283
  }
224
284
  /** https://discord.com/developers/docs/events/gateway-events#message-delete-message-delete-event-fields */
225
- export interface RawMessageDeleteEventFields {
285
+ export interface RawMessageDeleteEvent {
226
286
  id: snowflake;
227
287
  channel_id: snowflake;
228
288
  guild_id?: snowflake;
229
289
  }
230
290
  /** https://discord.com/developers/docs/events/gateway-events#message-delete-bulk-message-delete-bulk-event-fields */
231
- export interface RawMessageDeleteBulkEventFields {
291
+ export interface RawMessageDeleteBulkEvent {
232
292
  ids: Array<snowflake>;
233
293
  channel_id: snowflake;
234
294
  guild_id?: snowflake;
235
295
  }
236
296
  /** https://discord.com/developers/docs/events/gateway-events#message-reaction-add-message-reaction-add-event-fields */
237
- export interface RawMessageReactionAddEventFields {
297
+ export interface RawMessageReactionAddEvent {
238
298
  user_id: snowflake;
239
299
  channel_id: snowflake;
240
300
  message_id: snowflake;
@@ -247,7 +307,7 @@ export interface RawMessageReactionAddEventFields {
247
307
  type: ReactionTypes;
248
308
  }
249
309
  /** https://discord.com/developers/docs/events/gateway-events#message-reaction-remove-message-reaction-remove-event-fields */
250
- export interface RawMessageReactionRemoveEventFields {
310
+ export interface RawMessageReactionRemoveEvent {
251
311
  user_id: snowflake;
252
312
  channel_id: snowflake;
253
313
  message_id: snowflake;
@@ -257,20 +317,20 @@ export interface RawMessageReactionRemoveEventFields {
257
317
  type: ReactionTypes;
258
318
  }
259
319
  /** https://discord.com/developers/docs/events/gateway-events#message-reaction-remove-all-message-reaction-remove-all-event-fields */
260
- export interface RawMessageReactionRemoveAllEventFields {
320
+ export interface RawMessageReactionRemoveAllEvent {
261
321
  channel_id: snowflake;
262
322
  message_id: snowflake;
263
323
  guild_id?: snowflake;
264
324
  }
265
325
  /** https://discord.com/developers/docs/events/gateway-events#message-reaction-remove-emoji-message-reaction-remove-emoji-event-fields */
266
- export interface RawMessageReactionRemoveEmojiEventFields {
326
+ export interface RawMessageReactionRemoveEmojiEvent {
267
327
  channel_id: snowflake;
268
328
  guild_id?: snowflake;
269
329
  message_id: snowflake;
270
330
  emoji: RawEmoji;
271
331
  }
272
332
  /** https://discord.com/developers/docs/events/gateway-events#presence-update-presence-update-event-fields */
273
- export interface RawPresenceUpdateEventFields {
333
+ export interface RawPresenceUpdateEvent {
274
334
  user: Pick<RawUser, "id"> & Partial<RawUser>;
275
335
  guild_id: snowflake;
276
336
  status: StatusTypes;
@@ -336,7 +396,7 @@ export interface RawActivityButton {
336
396
  url: string;
337
397
  }
338
398
  /** https://discord.com/developers/docs/events/gateway-events#typing-start-typing-start-event-fields */
339
- export interface RawTypingStartEventFields {
399
+ export interface RawTypingStartEvent {
340
400
  channel_id: snowflake;
341
401
  guild_id?: snowflake;
342
402
  user_id: snowflake;
@@ -344,7 +404,7 @@ export interface RawTypingStartEventFields {
344
404
  member?: RawGuildMember;
345
405
  }
346
406
  /** https://discord.com/developers/docs/events/gateway-events#voice-channel-effetc-send-event-fields */
347
- export interface RawVoiceChannelEffectSendEventFields {
407
+ export interface RawVoiceChannelEffectSendEvent {
348
408
  channel_id: snowflake;
349
409
  guild_id: snowflake;
350
410
  user_id: snowflake;
@@ -355,13 +415,18 @@ export interface RawVoiceChannelEffectSendEventFields {
355
415
  sound_volume?: number;
356
416
  }
357
417
  /** https://discord.com/developers/docs/events/gateway-events#voice-server-update-voice-server-update-event-fields */
358
- export interface RawVoiceServerUpdateEventFields {
418
+ export interface RawVoiceServerUpdateEvent {
359
419
  token: string;
360
420
  guild_id: snowflake;
361
421
  endpoint: string | null;
362
422
  }
423
+ /** https://discord.com/developers/docs/events/gateway-events#webhooks-update-webhooks-update-event-fields */
424
+ export interface RawWebhooksUpdateEvent {
425
+ guild_id: snowflake;
426
+ channel_id: snowflake;
427
+ }
363
428
  /** https://discord.com/developers/docs/events/gateway-events#message-poll-vote-add-message-poll-vote-add-fields */
364
- export interface RawMessagePollVoteAddFields {
429
+ export interface RawMessagePollVoteAddEvent {
365
430
  user_id: snowflake;
366
431
  channel_id: snowflake;
367
432
  message_id: snowflake;
@@ -369,7 +434,7 @@ export interface RawMessagePollVoteAddFields {
369
434
  answer_id: number;
370
435
  }
371
436
  /** https://discord.com/developers/docs/events/gateway-events#message-poll-vote-remove */
372
- export interface RawMessagePollVoteRemoveFields {
437
+ export interface RawMessagePollVoteRemoveEvent {
373
438
  user_id: snowflake;
374
439
  channel_id: snowflake;
375
440
  message_id: snowflake;
@@ -377,7 +442,7 @@ export interface RawMessagePollVoteRemoveFields {
377
442
  answer_id: number;
378
443
  }
379
444
  /** https://discord.com/developers/docs/events/gateway-events#rate-limited-rate-limited-fields */
380
- export interface RawRateLimitedFields {
445
+ export interface RawRateLimitedEvent {
381
446
  opcode: GatewayOPCodes;
382
447
  retry_after: number;
383
448
  meta: RawRequestGuildMembersRateLimitMetadata;
@@ -443,8 +508,18 @@ export interface GatewayVoiceStateUpdate {
443
508
  selfMute: boolean;
444
509
  selfDeaf: boolean;
445
510
  }
511
+ /** https://discord.com/developers/docs/events/gateway-events#ready-ready-event-fields */
512
+ export interface ReadyEvent {
513
+ v: number;
514
+ user: User;
515
+ guilds: Array<UnavailableGuild>;
516
+ sessionId: string;
517
+ resumeGatewayURL: string;
518
+ shard?: [number, number];
519
+ application: Pick<Application, "id" | "flags">;
520
+ }
446
521
  /** https://discord.com/developers/docs/events/gateway-events#auto-moderation-action-execution-auto-moderation-action-execution-event-fields */
447
- export interface AutoModerationActionExecutionEventFields {
522
+ export interface AutoModerationActionExecutionEvent {
448
523
  guildId: snowflake;
449
524
  action: AutoModerationAction;
450
525
  ruleId: snowflake;
@@ -458,18 +533,18 @@ export interface AutoModerationActionExecutionEventFields {
458
533
  matchedContent: string | null;
459
534
  }
460
535
  /** https://discord.com/developers/docs/events/gateway-events#thread-list-sync-thread-list-sync-event-fields */
461
- export interface ThreadListSyncEventFields {
536
+ export interface ThreadListSyncEvent {
462
537
  guildId: snowflake;
463
538
  channelIds?: Array<snowflake>;
464
539
  threads: Array<Channel>;
465
540
  members: Array<ThreadMember>;
466
541
  }
467
542
  /** https://discord.com/developers/docs/events/gateway-events#thread-member-update-thread-member-update-event-extra-fields */
468
- export interface ThreadMemberUpdateEventExtraFields {
543
+ export interface ThreadMemberUpdateEventExtra {
469
544
  guildId: snowflake;
470
545
  }
471
546
  /** https://discord.com/developers/docs/events/gateway-events#thread-members-update-thread-members-update-event-fields */
472
- export interface ThreadMembersUpdateEventFields {
547
+ export interface ThreadMembersUpdateEvent {
473
548
  id: snowflake;
474
549
  guildId: snowflake;
475
550
  memberCount: number;
@@ -477,13 +552,13 @@ export interface ThreadMembersUpdateEventFields {
477
552
  removedMemberIds?: Array<snowflake>;
478
553
  }
479
554
  /** https://discord.com/developers/docs/events/gateway-events#channel-pins-update-channel-pins-update-event-fields */
480
- export interface ChannelPinsUpdateEventFields {
555
+ export interface ChannelPinsUpdateEvent {
481
556
  guildId?: snowflake;
482
557
  channelId: snowflake;
483
558
  lastPinTimestamp?: timestamp | null;
484
559
  }
485
560
  /** https://discord.com/developers/docs/events/gateway-events#guild-create-guild-create-extra-fields */
486
- export interface GuildCreateEventExtraFields {
561
+ export interface GuildCreateEventExtra {
487
562
  joinedAt?: timestamp;
488
563
  large?: boolean;
489
564
  unavailable?: boolean;
@@ -492,40 +567,50 @@ export interface GuildCreateEventExtraFields {
492
567
  members?: Array<GuildMember>;
493
568
  channels?: Array<Channel>;
494
569
  threads?: Array<Channel>;
495
- presences?: Array<PresenceUpdateEventFields>;
570
+ presences?: Array<PresenceUpdateEvent>;
496
571
  stageInstances?: Array<StageInstance>;
497
572
  guildScheduledEvents?: Array<GuildScheduledEvent>;
498
573
  soundboardSounds?: Array<SoundboardSound>;
499
574
  }
500
575
  /** https://discord.com/developers/docs/events/gateway-events#guild-audit-log-entry-create-guild-audit-log-entry-create-extra-fields */
501
- export interface GuildAuditLogEntryCreateExtraFields {
576
+ export interface GuildAuditLogEntryCreateExtra {
502
577
  guildId: snowflake;
503
578
  }
504
579
  /** https://discord.com/developers/docs/events/gateway-events#guild-ban-add-guild-ban-add-event-fields */
505
- export interface GuildBanAddEventFields {
580
+ export interface GuildBanAddEvent {
506
581
  guildId: snowflake;
507
582
  user: User;
508
583
  }
509
584
  /** https://discord.com/developers/docs/events/gateway-events#guild-ban-remove-guild-ban-remove-event-fields */
510
- export interface GuildBanRemoveEventFields {
585
+ export interface GuildBanRemoveEvent {
511
586
  guildId: snowflake;
512
587
  user: User;
513
588
  }
589
+ /** https://discord.com/developers/docs/events/gateway-events#guild-emojis-update */
590
+ export interface GuildEmojisUpdateEvent {
591
+ guildId: snowflake;
592
+ emojis: Array<Emoji>;
593
+ }
594
+ /** https://discord.com/developers/docs/events/gateway-events#guild-stickers-update */
595
+ export interface GuildStickersUpdateEvent {
596
+ guildId: snowflake;
597
+ stickers: Array<Sticker>;
598
+ }
514
599
  /** https://discord.com/developers/docs/events/gateway-events#guild-integrations-update-guild-integrations-update-event-fields */
515
- export interface GuildIntegrationsUpdateEventFields {
600
+ export interface GuildIntegrationsUpdateEvent {
516
601
  guildId: snowflake;
517
602
  }
518
603
  /** https://discord.com/developers/docs/events/gateway-events#guild-member-add-guild-member-add-extra-fields */
519
- export interface GuildMemberAddEventExtraFields {
604
+ export interface GuildMemberAddEventExtra {
520
605
  guildId: snowflake;
521
606
  }
522
607
  /** https://discord.com/developers/docs/events/gateway-events#guild-member-remove-guild-member-remove-event-fields */
523
- export interface GuildMemberRemoveEventFields {
608
+ export interface GuildMemberRemoveEvent {
524
609
  guildId: snowflake;
525
610
  user: User;
526
611
  }
527
612
  /** https://discord.com/developers/docs/events/gateway-events#guild-member-update-guild-member-update-event-fields */
528
- export interface GuildMemberUpdateEventFields {
613
+ export interface GuildMemberUpdateEvent {
529
614
  guildId: snowflake;
530
615
  roles: Array<snowflake>;
531
616
  user: User;
@@ -542,36 +627,73 @@ export interface GuildMemberUpdateEventFields {
542
627
  avatarDecorationData?: AvatarDecorationData | null;
543
628
  }
544
629
  /** https://discord.com/developers/docs/events/gateway-events#guild-members-chunk-guild-members-chunk-event-fields */
545
- export interface GuildMembersChunkEventFields {
630
+ export interface GuildMembersChunkEvent {
546
631
  guildId: snowflake;
547
632
  members: Array<GuildMember>;
548
633
  chunkIndex: number;
549
634
  chunkCount: number;
550
635
  notFound?: Array<string>;
551
- presences?: Array<PresenceUpdateEventFields>;
636
+ presences?: Array<PresenceUpdateEvent>;
552
637
  nonce?: string;
553
638
  }
639
+ /** https://discord.com/developers/docs/events/gateway-events#guild-role-create-guild-role-create-event-fields */
640
+ export interface GuildRoleCreateEvent {
641
+ guildId: snowflake;
642
+ role: Role;
643
+ }
644
+ /** https://discord.com/developers/docs/events/gateway-events#guild-role-update-guild-role-update-event-fields */
645
+ export interface GuildRoleUpdateEvent {
646
+ guildId: snowflake;
647
+ role: Role;
648
+ }
649
+ /** https://discord.com/developers/docs/events/gateway-events#guild-role-delete-guild-role-delete-event-fields */
650
+ export interface GuildRoleDeleteEvent {
651
+ guildId: snowflake;
652
+ roleId: snowflake;
653
+ }
654
+ /** https://discord.com/developers/docs/events/gateway-events#guild-scheduled-event-user-add-guild-scheduled-event-user-add-event-fields */
655
+ export interface GuildScheduledEventUserAddEvent {
656
+ guildScheduledEventId: snowflake;
657
+ userId: snowflake;
658
+ guildId: snowflake;
659
+ }
660
+ /** https://discord.com/developers/docs/events/gateway-events#guild-scheduled-event-user-remove-guild-scheduled-event-user-remove-event-fields */
661
+ export interface GuildScheduledEventUserRemoveEvent {
662
+ guildScheduledEventId: snowflake;
663
+ userId: snowflake;
664
+ guildId: snowflake;
665
+ }
554
666
  /** https://discord.com/developers/docs/events/gateway-events#guild-soundboard-sound-delete-guild-soundboard-sound-delete-event-fields */
555
- export interface GuildSoundboardSoundDeleteEventFields {
667
+ export interface GuildSoundboardSoundDeleteEvent {
556
668
  soundId: snowflake;
557
669
  guildId: snowflake;
558
670
  }
671
+ /** https://discord.com/developers/docs/events/gateway-events#guild-soundboard-sounds-update-guild-soundboard-sounds-update-event-fields */
672
+ export interface GuildSoundboardSoundsUpdateEvent {
673
+ soundboardSounds: Array<SoundboardSound>;
674
+ guildId: snowflake;
675
+ }
676
+ /** https://discord.com/developers/docs/events/gateway-events#soundboard-sounds-soundboard-sounds-event-fields */
677
+ export interface GuildSoundboardSoundsEvent {
678
+ soundboardSounds: Array<SoundboardSound>;
679
+ guildId: snowflake;
680
+ }
559
681
  /** https://discord.com/developers/docs/events/gateway-events#integration-create-integration-create-event-additional-fields */
560
- export interface IntegrationCreateEventExtraFields {
682
+ export interface IntegrationCreateEventExtra {
561
683
  guildId: snowflake;
562
684
  }
563
685
  /** https://discord.com/developers/docs/events/gateway-events#integration-update-integration-update-event-additional-fields */
564
- export interface IntegrationUpdateEventExtraFields {
686
+ export interface IntegrationUpdateEventExtra {
565
687
  guildId: snowflake;
566
688
  }
567
689
  /** https://discord.com/developers/docs/events/gateway-events#integration-delete-integration-delete-event-fields */
568
- export interface IntegrationDeleteEventFields {
690
+ export interface IntegrationDeleteEvent {
569
691
  id: snowflake;
570
692
  guildId: snowflake;
571
693
  applicationId?: snowflake;
572
694
  }
573
695
  /** https://discord.com/developers/docs/events/gateway-events#invite-create-invite-create-event-fields */
574
- export interface InviteCreateEventFields {
696
+ export interface InviteCreateEvent {
575
697
  channelId: snowflake;
576
698
  code: string;
577
699
  createdAt: timestamp;
@@ -585,33 +707,34 @@ export interface InviteCreateEventFields {
585
707
  temporary: boolean;
586
708
  uses: number;
587
709
  expiresAt: timestamp | null;
710
+ roleIds?: Array<snowflake>;
588
711
  }
589
712
  /** https://discord.com/developers/docs/events/gateway-events#invite-delete-invite-delete-event-fields */
590
- export interface InviteDeleteEventFields {
713
+ export interface InviteDeleteEvent {
591
714
  channelId: snowflake;
592
715
  guildId?: snowflake;
593
716
  code: string;
594
717
  }
595
718
  /** https://discord.com/developers/docs/events/gateway-events#message-create-message-create-extra-fields */
596
- export interface MessageCreateEventExtraFields {
719
+ export interface MessageCreateEventExtra {
597
720
  guildId?: snowflake;
598
721
  member?: GuildMember;
599
722
  mentions: Array<User>;
600
723
  }
601
724
  /** https://discord.com/developers/docs/events/gateway-events#message-delete-message-delete-event-fields */
602
- export interface MessageDeleteEventFields {
725
+ export interface MessageDeleteEvent {
603
726
  id: snowflake;
604
727
  channelId: snowflake;
605
728
  guildId?: snowflake;
606
729
  }
607
730
  /** https://discord.com/developers/docs/events/gateway-events#message-delete-bulk-message-delete-bulk-event-fields */
608
- export interface MessageDeleteBulkEventFields {
731
+ export interface MessageDeleteBulkEvent {
609
732
  ids: Array<snowflake>;
610
733
  channelId: snowflake;
611
734
  guildId?: snowflake;
612
735
  }
613
736
  /** https://discord.com/developers/docs/events/gateway-events#message-reaction-add-message-reaction-add-event-fields */
614
- export interface MessageReactionAddEventFields {
737
+ export interface MessageReactionAddEvent {
615
738
  userId: snowflake;
616
739
  channelId: snowflake;
617
740
  messageId: snowflake;
@@ -624,7 +747,7 @@ export interface MessageReactionAddEventFields {
624
747
  type: ReactionTypes;
625
748
  }
626
749
  /** https://discord.com/developers/docs/events/gateway-events#message-reaction-remove-message-reaction-remove-event-fields */
627
- export interface MessageReactionRemoveEventFields {
750
+ export interface MessageReactionRemoveEvent {
628
751
  userId: snowflake;
629
752
  channelId: snowflake;
630
753
  messageId: snowflake;
@@ -634,20 +757,20 @@ export interface MessageReactionRemoveEventFields {
634
757
  type: ReactionTypes;
635
758
  }
636
759
  /** https://discord.com/developers/docs/events/gateway-events#message-reaction-remove-all-message-reaction-remove-all-event-fields */
637
- export interface MessageReactionRemoveAllEventFields {
760
+ export interface MessageReactionRemoveAllEvent {
638
761
  channelId: snowflake;
639
762
  messageId: snowflake;
640
763
  guildId?: snowflake;
641
764
  }
642
765
  /** https://discord.com/developers/docs/events/gateway-events#message-reaction-remove-emoji-message-reaction-remove-emoji-event-fields */
643
- export interface MessageReactionRemoveEmojiEventFields {
766
+ export interface MessageReactionRemoveEmojiEvent {
644
767
  channelId: snowflake;
645
768
  guildId?: snowflake;
646
769
  messageId: snowflake;
647
770
  emoji: Emoji;
648
771
  }
649
772
  /** https://discord.com/developers/docs/events/gateway-events#presence-update-presence-update-event-fields */
650
- export interface PresenceUpdateEventFields {
773
+ export interface PresenceUpdateEvent {
651
774
  user: Pick<User, "id"> & Partial<User>;
652
775
  guildId: snowflake;
653
776
  status: StatusTypes;
@@ -713,7 +836,7 @@ export interface ActivityButton {
713
836
  url: string;
714
837
  }
715
838
  /** https://discord.com/developers/docs/events/gateway-events#typing-start-typing-start-event-fields */
716
- export interface TypingStartEventFields {
839
+ export interface TypingStartEvent {
717
840
  channelId: snowflake;
718
841
  guildId?: snowflake;
719
842
  userId: snowflake;
@@ -721,7 +844,7 @@ export interface TypingStartEventFields {
721
844
  member?: GuildMember;
722
845
  }
723
846
  /** https://discord.com/developers/docs/events/gateway-events#voice-channel-effetc-send-event-fields */
724
- export interface VoiceChannelEffectSendEventFields {
847
+ export interface VoiceChannelEffectSendEvent {
725
848
  channelId: snowflake;
726
849
  guildId: snowflake;
727
850
  userId: snowflake;
@@ -732,13 +855,18 @@ export interface VoiceChannelEffectSendEventFields {
732
855
  soundVolume?: number;
733
856
  }
734
857
  /** https://discord.com/developers/docs/events/gateway-events#voice-server-update-voice-server-update-event-fields */
735
- export interface VoiceServerUpdateEventFields {
858
+ export interface VoiceServerUpdateEvent {
736
859
  token: string;
737
860
  guildId: snowflake;
738
861
  endpoint: string | null;
739
862
  }
863
+ /** https://discord.com/developers/docs/events/gateway-events#webhooks-update-webhooks-update-event-fields */
864
+ export interface WebhooksUpdateEvent {
865
+ guildId: snowflake;
866
+ channelId: snowflake;
867
+ }
740
868
  /** https://discord.com/developers/docs/events/gateway-events#message-poll-vote-add-message-poll-vote-add-fields */
741
- export interface MessagePollVoteAddFields {
869
+ export interface MessagePollVoteAddEvent {
742
870
  userId: snowflake;
743
871
  channelId: snowflake;
744
872
  messageId: snowflake;
@@ -746,7 +874,7 @@ export interface MessagePollVoteAddFields {
746
874
  answerId: number;
747
875
  }
748
876
  /** https://discord.com/developers/docs/events/gateway-events#message-poll-vote-remove */
749
- export interface MessagePollVoteRemoveFields {
877
+ export interface MessagePollVoteRemoveEvent {
750
878
  userId: snowflake;
751
879
  channelId: snowflake;
752
880
  messageId: snowflake;
@@ -754,7 +882,7 @@ export interface MessagePollVoteRemoveFields {
754
882
  answerId: number;
755
883
  }
756
884
  /** https://discord.com/developers/docs/events/gateway-events#rate-limited-rate-limited-fields */
757
- export interface RateLimitedFields {
885
+ export interface RateLimitedEvent {
758
886
  opcode: GatewayOPCodes;
759
887
  retryAfter: number;
760
888
  meta: RequestGuildMembersRateLimitMetadata;