@discordeno/rest 22.0.1-next.8a2eb95 → 22.0.1-next.8a66a76

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.
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AddDmRecipientOptions, AddGuildMemberOptions, AddLobbyMember, AtLeastOne, BeginGuildPrune, BigString, Camelize, CreateApplicationCommand, CreateApplicationEmoji, CreateAutoModerationRuleOptions, CreateChannelInvite, CreateForumPostWithMessage, CreateGlobalApplicationCommandOptions, CreateGroupDmOptions, CreateGuildApplicationCommandOptions, CreateGuildBan, CreateGuildBulkBan, CreateGuildChannel, CreateGuildEmoji, CreateGuildRole, CreateGuildSoundboardSound, CreateGuildStickerOptions, CreateLobby, CreateMessageOptions, CreateScheduledEvent, CreateStageInstance, CreateTemplate, CreateTestEntitlement, CreateWebhook, DeleteWebhookMessageOptions, DiscordAccessTokenResponse, DiscordActivityInstance, DiscordApplication, DiscordApplicationCommand, DiscordApplicationCommandPermissions, DiscordApplicationRoleConnection, DiscordApplicationRoleConnectionMetadata, DiscordAuditLog, DiscordAutoModerationRule, DiscordBan, DiscordBulkBan, DiscordChannel, DiscordConnection, DiscordCurrentAuthorization, DiscordEmoji, DiscordEntitlement, DiscordFollowedChannel, DiscordGetAnswerVotesResponse, DiscordGetChannelPins, DiscordGetGatewayBot, DiscordGuild, DiscordGuildApplicationCommandPermissions, DiscordGuildOnboarding, DiscordGuildPreview, DiscordGuildWidget, DiscordGuildWidgetSettings, DiscordIncidentsData, DiscordIntegration, DiscordInteractionCallbackResponse, DiscordInvite, DiscordInviteMetadata, DiscordListActiveThreads, DiscordListArchivedThreads, DiscordLobby, DiscordLobbyMember, DiscordMember, DiscordMemberWithUser, DiscordMessage, DiscordPrunedCount, DiscordRole, DiscordScheduledEvent, DiscordSku, DiscordSoundboardSound, DiscordStageInstance, DiscordSticker, DiscordStickerPack, DiscordSubscription, DiscordTemplate, DiscordThreadMember, DiscordTokenExchange, DiscordTokenRevocation, DiscordUser, DiscordVanityUrl, DiscordVoiceRegion, DiscordVoiceState, DiscordWebhook, DiscordWelcomeScreen, EditApplication, EditAutoModerationRuleOptions, EditBotMemberOptions, EditChannelPermissionOverridesOptions, EditGuildOnboarding, EditGuildRole, EditGuildStickerOptions, EditMessage, EditOwnVoiceState, EditScheduledEvent, EditUserVoiceState, EditWebhookMessageOptions, ExecuteWebhook, FileContent, GetApplicationCommandPermissionOptions, GetBans, GetChannelPinsOptions, GetEntitlements, GetGlobalApplicationCommandsOptions, GetGuildApplicationCommandsOptions, GetGuildAuditLog, GetGuildPruneCountQuery, GetInvite, GetMessagesOptions, GetPollAnswerVotes, GetReactions, GetScheduledEvents, GetScheduledEventUsers, GetThreadMember, GetUserGuilds, GetWebhookMessageOptions, InteractionCallbackData, InteractionCallbackOptions, InteractionResponse, LinkChannelToLobby, ListArchivedThreads, ListGuildMembers, ListSkuSubscriptionsOptions, ListThreadMembers, ModifyApplicationEmoji, ModifyChannel, ModifyGuild, ModifyGuildChannelPositions, ModifyGuildEmoji, ModifyGuildIncidentActions, ModifyGuildMember, ModifyGuildSoundboardSound, ModifyGuildTemplate, ModifyGuildWelcomeScreen, ModifyLobby, ModifyRolePositions, ModifyWebhook, SearchMembers, SendSoundboardSound, StartThreadWithMessage, StartThreadWithoutMessage, UpsertGlobalApplicationCommandOptions, UpsertGuildApplicationCommandOptions } from '@discordeno/types';
1
+ import type { AddDmRecipientOptions, AddGuildMemberOptions, AddLobbyMember, AtLeastOne, BeginGuildPrune, BigString, BulkUpdateLobbyMember, Camelize, CreateApplicationCommand, CreateApplicationEmoji, CreateAutoModerationRuleOptions, CreateChannelInvite, CreateForumPostWithMessage, CreateGlobalApplicationCommandOptions, CreateGroupDmOptions, CreateGuildApplicationCommandOptions, CreateGuildBan, CreateGuildBulkBan, CreateGuildChannel, CreateGuildEmoji, CreateGuildRole, CreateGuildSoundboardSound, CreateGuildStickerOptions, CreateLobby, CreateMessageOptions, CreateOrJoinLobby, CreateScheduledEvent, CreateStageInstance, CreateTemplate, CreateTestEntitlement, CreateWebhook, DeleteWebhookMessageOptions, DiscordAccessTokenResponse, DiscordActivityInstance, DiscordApplication, DiscordApplicationCommand, DiscordApplicationCommandPermissions, DiscordApplicationRoleConnection, DiscordApplicationRoleConnectionMetadata, DiscordAuditLog, DiscordAutoModerationRule, DiscordBan, DiscordBulkBan, DiscordChannel, DiscordConnection, DiscordCurrentAuthorization, DiscordEmoji, DiscordEntitlement, DiscordFollowedChannel, DiscordGetAnswerVotesResponse, DiscordGetChannelPins, DiscordGetGatewayBot, DiscordGuild, DiscordGuildApplicationCommandPermissions, DiscordGuildOnboarding, DiscordGuildPreview, DiscordGuildWidget, DiscordGuildWidgetSettings, DiscordIncidentsData, DiscordIntegration, DiscordInteractionCallbackResponse, DiscordInvite, DiscordInviteMetadata, DiscordListActiveThreads, DiscordListArchivedThreads, DiscordLobby, DiscordLobbyInvite, DiscordLobbyMember, DiscordLobbyMessage, DiscordMember, DiscordMemberWithUser, DiscordMessage, DiscordPrunedCount, DiscordRole, DiscordScheduledEvent, DiscordSearchGuildMessages, DiscordSearchGuildMessagesIndexing, DiscordSku, DiscordSoundboardSound, DiscordStageInstance, DiscordSticker, DiscordStickerPack, DiscordSubscription, DiscordTargetUsersJobStatus, DiscordTemplate, DiscordThreadMember, DiscordTokenExchange, DiscordTokenRevocation, DiscordUser, DiscordVanityUrl, DiscordVoiceRegion, DiscordVoiceState, DiscordWebhook, DiscordWelcomeScreen, EditApplication, EditAutoModerationRuleOptions, EditChannelPermissionOverridesOptions, EditGuildOnboarding, EditGuildRole, EditGuildStickerOptions, EditMessage, EditOwnVoiceState, EditScheduledEvent, EditUserVoiceState, EditWebhookMessageOptions, ExecuteWebhook, FileContent, GetApplicationCommandPermissionOptions, GetBans, GetChannelPinsOptions, GetEntitlements, GetGlobalApplicationCommandsOptions, GetGuildApplicationCommandsOptions, GetGuildAuditLog, GetGuildPruneCountQuery, GetInvite, GetLobbyMessages, GetMessagesOptions, GetPollAnswerVotes, GetReactions, GetScheduledEvents, GetScheduledEventUsers, GetThreadMember, GetUserGuilds, GetWebhookMessageOptions, InteractionCallbackData, InteractionCallbackOptions, InteractionResponse, LinkChannelToLobby, ListArchivedThreads, ListGuildMembers, ListSkuSubscriptionsOptions, ListThreadMembers, ModifyApplicationEmoji, ModifyChannel, ModifyCurrentMember, ModifyGuild, ModifyGuildChannelPositions, ModifyGuildEmoji, ModifyGuildIncidentActions, ModifyGuildMember, ModifyGuildSoundboardSound, ModifyGuildTemplate, ModifyGuildWelcomeScreen, ModifyLobby, ModifyRolePositions, ModifyWebhook, SearchGuildMessagesOptions, SearchMembers, SendLobbyMessage, SendSoundboardSound, StartThreadWithMessage, StartThreadWithoutMessage, UpsertGlobalApplicationCommandOptions, UpsertGuildApplicationCommandOptions } from '@discordeno/types';
2
2
  import type { logger } from '@discordeno/utils';
3
3
  import type { InvalidRequestBucket } from './invalidBucket.js';
4
4
  import type { Queue } from './queue.js';
@@ -15,7 +15,6 @@ export interface CreateRestManagerOptions {
15
15
  proxy?: {
16
16
  /**
17
17
  * The base url to connect to. If you create a proxy rest, that url would go here.
18
- * IT SHOULD NOT END WITH A /
19
18
  * @default https://discord.com/api
20
19
  */
21
20
  baseUrl: string;
@@ -40,6 +39,25 @@ export interface CreateRestManagerOptions {
40
39
  * This value is actually required if you want to use `updateTokenQueues`
41
40
  */
42
41
  updateBearerTokenEndpoint?: string;
42
+ /**
43
+ * Whether an attempt that failed without producing a response should be re-sent to the proxy.
44
+ *
45
+ * @remarks
46
+ * This covers both an attempt that hit {@link CreateRestManagerOptions.requestTimeout | requestTimeout} and one whose
47
+ * connection failed. Neither tells us whether the proxy got the request: the timeout only aborts our side of the
48
+ * connection while the proxy keeps processing (it may simply be queued behind a rate limit), and a socket that dies
49
+ * once the request is on the wire may still have delivered it. `fetch` gives no way to tell those apart from never
50
+ * having connected at all, so re-sending can execute non-idempotent requests twice (e.g. duplicate channel creates).
51
+ *
52
+ * Only enable this when re-sending a request to your proxy is safe, for example by attaching an idempotency
53
+ * key to each request that the proxy tracks in a store of your choosing (in memory, redis, ...) so a
54
+ * re-sent request is recognized and executed only once. Discordeno does not provide such a mechanism.
55
+ *
56
+ * Bounded by {@link RestManager.maxRetryCount} and {@link RestManager.maxProxyRetryCount}.
57
+ *
58
+ * @default false
59
+ */
60
+ retryRequests?: boolean;
43
61
  };
44
62
  /**
45
63
  * The api versions which can be used to make requests.
@@ -53,6 +71,28 @@ export interface CreateRestManagerOptions {
53
71
  logger?: Pick<typeof logger, 'debug' | 'info' | 'warn' | 'error' | 'fatal'>;
54
72
  /** Events for the rest manager */
55
73
  events?: Partial<RestManagerEvents>;
74
+ /**
75
+ * The maximum time in milliseconds a single request attempt may take before it is aborted.
76
+ *
77
+ * @remarks
78
+ * This is a total deadline for each attempt (it also covers reading the response body), not a per-chunk timeout.
79
+ * When talking to Discord directly, a timed-out attempt is retried through the queue up to
80
+ * {@link RestManager.maxRetryCount} times before failing. Without it, a connection that stalls after connecting
81
+ * could keep a queue from ever progressing.
82
+ *
83
+ * When a `proxy` is configured, a timed-out attempt is NOT retried: the proxy keeps processing the request after
84
+ * the timeout aborts our side of the connection (it may simply be queued behind a rate limit), so re-sending it
85
+ * could execute it twice. If re-sending against your proxy is safe, `proxy.retryRequests` opts back into it.
86
+ *
87
+ * Because it is a total deadline rather than a per-chunk one, a slow but healthy request (e.g. uploading a
88
+ * large attachment over a slow connection) can legitimately exceed it and be aborted/retried. Raise this value
89
+ * for upload-heavy bots if you see such requests timing out.
90
+ *
91
+ * Set to `0` to disable it and rely on the runtime's default fetch timeouts.
92
+ *
93
+ * @default 30000 // 30 seconds
94
+ */
95
+ requestTimeout?: number;
56
96
  }
57
97
  export interface RestManager {
58
98
  /** The bot token which will be used to make requests. */
@@ -79,8 +119,37 @@ export interface RestManager {
79
119
  authorizationHeader: string;
80
120
  /** The endpoint to use for `updateTokenQueues` when working with a rest proxy */
81
121
  updateBearerTokenEndpoint?: string;
122
+ /** Whether a proxied attempt that failed without producing a response is re-sent to the proxy. Only safe when re-sending against the proxy is. Defaults to false. */
123
+ retryProxiedRequests: boolean;
82
124
  /** The maximum amount of times a request should be retried. Defaults to Infinity */
83
125
  maxRetryCount: number;
126
+ /**
127
+ * The maximum amount of times a proxied request should be re-sent. Defaults to 15.
128
+ *
129
+ * @remarks
130
+ * This has its own limit because {@link RestManager.maxRetryCount} is Infinity by default, which would keep every request alive for as
131
+ * long as the proxy stays down.
132
+ *
133
+ * Each further attempt waits {@link RestManager.proxyRetryDelayStep} longer than the one before it, so the defaults span about 30 seconds
134
+ * in total, enough to sit out a proxy being restarted or redeployed.
135
+ *
136
+ * Whichever of the two is lower applies. Only used when {@link RestManager.retryProxiedRequests} is enabled.
137
+ */
138
+ maxProxyRetryCount: number;
139
+ /**
140
+ * How much longer to wait before each further re-send to a proxy, in milliseconds. Defaults to 250.
141
+ *
142
+ * @remarks
143
+ * The nth attempt waits n times this (250ms, then 500ms, then 750ms, ...), so a proxy that is down isn't hammered in a tight loop while
144
+ * still being checked often enough to notice it coming back.
145
+ *
146
+ * An attempt that timed out already sat out {@link RestManager.requestTimeout}, so it is re-sent right away without this delay.
147
+ *
148
+ * Only used when {@link RestManager.retryProxiedRequests} is enabled.
149
+ */
150
+ proxyRetryDelayStep: number;
151
+ /** The maximum time in milliseconds a single request attempt may take before it is aborted. Timed-out attempts are only retried when talking to Discord directly, or through a proxy when `retryProxiedRequests` is enabled. Defaults to 30000 (30 seconds). Set to 0 to disable. */
152
+ requestTimeout: number;
84
153
  /** Whether or not the manager is rate limited globally across all requests. Defaults to false. */
85
154
  globallyRateLimited: boolean;
86
155
  /** Whether or not the rate limited paths are being processed to allow requests to be made once time is up. Defaults to false. */
@@ -110,6 +179,8 @@ export interface RestManager {
110
179
  changeToDiscordFormat: (obj: any) => any;
111
180
  /** Creates the request body and headers that are necessary to send a request. Will handle different types of methods and everything necessary for discord. */
112
181
  createRequestBody: (method: RequestMethods, options?: CreateRequestBodyOptions) => RequestBody;
182
+ /** Fills in the message and the cause of the error that is given to the user when a request fails. The error itself is created by the caller because of how stack traces get calculated. */
183
+ createRequestError: (error: Error, reason: RestRequestRejection) => Error;
113
184
  /** This will create a infinite loop running in 1 seconds using tail recursion to keep rate limits clean. When a rate limit resets, this will remove it so the queue can proceed. */
114
185
  processRateLimitedPaths: () => void;
115
186
  /** Processes the rate limit headers and determines if it needs to be rate limited and returns the bucket id if available */
@@ -148,7 +219,7 @@ export interface RestManager {
148
219
  *
149
220
  * Fires a _Message Reaction Add_ gateway event.
150
221
  *
151
- * @see {@link https://discord.com/developers/docs/resources/channel#create-reaction}
222
+ * @see {@link https://docs.discord.com/developers/resources/channel#create-reaction}
152
223
  */
153
224
  addReaction: (channelId: BigString, messageId: BigString, reaction: string) => Promise<void>;
154
225
  /**
@@ -183,7 +254,7 @@ export interface RestManager {
183
254
  *
184
255
  * Fires a _Guild Member Update_ gateway event.
185
256
  *
186
- * @see {@link https://discord.com/developers/docs/resources/guild#add-guild-member-role}
257
+ * @see {@link https://docs.discord.com/developers/resources/guild#add-guild-member-role}
187
258
  */
188
259
  addRole: (guildId: BigString, userId: BigString, roleId: BigString, reason?: string) => Promise<void>;
189
260
  /**
@@ -198,7 +269,7 @@ export interface RestManager {
198
269
  *
199
270
  * Fires a _Thread Members Update_ gateway event.
200
271
  *
201
- * @see {@link https://discord.com/developers/docs/resources/channel#add-thread-member}
272
+ * @see {@link https://docs.discord.com/developers/resources/channel#add-thread-member}
202
273
  */
203
274
  addThreadMember: (channelId: BigString, userId: BigString) => Promise<void>;
204
275
  /**
@@ -211,7 +282,7 @@ export interface RestManager {
211
282
  * @remarks
212
283
  * Requires an OAuth2 access token with the `gdm.join` scope
213
284
  *
214
- * @see {@link https://discord.com/developers/docs/resources/channel#group-dm-add-recipient}
285
+ * @see {@link https://docs.discord.com/developers/resources/channel#group-dm-add-recipient}
215
286
  */
216
287
  addDmRecipient: (channelId: BigString, userId: BigString, options: AddDmRecipientOptions) => Promise<void>;
217
288
  /**
@@ -227,7 +298,7 @@ export interface RestManager {
227
298
  *
228
299
  * Fires a _Guild Member Add_ gateway event.
229
300
  *
230
- * @see {@link https://discord.com/developers/docs/resources/guild#add-guild-member}
301
+ * @see {@link https://docs.discord.com/developers/resources/guild#add-guild-member}
231
302
  */
232
303
  addGuildMember: (guildId: BigString, userId: BigString, options: AddGuildMemberOptions) => Promise<void>;
233
304
  /**
@@ -243,7 +314,7 @@ export interface RestManager {
243
314
  *
244
315
  * Fires an _Auto Moderation Rule Create_ gateway event.
245
316
  *
246
- * @see {@link https://discord.com/developers/docs/resources/auto-moderation#create-auto-moderation-rule}
317
+ * @see {@link https://docs.discord.com/developers/resources/auto-moderation#create-auto-moderation-rule}
247
318
  */
248
319
  createAutomodRule: (guildId: BigString, options: CreateAutoModerationRuleOptions, reason?: string) => Promise<Camelize<DiscordAutoModerationRule>>;
249
320
  /**
@@ -263,7 +334,7 @@ export interface RestManager {
263
334
  *
264
335
  * Fires a _Channel Create_ gateway event.
265
336
  *
266
- * @see {@link https://discord.com/developers/docs/resources/guild#create-guild-channel}
337
+ * @see {@link https://docs.discord.com/developers/resources/guild#create-guild-channel}
267
338
  */
268
339
  createChannel: (guildId: BigString, options: CreateGuildChannel, reason?: string) => Promise<Camelize<DiscordChannel>>;
269
340
  /**
@@ -281,7 +352,7 @@ export interface RestManager {
281
352
  *
282
353
  * Fires a _Guild Emojis Update_ gateway event.
283
354
  *
284
- * @see {@link https://discord.com/developers/docs/resources/emoji#create-guild-emoji}
355
+ * @see {@link https://docs.discord.com/developers/resources/emoji#create-guild-emoji}
285
356
  */
286
357
  createEmoji: (guildId: BigString, options: CreateGuildEmoji, reason?: string) => Promise<Camelize<DiscordEmoji>>;
287
358
  /**
@@ -290,7 +361,7 @@ export interface RestManager {
290
361
  * @param options - The parameters for the creation of the emoji.
291
362
  * @returns An instance of the created {@link DiscordEmoji}.
292
363
  *
293
- * @see {@link https://discord.com/developers/docs/resources/emoji#create-application-emoji}
364
+ * @see {@link https://docs.discord.com/developers/resources/emoji#create-application-emoji}
294
365
  */
295
366
  createApplicationEmoji: (options: CreateApplicationEmoji) => Promise<Camelize<DiscordEmoji>>;
296
367
  /**
@@ -307,7 +378,7 @@ export interface RestManager {
307
378
  * Fires a _Thread Create_ gateway event.
308
379
  * Fires a _Message Create_ gateway event.
309
380
  *
310
- * @see {@link https://discord.com/developers/docs/resources/channel#start-thread-in-forum-or-media-channel}
381
+ * @see {@link https://docs.discord.com/developers/resources/channel#start-thread-in-forum-or-media-channel}
311
382
  */
312
383
  createForumThread: (channelId: BigString, options: CreateForumPostWithMessage, reason?: string) => Promise<Camelize<DiscordChannel>>;
313
384
  /**
@@ -325,7 +396,7 @@ export interface RestManager {
325
396
  * When using the bearer token the token needs the `applications.commands.update` scope and must be a `Client grant` token.
326
397
  * You will be able to update only your own application commands
327
398
  *
328
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#create-global-application-command}
399
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#create-global-application-command}
329
400
  */
330
401
  createGlobalApplicationCommand: (command: CreateApplicationCommand, options?: CreateGlobalApplicationCommandOptions) => Promise<Camelize<DiscordApplicationCommand>>;
331
402
  /**
@@ -343,7 +414,7 @@ export interface RestManager {
343
414
  * When using the bearer token the token needs the `applications.commands.update` scope and must be a `Client grant` token.
344
415
  * You will be able to update only your own application commands
345
416
  *
346
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#create-guild-application-command}
417
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#create-guild-application-command}
347
418
  */
348
419
  createGuildApplicationCommand: (command: CreateApplicationCommand, guildId: BigString, options?: CreateGuildApplicationCommandOptions) => Promise<Camelize<DiscordApplicationCommand>>;
349
420
  /**
@@ -359,7 +430,7 @@ export interface RestManager {
359
430
  * Every guilds has five free sticker slots by default, and each Boost level will grant access to more slots.
360
431
  * Lottie stickers can only be uploaded on guilds that have either the `VERIFIED` and/or the `PARTNERED` guild feature.
361
432
  *
362
- * @see {@link https://discord.com/developers/docs/resources/sticker#create-guild-sticker}
433
+ * @see {@link https://docs.discord.com/developers/resources/sticker#create-guild-sticker}
363
434
  */
364
435
  createGuildSticker: (guildId: BigString, options: CreateGuildStickerOptions, reason?: string) => Promise<Camelize<DiscordSticker>>;
365
436
  /**
@@ -374,7 +445,7 @@ export interface RestManager {
374
445
  *
375
446
  * Fires a _Guild Update_ gateway event.
376
447
  *
377
- * @see {@link https://discord.com/developers/docs/resources/guild-template#create-guild-template}
448
+ * @see {@link https://docs.discord.com/developers/resources/guild-template#create-guild-template}
378
449
  */
379
450
  createGuildTemplate: (guildId: BigString, options: CreateTemplate) => Promise<Camelize<DiscordTemplate>>;
380
451
  /**
@@ -393,7 +464,7 @@ export interface RestManager {
393
464
  * @privateRemarks
394
465
  * The request body is not optional, and an empty JSON object must be sent regardless of whether any fields are being transmitted.
395
466
  *
396
- * @see {@link https://discord.com/developers/docs/resources/channel#create-channel-invite}
467
+ * @see {@link https://docs.discord.com/developers/resources/channel#create-channel-invite}
397
468
  */
398
469
  createInvite: (channelId: BigString, options?: CreateChannelInvite, reason?: string) => Promise<Camelize<DiscordInvite>>;
399
470
  /**
@@ -403,7 +474,7 @@ export interface RestManager {
403
474
  *
404
475
  * @param guildId - The ID of the guild to get role member counts for.
405
476
  *
406
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-role-member-counts}
477
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-role-member-counts}
407
478
  */
408
479
  getGuildRoleMemberCounts: (guildId: BigString) => Promise<Record<string, number>>;
409
480
  /**
@@ -419,7 +490,7 @@ export interface RestManager {
419
490
  *
420
491
  * Fires a _Guild Role Create_ gateway event.
421
492
  *
422
- * @see {@link https://discord.com/developers/docs/resources/guild#create-guild-role}
493
+ * @see {@link https://docs.discord.com/developers/resources/guild#create-guild-role}
423
494
  */
424
495
  createRole: (guildId: BigString, options: CreateGuildRole, reason?: string) => Promise<Camelize<DiscordRole>>;
425
496
  /**
@@ -437,7 +508,7 @@ export interface RestManager {
437
508
  *
438
509
  * Fires a _Guild Scheduled Event Create_ gateway event.
439
510
  *
440
- * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event}
511
+ * @see {@link https://docs.discord.com/developers/resources/guild-scheduled-event#create-guild-scheduled-event}
441
512
  */
442
513
  createScheduledEvent: (guildId: BigString, options: CreateScheduledEvent, reason?: string) => Promise<Camelize<DiscordScheduledEvent>>;
443
514
  /**
@@ -452,7 +523,7 @@ export interface RestManager {
452
523
  *
453
524
  * Fires a _Stage Instance Create_ gateway event.
454
525
  *
455
- * @see {@link https://discord.com/developers/docs/resources/stage-instance#create-stage-instance}
526
+ * @see {@link https://docs.discord.com/developers/resources/stage-instance#create-stage-instance}
456
527
  */
457
528
  createStageInstance: (options: CreateStageInstance, reason?: string) => Promise<Camelize<DiscordStageInstance>>;
458
529
  /**
@@ -470,7 +541,7 @@ export interface RestManager {
470
541
  *
471
542
  * Fires a _Webhooks Update_ gateway event.
472
543
  *
473
- * @see {@link https://discord.com/developers/docs/resources/webhook#create-webhook}
544
+ * @see {@link https://docs.discord.com/developers/resources/webhook#create-webhook}
474
545
  */
475
546
  createWebhook: (channelId: BigString, options: CreateWebhook, reason?: string) => Promise<Camelize<DiscordWebhook>>;
476
547
  /**
@@ -485,7 +556,7 @@ export interface RestManager {
485
556
  *
486
557
  * Fires an _Auto Moderation Rule Delete_ gateway event.
487
558
  *
488
- * @see {@link https://discord.com/developers/docs/resources/auto-moderation#delete-auto-moderation-rule}
559
+ * @see {@link https://docs.discord.com/developers/resources/auto-moderation#delete-auto-moderation-rule}
489
560
  */
490
561
  deleteAutomodRule: (guildId: BigString, ruleId: BigString, reason?: string) => Promise<void>;
491
562
  /**
@@ -511,7 +582,7 @@ export interface RestManager {
511
582
  *
512
583
  * - Fires a _Channel Delete_ gateway event.
513
584
  *
514
- * @see {@link https://discord.com/developers/docs/resources/channel#deleteclose-channel}
585
+ * @see {@link https://docs.discord.com/developers/resources/channel#deleteclose-channel}
515
586
  */
516
587
  deleteChannel: (channelId: BigString, reason?: string) => Promise<void>;
517
588
  /**
@@ -526,7 +597,7 @@ export interface RestManager {
526
597
  *
527
598
  * Fires a _Channel Update_ gateway event.
528
599
  *
529
- * @see {@link https://discord.com/developers/docs/resources/channel#delete-channel-permission}
600
+ * @see {@link https://docs.discord.com/developers/resources/channel#delete-channel-permission}
530
601
  */
531
602
  deleteChannelPermissionOverride: (channelId: BigString, overwriteId: BigString, reason?: string) => Promise<void>;
532
603
  /**
@@ -542,7 +613,7 @@ export interface RestManager {
542
613
  *
543
614
  * Fires a _Guild Emojis Update_ gateway event.
544
615
  *
545
- * @see {@link https://discord.com/developers/docs/resources/emoji#delete-guild-emoji}
616
+ * @see {@link https://docs.discord.com/developers/resources/emoji#delete-guild-emoji}
546
617
  */
547
618
  deleteEmoji: (guildId: BigString, id: BigString, reason?: string) => Promise<void>;
548
619
  /**
@@ -550,7 +621,7 @@ export interface RestManager {
550
621
  *
551
622
  * @param id - The ID of the emoji to delete.
552
623
  *
553
- * @see {@link https://discord.com/developers/docs/resources/emoji#delete-application-emoji}
624
+ * @see {@link https://docs.discord.com/developers/resources/emoji#delete-application-emoji}
554
625
  */
555
626
  deleteApplicationEmoji: (id: BigString) => Promise<void>;
556
627
  /**
@@ -564,7 +635,7 @@ export interface RestManager {
564
635
  *
565
636
  * Fires a _Message Delete_ event.
566
637
  *
567
- * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#delete-followup-message}
638
+ * @see {@link https://docs.discord.com/developers/interactions/receiving-and-responding#delete-followup-message}
568
639
  */
569
640
  deleteFollowupMessage: (token: string, messageId: BigString) => Promise<void>;
570
641
  /**
@@ -572,7 +643,7 @@ export interface RestManager {
572
643
  *
573
644
  * @param commandId - The ID of the command to delete.
574
645
  *
575
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#delete-global-application-command}
646
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#delete-global-application-command}
576
647
  */
577
648
  deleteGlobalApplicationCommand: (commandId: BigString) => Promise<void>;
578
649
  /**
@@ -581,7 +652,7 @@ export interface RestManager {
581
652
  * @param guildId - The ID of the guild to delete the command from.
582
653
  * @param commandId - The ID of the command to delete from the guild.
583
654
  *
584
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#delete-guild-application-command}
655
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#delete-guild-application-command}
585
656
  */
586
657
  deleteGuildApplicationCommand: (commandId: BigString, guildId: BigString) => Promise<void>;
587
658
  /**
@@ -598,7 +669,7 @@ export interface RestManager {
598
669
  * Every guilds has five free sticker slots by default, and each Boost level will grant access to more slots.
599
670
  * Lottie stickers can only be uploaded on guilds that have either the `VERIFIED` and/or the `PARTNERED` guild feature.
600
671
  *
601
- * @see {@link https://discord.com/developers/docs/resources/sticker#delete-guild-sticker}
672
+ * @see {@link https://docs.discord.com/developers/resources/sticker#delete-guild-sticker}
602
673
  */
603
674
  deleteGuildSticker: (guildId: BigString, stickerId: BigString, reason?: string) => Promise<void>;
604
675
  /**
@@ -612,7 +683,7 @@ export interface RestManager {
612
683
  *
613
684
  * Fires a _Guild Update_ gateway event.
614
685
  *
615
- * @see {@link https://discord.com/developers/docs/resources/guild-template#delete-guild-template}
686
+ * @see {@link https://docs.discord.com/developers/resources/guild-template#delete-guild-template}
616
687
  */
617
688
  deleteGuildTemplate: (guildId: BigString, templateCode: string) => Promise<void>;
618
689
  /**
@@ -630,7 +701,7 @@ export interface RestManager {
630
701
  * Fires a _Guild Integrations Update_ gateway event.
631
702
  * Fires a _Integration Delete_ gateway event.
632
703
  *
633
- * @see {@link https://discord.com/developers/docs/resources/guild#delete-guild-integration}
704
+ * @see {@link https://docs.discord.com/developers/resources/guild#delete-guild-integration}
634
705
  */
635
706
  deleteIntegration: (guildId: BigString, integrationId: BigString, reason?: string) => Promise<void>;
636
707
  /**
@@ -644,9 +715,47 @@ export interface RestManager {
644
715
  *
645
716
  * Fires an _Invite Delete_ gateway event.
646
717
  *
647
- * @see {@link https://discord.com/developers/docs/resources/channel#delete-channel-invite}
718
+ * @see {@link https://docs.discord.com/developers/resources/channel#delete-channel-invite}
648
719
  */
649
720
  deleteInvite: (inviteCode: string, reason?: string) => Promise<void>;
721
+ /**
722
+ * Gets the users allowed to see and accept this invite.
723
+ *
724
+ * @param inviteCode - The invite code of the invite to update.
725
+ * @returns CSV file containing the user IDs with the header `user_id` and each user ID from the original file
726
+ *
727
+ * @remarks
728
+ * Requires called to be the inviter, or have `MANAGE_GUILD` permission, or have `VIEW_AUDIT_LOG` permission.
729
+ *
730
+ * @see {@link https://docs.discord.com/developers/resources/invite#get-target-users}
731
+ */
732
+ getTargetUsers: (inviteCode: string) => Promise<string>;
733
+ /**
734
+ * Updates the users allowed to see and accept this invite.
735
+ *
736
+ * @param inviteCode - The invite code of the invite to update.
737
+ * @param targetUsersFile - A CSV file with a single column of user IDs for all the users able to accept this invite
738
+ *
739
+ * @remarks
740
+ * Requires the caller to be the inviter or have the `MANAGE_GUILD` permission.
741
+ *
742
+ * Uploading a file with invalid user IDs will result in a 400 with the invalid IDs described.
743
+ *
744
+ * @see {@link https://docs.discord.com/developers/resources/invite#update-target-users}
745
+ */
746
+ updateTargetUsers: (inviteCode: string, targetUsersFile: Blob) => Promise<void>;
747
+ /**
748
+ * Processing target users from a CSV when creating or updating an invite is done asynchronously. This endpoint allows you to check the status of that job.
749
+ *
750
+ * @param inviteCode - The invite code of the invite to check the target users job status for.
751
+ * @returns An object containing the status of the target users job.
752
+ *
753
+ * @remarks
754
+ * Requires the caller to be the inviter, or have `MANAGE_GUILD` permission, or have `VIEW_AUDIT_LOG` permission.
755
+ *
756
+ * @see {@link https://docs.discord.com/developers/resources/invite#get-target-users-job-status}
757
+ */
758
+ getTargetUsersJobStatus: (inviteCode: string) => Promise<Camelize<DiscordTargetUsersJobStatus>>;
650
759
  /**
651
760
  * Deletes a message from a channel.
652
761
  *
@@ -660,7 +769,7 @@ export interface RestManager {
660
769
  *
661
770
  * Fires a _Message Delete_ gateway event.
662
771
  *
663
- * @see {@link https://discord.com/developers/docs/resources/channel#delete-message}
772
+ * @see {@link https://docs.discord.com/developers/resources/channel#delete-message}
664
773
  */
665
774
  deleteMessage: (channelId: BigString, messageId: BigString, reason?: string) => Promise<void>;
666
775
  /**
@@ -677,7 +786,7 @@ export interface RestManager {
677
786
  *
678
787
  * Fires a _Message Delete Bulk_ gateway event.
679
788
  *
680
- * @see {@link https://discord.com/developers/docs/resources/channel#bulk-delete-messages}
789
+ * @see {@link https://docs.discord.com/developers/resources/channel#bulk-delete-messages}
681
790
  */
682
791
  deleteMessages: (channelId: BigString, messageIds: BigString[], reason?: string) => Promise<void>;
683
792
  /**
@@ -690,7 +799,7 @@ export interface RestManager {
690
799
  *
691
800
  * Fires a _Message Delete_ event.
692
801
  *
693
- * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#delete-original-interaction-response}
802
+ * @see {@link https://docs.discord.com/developers/interactions/receiving-and-responding#delete-original-interaction-response}
694
803
  */
695
804
  deleteOriginalInteractionResponse: (token: string) => Promise<void>;
696
805
  /**
@@ -705,7 +814,7 @@ export interface RestManager {
705
814
  *
706
815
  * Fires a _Message Reaction Remove_ gateway event.
707
816
  *
708
- * @see {@link https://discord.com/developers/docs/resources/channel#delete-own-reaction}
817
+ * @see {@link https://docs.discord.com/developers/resources/channel#delete-own-reaction}
709
818
  */
710
819
  deleteOwnReaction: (channelId: BigString, messageId: BigString, reaction: string) => Promise<void>;
711
820
  /**
@@ -721,7 +830,7 @@ export interface RestManager {
721
830
  *
722
831
  * Fires a _Message Reaction Remove All_ gateway event.
723
832
  *
724
- * @see {@link https://discord.com/developers/docs/resources/channel#delete-all-reactions}
833
+ * @see {@link https://docs.discord.com/developers/resources/channel#delete-all-reactions}
725
834
  */
726
835
  deleteReactionsAll: (channelId: BigString, messageId: BigString) => Promise<void>;
727
836
  /**
@@ -738,7 +847,7 @@ export interface RestManager {
738
847
  *
739
848
  * Fires a _Message Reaction Remove Emoji_ gateway event.
740
849
  *
741
- * @see {@link https://discord.com/developers/docs/resources/channel#delete-all-reactions-for-emoji}
850
+ * @see {@link https://docs.discord.com/developers/resources/channel#delete-all-reactions-for-emoji}
742
851
  */
743
852
  deleteReactionsEmoji: (channelId: BigString, messageId: BigString, reaction: string) => Promise<void>;
744
853
  /**
@@ -753,7 +862,7 @@ export interface RestManager {
753
862
  *
754
863
  * Fires a _Guild Role Delete_ gateway event.
755
864
  *
756
- * @see {@link https://discord.com/developers/docs/resources/guild#delete-guild-role}
865
+ * @see {@link https://docs.discord.com/developers/resources/guild#delete-guild-role}
757
866
  */
758
867
  deleteRole: (guildId: BigString, roleId: BigString, reason?: string) => Promise<void>;
759
868
  /**
@@ -767,7 +876,7 @@ export interface RestManager {
767
876
  *
768
877
  * Fires a _Guild Scheduled Event Delete_ gateway event.
769
878
  *
770
- * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#delete-guild-scheduled-event}
879
+ * @see {@link https://docs.discord.com/developers/resources/guild-scheduled-event#delete-guild-scheduled-event}
771
880
  */
772
881
  deleteScheduledEvent: (guildId: BigString, eventId: BigString) => Promise<void>;
773
882
  /**
@@ -781,7 +890,7 @@ export interface RestManager {
781
890
  *
782
891
  * Fires a _Stage Instance Delete_ gateway event.
783
892
  *
784
- * @see {@link https://discord.com/developers/docs/resources/stage-instance#delete-stage-instance}
893
+ * @see {@link https://docs.discord.com/developers/resources/stage-instance#delete-stage-instance}
785
894
  */
786
895
  deleteStageInstance: (channelId: BigString, reason?: string) => Promise<void>;
787
896
  /**
@@ -799,7 +908,7 @@ export interface RestManager {
799
908
  *
800
909
  * Fires a _Message Reaction Remove_ gateway event.
801
910
  *
802
- * @see {@link https://discord.com/developers/docs/resources/channel#delete-user-reaction}
911
+ * @see {@link https://docs.discord.com/developers/resources/channel#delete-user-reaction}
803
912
  */
804
913
  deleteUserReaction: (channelId: BigString, messageId: BigString, userId: BigString, reaction: string) => Promise<void>;
805
914
  /**
@@ -812,7 +921,7 @@ export interface RestManager {
812
921
  *
813
922
  * Fires a _Webhooks Update_ gateway event.
814
923
  *
815
- * @see {@link https://discord.com/developers/docs/resources/webhook#delete-webhook}
924
+ * @see {@link https://docs.discord.com/developers/resources/webhook#delete-webhook}
816
925
  */
817
926
  deleteWebhook: (webhookId: BigString, reason?: string) => Promise<void>;
818
927
  /**
@@ -826,7 +935,7 @@ export interface RestManager {
826
935
  * @remarks
827
936
  * Fires a _Message Delete_ gateway event.
828
937
  *
829
- * @see {@link https://discord.com/developers/docs/resources/webhook#delete-webhook}
938
+ * @see {@link https://docs.discord.com/developers/resources/webhook#delete-webhook}
830
939
  */
831
940
  deleteWebhookMessage: (webhookId: BigString, token: string, messageId: BigString, options?: DeleteWebhookMessageOptions) => Promise<void>;
832
941
  /**
@@ -838,7 +947,7 @@ export interface RestManager {
838
947
  * @remarks
839
948
  * Fires a _Message Delete_ gateway event.
840
949
  *
841
- * @see {@link https://discord.com/developers/docs/resources/webhook#delete-webhook-with-token}
950
+ * @see {@link https://docs.discord.com/developers/resources/webhook#delete-webhook-with-token}
842
951
  */
843
952
  deleteWebhookWithToken: (webhookId: BigString, token: string) => Promise<void>;
844
953
  /**
@@ -853,7 +962,7 @@ export interface RestManager {
853
962
  * @remarks
854
963
  * The bearer token requires the `applications.commands.permissions.update` scope to be enabled, and to have access to the guild whose ID has been provided in the parameters.
855
964
  *
856
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#edit-application-command-permissions}
965
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#edit-application-command-permissions}
857
966
  */
858
967
  editApplicationCommandPermissions: (guildId: BigString, commandId: BigString, bearerToken: string, options: Camelize<DiscordApplicationCommandPermissions>[]) => Promise<Camelize<DiscordGuildApplicationCommandPermissions>>;
859
968
  /**
@@ -870,17 +979,26 @@ export interface RestManager {
870
979
  *
871
980
  * Fires an _Auto Moderation Rule Update_ gateway event.
872
981
  *
873
- * @see {@link https://discord.com/developers/docs/resources/auto-moderation#modify-auto-moderation-rule}
982
+ * @see {@link https://docs.discord.com/developers/resources/auto-moderation#modify-auto-moderation-rule}
874
983
  */
875
984
  editAutomodRule: (guildId: BigString, ruleId: BigString, options: Partial<EditAutoModerationRuleOptions>, reason?: string) => Promise<Camelize<DiscordAutoModerationRule>>;
876
985
  /**
877
986
  * Modifies the bot's username, avatar or banner.
878
- * NOTE: username: if changed may cause the bot's discriminator to be randomized.
987
+ *
988
+ * @param options - The parameters for the edit of the bot's profile.
989
+ * @returns An instance of the edited {@link DiscordUser}.
990
+ *
991
+ * @remarks
992
+ * Editing the `username` may cause the bot's discriminator to be randomized.
993
+ *
994
+ * `avatar` and `banner` must to be a Data URI scheme. {@link urlToBase64} from `@discordeno/utils` can be used to convert a URL to a Data URI scheme.
995
+ *
996
+ * @see {@link https://docs.discord.com/developers/resources/user#modify-current-user}
879
997
  */
880
998
  editBotProfile: (options: {
881
999
  username?: string;
882
- botAvatarURL?: string | null;
883
- botBannerURL?: string | null;
1000
+ avatar?: string | null;
1001
+ banner?: string | null;
884
1002
  }) => Promise<Camelize<DiscordUser>>;
885
1003
  /**
886
1004
  * Edits a channel's settings.
@@ -927,7 +1045,7 @@ export interface RestManager {
927
1045
  *
928
1046
  * Fires a _Channel Update_ gateway event.
929
1047
  *
930
- * @see {@link https://discord.com/developers/docs/resources/channel#edit-channel-permissions}
1048
+ * @see {@link https://docs.discord.com/developers/resources/channel#edit-channel-permissions}
931
1049
  */
932
1050
  editChannelPermissionOverrides: (channelId: BigString, options: EditChannelPermissionOverridesOptions, reason?: string) => Promise<void>;
933
1051
  /**
@@ -941,7 +1059,13 @@ export interface RestManager {
941
1059
  *
942
1060
  * Fires a _Channel Update_ gateway event for every channel impacted in this change.
943
1061
  *
944
- * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-channel-positions}
1062
+ * At most one entry per request may change `parent_id`. A request that changes `parent_id` for more than one channel fails with a 400 response and error code 40009.
1063
+ *
1064
+ * Permissions are checked per entry, based on what the entry changes:
1065
+ * - An entry that only changes `position` requires the `MANAGE_CHANNELS` permission at the guild level (or on the channel's current parent category). It does **not** require access to the individual channel, so a full reordering may include channels the current user cannot view.
1066
+ * - An entry that changes `parent_id` requires the `MANAGE_CHANNELS` permission on that channel and on the destination (the new parent category, or the guild when moving the channel out of a category), and the current user must be able to view the channel. Otherwise the request fails with a `403` response and error code 50001. Setting `lock_permissions` additionally requires `MANAGE_ROLES`.
1067
+ *
1068
+ * @see {@link https://docs.discord.com/developers/resources/guild#modify-guild-channel-positions}
945
1069
  */
946
1070
  editChannelPositions: (guildId: BigString, channelPositions: ModifyGuildChannelPositions[]) => Promise<void>;
947
1071
  /**
@@ -959,7 +1083,7 @@ export interface RestManager {
959
1083
  *
960
1084
  * Fires a `Guild Emojis Update` gateway event.
961
1085
  *
962
- * @see {@link https://discord.com/developers/docs/resources/emoji#modify-guild-emoji}
1086
+ * @see {@link https://docs.discord.com/developers/resources/emoji#modify-guild-emoji}
963
1087
  */
964
1088
  editEmoji: (guildId: BigString, id: BigString, options: ModifyGuildEmoji, reason?: string) => Promise<Camelize<DiscordEmoji>>;
965
1089
  /**
@@ -969,7 +1093,7 @@ export interface RestManager {
969
1093
  * @param options - The parameters for the edit of the emoji.
970
1094
  * @returns An instance of the updated {@link DiscordEmoji}.
971
1095
  *
972
- * @see {@link https://discord.com/developers/docs/resources/emoji#modify-application-emoji}
1096
+ * @see {@link https://docs.discord.com/developers/resources/emoji#modify-application-emoji}
973
1097
  */
974
1098
  editApplicationEmoji: (id: BigString, options: ModifyApplicationEmoji) => Promise<Camelize<DiscordEmoji>>;
975
1099
  /**
@@ -987,7 +1111,7 @@ export interface RestManager {
987
1111
  *
988
1112
  * Fires a _Message Update_ event.
989
1113
  *
990
- * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#edit-followup-message}
1114
+ * @see {@link https://docs.discord.com/developers/interactions/receiving-and-responding#edit-followup-message}
991
1115
  */
992
1116
  editFollowupMessage: (token: string, messageId: BigString, options: InteractionCallbackData) => Promise<Camelize<DiscordMessage>>;
993
1117
  /**
@@ -997,7 +1121,7 @@ export interface RestManager {
997
1121
  * @param options - The parameters for the edit of the command.
998
1122
  * @returns An instance of the edited {@link DiscordApplicationCommand}.
999
1123
  *
1000
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#edit-global-application-command}
1124
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#edit-global-application-command}
1001
1125
  */
1002
1126
  editGlobalApplicationCommand: (commandId: BigString, options: CreateApplicationCommand) => Promise<Camelize<DiscordApplicationCommand>>;
1003
1127
  /**
@@ -1016,7 +1140,7 @@ export interface RestManager {
1016
1140
  *
1017
1141
  * Fires a _Guild Update_ gateway event.
1018
1142
  *
1019
- * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild}
1143
+ * @see {@link https://docs.discord.com/developers/resources/guild#modify-guild}
1020
1144
  */
1021
1145
  editGuild: (guildId: BigString, options: ModifyGuild, reason?: string) => Promise<Camelize<DiscordGuild>>;
1022
1146
  /**
@@ -1027,7 +1151,7 @@ export interface RestManager {
1027
1151
  * @param options - The parameters for the edit of the command.
1028
1152
  * @returns An instance of the edited {@link DiscordApplicationCommand}.
1029
1153
  *
1030
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#edit-guild-application-command}
1154
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#edit-guild-application-command}
1031
1155
  */
1032
1156
  editGuildApplicationCommand: (commandId: BigString, guildId: BigString, options: CreateApplicationCommand) => Promise<Camelize<DiscordApplicationCommand>>;
1033
1157
  /**
@@ -1042,7 +1166,7 @@ export interface RestManager {
1042
1166
  * For other stickers, requires the `MANAGE_GUILD_EXPRESSIONS` permission.
1043
1167
  * Fires a Guild Stickers Update Gateway event.
1044
1168
  *
1045
- * @see {@link https://discord.com/developers/docs/resources/sticker#modify-guild-sticker}
1169
+ * @see {@link https://docs.discord.com/developers/resources/sticker#modify-guild-sticker}
1046
1170
  */
1047
1171
  editGuildSticker: (guildId: BigString, stickerId: BigString, options: AtLeastOne<EditGuildStickerOptions>, reason?: string) => Promise<Camelize<DiscordSticker>>;
1048
1172
  /**
@@ -1058,7 +1182,7 @@ export interface RestManager {
1058
1182
  *
1059
1183
  * Fires a _Guild Update_ gateway event.
1060
1184
  *
1061
- * @see {@link https://discord.com/developers/docs/resources/guild-template#modify-guild-template}
1185
+ * @see {@link https://docs.discord.com/developers/resources/guild-template#modify-guild-template}
1062
1186
  */
1063
1187
  editGuildTemplate: (guildId: BigString, templateCode: string, options: ModifyGuildTemplate) => Promise<Camelize<DiscordTemplate>>;
1064
1188
  /**
@@ -1076,7 +1200,7 @@ export interface RestManager {
1076
1200
  *
1077
1201
  * Fires a _Message Update_ gateway event.
1078
1202
  *
1079
- * @see {@link https://discord.com/developers/docs/resources/channel#edit-message}
1203
+ * @see {@link https://docs.discord.com/developers/resources/channel#edit-message}
1080
1204
  */
1081
1205
  editMessage: (channelId: BigString, messageId: BigString, options: EditMessage) => Promise<Camelize<DiscordMessage>>;
1082
1206
  /**
@@ -1093,7 +1217,7 @@ export interface RestManager {
1093
1217
  *
1094
1218
  * Fires a _Message Update_ event.
1095
1219
  *
1096
- * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#edit-original-interaction-response}
1220
+ * @see {@link https://docs.discord.com/developers/interactions/receiving-and-responding#edit-original-interaction-response}
1097
1221
  */
1098
1222
  editOriginalInteractionResponse: (token: string, options: InteractionCallbackData) => Promise<Camelize<DiscordMessage>>;
1099
1223
  /**
@@ -1111,7 +1235,7 @@ export interface RestManager {
1111
1235
  * If attempting to request to speak:
1112
1236
  * - Requires the `REQUEST_TO_SPEAK` permission.
1113
1237
  *
1114
- * @see {@link https://discord.com/developers/docs/resources/voice#modify-current-user-voice-state}
1238
+ * @see {@link https://docs.discord.com/developers/resources/voice#modify-current-user-voice-state}
1115
1239
  */
1116
1240
  editOwnVoiceState: (guildId: BigString, options: EditOwnVoiceState) => Promise<void>;
1117
1241
  /**
@@ -1128,7 +1252,7 @@ export interface RestManager {
1128
1252
  *
1129
1253
  * Fires a _Guild Role Update_ gateway event.
1130
1254
  *
1131
- * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-role}
1255
+ * @see {@link https://docs.discord.com/developers/resources/guild#modify-guild-role}
1132
1256
  */
1133
1257
  editRole: (guildId: BigString, roleId: BigString, options: EditGuildRole, reason?: string) => Promise<Camelize<DiscordRole>>;
1134
1258
  /**
@@ -1144,7 +1268,7 @@ export interface RestManager {
1144
1268
  *
1145
1269
  * Fires a _Guild Role Update_ gateway event for every role impacted in this change.
1146
1270
  *
1147
- * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-role-positions}
1271
+ * @see {@link https://docs.discord.com/developers/resources/guild#modify-guild-role-positions}
1148
1272
  */
1149
1273
  editRolePositions: (guildId: BigString, options: ModifyRolePositions[], reason?: string) => Promise<Camelize<DiscordRole>[]>;
1150
1274
  /**
@@ -1164,7 +1288,7 @@ export interface RestManager {
1164
1288
  *
1165
1289
  * Fires a _Guild Scheduled Event Update_ gateway event.
1166
1290
  *
1167
- * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event}
1291
+ * @see {@link https://docs.discord.com/developers/resources/guild-scheduled-event#modify-guild-scheduled-event}
1168
1292
  */
1169
1293
  editScheduledEvent: (guildId: BigString, eventId: BigString, options: Partial<EditScheduledEvent>, reason?: string) => Promise<Camelize<DiscordScheduledEvent>>;
1170
1294
  /**
@@ -1180,7 +1304,7 @@ export interface RestManager {
1180
1304
  *
1181
1305
  * Fires a _Stage Instance Update_ event.
1182
1306
  *
1183
- * @see {@link https://discord.com/developers/docs/resources/stage-instance#modify-stage-instance}
1307
+ * @see {@link https://docs.discord.com/developers/resources/stage-instance#modify-stage-instance}
1184
1308
  */
1185
1309
  editStageInstance: (channelId: BigString, topic: string, reason?: string) => Promise<Camelize<DiscordStageInstance>>;
1186
1310
  /**
@@ -1194,7 +1318,7 @@ export interface RestManager {
1194
1318
  *
1195
1319
  * Requires the `MUTE_MEMBERS` permission.
1196
1320
  *
1197
- * @see {@link https://discord.com/developers/docs/resources/voice#modify-user-voice-state}
1321
+ * @see {@link https://docs.discord.com/developers/resources/voice#modify-user-voice-state}
1198
1322
  */
1199
1323
  editUserVoiceState: (guildId: BigString, options: EditUserVoiceState) => Promise<void>;
1200
1324
  /**
@@ -1208,9 +1332,21 @@ export interface RestManager {
1208
1332
  * @remarks
1209
1333
  * This requires the `role_connections.write` scope.
1210
1334
  *
1211
- * @see {@link https://discord.com/developers/docs/resources/user#update-user-application-role-connection}
1335
+ * @see {@link https://docs.discord.com/developers/resources/user#update-user-application-role-connection}
1212
1336
  */
1213
1337
  editUserApplicationRoleConnection: (bearerToken: string, applicationId: BigString, options: Camelize<DiscordApplicationRoleConnection>) => Promise<Camelize<DiscordApplicationRoleConnection>>;
1338
+ /**
1339
+ * Deletes the application role connection for the user.
1340
+ *
1341
+ * @param bearerToken - The access token of the user
1342
+ * @param applicationId - The id of the application to delete the role connection
1343
+ *
1344
+ * @remarks
1345
+ * This requires the `role_connections.write` scope.
1346
+ *
1347
+ * @see {@link https://docs.discord.com/developers/resources/user#delete-current-user-application-role-connection}
1348
+ */
1349
+ deleteCurrentUserApplicationRoleConnection: (bearerToken: string, applicationId: BigString) => Promise<void>;
1214
1350
  /**
1215
1351
  * Edits a webhook.
1216
1352
  *
@@ -1223,7 +1359,7 @@ export interface RestManager {
1223
1359
  *
1224
1360
  * Fires a _Webhooks Update_ gateway event.
1225
1361
  *
1226
- * @see {@link https://discord.com/developers/docs/resources/webhook#edit-webhook}
1362
+ * @see {@link https://docs.discord.com/developers/resources/webhook#edit-webhook}
1227
1363
  */
1228
1364
  editWebhook: (webhookId: BigString, options: ModifyWebhook, reason?: string) => Promise<Camelize<DiscordWebhook>>;
1229
1365
  /**
@@ -1238,7 +1374,7 @@ export interface RestManager {
1238
1374
  * @remarks
1239
1375
  * Fires a _Message Update_ gateway event.
1240
1376
  *
1241
- * @see {@link https://discord.com/developers/docs/resources/webhook#edit-webhook-message}
1377
+ * @see {@link https://docs.discord.com/developers/resources/webhook#edit-webhook-message}
1242
1378
  */
1243
1379
  editWebhookMessage: (webhookId: BigString, token: string, messageId: BigString, options: EditWebhookMessageOptions) => Promise<Camelize<DiscordMessage>>;
1244
1380
  /**
@@ -1253,7 +1389,7 @@ export interface RestManager {
1253
1389
  *
1254
1390
  * Fires a _Webhooks Update_ gateway event.
1255
1391
  *
1256
- * @see {@link https://discord.com/developers/docs/resources/webhook#modify-webhook-with-token}
1392
+ * @see {@link https://docs.discord.com/developers/resources/webhook#modify-webhook-with-token}
1257
1393
  */
1258
1394
  editWebhookWithToken: (webhookId: BigString, token: string, options: Omit<ModifyWebhook, 'channelId'>) => Promise<Camelize<DiscordWebhook>>;
1259
1395
  /**
@@ -1269,7 +1405,7 @@ export interface RestManager {
1269
1405
  *
1270
1406
  * Fires a _Guild Update_ gateway event.
1271
1407
  *
1272
- * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-welcome-screen}
1408
+ * @see {@link https://docs.discord.com/developers/resources/guild#modify-guild-welcome-screen}
1273
1409
  */
1274
1410
  editWelcomeScreen: (guildId: BigString, options: ModifyGuildWelcomeScreen, reason?: string) => Promise<Camelize<DiscordWelcomeScreen>>;
1275
1411
  /**
@@ -1284,7 +1420,7 @@ export interface RestManager {
1284
1420
  *
1285
1421
  * Fires a _Guild Update_ gateway event.
1286
1422
  *
1287
- * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-widget}
1423
+ * @see {@link https://docs.discord.com/developers/resources/guild#modify-guild-widget}
1288
1424
  */
1289
1425
  editWidgetSettings: (guildId: BigString, options: Camelize<DiscordGuildWidgetSettings>, reason?: string) => Promise<Camelize<DiscordGuildWidgetSettings>>;
1290
1426
  /**
@@ -1298,7 +1434,7 @@ export interface RestManager {
1298
1434
  * @remarks
1299
1435
  * If the webhook channel is a forum channel, you must provide a value for either `threadId` or `threadName`.
1300
1436
  *
1301
- * @see {@link https://discord.com/developers/docs/resources/webhook#execute-webhook}
1437
+ * @see {@link https://docs.discord.com/developers/resources/webhook#execute-webhook}
1302
1438
  */
1303
1439
  executeWebhook: (webhookId: BigString, token: string, options: ExecuteWebhook) => Promise<Camelize<DiscordMessage> | undefined>;
1304
1440
  /**
@@ -1314,7 +1450,7 @@ export interface RestManager {
1314
1450
  *
1315
1451
  * Fires a _Webhooks Update_ gateway event.
1316
1452
  *
1317
- * @see {@link https://discord.com/developers/docs/resources/channel#follow-announcement-channel}
1453
+ * @see {@link https://docs.discord.com/developers/resources/channel#follow-announcement-channel}
1318
1454
  */
1319
1455
  followAnnouncement: (sourceChannelId: BigString, targetChannelId: BigString, reason?: string) => Promise<Camelize<DiscordFollowedChannel>>;
1320
1456
  /**
@@ -1328,7 +1464,7 @@ export interface RestManager {
1328
1464
  *
1329
1465
  * Threads are ordered by the `id` property in descending order.
1330
1466
  *
1331
- * @see {@link https://discord.com/developers/docs/resources/guild#list-active-guild-threads}
1467
+ * @see {@link https://docs.discord.com/developers/resources/guild#list-active-guild-threads}
1332
1468
  */
1333
1469
  getActiveThreads: (guildId: BigString) => Promise<Camelize<DiscordListActiveThreads>>;
1334
1470
  /** Get the applications info */
@@ -1378,7 +1514,7 @@ export interface RestManager {
1378
1514
  * @remarks
1379
1515
  * Then specifying the options object the access token passed-in requires the OAuth2 scope `applications.commands.permissions.update`
1380
1516
  *
1381
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-application-command-permissions}
1517
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#get-application-command-permissions}
1382
1518
  */
1383
1519
  getApplicationCommandPermission: (guildId: BigString, commandId: BigString, options?: GetApplicationCommandPermissionOptions) => Promise<Camelize<DiscordGuildApplicationCommandPermissions>>;
1384
1520
  /**
@@ -1391,7 +1527,7 @@ export interface RestManager {
1391
1527
  * @remarks
1392
1528
  * Then specifying the options object the access token passed-in requires the OAuth2 scope `applications.commands.permissions.update`
1393
1529
  *
1394
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-guild-application-command-permissions}
1530
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#get-guild-application-command-permissions}
1395
1531
  */
1396
1532
  getApplicationCommandPermissions: (guildId: BigString, options?: GetApplicationCommandPermissionOptions) => Promise<Camelize<DiscordGuildApplicationCommandPermissions>[]>;
1397
1533
  /**
@@ -1404,7 +1540,7 @@ export interface RestManager {
1404
1540
  * @remarks
1405
1541
  * Requires the `VIEW_AUDIT_LOG` permission.
1406
1542
  *
1407
- * @see {@link https://discord.com/developers/docs/resources/audit-log#get-guild-audit-log}
1543
+ * @see {@link https://docs.discord.com/developers/resources/audit-log#get-guild-audit-log}
1408
1544
  */
1409
1545
  getAuditLog: (guildId: BigString, options?: GetGuildAuditLog) => Promise<Camelize<DiscordAuditLog>>;
1410
1546
  /**
@@ -1417,7 +1553,7 @@ export interface RestManager {
1417
1553
  * @remarks
1418
1554
  * Requires the `MANAGE_GUILD` permission.
1419
1555
  *
1420
- * @see {@link https://discord.com/developers/docs/resources/auto-moderation#get-auto-moderation-rule}
1556
+ * @see {@link https://docs.discord.com/developers/resources/auto-moderation#get-auto-moderation-rule}
1421
1557
  */
1422
1558
  getAutomodRule: (guildId: BigString, ruleId: BigString) => Promise<Camelize<DiscordAutoModerationRule>>;
1423
1559
  /**
@@ -1429,7 +1565,7 @@ export interface RestManager {
1429
1565
  * @remarks
1430
1566
  * Requires the `MANAGE_GUILD` permission.
1431
1567
  *
1432
- * @see {@link https://discord.com/developers/docs/resources/auto-moderation#list-auto-moderation-rules-for-guild}
1568
+ * @see {@link https://docs.discord.com/developers/resources/auto-moderation#list-auto-moderation-rules-for-guild}
1433
1569
  */
1434
1570
  getAutomodRules: (guildId: BigString) => Promise<Camelize<DiscordAutoModerationRule>[]>;
1435
1571
  /**
@@ -1448,7 +1584,7 @@ export interface RestManager {
1448
1584
  * @remarks
1449
1585
  * Requires the `BAN_MEMBERS` permission.
1450
1586
  *
1451
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-ban}
1587
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-ban}
1452
1588
  */
1453
1589
  getBan: (guildId: BigString, userId: BigString) => Promise<Camelize<DiscordBan>>;
1454
1590
  /**
@@ -1463,7 +1599,7 @@ export interface RestManager {
1463
1599
  *
1464
1600
  * Users are ordered by their IDs in _ascending_ order.
1465
1601
  *
1466
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-bans}
1602
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-bans}
1467
1603
  */
1468
1604
  getBans: (guildId: BigString, options?: GetBans) => Promise<Camelize<DiscordBan>[]>;
1469
1605
  /**
@@ -1475,7 +1611,7 @@ export interface RestManager {
1475
1611
  * @remarks
1476
1612
  * If the channel is a thread, a {@link DiscordThreadMember} object is included in the result.
1477
1613
  *
1478
- * @see {@link https://discord.com/developers/docs/resources/channel#get-channel}
1614
+ * @see {@link https://docs.discord.com/developers/resources/channel#get-channel}
1479
1615
  */
1480
1616
  getChannel: (channelId: BigString) => Promise<Camelize<DiscordChannel>>;
1481
1617
  /**
@@ -1489,7 +1625,7 @@ export interface RestManager {
1489
1625
  *
1490
1626
  * Only usable for guild channels.
1491
1627
  *
1492
- * @see {@link https://discord.com/developers/docs/resources/channel#get-channel-invites}
1628
+ * @see {@link https://docs.discord.com/developers/resources/channel#get-channel-invites}
1493
1629
  */
1494
1630
  getChannelInvites: (channelId: BigString) => Promise<Camelize<DiscordInviteMetadata>[]>;
1495
1631
  /**
@@ -1501,7 +1637,7 @@ export interface RestManager {
1501
1637
  * @remarks
1502
1638
  * Excludes threads.
1503
1639
  *
1504
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-channels}
1640
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-channels}
1505
1641
  */
1506
1642
  getChannels: (guildId: BigString) => Promise<Camelize<DiscordChannel>[]>;
1507
1643
  /**
@@ -1513,7 +1649,7 @@ export interface RestManager {
1513
1649
  * @remarks
1514
1650
  * Requires the `MANAGE_WEBHOOKS` permission.
1515
1651
  *
1516
- * @see {@link https://discord.com/developers/docs/resources/webhook#get-channel-webhooks}
1652
+ * @see {@link https://docs.discord.com/developers/resources/webhook#get-channel-webhooks}
1517
1653
  */
1518
1654
  getChannelWebhooks: (channelId: BigString) => Promise<Camelize<DiscordWebhook>[]>;
1519
1655
  /**
@@ -1522,7 +1658,7 @@ export interface RestManager {
1522
1658
  * @param userId - The ID of the user to create the DM channel with.
1523
1659
  * @returns An instance of {@link DiscordChannel}.
1524
1660
  *
1525
- * @see {@link https://discord.com/developers/docs/resources/user#create-dm}
1661
+ * @see {@link https://docs.discord.com/developers/resources/user#create-dm}
1526
1662
  */
1527
1663
  getDmChannel: (userId: BigString) => Promise<Camelize<DiscordChannel>>;
1528
1664
  /**
@@ -1538,7 +1674,7 @@ export interface RestManager {
1538
1674
  *
1539
1675
  * Fires a _Channel create_ gateway event.
1540
1676
  *
1541
- * @see {@link https://discord.com/developers/docs/resources/user#create-group-dm}
1677
+ * @see {@link https://docs.discord.com/developers/resources/user#create-group-dm}
1542
1678
  */
1543
1679
  getGroupDmChannel: (options: CreateGroupDmOptions) => Promise<Camelize<DiscordChannel>>;
1544
1680
  /**
@@ -1550,9 +1686,9 @@ export interface RestManager {
1550
1686
  *
1551
1687
  * @remarks
1552
1688
  * Includes the `user` field if the bot has the `MANAGE_GUILD_EXPRESSIONS` permission,
1553
- * or if the bot created the emoji and has the the `CREATE_GUILD_EXPRESSIONS` permission.
1689
+ * or if the bot created the emoji and has the `CREATE_GUILD_EXPRESSIONS` permission.
1554
1690
  *
1555
- * @see {@link https://discord.com/developers/docs/resources/emoji#get-guild-emoji}
1691
+ * @see {@link https://docs.discord.com/developers/resources/emoji#get-guild-emoji}
1556
1692
  */
1557
1693
  getEmoji: (guildId: BigString, emojiId: BigString) => Promise<Camelize<DiscordEmoji>>;
1558
1694
  /**
@@ -1564,7 +1700,7 @@ export interface RestManager {
1564
1700
  * @remarks
1565
1701
  * Always includes the `user` object for the team member that uploaded the emoji from the app's settings, or for the bot user if uploaded using the API.
1566
1702
  *
1567
- * @see {@link https://discord.com/developers/docs/resources/emoji#get-application-emoji}
1703
+ * @see {@link https://docs.discord.com/developers/resources/emoji#get-application-emoji}
1568
1704
  */
1569
1705
  getApplicationEmoji: (emojiId: BigString) => Promise<Camelize<DiscordEmoji>>;
1570
1706
  /**
@@ -1576,7 +1712,7 @@ export interface RestManager {
1576
1712
  * @remarks
1577
1713
  * Includes `user` fields if the bot has the `CREATE_GUILD_EXPRESSIONS` or `MANAGE_GUILD_EXPRESSIONS` permission.
1578
1714
  *
1579
- * @see {@link https://discord.com/developers/docs/resources/emoji#list-guild-emojis}
1715
+ * @see {@link https://docs.discord.com/developers/resources/emoji#list-guild-emojis}
1580
1716
  */
1581
1717
  getEmojis: (guildId: BigString) => Promise<Camelize<DiscordEmoji>[]>;
1582
1718
  /**
@@ -1587,7 +1723,7 @@ export interface RestManager {
1587
1723
  * @remarks
1588
1724
  * Always includes the `user` object for the team member that uploaded the emoji from the app's settings, or for the bot user if uploaded using the API.
1589
1725
  *
1590
- * @see {@link https://discord.com/developers/docs/resources/emoji#list-application-emojis}
1726
+ * @see {@link https://docs.discord.com/developers/resources/emoji#list-application-emojis}
1591
1727
  */
1592
1728
  getApplicationEmojis: () => Promise<{
1593
1729
  items: Camelize<DiscordEmoji>[];
@@ -1606,7 +1742,7 @@ export interface RestManager {
1606
1742
  *
1607
1743
  * Does not support ephemeral follow-up messages due to these being stateless.
1608
1744
  *
1609
- * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#get-followup-message}
1745
+ * @see {@link https://docs.discord.com/developers/interactions/receiving-and-responding#get-followup-message}
1610
1746
  */
1611
1747
  getFollowupMessage: (token: string, messageId: BigString) => Promise<Camelize<DiscordMessage>>;
1612
1748
  /** Get the bots Gateway metadata that can help during the operation of large or sharded bots. */
@@ -1617,7 +1753,7 @@ export interface RestManager {
1617
1753
  * @param commandId - The ID of the command to get.
1618
1754
  * @returns An instance of {@link DiscordApplicationCommand}.
1619
1755
  *
1620
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-global-application-command}
1756
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#get-global-application-command}
1621
1757
  */
1622
1758
  getGlobalApplicationCommand: (commandId: BigString) => Promise<Camelize<DiscordApplicationCommand>>;
1623
1759
  /**
@@ -1626,7 +1762,7 @@ export interface RestManager {
1626
1762
  * @param options - The parameters for the fetching of global application commands
1627
1763
  * @returns A collection of {@link DiscordApplicationCommand} objects assorted by command ID.
1628
1764
  *
1629
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-global-application-commands}
1765
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#get-global-application-commands}
1630
1766
  */
1631
1767
  getGlobalApplicationCommands: (options?: GetGlobalApplicationCommandsOptions) => Promise<Camelize<DiscordApplicationCommand>[]>;
1632
1768
  /**
@@ -1636,7 +1772,7 @@ export interface RestManager {
1636
1772
  * @param options - The parameters for the fetching of the guild.
1637
1773
  * @returns An instance of {@link DiscordGuild}.
1638
1774
  *
1639
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild}
1775
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild}
1640
1776
  */
1641
1777
  getGuild: (guildId: BigString, options?: {
1642
1778
  counts?: boolean;
@@ -1651,7 +1787,7 @@ export interface RestManager {
1651
1787
  * @remarks
1652
1788
  * If used with an access token, the token needs to have the `guilds` scope
1653
1789
  *
1654
- * @see {@link https://discord.com/developers/docs/resources/user#get-current-user-guilds}
1790
+ * @see {@link https://docs.discord.com/developers/resources/user#get-current-user-guilds}
1655
1791
  */
1656
1792
  getGuilds: (bearerToken?: string, options?: GetUserGuilds) => Promise<Partial<Camelize<DiscordGuild>>[]>;
1657
1793
  /**
@@ -1661,7 +1797,7 @@ export interface RestManager {
1661
1797
  * @param commandId - The ID of the command to get.
1662
1798
  * @returns An instance of {@link DiscordApplicationCommand}.
1663
1799
  *
1664
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-guild-application-command}
1800
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#get-guild-application-command}
1665
1801
  */
1666
1802
  getGuildApplicationCommand: (commandId: BigString, guildId: BigString) => Promise<Camelize<DiscordApplicationCommand>>;
1667
1803
  /**
@@ -1671,7 +1807,7 @@ export interface RestManager {
1671
1807
  * @param options - The parameters for the fetching of guild application commands
1672
1808
  * @returns A collection of {@link DiscordApplicationCommand} objects assorted by command ID.
1673
1809
  *
1674
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-global-application-commandss}
1810
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#get-global-application-commandss}
1675
1811
  */
1676
1812
  getGuildApplicationCommands: (guildId: BigString, options?: GetGuildApplicationCommandsOptions) => Promise<Camelize<DiscordApplicationCommand>[]>;
1677
1813
  /**
@@ -1683,7 +1819,7 @@ export interface RestManager {
1683
1819
  * @remarks
1684
1820
  * If the bot user is not in the guild, the guild must be discoverable.
1685
1821
  *
1686
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-preview}
1822
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-preview}
1687
1823
  */
1688
1824
  getGuildPreview: (guildId: BigString) => Promise<Camelize<DiscordGuildPreview>>;
1689
1825
  /**
@@ -1695,7 +1831,7 @@ export interface RestManager {
1695
1831
  *
1696
1832
  * @remarks Includes the user field if the bot has the `CREATE_GUILD_EXPRESSIONS` or `MANAGE_GUILD_EXPRESSIONS` permission.
1697
1833
  *
1698
- * @see {@link https://discord.com/developers/docs/resources/sticker#get-guild-sticker}
1834
+ * @see {@link https://docs.discord.com/developers/resources/sticker#get-guild-sticker}
1699
1835
  */
1700
1836
  getGuildSticker: (guildId: BigString, stickerId: BigString) => Promise<Camelize<DiscordSticker>>;
1701
1837
  /**
@@ -1706,7 +1842,7 @@ export interface RestManager {
1706
1842
  *
1707
1843
  * @remarks Includes user fields if the bot has the `CREATE_GUILD_EXPRESSIONS` or `MANAGE_GUILD_EXPRESSIONS` permission.
1708
1844
  *
1709
- * @see {@link https://discord.com/developers/docs/resources/sticker#list-guild-stickers}
1845
+ * @see {@link https://docs.discord.com/developers/resources/sticker#list-guild-stickers}
1710
1846
  */
1711
1847
  getGuildStickers: (guildId: BigString) => Promise<Camelize<DiscordSticker>[]>;
1712
1848
  /**
@@ -1718,7 +1854,7 @@ export interface RestManager {
1718
1854
  * @remarks
1719
1855
  * Requires the `MANAGE_GUILD` permission.
1720
1856
  *
1721
- * @see {@link https://discord.com/developers/docs/resources/guild-template#get-guild-template}
1857
+ * @see {@link https://docs.discord.com/developers/resources/guild-template#get-guild-template}
1722
1858
  */
1723
1859
  getGuildTemplate: (templateCode: string) => Promise<Camelize<DiscordTemplate>>;
1724
1860
  /**
@@ -1730,7 +1866,7 @@ export interface RestManager {
1730
1866
  * @remarks
1731
1867
  * Requires the `MANAGE_GUILD` permission.
1732
1868
  *
1733
- * @see {@link https://discord.com/developers/docs/resources/guild-template#get-guild-templates}
1869
+ * @see {@link https://docs.discord.com/developers/resources/guild-template#get-guild-templates}
1734
1870
  */
1735
1871
  getGuildTemplates: (guildId: BigString) => Promise<Camelize<DiscordTemplate>[]>;
1736
1872
  /**
@@ -1742,7 +1878,7 @@ export interface RestManager {
1742
1878
  * @remarks
1743
1879
  * Requires the `MANAGE_WEBHOOKS` permission.
1744
1880
  *
1745
- * @see {@link https://discord.com/developers/docs/resources/webhook#get-guild-webhooks}
1881
+ * @see {@link https://docs.discord.com/developers/resources/webhook#get-guild-webhooks}
1746
1882
  */
1747
1883
  getGuildWebhooks: (guildId: BigString) => Promise<Camelize<DiscordWebhook>[]>;
1748
1884
  /**
@@ -1754,7 +1890,7 @@ export interface RestManager {
1754
1890
  * @remarks
1755
1891
  * Requires the `MANAGE_GUILD` permission.
1756
1892
  *
1757
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-integrations}
1893
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-integrations}
1758
1894
  */
1759
1895
  getIntegrations: (guildId: BigString) => Promise<Camelize<DiscordIntegration>[]>;
1760
1896
  /**
@@ -1764,7 +1900,7 @@ export interface RestManager {
1764
1900
  * @param options - The parameters for the fetching of the invite.
1765
1901
  * @returns An instance of {@link DiscordInviteMetadata}.
1766
1902
  *
1767
- * @see {@link https://discord.com/developers/docs/resources/invite#get-invite}
1903
+ * @see {@link https://docs.discord.com/developers/resources/invite#get-invite}
1768
1904
  */
1769
1905
  getInvite: (inviteCode: string, options?: GetInvite) => Promise<Camelize<DiscordInviteMetadata>>;
1770
1906
  /**
@@ -1776,7 +1912,7 @@ export interface RestManager {
1776
1912
  * @remarks
1777
1913
  * Requires the `MANAGE_GUILD` or `VIEW_AUDIT_LOG` permission.
1778
1914
  *
1779
- * @see {@link https://discord.com/developers/docs/resources/invite#get-invites}
1915
+ * @see {@link https://docs.discord.com/developers/resources/invite#get-invites}
1780
1916
  */
1781
1917
  getInvites: (guildId: BigString) => Promise<Camelize<DiscordInviteMetadata>[]>;
1782
1918
  /**
@@ -1792,7 +1928,7 @@ export interface RestManager {
1792
1928
  * If getting a message from a guild channel:
1793
1929
  * - Requires the `READ_MESSAGE_HISTORY` permission.
1794
1930
  *
1795
- * @see {@link https://discord.com/developers/docs/resources/channel#get-channel-message}
1931
+ * @see {@link https://docs.discord.com/developers/resources/channel#get-channel-message}
1796
1932
  */
1797
1933
  getMessage: (channelId: BigString, messageId: BigString) => Promise<Camelize<DiscordMessage>>;
1798
1934
  /**
@@ -1808,15 +1944,24 @@ export interface RestManager {
1808
1944
  * If getting a messages from a guild channel:
1809
1945
  * - Requires the `READ_MESSAGE_HISTORY` permission.
1810
1946
  *
1811
- * @see {@link https://discord.com/developers/docs/resources/channel#get-channel-messages}
1947
+ * @see {@link https://docs.discord.com/developers/resources/channel#get-channel-messages}
1812
1948
  */
1813
1949
  getMessages: (channelId: BigString, options?: GetMessagesOptions) => Promise<Camelize<DiscordMessage>[]>;
1950
+ /**
1951
+ * Search messages in a guild.
1952
+ *
1953
+ * @remarks
1954
+ * Requires `READ_MESSAGE_HISTORY` and is restricted by the `MESSAGE_CONTENT` intent.
1955
+ *
1956
+ * @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages}
1957
+ */
1958
+ searchGuildMessages: (guildId: BigString, options?: SearchGuildMessagesOptions) => Promise<Camelize<DiscordSearchGuildMessages | DiscordSearchGuildMessagesIndexing>>;
1814
1959
  /**
1815
1960
  * Returns a sticker pack for the given ID.
1816
1961
  *
1817
1962
  * @returns A {@link DiscordStickerPack} object.
1818
1963
  *
1819
- * @see {@link https://discord.com/developers/docs/resources/sticker#get-sticker-pack}
1964
+ * @see {@link https://docs.discord.com/developers/resources/sticker#get-sticker-pack}
1820
1965
  */
1821
1966
  getStickerPack: (stickerPackId: BigString) => Promise<Camelize<DiscordStickerPack>>;
1822
1967
  /**
@@ -1824,7 +1969,7 @@ export interface RestManager {
1824
1969
  *
1825
1970
  * @returns A collection of {@link DiscordStickerPack} objects assorted by sticker ID.
1826
1971
  *
1827
- * @see {@link https://discord.com/developers/docs/resources/sticker#list-sticker-packs}
1972
+ * @see {@link https://docs.discord.com/developers/resources/sticker#list-sticker-packs}
1828
1973
  */
1829
1974
  getStickerPacks: () => Promise<Camelize<DiscordStickerPack>[]>;
1830
1975
  /**
@@ -1840,7 +1985,7 @@ export interface RestManager {
1840
1985
  *
1841
1986
  * Does not support ephemeral follow-up messages due to these being stateless.
1842
1987
  *
1843
- * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#get-original-interaction-response}
1988
+ * @see {@link https://docs.discord.com/developers/interactions/receiving-and-responding#get-original-interaction-response}
1844
1989
  */
1845
1990
  getOriginalInteractionResponse: (token: string) => Promise<Camelize<DiscordMessage>>;
1846
1991
  /**
@@ -1855,7 +2000,7 @@ export interface RestManager {
1855
2000
  *
1856
2001
  * If the user is missing the `READ_MESSAGE_HISTORY` permission in the channel, then no pins will be returned.
1857
2002
  *
1858
- * @see {@link https://discord.com/developers/docs/resources/message#get-channel-pins}
2003
+ * @see {@link https://docs.discord.com/developers/resources/message#get-channel-pins}
1859
2004
  */
1860
2005
  getChannelPins: (channelId: BigString, options?: GetChannelPinsOptions) => Promise<Camelize<DiscordGetChannelPins>>;
1861
2006
  /**
@@ -1870,7 +2015,7 @@ export interface RestManager {
1870
2015
  * If getting a message from a guild channel:
1871
2016
  * - Requires the `READ_MESSAGE_HISTORY` permission.
1872
2017
  *
1873
- * @see {@link https://discord.com/developers/docs/resources/message#get-pinned-messages-deprecated}
2018
+ * @see {@link https://docs.discord.com/developers/resources/message#get-pinned-messages-deprecated}
1874
2019
  * @deprecated Use {@link getChannelPins} instead.
1875
2020
  */
1876
2021
  getPinnedMessages: (channelId: BigString) => Promise<Camelize<DiscordMessage>[]>;
@@ -1889,7 +2034,7 @@ export interface RestManager {
1889
2034
  *
1890
2035
  * Threads are ordered by the `archive_timestamp` property included in the metadata of the object in descending order.
1891
2036
  *
1892
- * @see {@link https://discord.com/developers/docs/resources/channel#list-private-archived-threads}
2037
+ * @see {@link https://docs.discord.com/developers/resources/channel#list-private-archived-threads}
1893
2038
  */
1894
2039
  getPrivateArchivedThreads: (channelId: BigString, options?: ListArchivedThreads) => Promise<Camelize<DiscordListArchivedThreads>>;
1895
2040
  /**
@@ -1906,7 +2051,7 @@ export interface RestManager {
1906
2051
  *
1907
2052
  * Threads are ordered by the `id` property in descending order.
1908
2053
  *
1909
- * @see {@link https://discord.com/developers/docs/resources/channel#list-joined-private-archived-threads}
2054
+ * @see {@link https://docs.discord.com/developers/resources/channel#list-joined-private-archived-threads}
1910
2055
  */
1911
2056
  getPrivateJoinedArchivedThreads: (channelId: BigString, options?: ListArchivedThreads) => Promise<Camelize<DiscordListArchivedThreads>>;
1912
2057
  /**
@@ -1919,7 +2064,7 @@ export interface RestManager {
1919
2064
  * @remarks
1920
2065
  * Requires the `MANAGE_GUILD` and `KICK_MEMBERS` permissions.
1921
2066
  *
1922
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-prune-count}
2067
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-prune-count}
1923
2068
  */
1924
2069
  getPruneCount: (guildId: BigString, options?: GetGuildPruneCountQuery) => Promise<Camelize<DiscordPrunedCount>>;
1925
2070
  /**
@@ -1937,7 +2082,7 @@ export interface RestManager {
1937
2082
  *
1938
2083
  * Threads are ordered by the `archive_timestamp` property included in the metadata of the object in descending order.
1939
2084
  *
1940
- * @see {@link https://discord.com/developers/docs/resources/channel#list-public-archived-threads}
2085
+ * @see {@link https://docs.discord.com/developers/resources/channel#list-public-archived-threads}
1941
2086
  */
1942
2087
  getPublicArchivedThreads: (channelId: BigString, options?: ListArchivedThreads) => Promise<Camelize<DiscordListArchivedThreads>>;
1943
2088
  /**
@@ -1949,7 +2094,7 @@ export interface RestManager {
1949
2094
  * @remarks
1950
2095
  * ⚠️ This endpoint should be used sparingly due to {@link DiscordRole} objects already being included in guild payloads.
1951
2096
  *
1952
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-roles}
2097
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-roles}
1953
2098
  */
1954
2099
  getRoles: (guildId: BigString) => Promise<Camelize<DiscordRole>[]>;
1955
2100
  /**
@@ -1959,7 +2104,7 @@ export interface RestManager {
1959
2104
  * @param roleId - The ID of the role.
1960
2105
  * @returns A {@link DiscordRole} object.
1961
2106
  *
1962
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-role}
2107
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-role}
1963
2108
  */
1964
2109
  getRole: (guildId: BigString, roleId: BigString) => Promise<Camelize<DiscordRole>>;
1965
2110
  /**
@@ -1970,7 +2115,7 @@ export interface RestManager {
1970
2115
  * @param options - The parameters for the fetching of the scheduled event.
1971
2116
  * @returns An instance of {@link DiscordScheduledEvent}.
1972
2117
  *
1973
- * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event}
2118
+ * @see {@link https://docs.discord.com/developers/resources/guild-scheduled-event#get-guild-scheduled-event}
1974
2119
  */
1975
2120
  getScheduledEvent: (guildId: BigString, eventId: BigString, options?: {
1976
2121
  withUserCount?: boolean;
@@ -1982,7 +2127,7 @@ export interface RestManager {
1982
2127
  * @param options - The parameters for the fetching of the scheduled events.
1983
2128
  * @returns A collection of {@link DiscordScheduledEvent} objects assorted by event ID.
1984
2129
  *
1985
- * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#list-scheduled-events-for-guild}
2130
+ * @see {@link https://docs.discord.com/developers/resources/guild-scheduled-event#list-scheduled-events-for-guild}
1986
2131
  */
1987
2132
  getScheduledEvents: (guildId: BigString, options?: GetScheduledEvents) => Promise<Camelize<DiscordScheduledEvent>[]>;
1988
2133
  /**
@@ -1998,7 +2143,7 @@ export interface RestManager {
1998
2143
  *
1999
2144
  * Users are ordered by their IDs in _ascending_ order.
2000
2145
  *
2001
- * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event-users}
2146
+ * @see {@link https://docs.discord.com/developers/resources/guild-scheduled-event#get-guild-scheduled-event-users}
2002
2147
  */
2003
2148
  getScheduledEventUsers: (guildId: BigString, eventId: BigString, options?: GetScheduledEventUsers) => Promise<Array<{
2004
2149
  user: Camelize<DiscordUser>;
@@ -2012,7 +2157,7 @@ export interface RestManager {
2012
2157
  * @param channelId - The ID of the stage channel the stage instance is associated with.
2013
2158
  * @returns An instance of {@link DiscordStageInstance}.
2014
2159
  *
2015
- * @see {@link https://discord.com/developers/docs/resources/stage-instance#get-stage-instance}
2160
+ * @see {@link https://docs.discord.com/developers/resources/stage-instance#get-stage-instance}
2016
2161
  */
2017
2162
  getStageInstance: (channelId: BigString) => Promise<Camelize<DiscordStageInstance>>;
2018
2163
  /**
@@ -2021,7 +2166,7 @@ export interface RestManager {
2021
2166
  * @param guildId - The ID of the guild to get the voice state from.
2022
2167
  * @returns An instance of {@link DiscordVoiceState}.
2023
2168
  *
2024
- * @see {@link https://discord.com/developers/docs/resources/voice#get-current-user-voice-state}
2169
+ * @see {@link https://docs.discord.com/developers/resources/voice#get-current-user-voice-state}
2025
2170
  */
2026
2171
  getOwnVoiceState: (guildId: BigString) => Promise<Camelize<DiscordVoiceState>>;
2027
2172
  /**
@@ -2031,7 +2176,10 @@ export interface RestManager {
2031
2176
  * @param userId - The ID of the user to get the voice state from
2032
2177
  * @returns An instance of {@link DiscordVoiceState}.
2033
2178
  *
2034
- * @see {@link https://discord.com/developers/docs/resources/voice#get-user-voice-state}
2179
+ * @remarks
2180
+ * If the specified user is connected to a voice channel, the current user must have permission to connect to the channel.
2181
+ *
2182
+ * @see {@link https://docs.discord.com/developers/resources/voice#get-user-voice-state}
2035
2183
  */
2036
2184
  getUserVoiceState: (guildId: BigString, userId: BigString) => Promise<Camelize<DiscordVoiceState>>;
2037
2185
  /**
@@ -2040,7 +2188,7 @@ export interface RestManager {
2040
2188
  * @param stickerId The ID of the sticker to get
2041
2189
  * @returns A {@link DiscordSticker}
2042
2190
  *
2043
- * @see {@link https://discord.com/developers/docs/resources/sticker#get-sticker}
2191
+ * @see {@link https://docs.discord.com/developers/resources/sticker#get-sticker}
2044
2192
  */
2045
2193
  getSticker: (stickerId: BigString) => Promise<Camelize<DiscordSticker>>;
2046
2194
  /**
@@ -2051,7 +2199,7 @@ export interface RestManager {
2051
2199
  * @param options - The parameters for the fetching of the thread member.
2052
2200
  * @returns An instance of {@link DiscordThreadMember}.
2053
2201
  *
2054
- * @see {@link https://discord.com/developers/docs/resources/channel#get-thread-member}
2202
+ * @see {@link https://docs.discord.com/developers/resources/channel#get-thread-member}
2055
2203
  */
2056
2204
  getThreadMember: (channelId: BigString, userId: BigString, options?: GetThreadMember) => Promise<Camelize<DiscordThreadMember>>;
2057
2205
  /**
@@ -2064,7 +2212,7 @@ export interface RestManager {
2064
2212
  * @remarks
2065
2213
  * Requires the application to have the `GUILD_MEMBERS` privileged intent enabled.
2066
2214
  *
2067
- * @see {@link https://discord.com/developers/docs/resources/channel#list-thread-members}
2215
+ * @see {@link https://docs.discord.com/developers/resources/channel#list-thread-members}
2068
2216
  */
2069
2217
  getThreadMembers: (channelId: BigString, options?: ListThreadMembers) => Promise<Camelize<DiscordThreadMember>[]>;
2070
2218
  /**
@@ -2076,7 +2224,7 @@ export interface RestManager {
2076
2224
  * @param options - The parameters for the fetching of the users.
2077
2225
  * @returns A collection of {@link DiscordUser} objects assorted by user ID.
2078
2226
  *
2079
- * @see {@link https://discord.com/developers/docs/resources/channel#get-reactions}
2227
+ * @see {@link https://docs.discord.com/developers/resources/channel#get-reactions}
2080
2228
  */
2081
2229
  getReactions: (channelId: BigString, messageId: BigString, reaction: string, options?: GetReactions) => Promise<Camelize<DiscordUser>[]>;
2082
2230
  /**
@@ -2118,7 +2266,7 @@ export interface RestManager {
2118
2266
  * @remarks
2119
2267
  * The access token requires the `role_connections.write` scope.
2120
2268
  *
2121
- * @see {@link https://discord.com/developers/docs/resources/user#get-user-application-role-connection}
2269
+ * @see {@link https://docs.discord.com/developers/resources/user#get-user-application-role-connection}
2122
2270
  */
2123
2271
  getUserApplicationRoleConnection: (bearerToken: string, applicationId: BigString) => Promise<Camelize<DiscordApplicationRoleConnection>>;
2124
2272
  /**
@@ -2132,7 +2280,7 @@ export interface RestManager {
2132
2280
  *
2133
2281
  * The `code` property will be `null` if the guild does not have a set vanity url.
2134
2282
  *
2135
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-vanity-url}
2283
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-vanity-url}
2136
2284
  */
2137
2285
  getVanityUrl: (guildId: BigString) => Promise<Camelize<DiscordVanityUrl>>;
2138
2286
  /**
@@ -2141,7 +2289,7 @@ export interface RestManager {
2141
2289
  * @param guildId - The ID of the guild to get the voice regions for.
2142
2290
  * @returns A collection of {@link DiscordVoiceRegion} objects assorted by voice region ID.
2143
2291
  *
2144
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-voice-regions}
2292
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-voice-regions}
2145
2293
  */
2146
2294
  getVoiceRegions: (guildId: BigString) => Promise<Camelize<DiscordVoiceRegion>[]>;
2147
2295
  /**
@@ -2153,7 +2301,7 @@ export interface RestManager {
2153
2301
  * @remarks
2154
2302
  * Requires the `MANAGE_WEBHOOKS` permission unless the application making the request owns the webhook.
2155
2303
  *
2156
- * @see {@link https://discord.com/developers/docs/resources/webhook#get-webhook}
2304
+ * @see {@link https://docs.discord.com/developers/resources/webhook#get-webhook}
2157
2305
  */
2158
2306
  getWebhook: (webhookId: BigString) => Promise<Camelize<DiscordWebhook>>;
2159
2307
  /**
@@ -2165,7 +2313,7 @@ export interface RestManager {
2165
2313
  * @param options - The parameters for the fetching of the message.
2166
2314
  * @returns An instance of {@link DiscordMessage}.
2167
2315
  *
2168
- * @see {@link https://discord.com/developers/docs/resources/webhook#get-webhook-message}
2316
+ * @see {@link https://docs.discord.com/developers/resources/webhook#get-webhook-message}
2169
2317
  */
2170
2318
  getWebhookMessage: (webhookId: BigString, token: string, messageId: BigString, options?: GetWebhookMessageOptions) => Promise<Camelize<DiscordMessage>>;
2171
2319
  /**
@@ -2175,7 +2323,7 @@ export interface RestManager {
2175
2323
  * @param token - The webhook token, used to get the webhook.
2176
2324
  * @returns An instance of {@link DiscordWebhook}.
2177
2325
  *
2178
- * @see {@link https://discord.com/developers/docs/resources/webhook#get-webhook-with-token}
2326
+ * @see {@link https://docs.discord.com/developers/resources/webhook#get-webhook-with-token}
2179
2327
  */
2180
2328
  getWebhookWithToken: (webhookId: BigString, token: string) => Promise<Camelize<DiscordWebhook>>;
2181
2329
  /**
@@ -2188,7 +2336,7 @@ export interface RestManager {
2188
2336
  * If the welcome screen is not enabled:
2189
2337
  * - Requires the `MANAGE_GUILD` permission.
2190
2338
  *
2191
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-welcome-screen}
2339
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-welcome-screen}
2192
2340
  */
2193
2341
  getWelcomeScreen: (guildId: BigString) => Promise<Camelize<DiscordWelcomeScreen>>;
2194
2342
  /**
@@ -2200,7 +2348,7 @@ export interface RestManager {
2200
2348
  * @remarks
2201
2349
  * Fires an `INVITE_CREATED` Gateway event when an invite channel is defined and a new `Invite` is generated.
2202
2350
  *
2203
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-widget}
2351
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-widget}
2204
2352
  */
2205
2353
  getWidget: (guildId: BigString) => Promise<Camelize<DiscordGuildWidget>>;
2206
2354
  /**
@@ -2212,7 +2360,7 @@ export interface RestManager {
2212
2360
  * @remarks
2213
2361
  * Requires the `MANAGE_GUILD` permission.
2214
2362
  *
2215
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-widget-settings}
2363
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-widget-settings}
2216
2364
  */
2217
2365
  getWidgetSettings: (guildId: BigString) => Promise<Camelize<DiscordGuildWidgetSettings>>;
2218
2366
  /**
@@ -2225,7 +2373,7 @@ export interface RestManager {
2225
2373
  *
2226
2374
  * Fires a _Thread Members Update_ gateway event.
2227
2375
  *
2228
- * @see {@link https://discord.com/developers/docs/resources/channel#join-thread}
2376
+ * @see {@link https://docs.discord.com/developers/resources/channel#join-thread}
2229
2377
  */
2230
2378
  joinThread: (channelId: BigString) => Promise<void>;
2231
2379
  /**
@@ -2236,7 +2384,7 @@ export interface RestManager {
2236
2384
  * @remarks
2237
2385
  * Fires a _Guild Delete_ event.
2238
2386
  *
2239
- * @see {@link https://discord.com/developers/docs/resources/user#leave-guild}
2387
+ * @see {@link https://docs.discord.com/developers/resources/user#leave-guild}
2240
2388
  */
2241
2389
  leaveGuild: (guildId: BigString) => Promise<void>;
2242
2390
  /**
@@ -2249,7 +2397,7 @@ export interface RestManager {
2249
2397
  *
2250
2398
  * Fires a _Thread Members Update_ gateway event.
2251
2399
  *
2252
- * @see {@link https://discord.com/developers/docs/resources/channel#leave-thread}
2400
+ * @see {@link https://docs.discord.com/developers/resources/channel#leave-thread}
2253
2401
  */
2254
2402
  leaveThread: (channelId: BigString) => Promise<void>;
2255
2403
  /**
@@ -2267,7 +2415,7 @@ export interface RestManager {
2267
2415
  *
2268
2416
  * Fires a _Message Create_ event in the guilds the subscribed channels are in.
2269
2417
  *
2270
- * @see {@link https://discord.com/developers/docs/resources/channel#crosspost-message}
2418
+ * @see {@link https://docs.discord.com/developers/resources/channel#crosspost-message}
2271
2419
  */
2272
2420
  publishMessage: (channelId: BigString, messageId: BigString) => Promise<Camelize<DiscordMessage>>;
2273
2421
  /**
@@ -2283,7 +2431,7 @@ export interface RestManager {
2283
2431
  *
2284
2432
  * Fires a _Guild Member Update_ gateway event.
2285
2433
  *
2286
- * @see {@link https://discord.com/developers/docs/resources/guild#remove-guild-member-role}
2434
+ * @see {@link https://docs.discord.com/developers/resources/guild#remove-guild-member-role}
2287
2435
  */
2288
2436
  removeRole: (guildId: BigString, userId: BigString, roleId: BigString, reason?: string) => Promise<void>;
2289
2437
  /**
@@ -2300,7 +2448,7 @@ export interface RestManager {
2300
2448
  *
2301
2449
  * Fires a _Thread Members Update_ gateway event.
2302
2450
  *
2303
- * @see {@link https://discord.com/developers/docs/resources/channel#remove-thread-member}
2451
+ * @see {@link https://docs.discord.com/developers/resources/channel#remove-thread-member}
2304
2452
  */
2305
2453
  removeThreadMember: (channelId: BigString, userId: BigString) => Promise<void>;
2306
2454
  /**
@@ -2309,7 +2457,7 @@ export interface RestManager {
2309
2457
  * @param channelId - The ID of the channel to remove the recipient user of.
2310
2458
  * @param userId - The user ID of the user to remove.
2311
2459
  *
2312
- * @see {@link https://discord.com/developers/docs/resources/channel#group-dm-remove-recipient}
2460
+ * @see {@link https://docs.discord.com/developers/resources/channel#group-dm-remove-recipient}
2313
2461
  */
2314
2462
  removeDmRecipient: (channelId: BigString, userId: BigString) => Promise<void>;
2315
2463
  /**
@@ -2336,7 +2484,7 @@ export interface RestManager {
2336
2484
  *
2337
2485
  * Fires a _Message Create_ gateway event.
2338
2486
  *
2339
- * @see {@link https://discord.com/developers/docs/resources/channel#create-message}
2487
+ * @see {@link https://docs.discord.com/developers/resources/channel#create-message}
2340
2488
  */
2341
2489
  sendMessage: (channelId: BigString, options: CreateMessageOptions) => Promise<Camelize<DiscordMessage>>;
2342
2490
  /**
@@ -2360,7 +2508,7 @@ export interface RestManager {
2360
2508
  *
2361
2509
  * Fires a _Message Create_ event.
2362
2510
  *
2363
- * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#create-followup-message}
2511
+ * @see {@link https://docs.discord.com/developers/interactions/receiving-and-responding#create-followup-message}
2364
2512
  */
2365
2513
  sendFollowupMessage: (token: string, options: InteractionCallbackData) => Promise<Camelize<DiscordMessage>>;
2366
2514
  /**
@@ -2383,7 +2531,7 @@ export interface RestManager {
2383
2531
  *
2384
2532
  * Fires a _Message Create_ event.
2385
2533
  *
2386
- * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#create-interaction-response}
2534
+ * @see {@link https://docs.discord.com/developers/interactions/receiving-and-responding#create-interaction-response}
2387
2535
  */
2388
2536
  sendInteractionResponse: (interactionId: BigString, token: string, options: InteractionResponse, params?: InteractionCallbackOptions) => Promise<void | Camelize<DiscordInteractionCallbackResponse>>;
2389
2537
  /**
@@ -2404,7 +2552,7 @@ export interface RestManager {
2404
2552
  *
2405
2553
  * Fires a _Thread Create_ gateway event.
2406
2554
  *
2407
- * @see {@link https://discord.com/developers/docs/resources/channel#start-thread-from-message}
2555
+ * @see {@link https://docs.discord.com/developers/resources/channel#start-thread-from-message}
2408
2556
  */
2409
2557
  startThreadWithMessage: (channelId: BigString, messageId: BigString, options: StartThreadWithMessage, reason?: string) => Promise<Camelize<DiscordChannel>>;
2410
2558
  /**
@@ -2420,7 +2568,7 @@ export interface RestManager {
2420
2568
  *
2421
2569
  * Fires a _Thread Create_ gateway event.
2422
2570
  *
2423
- * @see {@link https://discord.com/developers/docs/resources/channel#start-thread-without-message}
2571
+ * @see {@link https://docs.discord.com/developers/resources/channel#start-thread-without-message}
2424
2572
  */
2425
2573
  startThreadWithoutMessage: (channelId: BigString, options: StartThreadWithoutMessage, reason?: string) => Promise<Camelize<DiscordChannel>>;
2426
2574
  /**
@@ -2457,7 +2605,7 @@ export interface RestManager {
2457
2605
  *
2458
2606
  * Fires a _Guild Update_ gateway event.
2459
2607
  *
2460
- * @see {@link https://discord.com/developers/docs/resources/guild-template#get-guild-templates}
2608
+ * @see {@link https://docs.discord.com/developers/resources/guild-template#get-guild-templates}
2461
2609
  */
2462
2610
  syncGuildTemplate: (guildId: BigString) => Promise<Camelize<DiscordTemplate>>;
2463
2611
  /**
@@ -2472,7 +2620,7 @@ export interface RestManager {
2472
2620
  *
2473
2621
  * Fires a _Typing Start_ gateway event.
2474
2622
  *
2475
- * @see {@link https://discord.com/developers/docs/resources/channel#trigger-typing-indicator}
2623
+ * @see {@link https://docs.discord.com/developers/resources/channel#trigger-typing-indicator}
2476
2624
  */
2477
2625
  triggerTypingIndicator: (channelId: BigString) => Promise<void>;
2478
2626
  /**
@@ -2490,7 +2638,7 @@ export interface RestManager {
2490
2638
  * When using the bearer token the token needs the `applications.commands.update` scope and must be a `Client grant` token.
2491
2639
  * You will be able to update only your own application commands
2492
2640
  *
2493
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#bulk-overwrite-global-application-commands}
2641
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#bulk-overwrite-global-application-commands}
2494
2642
  */
2495
2643
  upsertGlobalApplicationCommands: (commands: CreateApplicationCommand[], options?: UpsertGlobalApplicationCommandOptions) => Promise<Camelize<DiscordApplicationCommand>[]>;
2496
2644
  /**
@@ -2509,7 +2657,7 @@ export interface RestManager {
2509
2657
  * When using the bearer token the token needs the `applications.commands.update` scope and must be a `Client grant` token.
2510
2658
  * You will be able to update only your own application commands
2511
2659
  *
2512
- * @see {@link https://discord.com/developers/docs/interactions/application-commands#bulk-overwrite-guild-application-commands}
2660
+ * @see {@link https://docs.discord.com/developers/interactions/application-commands#bulk-overwrite-guild-application-commands}
2513
2661
  */
2514
2662
  upsertGuildApplicationCommands: (guildId: BigString, commands: CreateApplicationCommand[], options?: UpsertGuildApplicationCommandOptions) => Promise<Camelize<DiscordApplicationCommand>[]>;
2515
2663
  /**
@@ -2525,7 +2673,7 @@ export interface RestManager {
2525
2673
  *
2526
2674
  * Fires a _Guild Ban Add_ gateway event.
2527
2675
  *
2528
- * @see {@link https://discord.com/developers/docs/resources/guild#create-guild-ban}
2676
+ * @see {@link https://docs.discord.com/developers/resources/guild#create-guild-ban}
2529
2677
  */
2530
2678
  banMember: (guildId: BigString, userId: BigString, options?: CreateGuildBan, reason?: string) => Promise<void>;
2531
2679
  /**
@@ -2542,7 +2690,7 @@ export interface RestManager {
2542
2690
  *
2543
2691
  * Fires as many _Guild Ban Add_ gateway events as many user where banned.
2544
2692
  *
2545
- * @see {@link https://discord.com/developers/docs/resources/guild#bulk-guild-ban}
2693
+ * @see {@link https://docs.discord.com/developers/resources/guild#bulk-guild-ban}
2546
2694
  */
2547
2695
  bulkBanMembers: (guildId: BigString, options: CreateGuildBulkBan, reason?: string) => Promise<Camelize<DiscordBulkBan>>;
2548
2696
  /**
@@ -2556,9 +2704,9 @@ export interface RestManager {
2556
2704
  * @remarks
2557
2705
  * Fires a _Guild Member Update_ gateway event.
2558
2706
  *
2559
- * @see {@link https://discord.com/developers/docs/resources/guild#modify-current-member}
2707
+ * @see {@link https://docs.discord.com/developers/resources/guild#modify-current-member}
2560
2708
  */
2561
- editBotMember: (guildId: BigString, options: EditBotMemberOptions, reason?: string) => Promise<Camelize<DiscordMember>>;
2709
+ editCurrentMember: (guildId: BigString, options: ModifyCurrentMember, reason?: string) => Promise<Camelize<DiscordMember>>;
2562
2710
  /**
2563
2711
  * Edits a member's properties.
2564
2712
  *
@@ -2573,20 +2721,9 @@ export interface RestManager {
2573
2721
  *
2574
2722
  * Fires a _Guild Member Update_ gateway event.
2575
2723
  *
2576
- * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-member}
2724
+ * @see {@link https://docs.discord.com/developers/resources/guild#modify-guild-member}
2577
2725
  */
2578
2726
  editMember: (guildId: BigString, userId: BigString, options: ModifyGuildMember, reason?: string) => Promise<Camelize<DiscordMember>>;
2579
- /**
2580
- * Gets the member object by user ID.
2581
- *
2582
-
2583
- * @param guildId - The ID of the guild to get the member object for.
2584
- * @param userId - The ID of the user to get the member object for.
2585
- * @returns An instance of {@link DiscordMemberWithUser}.
2586
- *
2587
- * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-member}
2588
- */
2589
- getMember: (guildId: BigString, userId: BigString) => Promise<Camelize<DiscordMemberWithUser>>;
2590
2727
  /**
2591
2728
  * Gets the current member object.
2592
2729
  *
@@ -2597,9 +2734,20 @@ export interface RestManager {
2597
2734
  * @remarks
2598
2735
  * The access tokens needs the `guilds.members.read` scope
2599
2736
  *
2600
- * @see {@link https://discord.com/developers/docs/resources/user#get-current-user-guild-member}
2737
+ * @see {@link https://docs.discord.com/developers/resources/user#get-current-user-guild-member}
2601
2738
  */
2602
2739
  getCurrentMember: (guildId: BigString, bearerToken: string) => Promise<Camelize<DiscordMemberWithUser>>;
2740
+ /**
2741
+ * Gets the member object by user ID.
2742
+ *
2743
+
2744
+ * @param guildId - The ID of the guild to get the member object for.
2745
+ * @param userId - The ID of the user to get the member object for.
2746
+ * @returns An instance of {@link DiscordMemberWithUser}.
2747
+ *
2748
+ * @see {@link https://docs.discord.com/developers/resources/guild#get-guild-member}
2749
+ */
2750
+ getMember: (guildId: BigString, userId: BigString) => Promise<Camelize<DiscordMemberWithUser>>;
2603
2751
  /**
2604
2752
  * Gets the list of members for a guild.
2605
2753
  *
@@ -2612,11 +2760,11 @@ export interface RestManager {
2612
2760
  *
2613
2761
  * ⚠️ It is not recommended to use this endpoint with very large bots. Instead, opt to use `fetchMembers()`:
2614
2762
  * REST communication only permits 50 requests to be made per second, while gateways allow for up to 120 requests
2615
- * per minute per shard. For more information, read {@link https://discord.com/developers/docs/topics/rate-limits#rate-limits}.
2763
+ * per minute per shard. For more information, read {@link https://docs.discord.com/developers/topics/rate-limits#rate-limits}.
2616
2764
  *
2617
- * @see {@link https://discord.com/developers/docs/resources/guild#list-guild-members}
2618
- * @see {@link https://discord.com/developers/docs/topics/gateway#request-guild-members}
2619
- * @see {@link https://discord.com/developers/docs/topics/rate-limits#rate-limits}
2765
+ * @see {@link https://docs.discord.com/developers/resources/guild#list-guild-members}
2766
+ * @see {@link https://docs.discord.com/developers/events/gateway-events#request-guild-members}
2767
+ * @see {@link https://docs.discord.com/developers/topics/rate-limits#rate-limits}
2620
2768
  */
2621
2769
  getMembers: (guildId: BigString, options: ListGuildMembers) => Promise<Camelize<DiscordMemberWithUser>[]>;
2622
2770
  /**
@@ -2639,7 +2787,7 @@ export interface RestManager {
2639
2787
  *
2640
2788
  * Fires a _Guild Member Remove_ gateway event.
2641
2789
  *
2642
- * @see {@link https://discord.com/developers/docs/resources/guild#remove-guild-member}
2790
+ * @see {@link https://docs.discord.com/developers/resources/guild#remove-guild-member}
2643
2791
  */
2644
2792
  kickMember: (guildId: BigString, userId: BigString, reason?: string) => Promise<void>;
2645
2793
  /**
@@ -2654,7 +2802,7 @@ export interface RestManager {
2654
2802
  *
2655
2803
  * Fires a _Channel Pins Update_ event.
2656
2804
  *
2657
- * @see {@link https://discord.com/developers/docs/resources/message#pin-message}
2805
+ * @see {@link https://docs.discord.com/developers/resources/message#pin-message}
2658
2806
  */
2659
2807
  pinMessage: (channelId: BigString, messageId: BigString, reason?: string) => Promise<void>;
2660
2808
  /**
@@ -2675,7 +2823,7 @@ export interface RestManager {
2675
2823
  *
2676
2824
  * Fires a _Guild Member Remove_ gateway event for every member kicked.
2677
2825
  *
2678
- * @see {@link https://discord.com/developers/docs/resources/guild#begin-guild-prune}
2826
+ * @see {@link https://docs.discord.com/developers/resources/guild#begin-guild-prune}
2679
2827
  */
2680
2828
  pruneMembers: (guildId: BigString, options: BeginGuildPrune, reason?: string) => Promise<{
2681
2829
  pruned: number | null;
@@ -2689,7 +2837,7 @@ export interface RestManager {
2689
2837
  * @param options - The parameters for searching through the members.
2690
2838
  * @returns A collection of {@link DiscordMember} objects assorted by user ID.
2691
2839
  *
2692
- * @see {@link https://discord.com/developers/docs/resources/guild#search-guild-members}
2840
+ * @see {@link https://docs.discord.com/developers/resources/guild#search-guild-members}
2693
2841
  */
2694
2842
  searchMembers: (guildId: BigString, query: string, options?: Omit<SearchMembers, 'query'>) => Promise<Camelize<DiscordMemberWithUser>[]>;
2695
2843
  /**
@@ -2705,7 +2853,7 @@ export interface RestManager {
2705
2853
  *
2706
2854
  * Fires a _Guild Ban Remove_ gateway event.
2707
2855
  *
2708
- * @see {@link https://discord.com/developers/docs/resources/guild#remove-guild-ban}
2856
+ * @see {@link https://docs.discord.com/developers/resources/guild#remove-guild-ban}
2709
2857
  */
2710
2858
  unbanMember: (guildId: BigString, userId: BigString, reason?: string) => Promise<void>;
2711
2859
  /**
@@ -2720,7 +2868,7 @@ export interface RestManager {
2720
2868
  *
2721
2869
  * Fires a _Channel Pins Update_ event.
2722
2870
  *
2723
- * @see {@link https://discord.com/developers/docs/resources/message#unpin-message}
2871
+ * @see {@link https://docs.discord.com/developers/resources/message#unpin-message}
2724
2872
  */
2725
2873
  unpinMessage: (channelId: BigString, messageId: BigString, reason?: string) => Promise<void>;
2726
2874
  /**
@@ -2914,6 +3062,18 @@ export interface RestManager {
2914
3062
  * @returns The created lobby
2915
3063
  */
2916
3064
  createLobby: (options: CreateLobby) => Promise<Camelize<DiscordLobby>>;
3065
+ /**
3066
+ * Creates a new lobby for the application identified by a `secret`, or joins the calling user to the existing lobby with that secret if one already exists.
3067
+ *
3068
+ * Updates lobby metadata and the calling member's metadata on join.
3069
+ *
3070
+ * @param options - The options to create or join the lobby
3071
+ * @returns - The created or joined lobby
3072
+ *
3073
+ * @remarks
3074
+ * Uses `Bearer` token for authorization with the `sdk.social_layer` scope.
3075
+ */
3076
+ createOrJoinLobby: (options: CreateOrJoinLobby) => Promise<Camelize<DiscordLobby>>;
2917
3077
  /**
2918
3078
  * Returns a lobby object for the specified lobby id, if it exists.
2919
3079
  *
@@ -2947,6 +3107,22 @@ export interface RestManager {
2947
3107
  * @returns The lobby member object
2948
3108
  */
2949
3109
  addMemberToLobby: (lobbyId: BigString, userId: BigString, options: AddLobbyMember) => Promise<Camelize<DiscordLobbyMember>>;
3110
+ /**
3111
+ * Adds, updates, or removes up to 25 members from the specified lobby in a single request.
3112
+ *
3113
+ * @param lobbyId - The ID of the lobby to add, update, or remove members from
3114
+ * @param options - The options to add, update, or remove members from the lobby
3115
+ * @returns Returns an array of lobby member objects for the upserted members. Removed members are not included in the response.
3116
+ *
3117
+ * @remarks
3118
+ * Members with `remove_member: false` (the default) are upserted — added if not present, or updated with the provided metadata and flags if already a member. Members with `remove_member: true` are removed.
3119
+ *
3120
+ * Users unknown to Discord will return a 404 UNKNOWN_USER error.
3121
+ * Users that fail permission checks or who have already reached the maximum number of lobbies per application (and are not already a member of this lobby) are silently dropped from the upsert set.
3122
+ *
3123
+ * @see {@link https://docs.discord.com/developers/resources/lobby#bulk-update-lobby-members}
3124
+ */
3125
+ bulkUpdateLobbyMembers: (lobbyId: BigString, options: BulkUpdateLobbyMember[]) => Promise<Camelize<DiscordLobbyMember>[]>;
2950
3126
  /**
2951
3127
  * Removes the provided user from the specified lobby. It is safe to call this even if the user is no longer a member of the lobby, but will fail if the lobby does not exist.
2952
3128
  *
@@ -2989,6 +3165,77 @@ export interface RestManager {
2989
3165
  * Uses bearer token for authorization and the user must be a lobby member with the CanLinkLobby lobby member flag.
2990
3166
  */
2991
3167
  unlinkChannelToLobby: (lobbyId: BigString, bearerToken: string) => Promise<Camelize<DiscordLobby>>;
3168
+ /**
3169
+ * Sets the moderation metadata for a lobby message. The metadata is app-scoped and delivered to active game clients via the Social SDK as a realtime message update.
3170
+ *
3171
+ * @param lobbyId - The ID of the lobby to set the moderation metadata
3172
+ * @param messageId - The ID of the message to set the moderation metadata
3173
+ * @param options - The moderation metadata to set
3174
+ *
3175
+ * @remarks
3176
+ * Uses `Bot` token for authorization.
3177
+ *
3178
+ * For the options: Free-form key–value pairs describing the moderation decision. Up to 5 keys; key length <= 1024 characters; value length <= 2000 characters
3179
+ *
3180
+ * @see {@link https://discord.com/developers/docs/game-sdk/social-sdk/chat-moderation#server-side-chat-moderation} for the full moderation flow.
3181
+ */
3182
+ updateLobbyMessageModerationMetadata: (lobbyId: BigString, messageId: BigString, options: Record<string, string>) => Promise<void>;
3183
+ /**
3184
+ * Sends a message to the specified lobby. The calling user must be a member of the lobby.
3185
+ *
3186
+ * @param bearerToken - The access token of the user
3187
+ * @param lobbyId - The ID of the lobby to send the message to
3188
+ * @param options - The options to send the message
3189
+ * @returns Returns the created lobby message object.
3190
+ *
3191
+ * @remarks
3192
+ * Uses `Bearer` token for authorization with the `sdk.social_layer` scope.
3193
+ *
3194
+ * If the lobby has a linked channel, the message is also forwarded to that channel.
3195
+ * If forwarding fails (for example, due to AutoMod), the lobby message is still delivered to other lobby members.
3196
+ */
3197
+ sendLobbyMessage: (bearerToken: string, lobbyId: BigString, options: SendLobbyMessage) => Promise<Camelize<DiscordLobbyMessage>>;
3198
+ /**
3199
+ * Returns the most recent messages in the specified lobby. The calling user must be a member of the lobby.
3200
+ *
3201
+ * @param bearerToken - The access token of the user
3202
+ * @param lobbyId - The ID of the lobby to get the messages from
3203
+ * @param options - The options to get the messages
3204
+ * @returns Returns an array of lobby message objects
3205
+ *
3206
+ * @remarks
3207
+ * Uses `Bearer` token for authorization with the `sdk.social_layer` scope.
3208
+ */
3209
+ getLobbyMessages: (bearerToken: string, lobbyId: BigString, options?: GetLobbyMessages) => Promise<Camelize<DiscordLobbyMessage>[]>;
3210
+ /**
3211
+ * Creates a single-use guild invite to the lobby's linked channel, targeted at the calling user.
3212
+ *
3213
+ *
3214
+ * @param bearerToken - The access token of the user
3215
+ * @param lobbyId - The ID of the lobby to create the invite for
3216
+ * @returns The created invite object
3217
+ *
3218
+ * @remarks
3219
+ * Uses `Bearer` token for authorization with the `sdk.social_layer` scope.
3220
+ *
3221
+ * The lobby must have a linked channel and the caller must be a member of the lobby.
3222
+ * The invite expires after one hour.
3223
+ */
3224
+ createLobbyChannelInviteForSelf: (bearerToken: string, lobbyId: BigString) => Promise<Camelize<DiscordLobbyInvite>>;
3225
+ /**
3226
+ * Creates a single-use guild invite to the lobby's linked channel on behalf of an application, targeted at the specified user.
3227
+ *
3228
+ * @param lobbyId - The ID of the lobby to create the invite for
3229
+ * @param userId - The ID of the user to create the invite for
3230
+ * @returns The created invite object
3231
+ *
3232
+ * @remarks
3233
+ * Uses `Bot` token for authorization
3234
+ *
3235
+ * The lobby must have a linked channel.
3236
+ * The invite expires after one hour.
3237
+ */
3238
+ createLobbyChannelInviteForUser: (lobbyId: BigString, userId: BigString) => Promise<Camelize<DiscordLobbyInvite>>;
2992
3239
  }
2993
3240
  export type RequestMethods = 'GET' | 'POST' | 'DELETE' | 'PATCH' | 'PUT';
2994
3241
  export type ApiVersions = 9 | 10;
@@ -2998,6 +3245,17 @@ export interface CreateRequestBodyOptions {
2998
3245
  unauthorized?: boolean;
2999
3246
  reason?: string;
3000
3247
  files?: FileContent[];
3248
+ /**
3249
+ * An `AbortSignal` to cancel the request.
3250
+ *
3251
+ * @remarks
3252
+ * Aborting rejects a request that is still waiting in the queue right away and guarantees it is never sent.
3253
+ * An attempt that is already in flight gets its connection cancelled as well, though that cannot recall it:
3254
+ * Discord (or the proxy) may have received it and may still process it, only the response is discarded.
3255
+ * This lets a rest proxy drop requests that nobody is waiting on anymore (client disconnect, deadline)
3256
+ * instead of leaving them in the queue.
3257
+ */
3258
+ signal?: AbortSignal;
3001
3259
  }
3002
3260
  export type MakeRequestOptions = Omit<CreateRequestBodyOptions, 'method'> & Pick<SendRequestOptions, 'runThroughQueue'>;
3003
3261
  export interface RequestBody {
@@ -3047,6 +3305,7 @@ export interface RestRequestRejection {
3047
3305
  /** The returned body parsed if it was JSON, otherwise it will be the raw body as a string */
3048
3306
  body?: string | object;
3049
3307
  error?: string;
3308
+ errorObject?: Error;
3050
3309
  }
3051
3310
  export interface RestManagerEvents {
3052
3311
  /**