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