disgroove 2.2.7 → 3.0.0-dev.2cf2b90

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 (92) hide show
  1. package/LICENSE +9 -9
  2. package/README.md +48 -48
  3. package/dist/lib/Client.d.ts +295 -300
  4. package/dist/lib/Client.js +480 -473
  5. package/dist/lib/constants.d.ts +7 -4
  6. package/dist/lib/constants.js +6 -3
  7. package/dist/lib/gateway/Dispatcher.d.ts +104 -0
  8. package/dist/lib/gateway/Dispatcher.js +471 -0
  9. package/dist/lib/gateway/Shard.d.ts +12 -21
  10. package/dist/lib/gateway/Shard.js +120 -584
  11. package/dist/lib/gateway/Transmitter.d.ts +22 -0
  12. package/dist/lib/gateway/Transmitter.js +93 -0
  13. package/dist/lib/gateway/WebSocketManager.d.ts +22 -0
  14. package/dist/lib/gateway/WebSocketManager.js +93 -0
  15. package/dist/lib/index.d.ts +4 -0
  16. package/dist/lib/index.js +4 -0
  17. package/dist/lib/rest/Endpoints.d.ts +94 -94
  18. package/dist/lib/rest/Endpoints.js +104 -104
  19. package/dist/lib/rest/RequestManager.js +17 -7
  20. package/dist/lib/rest/index.js +17 -7
  21. package/dist/lib/transformers/ApplicationCommands.js +4 -4
  22. package/dist/lib/transformers/Applications.d.ts +2 -0
  23. package/dist/lib/transformers/Applications.js +110 -4
  24. package/dist/lib/transformers/AuditLogs.js +10 -10
  25. package/dist/lib/transformers/AutoModeration.js +6 -6
  26. package/dist/lib/transformers/Channels.js +16 -16
  27. package/dist/lib/transformers/Components.d.ts +3 -1
  28. package/dist/lib/transformers/Components.js +42 -16
  29. package/dist/lib/transformers/Entitlements.d.ts +2 -2
  30. package/dist/lib/transformers/Entitlements.js +16 -16
  31. package/dist/lib/transformers/GuildScheduledEvents.js +8 -8
  32. package/dist/lib/transformers/GuildTemplates.js +4 -4
  33. package/dist/lib/transformers/Guilds.js +28 -28
  34. package/dist/lib/transformers/Interactions.js +74 -44
  35. package/dist/lib/transformers/Lobbies.js +2 -2
  36. package/dist/lib/transformers/Messages.js +18 -18
  37. package/dist/lib/transformers/Polls.js +2 -2
  38. package/dist/lib/transformers/Presences.d.ts +3 -3
  39. package/dist/lib/transformers/Presences.js +6 -6
  40. package/dist/lib/transformers/Roles.js +6 -6
  41. package/dist/lib/transformers/SKUs.js +2 -2
  42. package/dist/lib/transformers/Soundboards.js +6 -6
  43. package/dist/lib/transformers/StageInstances.js +6 -6
  44. package/dist/lib/transformers/Stickers.js +3 -3
  45. package/dist/lib/transformers/Subscriptions.js +8 -8
  46. package/dist/lib/transformers/Teams.js +4 -4
  47. package/dist/lib/transformers/Users.js +6 -6
  48. package/dist/lib/transformers/Voice.js +8 -8
  49. package/dist/lib/transformers/Webhooks.js +6 -6
  50. package/dist/lib/types/application-command.d.ts +9 -4
  51. package/dist/lib/types/application-role-connection-metadata.d.ts +1 -0
  52. package/dist/lib/types/application.d.ts +12 -7
  53. package/dist/lib/types/audit-log.d.ts +9 -5
  54. package/dist/lib/types/auto-moderation.d.ts +7 -3
  55. package/dist/lib/types/channel.d.ts +17 -23
  56. package/dist/lib/types/common.d.ts +2 -0
  57. package/dist/lib/types/components.d.ts +79 -19
  58. package/dist/lib/types/emoji.d.ts +1 -0
  59. package/dist/lib/types/entitlements.d.ts +5 -4
  60. package/dist/lib/types/gateway-events.d.ts +387 -210
  61. package/dist/lib/types/guild-scheduled-event.d.ts +10 -5
  62. package/dist/lib/types/guild-template.d.ts +3 -2
  63. package/dist/lib/types/guild.d.ts +33 -17
  64. package/dist/lib/types/interaction.d.ts +26 -13
  65. package/dist/lib/types/invite.d.ts +3 -0
  66. package/dist/lib/types/lobby.d.ts +3 -1
  67. package/dist/lib/types/message.d.ts +29 -15
  68. package/dist/lib/types/poll.d.ts +7 -1
  69. package/dist/lib/types/role.d.ts +6 -3
  70. package/dist/lib/types/sku.d.ts +2 -1
  71. package/dist/lib/types/soundboard.d.ts +4 -3
  72. package/dist/lib/types/stage-instance.d.ts +4 -3
  73. package/dist/lib/types/sticker.d.ts +8 -5
  74. package/dist/lib/types/subscription.d.ts +6 -5
  75. package/dist/lib/types/team.d.ts +4 -2
  76. package/dist/lib/types/user.d.ts +10 -3
  77. package/dist/lib/types/voice.d.ts +6 -4
  78. package/dist/lib/types/webhook.d.ts +4 -3
  79. package/dist/lib/utils/CDN.d.ts +22 -22
  80. package/dist/lib/utils/CDN.js +22 -22
  81. package/dist/lib/utils/errors.d.ts +3 -1
  82. package/dist/lib/utils/errors.js +4 -0
  83. package/dist/lib/utils/formatters.d.ts +6 -6
  84. package/dist/lib/utils/formatters.js +27 -28
  85. package/dist/lib/utils/index.d.ts +1 -0
  86. package/dist/lib/utils/index.js +18 -7
  87. package/dist/lib/utils/permissions.d.ts +2 -0
  88. package/dist/lib/utils/permissions.js +7 -0
  89. package/dist/package.json +1 -1
  90. package/package.json +2 -2
  91. package/dist/lib/types/message-components.d.ts +0 -450
  92. package/dist/lib/types/message-components.js +0 -2
@@ -4,20 +4,22 @@ 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
- /** https://discord.com/developers/docs/topics/gateway-events#payload-structure */
15
+ /** https://discord.com/developers/docs/events/gateway-events#payload-structure */
14
16
  export interface RawPayload {
15
17
  op: GatewayOPCodes;
16
18
  d: any | null;
17
19
  s: number | null;
18
20
  t: GatewayEvents | null;
19
21
  }
20
- /** https://discord.com/developers/docs/topics/gateway-events#identify-identify-structure */
22
+ /** https://discord.com/developers/docs/events/gateway-events#identify-identify-structure */
21
23
  export interface RawIdentify {
22
24
  token: string;
23
25
  properties: RawIdentifyConnectionProperties;
@@ -27,19 +29,19 @@ export interface RawIdentify {
27
29
  presence?: Partial<Pick<RawGatewayPresenceUpdate, "since" | "activities" | "status" | "afk">>;
28
30
  intents: GatewayIntents;
29
31
  }
30
- /** https://discord.com/developers/docs/topics/gateway-events#identify-identify-connection-properties */
32
+ /** https://discord.com/developers/docs/events/gateway-events#identify-identify-connection-properties */
31
33
  export interface RawIdentifyConnectionProperties {
32
34
  os: string;
33
35
  browser: string;
34
36
  device: string;
35
37
  }
36
- /** https://discord.com/developers/docs/topics/gateway-events#resume-resume-structure */
38
+ /** https://discord.com/developers/docs/events/gateway-events#resume-resume-structure */
37
39
  export interface RawResume {
38
40
  token: string;
39
41
  session_id: string;
40
42
  seq: number;
41
43
  }
42
- /** https://discord.com/developers/docs/topics/gateway-events#request-guild-members-request-guild-members-structure */
44
+ /** https://discord.com/developers/docs/events/gateway-events#request-guild-members-request-guild-members-structure */
43
45
  export interface RawRequestGuildMembers {
44
46
  guild_id: snowflake;
45
47
  query?: string;
@@ -48,26 +50,36 @@ export interface RawRequestGuildMembers {
48
50
  user_ids?: snowflake | Array<snowflake>;
49
51
  nonce?: string;
50
52
  }
51
- /** https://discord.com/developers/docs/topics/gateway-events#request-soundboard-sounds-request-soundboard-sounds-structure */
53
+ /** https://discord.com/developers/docs/events/gateway-events#request-soundboard-sounds-request-soundboard-sounds-structure */
52
54
  export interface RawRequestSoundboardSounds {
53
55
  guild_ids: Array<snowflake>;
54
56
  }
55
- /** https://discord.com/developers/docs/topics/gateway-events#update-presence-gateway-presence-update-structure */
57
+ /** https://discord.com/developers/docs/events/gateway-events#update-presence-gateway-presence-update-structure */
56
58
  export interface RawGatewayPresenceUpdate {
57
59
  since: number | null;
58
60
  activities: Array<Partial<Pick<RawActivity, "name" | "type" | "url" | "state">>>;
59
61
  status: StatusTypes;
60
62
  afk: boolean;
61
63
  }
62
- /** https://discord.com/developers/docs/topics/gateway-events#update-voice-state-gateway-voice-state-update-structure */
64
+ /** https://discord.com/developers/docs/events/gateway-events#update-voice-state-gateway-voice-state-update-structure */
63
65
  export interface RawGatewayVoiceStateUpdate {
64
66
  guild_id: snowflake;
65
67
  channel_id: snowflake | null;
66
68
  self_mute: boolean;
67
69
  self_deaf: boolean;
68
70
  }
69
- /** https://discord.com/developers/docs/topics/gateway-events#auto-moderation-action-execution-auto-moderation-action-execution-event-fields */
70
- export interface RawAutoModerationActionExecutionEventFields {
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
+ }
81
+ /** https://discord.com/developers/docs/events/gateway-events#auto-moderation-action-execution-auto-moderation-action-execution-event-fields */
82
+ export interface RawAutoModerationActionExecutionEvent {
71
83
  guild_id: snowflake;
72
84
  action: RawAutoModerationAction;
73
85
  rule_id: snowflake;
@@ -80,33 +92,33 @@ export interface RawAutoModerationActionExecutionEventFields {
80
92
  matched_keyword: string | null;
81
93
  matched_content: string | null;
82
94
  }
83
- /** https://discord.com/developers/docs/topics/gateway-events#thread-list-sync-thread-list-sync-event-fields */
84
- export interface RawThreadListSyncEventFields {
95
+ /** https://discord.com/developers/docs/events/gateway-events#thread-list-sync-thread-list-sync-event-fields */
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
- /** https://discord.com/developers/docs/topics/gateway-events#thread-member-update-thread-member-update-event-extra-fields */
91
- export interface RawThreadMemberUpdateEventExtraFields {
102
+ /** https://discord.com/developers/docs/events/gateway-events#thread-member-update-thread-member-update-event-extra-fields */
103
+ export interface RawThreadMemberUpdateEventExtra {
92
104
  guild_id: snowflake;
93
105
  }
94
- /** https://discord.com/developers/docs/topics/gateway-events#thread-members-update-thread-members-update-event-fields */
95
- export interface RawThreadMembersUpdateEventFields {
106
+ /** https://discord.com/developers/docs/events/gateway-events#thread-members-update-thread-members-update-event-fields */
107
+ export interface RawThreadMembersUpdateEvent {
96
108
  id: snowflake;
97
109
  guild_id: snowflake;
98
110
  member_count: number;
99
111
  added_members?: Array<RawThreadMember>;
100
112
  removed_member_ids?: Array<snowflake>;
101
113
  }
102
- /** https://discord.com/developers/docs/topics/gateway-events#channel-pins-update-channel-pins-update-event-fields */
103
- export interface RawChannelPinsUpdateEventFields {
114
+ /** https://discord.com/developers/docs/events/gateway-events#channel-pins-update-channel-pins-update-event-fields */
115
+ export interface RawChannelPinsUpdateEvent {
104
116
  guild_id?: snowflake;
105
117
  channel_id: snowflake;
106
118
  last_pin_timestamp?: timestamp | null;
107
119
  }
108
- /** https://discord.com/developers/docs/topics/gateway-events#guild-create-guild-create-extra-fields */
109
- export interface RawGuildCreateEventExtraFields {
120
+ /** https://discord.com/developers/docs/events/gateway-events#guild-create-guild-create-extra-fields */
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
- /** https://discord.com/developers/docs/topics/gateway-events#guild-audit-log-entry-create-guild-audit-log-entry-create-extra-fields */
124
- export interface RawGuildAuditLogEntryCreateExtraFields {
135
+ /** https://discord.com/developers/docs/events/gateway-events#guild-audit-log-entry-create-guild-audit-log-entry-create-extra-fields */
136
+ export interface RawGuildAuditLogEntryCreateExtra {
125
137
  guild_id: snowflake;
126
138
  }
127
- /** https://discord.com/developers/docs/topics/gateway-events#guild-ban-add-guild-ban-add-event-fields */
128
- export interface RawGuildBanAddEventFields {
139
+ /** https://discord.com/developers/docs/events/gateway-events#guild-ban-add-guild-ban-add-event-fields */
140
+ export interface RawGuildBanAddEvent {
129
141
  guild_id: snowflake;
130
142
  user: RawUser;
131
143
  }
132
- /** https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove-guild-ban-remove-event-fields */
133
- export interface RawGuildBanRemoveEventFields {
144
+ /** https://discord.com/developers/docs/events/gateway-events#guild-ban-remove-guild-ban-remove-event-fields */
145
+ export interface RawGuildBanRemoveEvent {
134
146
  guild_id: snowflake;
135
147
  user: RawUser;
136
148
  }
137
- /** https://discord.com/developers/docs/topics/gateway-events#guild-integrations-update-guild-integrations-update-event-fields */
138
- export interface RawGuildIntegrationsUpdateEventFields {
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
+ }
159
+ /** https://discord.com/developers/docs/events/gateway-events#guild-integrations-update-guild-integrations-update-event-fields */
160
+ export interface RawGuildIntegrationsUpdateEvent {
139
161
  guild_id: snowflake;
140
162
  }
141
- /** https://discord.com/developers/docs/topics/gateway-events#guild-member-add-guild-member-add-extra-fields */
142
- export interface RawGuildMemberAddEventExtraFields {
163
+ /** https://discord.com/developers/docs/events/gateway-events#guild-member-add-guild-member-add-extra-fields */
164
+ export interface RawGuildMemberAddEventExtra {
143
165
  guild_id: snowflake;
144
166
  }
145
- /** https://discord.com/developers/docs/topics/gateway-events#guild-member-remove-guild-member-remove-event-fields */
146
- export interface RawGuildMemberRemoveEventFields {
167
+ /** https://discord.com/developers/docs/events/gateway-events#guild-member-remove-guild-member-remove-event-fields */
168
+ export interface RawGuildMemberRemoveEvent {
147
169
  guild_id: snowflake;
148
170
  user: RawUser;
149
171
  }
150
- /** https://discord.com/developers/docs/topics/gateway-events#guild-member-update-guild-member-update-event-fields */
151
- export interface RawGuildMemberUpdateEventFields {
172
+ /** https://discord.com/developers/docs/events/gateway-events#guild-member-update-guild-member-update-event-fields */
173
+ export interface RawGuildMemberUpdateEvent {
152
174
  guild_id: snowflake;
153
175
  roles: Array<snowflake>;
154
176
  user: RawUser;
@@ -164,37 +186,74 @@ export interface RawGuildMemberUpdateEventFields {
164
186
  flags?: GuildMemberFlags;
165
187
  avatar_decoration_data?: RawAvatarDecorationData | null;
166
188
  }
167
- /** https://discord.com/developers/docs/topics/gateway-events#guild-members-chunk-guild-members-chunk-event-fields */
168
- export interface RawGuildMembersChunkEventFields {
189
+ /** https://discord.com/developers/docs/events/gateway-events#guild-members-chunk-guild-members-chunk-event-fields */
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
  }
177
- /** https://discord.com/developers/docs/topics/gateway-events#guild-soundboard-sound-delete-guild-soundboard-sound-delete-event-fields */
178
- export interface RawGuildSoundboardSoundDeleteEventFields {
179
- soundID: snowflake;
180
- guildID: snowflake;
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
+ }
226
+ /** https://discord.com/developers/docs/events/gateway-events#guild-soundboard-sound-delete-guild-soundboard-sound-delete-event-fields */
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
- /** https://discord.com/developers/docs/topics/gateway-events#integration-create-integration-create-event-additional-fields */
183
- export interface RawIntegrationCreateEventExtraFields {
241
+ /** https://discord.com/developers/docs/events/gateway-events#integration-create-integration-create-event-additional-fields */
242
+ export interface RawIntegrationCreateEventExtra {
184
243
  guild_id: snowflake;
185
244
  }
186
- /** https://discord.com/developers/docs/topics/gateway-events#integration-update-integration-update-event-additional-fields */
187
- export interface RawIntegrationUpdateEventExtraFields {
245
+ /** https://discord.com/developers/docs/events/gateway-events#integration-update-integration-update-event-additional-fields */
246
+ export interface RawIntegrationUpdateEventExtra {
188
247
  guild_id: snowflake;
189
248
  }
190
- /** https://discord.com/developers/docs/topics/gateway-events#integration-delete-integration-delete-event-fields */
191
- export interface RawIntegrationDeleteEventFields {
249
+ /** https://discord.com/developers/docs/events/gateway-events#integration-delete-integration-delete-event-fields */
250
+ export interface RawIntegrationDeleteEvent {
192
251
  id: snowflake;
193
252
  guild_id: snowflake;
194
253
  application_id?: snowflake;
195
254
  }
196
- /** https://discord.com/developers/docs/topics/gateway-events#invite-create-invite-create-event-fields */
197
- export interface RawInviteCreateEventFields {
255
+ /** https://discord.com/developers/docs/events/gateway-events#invite-create-invite-create-event-fields */
256
+ export interface RawInviteCreateEvent {
198
257
  channel_id: snowflake;
199
258
  code: string;
200
259
  created_at: timestamp;
@@ -209,32 +268,32 @@ export interface RawInviteCreateEventFields {
209
268
  uses: number;
210
269
  expires_at: timestamp | null;
211
270
  }
212
- /** https://discord.com/developers/docs/topics/gateway-events#invite-delete-invite-delete-event-fields */
213
- export interface RawInviteDeleteEventFields {
271
+ /** https://discord.com/developers/docs/events/gateway-events#invite-delete-invite-delete-event-fields */
272
+ export interface RawInviteDeleteEvent {
214
273
  channel_id: snowflake;
215
274
  guild_id?: snowflake;
216
275
  code: string;
217
276
  }
218
- /** https://discord.com/developers/docs/topics/gateway-events#message-create-message-create-extra-fields */
219
- export interface RawMessageCreateEventExtraFields {
277
+ /** https://discord.com/developers/docs/events/gateway-events#message-create-message-create-extra-fields */
278
+ export interface RawMessageCreateEventExtra {
220
279
  guild_id?: snowflake;
221
280
  member?: RawGuildMember;
222
281
  mentions: Array<RawUser>;
223
282
  }
224
- /** https://discord.com/developers/docs/topics/gateway-events#message-delete-message-delete-event-fields */
225
- export interface RawMessageDeleteEventFields {
283
+ /** https://discord.com/developers/docs/events/gateway-events#message-delete-message-delete-event-fields */
284
+ export interface RawMessageDeleteEvent {
226
285
  id: snowflake;
227
286
  channel_id: snowflake;
228
287
  guild_id?: snowflake;
229
288
  }
230
- /** https://discord.com/developers/docs/topics/gateway-events#message-delete-bulk-message-delete-bulk-event-fields */
231
- export interface RawMessageDeleteBulkEventFields {
289
+ /** https://discord.com/developers/docs/events/gateway-events#message-delete-bulk-message-delete-bulk-event-fields */
290
+ export interface RawMessageDeleteBulkEvent {
232
291
  ids: Array<snowflake>;
233
292
  channel_id: snowflake;
234
293
  guild_id?: snowflake;
235
294
  }
236
- /** https://discord.com/developers/docs/topics/gateway-events#message-reaction-add-message-reaction-add-event-fields */
237
- export interface RawMessageReactionAddEventFields {
295
+ /** https://discord.com/developers/docs/events/gateway-events#message-reaction-add-message-reaction-add-event-fields */
296
+ export interface RawMessageReactionAddEvent {
238
297
  user_id: snowflake;
239
298
  channel_id: snowflake;
240
299
  message_id: snowflake;
@@ -246,8 +305,8 @@ export interface RawMessageReactionAddEventFields {
246
305
  burst_colors?: Array<string>;
247
306
  type: ReactionTypes;
248
307
  }
249
- /** https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-message-reaction-remove-event-fields */
250
- export interface RawMessageReactionRemoveEventFields {
308
+ /** https://discord.com/developers/docs/events/gateway-events#message-reaction-remove-message-reaction-remove-event-fields */
309
+ export interface RawMessageReactionRemoveEvent {
251
310
  user_id: snowflake;
252
311
  channel_id: snowflake;
253
312
  message_id: snowflake;
@@ -256,34 +315,34 @@ export interface RawMessageReactionRemoveEventFields {
256
315
  burst: boolean;
257
316
  type: ReactionTypes;
258
317
  }
259
- /** https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-all-message-reaction-remove-all-event-fields */
260
- export interface RawMessageReactionRemoveAllEventFields {
318
+ /** https://discord.com/developers/docs/events/gateway-events#message-reaction-remove-all-message-reaction-remove-all-event-fields */
319
+ export interface RawMessageReactionRemoveAllEvent {
261
320
  channel_id: snowflake;
262
321
  message_id: snowflake;
263
322
  guild_id?: snowflake;
264
323
  }
265
- /** https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-emoji-message-reaction-remove-emoji-event-fields */
266
- export interface RawMessageReactionRemoveEmojiEventFields {
324
+ /** https://discord.com/developers/docs/events/gateway-events#message-reaction-remove-emoji-message-reaction-remove-emoji-event-fields */
325
+ export interface RawMessageReactionRemoveEmojiEvent {
267
326
  channel_id: snowflake;
268
327
  guild_id?: snowflake;
269
328
  message_id: snowflake;
270
329
  emoji: RawEmoji;
271
330
  }
272
- /** https://discord.com/developers/docs/topics/gateway-events#presence-update-presence-update-event-fields */
273
- export interface RawPresenceUpdateEventFields {
331
+ /** https://discord.com/developers/docs/events/gateway-events#presence-update-presence-update-event-fields */
332
+ export interface RawPresenceUpdateEvent {
274
333
  user: Pick<RawUser, "id"> & Partial<RawUser>;
275
334
  guild_id: snowflake;
276
335
  status: StatusTypes;
277
336
  activities: Array<RawActivity>;
278
337
  client_status: RawClientStatus;
279
338
  }
280
- /** https://discord.com/developers/docs/topics/gateway-events#client-status-object */
339
+ /** https://discord.com/developers/docs/events/gateway-events#client-status-object */
281
340
  export interface RawClientStatus {
282
341
  desktop?: string;
283
342
  mobile?: string;
284
343
  web?: string;
285
344
  }
286
- /** https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-structure */
345
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-structure */
287
346
  export interface RawActivity {
288
347
  name: string;
289
348
  type: ActivityType;
@@ -301,50 +360,50 @@ export interface RawActivity {
301
360
  flags?: ActivityFlags;
302
361
  buttons?: Array<RawActivityButton>;
303
362
  }
304
- /** https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-timestamps */
363
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-timestamps */
305
364
  export interface RawActivityTimestamps {
306
365
  start?: number;
307
366
  end?: number;
308
367
  }
309
- /** https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-emoji */
368
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-emoji */
310
369
  export interface RawActivityEmoji {
311
370
  name: string;
312
371
  id?: snowflake;
313
372
  animated?: boolean;
314
373
  }
315
- /** https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-party */
374
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-party */
316
375
  export interface RawActivityParty {
317
376
  id?: string;
318
377
  size?: Array<number>;
319
378
  }
320
- /** https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-assets */
379
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-assets */
321
380
  export interface RawActivityAssets {
322
381
  large_image?: string;
323
382
  large_text?: string;
324
383
  small_image?: string;
325
384
  small_text?: string;
326
385
  }
327
- /** https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-secrets */
386
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-secrets */
328
387
  export interface RawActivitySecrets {
329
388
  join?: string;
330
389
  spectate?: string;
331
390
  match?: string;
332
391
  }
333
- /** https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-buttons */
392
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-buttons */
334
393
  export interface RawActivityButton {
335
394
  label: string;
336
395
  url: string;
337
396
  }
338
- /** https://discord.com/developers/docs/topics/gateway-events#typing-start-typing-start-event-fields */
339
- export interface RawTypingStartEventFields {
397
+ /** https://discord.com/developers/docs/events/gateway-events#typing-start-typing-start-event-fields */
398
+ export interface RawTypingStartEvent {
340
399
  channel_id: snowflake;
341
400
  guild_id?: snowflake;
342
401
  user_id: snowflake;
343
402
  timestamp: timestamp;
344
403
  member?: RawGuildMember;
345
404
  }
346
- /** https://discord.com/developers/docs/topics/gateway-events#voice-channel-effetc-send-event-fields */
347
- export interface RawVoiceChannelEffectSendEventFields {
405
+ /** https://discord.com/developers/docs/events/gateway-events#voice-channel-effetc-send-event-fields */
406
+ export interface RawVoiceChannelEffectSendEvent {
348
407
  channel_id: snowflake;
349
408
  guild_id: snowflake;
350
409
  user_id: snowflake;
@@ -354,22 +413,27 @@ export interface RawVoiceChannelEffectSendEventFields {
354
413
  sound_id?: snowflake | number;
355
414
  sound_volume?: number;
356
415
  }
357
- /** https://discord.com/developers/docs/topics/gateway-events#voice-server-update-voice-server-update-event-fields */
358
- export interface RawVoiceServerUpdateEventFields {
416
+ /** https://discord.com/developers/docs/events/gateway-events#voice-server-update-voice-server-update-event-fields */
417
+ export interface RawVoiceServerUpdateEvent {
359
418
  token: string;
360
419
  guild_id: snowflake;
361
420
  endpoint: string | null;
362
421
  }
363
- /** https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-add-message-poll-vote-add-fields */
364
- export interface RawMessagePollVoteAddFields {
422
+ /** https://discord.com/developers/docs/events/gateway-events#webhooks-update-webhooks-update-event-fields */
423
+ export interface RawWebhooksUpdateEvent {
424
+ guild_id: snowflake;
425
+ channel_id: snowflake;
426
+ }
427
+ /** https://discord.com/developers/docs/events/gateway-events#message-poll-vote-add-message-poll-vote-add-fields */
428
+ export interface RawMessagePollVoteAddEvent {
365
429
  user_id: snowflake;
366
430
  channel_id: snowflake;
367
431
  message_id: snowflake;
368
432
  guild_id?: snowflake;
369
433
  answer_id: number;
370
434
  }
371
- /** https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-remove */
372
- export interface RawMessagePollVoteRemoveFields {
435
+ /** https://discord.com/developers/docs/events/gateway-events#message-poll-vote-remove */
436
+ export interface RawMessagePollVoteRemoveEvent {
373
437
  user_id: snowflake;
374
438
  channel_id: snowflake;
375
439
  message_id: snowflake;
@@ -377,7 +441,7 @@ export interface RawMessagePollVoteRemoveFields {
377
441
  answer_id: number;
378
442
  }
379
443
  /** https://discord.com/developers/docs/events/gateway-events#rate-limited-rate-limited-fields */
380
- export interface RawRateLimitedFields {
444
+ export interface RawRateLimitedEvent {
381
445
  opcode: GatewayOPCodes;
382
446
  retry_after: number;
383
447
  meta: RawRequestGuildMembersRateLimitMetadata;
@@ -387,12 +451,14 @@ export interface RawRequestGuildMembersRateLimitMetadata {
387
451
  guild_id: snowflake;
388
452
  nonce?: string;
389
453
  }
454
+ /** https://discord.com/developers/docs/events/gateway-events#payload-structure */
390
455
  export interface Payload {
391
456
  op: GatewayOPCodes;
392
457
  d: any | null;
393
458
  s: number | null;
394
459
  t: GatewayEvents | null;
395
460
  }
461
+ /** https://discord.com/developers/docs/events/gateway-events#identify-identify-structure */
396
462
  export interface Identify {
397
463
  token: string;
398
464
  properties: IdentifyConnectionProperties;
@@ -402,74 +468,96 @@ export interface Identify {
402
468
  presence?: Partial<Pick<GatewayPresenceUpdate, "since" | "activities" | "status" | "afk">>;
403
469
  intents: GatewayIntents;
404
470
  }
471
+ /** https://discord.com/developers/docs/events/gateway-events#identify-identify-connection-properties */
405
472
  export interface IdentifyConnectionProperties {
406
473
  os: string;
407
474
  browser: string;
408
475
  device: string;
409
476
  }
477
+ /** https://discord.com/developers/docs/events/gateway-events#resume-resume-structure */
410
478
  export interface Resume {
411
479
  token: string;
412
- sessionID: string;
480
+ sessionId: string;
413
481
  seq: number;
414
482
  }
483
+ /** https://discord.com/developers/docs/events/gateway-events#request-guild-members-request-guild-members-structure */
415
484
  export interface RequestGuildMembers {
416
- guildID: snowflake;
485
+ guildId: snowflake;
417
486
  query?: string;
418
487
  limit?: number;
419
488
  presences?: boolean;
420
- userIDs?: snowflake | Array<snowflake>;
489
+ userIds?: snowflake | Array<snowflake>;
421
490
  nonce?: string;
422
491
  }
492
+ /** https://discord.com/developers/docs/events/gateway-events#request-soundboard-sounds-request-soundboard-sounds-structure */
423
493
  export interface RequestSoundboardSounds {
424
- guildIDs: Array<snowflake>;
494
+ guildIds: Array<snowflake>;
425
495
  }
496
+ /** https://discord.com/developers/docs/events/gateway-events#update-presence-gateway-presence-update-structure */
426
497
  export interface GatewayPresenceUpdate {
427
498
  since: number | null;
428
499
  activities: Array<Partial<Pick<Activity, "name" | "type" | "url" | "state">>>;
429
500
  status: StatusTypes;
430
501
  afk: boolean;
431
502
  }
503
+ /** https://discord.com/developers/docs/events/gateway-events#update-voice-state-gateway-voice-state-update-structure */
432
504
  export interface GatewayVoiceStateUpdate {
433
- guildID: snowflake;
434
- channelID: snowflake | null;
505
+ guildId: snowflake;
506
+ channelId: snowflake | null;
435
507
  selfMute: boolean;
436
508
  selfDeaf: boolean;
437
509
  }
438
- export interface AutoModerationActionExecutionEventFields {
439
- guildID: snowflake;
510
+ /** https://discord.com/developers/docs/events/gateway-events#ready-ready-event-fields */
511
+ export interface ReadyEvent {
512
+ v: number;
513
+ user: User;
514
+ guilds: Array<UnavailableGuild>;
515
+ sessionId: string;
516
+ resumeGatewayURL: string;
517
+ shard?: [number, number];
518
+ application: Pick<Application, "id" | "flags">;
519
+ }
520
+ /** https://discord.com/developers/docs/events/gateway-events#auto-moderation-action-execution-auto-moderation-action-execution-event-fields */
521
+ export interface AutoModerationActionExecutionEvent {
522
+ guildId: snowflake;
440
523
  action: AutoModerationAction;
441
- ruleID: snowflake;
524
+ ruleId: snowflake;
442
525
  ruleTriggerType: TriggerTypes;
443
- userID: snowflake;
444
- channelID?: snowflake;
445
- messageID?: snowflake;
446
- alertSystemMessageID?: snowflake;
526
+ userId: snowflake;
527
+ channelId?: snowflake;
528
+ messageId?: snowflake;
529
+ alertSystemMessageId?: snowflake;
447
530
  content: string;
448
531
  matchedKeyword: string | null;
449
532
  matchedContent: string | null;
450
533
  }
451
- export interface ThreadListSyncEventFields {
452
- guildID: snowflake;
453
- channelIDs?: Array<snowflake>;
534
+ /** https://discord.com/developers/docs/events/gateway-events#thread-list-sync-thread-list-sync-event-fields */
535
+ export interface ThreadListSyncEvent {
536
+ guildId: snowflake;
537
+ channelIds?: Array<snowflake>;
454
538
  threads: Array<Channel>;
455
539
  members: Array<ThreadMember>;
456
540
  }
457
- export interface ThreadMemberUpdateEventExtraFields {
458
- guildID: snowflake;
541
+ /** https://discord.com/developers/docs/events/gateway-events#thread-member-update-thread-member-update-event-extra-fields */
542
+ export interface ThreadMemberUpdateEventExtra {
543
+ guildId: snowflake;
459
544
  }
460
- export interface ThreadMembersUpdateEventFields {
545
+ /** https://discord.com/developers/docs/events/gateway-events#thread-members-update-thread-members-update-event-fields */
546
+ export interface ThreadMembersUpdateEvent {
461
547
  id: snowflake;
462
- guildID: snowflake;
548
+ guildId: snowflake;
463
549
  memberCount: number;
464
550
  addedMembers?: Array<ThreadMember>;
465
- removedMemberIDs?: Array<snowflake>;
551
+ removedMemberIds?: Array<snowflake>;
466
552
  }
467
- export interface ChannelPinsUpdateEventFields {
468
- guildID?: snowflake;
469
- channelID: snowflake;
553
+ /** https://discord.com/developers/docs/events/gateway-events#channel-pins-update-channel-pins-update-event-fields */
554
+ export interface ChannelPinsUpdateEvent {
555
+ guildId?: snowflake;
556
+ channelId: snowflake;
470
557
  lastPinTimestamp?: timestamp | null;
471
558
  }
472
- export interface GuildCreateEventExtraFields {
559
+ /** https://discord.com/developers/docs/events/gateway-events#guild-create-guild-create-extra-fields */
560
+ export interface GuildCreateEventExtra {
473
561
  joinedAt?: timestamp;
474
562
  large?: boolean;
475
563
  unavailable?: boolean;
@@ -478,34 +566,51 @@ export interface GuildCreateEventExtraFields {
478
566
  members?: Array<GuildMember>;
479
567
  channels?: Array<Channel>;
480
568
  threads?: Array<Channel>;
481
- presences?: Array<PresenceUpdateEventFields>;
569
+ presences?: Array<PresenceUpdateEvent>;
482
570
  stageInstances?: Array<StageInstance>;
483
571
  guildScheduledEvents?: Array<GuildScheduledEvent>;
484
572
  soundboardSounds?: Array<SoundboardSound>;
485
573
  }
486
- export interface GuildAuditLogEntryCreateExtraFields {
487
- guildID: snowflake;
574
+ /** https://discord.com/developers/docs/events/gateway-events#guild-audit-log-entry-create-guild-audit-log-entry-create-extra-fields */
575
+ export interface GuildAuditLogEntryCreateExtra {
576
+ guildId: snowflake;
488
577
  }
489
- export interface GuildBanAddEventFields {
490
- guildID: snowflake;
578
+ /** https://discord.com/developers/docs/events/gateway-events#guild-ban-add-guild-ban-add-event-fields */
579
+ export interface GuildBanAddEvent {
580
+ guildId: snowflake;
491
581
  user: User;
492
582
  }
493
- export interface GuildBanRemoveEventFields {
494
- guildID: snowflake;
583
+ /** https://discord.com/developers/docs/events/gateway-events#guild-ban-remove-guild-ban-remove-event-fields */
584
+ export interface GuildBanRemoveEvent {
585
+ guildId: snowflake;
495
586
  user: User;
496
587
  }
497
- export interface GuildIntegrationsUpdateEventFields {
498
- guildID: snowflake;
588
+ /** https://discord.com/developers/docs/events/gateway-events#guild-emojis-update */
589
+ export interface GuildEmojisUpdateEvent {
590
+ guildId: snowflake;
591
+ emojis: Array<Emoji>;
592
+ }
593
+ /** https://discord.com/developers/docs/events/gateway-events#guild-stickers-update */
594
+ export interface GuildStickersUpdateEvent {
595
+ guildId: snowflake;
596
+ stickers: Array<Sticker>;
597
+ }
598
+ /** https://discord.com/developers/docs/events/gateway-events#guild-integrations-update-guild-integrations-update-event-fields */
599
+ export interface GuildIntegrationsUpdateEvent {
600
+ guildId: snowflake;
499
601
  }
500
- export interface GuildMemberAddEventExtraFields {
501
- guildID: snowflake;
602
+ /** https://discord.com/developers/docs/events/gateway-events#guild-member-add-guild-member-add-extra-fields */
603
+ export interface GuildMemberAddEventExtra {
604
+ guildId: snowflake;
502
605
  }
503
- export interface GuildMemberRemoveEventFields {
504
- guildID: snowflake;
606
+ /** https://discord.com/developers/docs/events/gateway-events#guild-member-remove-guild-member-remove-event-fields */
607
+ export interface GuildMemberRemoveEvent {
608
+ guildId: snowflake;
505
609
  user: User;
506
610
  }
507
- export interface GuildMemberUpdateEventFields {
508
- guildID: snowflake;
611
+ /** https://discord.com/developers/docs/events/gateway-events#guild-member-update-guild-member-update-event-fields */
612
+ export interface GuildMemberUpdateEvent {
613
+ guildId: snowflake;
509
614
  roles: Array<snowflake>;
510
615
  user: User;
511
616
  nick?: string | null;
@@ -520,35 +625,78 @@ export interface GuildMemberUpdateEventFields {
520
625
  flags?: GuildMemberFlags;
521
626
  avatarDecorationData?: AvatarDecorationData | null;
522
627
  }
523
- export interface GuildMembersChunkEventFields {
524
- guildID: snowflake;
628
+ /** https://discord.com/developers/docs/events/gateway-events#guild-members-chunk-guild-members-chunk-event-fields */
629
+ export interface GuildMembersChunkEvent {
630
+ guildId: snowflake;
525
631
  members: Array<GuildMember>;
526
632
  chunkIndex: number;
527
633
  chunkCount: number;
528
634
  notFound?: Array<string>;
529
- presences?: Array<PresenceUpdateEventFields>;
635
+ presences?: Array<PresenceUpdateEvent>;
530
636
  nonce?: string;
531
637
  }
532
- export interface GuildSoundboardSoundDeleteEventFields {
533
- soundID: snowflake;
534
- guildID: snowflake;
535
- }
536
- export interface IntegrationCreateEventExtraFields {
537
- guildID: snowflake;
538
- }
539
- export interface IntegrationUpdateEventExtraFields {
540
- guildID: snowflake;
541
- }
542
- export interface IntegrationDeleteEventFields {
638
+ /** https://discord.com/developers/docs/events/gateway-events#guild-role-create-guild-role-create-event-fields */
639
+ export interface GuildRoleCreateEvent {
640
+ guildId: snowflake;
641
+ role: Role;
642
+ }
643
+ /** https://discord.com/developers/docs/events/gateway-events#guild-role-update-guild-role-update-event-fields */
644
+ export interface GuildRoleUpdateEvent {
645
+ guildId: snowflake;
646
+ role: Role;
647
+ }
648
+ /** https://discord.com/developers/docs/events/gateway-events#guild-role-delete-guild-role-delete-event-fields */
649
+ export interface GuildRoleDeleteEvent {
650
+ guildId: snowflake;
651
+ roleId: snowflake;
652
+ }
653
+ /** https://discord.com/developers/docs/events/gateway-events#guild-scheduled-event-user-add-guild-scheduled-event-user-add-event-fields */
654
+ export interface GuildScheduledEventUserAddEvent {
655
+ guildScheduledEventId: snowflake;
656
+ userId: snowflake;
657
+ guildId: snowflake;
658
+ }
659
+ /** https://discord.com/developers/docs/events/gateway-events#guild-scheduled-event-user-remove-guild-scheduled-event-user-remove-event-fields */
660
+ export interface GuildScheduledEventUserRemoveEvent {
661
+ guildScheduledEventId: snowflake;
662
+ userId: snowflake;
663
+ guildId: snowflake;
664
+ }
665
+ /** https://discord.com/developers/docs/events/gateway-events#guild-soundboard-sound-delete-guild-soundboard-sound-delete-event-fields */
666
+ export interface GuildSoundboardSoundDeleteEvent {
667
+ soundId: snowflake;
668
+ guildId: snowflake;
669
+ }
670
+ /** https://discord.com/developers/docs/events/gateway-events#guild-soundboard-sounds-update-guild-soundboard-sounds-update-event-fields */
671
+ export interface GuildSoundboardSoundsUpdateEvent {
672
+ soundboardSounds: Array<SoundboardSound>;
673
+ guildId: snowflake;
674
+ }
675
+ /** https://discord.com/developers/docs/events/gateway-events#soundboard-sounds-soundboard-sounds-event-fields */
676
+ export interface GuildSoundboardSoundsEvent {
677
+ soundboardSounds: Array<SoundboardSound>;
678
+ guildId: snowflake;
679
+ }
680
+ /** https://discord.com/developers/docs/events/gateway-events#integration-create-integration-create-event-additional-fields */
681
+ export interface IntegrationCreateEventExtra {
682
+ guildId: snowflake;
683
+ }
684
+ /** https://discord.com/developers/docs/events/gateway-events#integration-update-integration-update-event-additional-fields */
685
+ export interface IntegrationUpdateEventExtra {
686
+ guildId: snowflake;
687
+ }
688
+ /** https://discord.com/developers/docs/events/gateway-events#integration-delete-integration-delete-event-fields */
689
+ export interface IntegrationDeleteEvent {
543
690
  id: snowflake;
544
- guildID: snowflake;
545
- applicationID?: snowflake;
691
+ guildId: snowflake;
692
+ applicationId?: snowflake;
546
693
  }
547
- export interface InviteCreateEventFields {
548
- channelID: snowflake;
694
+ /** https://discord.com/developers/docs/events/gateway-events#invite-create-invite-create-event-fields */
695
+ export interface InviteCreateEvent {
696
+ channelId: snowflake;
549
697
  code: string;
550
698
  createdAt: timestamp;
551
- guildID?: snowflake;
699
+ guildId?: snowflake;
552
700
  inviter?: User;
553
701
  maxAge: number;
554
702
  maxUses: number;
@@ -559,77 +707,88 @@ export interface InviteCreateEventFields {
559
707
  uses: number;
560
708
  expiresAt: timestamp | null;
561
709
  }
562
- export interface InviteDeleteEventFields {
563
- channelID: snowflake;
564
- guildID?: snowflake;
710
+ /** https://discord.com/developers/docs/events/gateway-events#invite-delete-invite-delete-event-fields */
711
+ export interface InviteDeleteEvent {
712
+ channelId: snowflake;
713
+ guildId?: snowflake;
565
714
  code: string;
566
715
  }
567
- export interface MessageCreateEventExtraFields {
568
- guildID?: snowflake;
716
+ /** https://discord.com/developers/docs/events/gateway-events#message-create-message-create-extra-fields */
717
+ export interface MessageCreateEventExtra {
718
+ guildId?: snowflake;
569
719
  member?: GuildMember;
570
720
  mentions: Array<User>;
571
721
  }
572
- export interface MessageDeleteEventFields {
722
+ /** https://discord.com/developers/docs/events/gateway-events#message-delete-message-delete-event-fields */
723
+ export interface MessageDeleteEvent {
573
724
  id: snowflake;
574
- channelID: snowflake;
575
- guildID?: snowflake;
725
+ channelId: snowflake;
726
+ guildId?: snowflake;
576
727
  }
577
- export interface MessageDeleteBulkEventFields {
728
+ /** https://discord.com/developers/docs/events/gateway-events#message-delete-bulk-message-delete-bulk-event-fields */
729
+ export interface MessageDeleteBulkEvent {
578
730
  ids: Array<snowflake>;
579
- channelID: snowflake;
580
- guildID?: snowflake;
581
- }
582
- export interface MessageReactionAddEventFields {
583
- userID: snowflake;
584
- channelID: snowflake;
585
- messageID: snowflake;
586
- guildID?: snowflake;
731
+ channelId: snowflake;
732
+ guildId?: snowflake;
733
+ }
734
+ /** https://discord.com/developers/docs/events/gateway-events#message-reaction-add-message-reaction-add-event-fields */
735
+ export interface MessageReactionAddEvent {
736
+ userId: snowflake;
737
+ channelId: snowflake;
738
+ messageId: snowflake;
739
+ guildId?: snowflake;
587
740
  member?: GuildMember;
588
741
  emoji: Emoji;
589
- messageAuthorID?: snowflake;
742
+ messageAuthorId?: snowflake;
590
743
  burst: boolean;
591
744
  burstColors?: Array<string>;
592
745
  type: ReactionTypes;
593
746
  }
594
- export interface MessageReactionRemoveEventFields {
595
- userID: snowflake;
596
- channelID: snowflake;
597
- messageID: snowflake;
598
- guildID?: snowflake;
747
+ /** https://discord.com/developers/docs/events/gateway-events#message-reaction-remove-message-reaction-remove-event-fields */
748
+ export interface MessageReactionRemoveEvent {
749
+ userId: snowflake;
750
+ channelId: snowflake;
751
+ messageId: snowflake;
752
+ guildId?: snowflake;
599
753
  emoji: Emoji;
600
754
  burst: boolean;
601
755
  type: ReactionTypes;
602
756
  }
603
- export interface MessageReactionRemoveAllEventFields {
604
- channelID: snowflake;
605
- messageID: snowflake;
606
- guildID?: snowflake;
607
- }
608
- export interface MessageReactionRemoveEmojiEventFields {
609
- channelID: snowflake;
610
- guildID?: snowflake;
611
- messageID: snowflake;
757
+ /** https://discord.com/developers/docs/events/gateway-events#message-reaction-remove-all-message-reaction-remove-all-event-fields */
758
+ export interface MessageReactionRemoveAllEvent {
759
+ channelId: snowflake;
760
+ messageId: snowflake;
761
+ guildId?: snowflake;
762
+ }
763
+ /** https://discord.com/developers/docs/events/gateway-events#message-reaction-remove-emoji-message-reaction-remove-emoji-event-fields */
764
+ export interface MessageReactionRemoveEmojiEvent {
765
+ channelId: snowflake;
766
+ guildId?: snowflake;
767
+ messageId: snowflake;
612
768
  emoji: Emoji;
613
769
  }
614
- export interface PresenceUpdateEventFields {
770
+ /** https://discord.com/developers/docs/events/gateway-events#presence-update-presence-update-event-fields */
771
+ export interface PresenceUpdateEvent {
615
772
  user: Pick<User, "id"> & Partial<User>;
616
- guildID: snowflake;
773
+ guildId: snowflake;
617
774
  status: StatusTypes;
618
775
  activities: Array<Activity>;
619
776
  clientStatus: ClientStatus;
620
777
  }
778
+ /** https://discord.com/developers/docs/events/gateway-events#client-status-object */
621
779
  export interface ClientStatus {
622
780
  desktop?: string;
623
781
  mobile?: string;
624
782
  web?: string;
625
783
  }
784
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-structure */
626
785
  export interface Activity {
627
786
  name: string;
628
787
  type: ActivityType;
629
788
  url?: string | null;
630
789
  createdAt: number;
631
790
  timestamps?: ActivityTimestamps;
632
- applicationID?: snowflake;
791
+ applicationId?: snowflake;
633
792
  details?: string | null;
634
793
  state?: string | null;
635
794
  emoji?: ActivityEmoji | null;
@@ -640,76 +799,94 @@ export interface Activity {
640
799
  flags?: ActivityFlags;
641
800
  buttons?: Array<ActivityButton>;
642
801
  }
802
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-timestamps */
643
803
  export interface ActivityTimestamps {
644
804
  start?: number;
645
805
  end?: number;
646
806
  }
807
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-emoji */
647
808
  export interface ActivityEmoji {
648
809
  name: string;
649
810
  id?: snowflake;
650
811
  animated?: boolean;
651
812
  }
813
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-party */
652
814
  export interface ActivityParty {
653
815
  id?: string;
654
816
  size?: Array<number>;
655
817
  }
818
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-assets */
656
819
  export interface ActivityAssets {
657
820
  largeImage?: string;
658
821
  largeText?: string;
659
822
  smallImage?: string;
660
823
  smallText?: string;
661
824
  }
825
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-secrets */
662
826
  export interface ActivitySecrets {
663
827
  join?: string;
664
828
  spectate?: string;
665
829
  match?: string;
666
830
  }
831
+ /** https://discord.com/developers/docs/events/gateway-events#activity-object-activity-buttons */
667
832
  export interface ActivityButton {
668
833
  label: string;
669
834
  url: string;
670
835
  }
671
- export interface TypingStartEventFields {
672
- channelID: snowflake;
673
- guildID?: snowflake;
674
- userID: snowflake;
836
+ /** https://discord.com/developers/docs/events/gateway-events#typing-start-typing-start-event-fields */
837
+ export interface TypingStartEvent {
838
+ channelId: snowflake;
839
+ guildId?: snowflake;
840
+ userId: snowflake;
675
841
  timestamp: timestamp;
676
842
  member?: GuildMember;
677
843
  }
678
- export interface VoiceChannelEffectSendEventFields {
679
- channelID: snowflake;
680
- guildID: snowflake;
681
- userID: snowflake;
844
+ /** https://discord.com/developers/docs/events/gateway-events#voice-channel-effetc-send-event-fields */
845
+ export interface VoiceChannelEffectSendEvent {
846
+ channelId: snowflake;
847
+ guildId: snowflake;
848
+ userId: snowflake;
682
849
  emoji?: Emoji | null;
683
850
  animationType?: AnimationTypes | null;
684
- animationID?: number;
685
- soundID?: snowflake | number;
851
+ animationId?: number;
852
+ soundId?: snowflake | number;
686
853
  soundVolume?: number;
687
854
  }
688
- export interface VoiceServerUpdateEventFields {
855
+ /** https://discord.com/developers/docs/events/gateway-events#voice-server-update-voice-server-update-event-fields */
856
+ export interface VoiceServerUpdateEvent {
689
857
  token: string;
690
- guildID: snowflake;
858
+ guildId: snowflake;
691
859
  endpoint: string | null;
692
860
  }
693
- export interface MessagePollVoteAddFields {
694
- userID: snowflake;
695
- channelID: snowflake;
696
- messageID: snowflake;
697
- guildID?: snowflake;
698
- answerID: number;
699
- }
700
- export interface MessagePollVoteRemoveFields {
701
- userID: snowflake;
702
- channelID: snowflake;
703
- messageID: snowflake;
704
- guildID?: snowflake;
705
- answerID: number;
706
- }
707
- export interface RateLimitedFields {
861
+ /** https://discord.com/developers/docs/events/gateway-events#webhooks-update-webhooks-update-event-fields */
862
+ export interface WebhooksUpdateEvent {
863
+ guildId: snowflake;
864
+ channelId: snowflake;
865
+ }
866
+ /** https://discord.com/developers/docs/events/gateway-events#message-poll-vote-add-message-poll-vote-add-fields */
867
+ export interface MessagePollVoteAddEvent {
868
+ userId: snowflake;
869
+ channelId: snowflake;
870
+ messageId: snowflake;
871
+ guildId?: snowflake;
872
+ answerId: number;
873
+ }
874
+ /** https://discord.com/developers/docs/events/gateway-events#message-poll-vote-remove */
875
+ export interface MessagePollVoteRemoveEvent {
876
+ userId: snowflake;
877
+ channelId: snowflake;
878
+ messageId: snowflake;
879
+ guildId?: snowflake;
880
+ answerId: number;
881
+ }
882
+ /** https://discord.com/developers/docs/events/gateway-events#rate-limited-rate-limited-fields */
883
+ export interface RateLimitedEvent {
708
884
  opcode: GatewayOPCodes;
709
885
  retryAfter: number;
710
886
  meta: RequestGuildMembersRateLimitMetadata;
711
887
  }
888
+ /** https://discord.com/developers/docs/events/gateway-events#rate-limited-rate-limit-metadata-for-opcode-structure */
712
889
  export interface RequestGuildMembersRateLimitMetadata {
713
- guildID: snowflake;
890
+ guildId: snowflake;
714
891
  nonce?: string;
715
892
  }