@discordeno/rest 19.0.0-next.fda9ef2 → 19.0.0-next.fe00a6f

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.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type {\n ApplicationCommandPermissions,\n AtLeastOne,\n BeginGuildPrune,\n BigString,\n Camelize,\n CamelizedDiscordActiveThreads,\n CamelizedDiscordApplication,\n CamelizedDiscordApplicationCommand,\n CamelizedDiscordApplicationCommandPermissions,\n CamelizedDiscordArchivedThreads,\n CamelizedDiscordAuditLog,\n CamelizedDiscordAutoModerationRule,\n CamelizedDiscordBan,\n CamelizedDiscordChannel,\n CamelizedDiscordEmoji,\n CamelizedDiscordFollowedChannel,\n CamelizedDiscordGetGatewayBot,\n CamelizedDiscordGuild,\n CamelizedDiscordGuildPreview,\n CamelizedDiscordGuildWidget,\n CamelizedDiscordGuildWidgetSettings,\n CamelizedDiscordIntegration,\n CamelizedDiscordInvite,\n CamelizedDiscordInviteMetadata,\n CamelizedDiscordMember,\n CamelizedDiscordMemberWithUser,\n CamelizedDiscordMessage,\n CamelizedDiscordModifyGuildWelcomeScreen,\n CamelizedDiscordPrunedCount,\n CamelizedDiscordRole,\n CamelizedDiscordScheduledEvent,\n CamelizedDiscordStageInstance,\n CamelizedDiscordSticker,\n CamelizedDiscordStickerPack,\n CamelizedDiscordTemplate,\n CamelizedDiscordThreadMember,\n CamelizedDiscordUser,\n CamelizedDiscordVanityUrl,\n CamelizedDiscordVoiceRegion,\n CamelizedDiscordWebhook,\n CamelizedDiscordWelcomeScreen,\n CreateApplicationCommand,\n CreateAutoModerationRuleOptions,\n CreateChannelInvite,\n CreateForumPostWithMessage,\n CreateGuild,\n CreateGuildBan,\n CreateGuildChannel,\n CreateGuildEmoji,\n CreateGuildFromTemplate,\n CreateGuildRole,\n CreateGuildStickerOptions,\n CreateMessageOptions,\n CreateScheduledEvent,\n CreateStageInstance,\n CreateTemplate,\n DeleteWebhookMessageOptions,\n EditAutoModerationRuleOptions,\n EditBotMemberOptions,\n EditChannelPermissionOverridesOptions,\n EditGuildRole,\n EditGuildStickerOptions,\n EditMessage,\n EditOwnVoiceState,\n EditScheduledEvent,\n EditUserVoiceState,\n ExecuteWebhook,\n FileContent,\n GetBans,\n GetGuildAuditLog,\n GetGuildPruneCountQuery,\n GetInvite,\n GetMessagesOptions,\n GetReactions,\n GetScheduledEvents,\n GetScheduledEventUsers,\n GetWebhookMessageOptions,\n InteractionCallbackData,\n InteractionResponse,\n ListArchivedThreads,\n ListGuildMembers,\n MfaLevels,\n ModifyChannel,\n ModifyGuild,\n ModifyGuildChannelPositions,\n ModifyGuildEmoji,\n ModifyGuildMember,\n ModifyGuildTemplate,\n ModifyRolePositions,\n ModifyWebhook,\n SearchMembers,\n StartThreadWithMessage,\n StartThreadWithoutMessage,\n} from '@discordeno/types'\nimport type { InvalidRequestBucket } from './invalidBucket.js'\nimport type { Queue } from './queue.js'\nimport type { RestRoutes } from './typings/routes.js'\n\nexport interface CreateRestManagerOptions {\n /** The bot token which will be used to make requests. */\n token?: string\n /**\n * For old bots that have a different bot id and application id.\n * @default bot id from token\n */\n applicationId?: BigString\n /** Configuration when using a proxy. */\n proxy?: {\n /**\n * The base url to connect to. If you create a proxy rest, that url would go here.\n * IT SHOULD NOT END WITH A /\n * @default https://discord.com/api\n */\n baseUrl: string\n /** The authorization header to attach when sending requests to the proxy. */\n authorization: string\n }\n /**\n * The api versions which can be used to make requests.\n * @default 10\n */\n version?: ApiVersions\n}\n\nexport interface RestManager {\n /** The bot token which will be used to make requests. */\n token?: string\n /** The application id. Normally this is not required for recent bots but old bot's application id is sometimes different from the bot id so it is required for those bots. */\n applicationId: bigint\n /** The api version to use when making requests. Only the latest supported version will be tested. */\n version: ApiVersions\n /**\n * The base url to connect to. If you create a proxy rest, that url would go here.\n * IT SHOULD NOT END WITH A /\n * @default https://discord.com/api\n */\n baseUrl: string\n /** The authorization header to attach when sending requests to the proxy. */\n authorization?: string\n /** The maximum amount of times a request should be retried. Defaults to Infinity */\n maxRetryCount: number\n /** Whether or not the manager is rate limited globally across all requests. Defaults to false. */\n globallyRateLimited: boolean\n /** Whether or not the rate limited paths are being processed to allow requests to be made once time is up. Defaults to false. */\n processingRateLimitedPaths: boolean\n /** The time in milliseconds to wait before deleting this queue if it is empty. Defaults to 60000(one minute). */\n deleteQueueDelay: number\n /** The queues that hold all the requests to be processed. */\n queues: Map<string, Queue>\n /** The paths that are currently rate limited. */\n rateLimitedPaths: Map<string, RestRateLimitedPath>\n /** The bucket for handling any invalid requests. */\n invalidBucket: InvalidRequestBucket\n /** The routes that are available for this manager. */\n routes: RestRoutes\n /** Check the rate limits for a url or a bucket. */\n checkRateLimits: (url: string) => number | false\n /** Reshapes and modifies the obj as needed to make it ready for discords api. */\n changeToDiscordFormat: (obj: any) => any\n /** Creates the request body and headers that are necessary to send a request. Will handle different types of methods and everything necessary for discord. */\n createRequestBody: (method: RequestMethods, options?: CreateRequestBodyOptions) => RequestBody\n /** 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. */\n processRateLimitedPaths: () => void\n /** Processes the rate limit headers and determines if it needs to be rate limited and returns the bucket id if available */\n processHeaders: (url: string, headers: Headers) => string | undefined\n /** Sends a request to the api. */\n sendRequest: (options: SendRequestOptions) => Promise<void>\n /** Split a url to separate rate limit buckets based on major/minor parameters. */\n simplifyUrl: (url: string, method: RequestMethods) => string\n /** Make a request to be sent to the api. */\n makeRequest: <T = unknown>(method: RequestMethods, url: string, options?: MakeRequestOptions) => Promise<T>\n /** Takes a request and processes it into a queue. */\n processRequest: (request: SendRequestOptions) => Promise<void>\n /** Make a get request to the api */\n get: <T = void>(url: string, options?: Omit<MakeRequestOptions, 'body'>) => Promise<Camelize<T>>\n /** Make a post request to the api. */\n post: <T = void>(url: string, options?: MakeRequestOptions) => Promise<Camelize<T>>\n /** Make a put request to the api. */\n put: <T = void>(url: string, options?: MakeRequestOptions) => Promise<Camelize<T>>\n /** Make a delete request to the api. */\n delete: (url: string, options?: Omit<MakeRequestOptions, 'body'>) => Promise<void>\n /** Make a patch request to the api. */\n patch: <T = void>(url: string, options?: MakeRequestOptions) => Promise<Camelize<T>>\n /**\n * Adds a reaction to a message.\n *\n * @param channelId - The ID of the channel the message to add a reaction to is in.\n * @param messageId - The ID of the message to add a reaction to.\n * @param reaction - The reaction to add to the message.\n * @returns\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * If nobody else has reacted to the message:\n * - Requires the `ADD_REACTIONS` permission.\n *\n * Fires a _Message Reaction Add_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#create-reaction}\n */\n addReaction: (channelId: BigString, messageId: BigString, reaction: string) => Promise<void>\n /**\n * Adds multiple a reaction to a message.\n *\n * This function uses the `addReaction()` helper behind the scenes.\n *\n * @param channelId - The ID of the channel the message to add reactions to is in.\n * @param messageId - The ID of the message to add the reactions to.\n * @param reactions - The reactions to add to the message.\n * @param ordered - Whether the reactions must be added in order or not.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * If nobody else has reacted to the message:\n * - Requires the `ADD_REACTIONS` permission.\n *\n * Fires a _Message Reaction Add_ gateway event for every reaction added.\n */\n addReactions: (channelId: BigString, messageId: BigString, reactions: string[], ordered?: boolean) => Promise<void>\n /**\n * Adds a role to a member.\n *\n * @param guildId - The ID of the guild the member to add the role to is in.\n * @param userId - The user ID of the member to add the role to.\n * @param roleId - The ID of the role to add to the member.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Guild Member Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#add-guild-member-role}\n */\n addRole: (guildId: BigString, userId: BigString, roleId: BigString, reason?: string) => Promise<void>\n /**\n * Adds a member to a thread.\n *\n * @param channelId - The ID of the thread to add the member to.\n * @param userId - The user ID of the member to add to the thread.\n *\n * @remarks\n * Requires the ability to send messages in the thread.\n * Requires the thread not be archived.\n *\n * Fires a _Thread Members Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#add-thread-member}\n */\n addThreadMember: (channelId: BigString, userId: BigString) => Promise<void>\n /**\n * Creates an automod rule in a guild.\n *\n * @param guildId - The ID of the guild to create the rule in.\n * @param options - The parameters for the creation of the rule.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordAutoModerationRule}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires an _Auto Moderation Rule Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/auto-moderation#create-auto-moderation-rule}\n */\n createAutomodRule: (guildId: BigString, options: CreateAutoModerationRuleOptions, reason?: string) => Promise<CamelizedDiscordAutoModerationRule>\n /**\n * Creates a channel within a guild.\n *\n * @param guildId - The ID of the guild to create the channel within.\n * @param options - The parameters for the creation of the channel.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordChannel}.\n *\n * @remarks\n * Requires the `MANAGE_CHANNELS` permission.\n *\n * If setting permission overwrites, only the permissions the bot user has in the guild can be allowed or denied.\n *\n * Setting the `MANAGE_ROLES` permission is only possible for guild administrators.\n *\n * Fires a _Channel Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#create-guild-channel}\n */\n createChannel: (guildId: BigString, options: CreateGuildChannel, reason?: string) => Promise<CamelizedDiscordChannel>\n /**\n * Creates an emoji in a guild.\n *\n * @param guildId - The ID of the guild in which to create the emoji.\n * @param options - The parameters for the creation of the emoji.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordEmoji}.\n *\n * @remarks\n * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission.\n *\n * Emojis have a maximum file size of 256 kilobits. Attempting to upload a larger emoji will cause the route to return 400 Bad Request.\n *\n * Fires a _Guild Emojis Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/emoji#create-guild-emoji}\n */\n createEmoji: (guildId: BigString, options: CreateGuildEmoji, reason?: string) => Promise<CamelizedDiscordEmoji>\n /**\n * Creates a new thread in a forum channel, and sends a message within the created thread.\n *\n * @param channelId - The ID of the forum channel to create the thread within.\n * @param options - The parameters for the creation of the thread.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of {@link CamelizedDiscordChannel} with a nested {@link Message} object.\n *\n * @remarks\n * Requires the `CREATE_MESSAGES` permission.\n *\n * Fires a _Thread Create_ gateway event.\n * Fires a _Message Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#start-thread-in-forum-channel}\n *\n * @experimental\n */\n createForumThread: (channelId: BigString, options: CreateForumPostWithMessage, reason?: string) => Promise<CamelizedDiscordChannel>\n /**\n * Creates an application command accessible globally; across different guilds and channels.\n *\n * @param command - The command to create.\n * @returns An instance of the created {@link ApplicationCommand}.\n *\n * @remarks\n * ⚠️ Creating a command with the same name as an existing command for your application will overwrite the old command.\n * ⚠️ Global commands once created are cached for periods of __an hour__, so changes made to existing commands will take an hour to surface.\n * ⚠️ You can only create up to 200 _new_ commands daily.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#create-global-application-command}\n */\n createGlobalApplicationCommand: (command: CreateApplicationCommand) => Promise<CamelizedDiscordApplicationCommand>\n /**\n * Creates a guild.\n *\n * @param options - The parameters for the creation of the guild.\n * @returns An instance of the created {@link CamelizedDiscordGuild}.\n *\n * @remarks\n * ⚠️ This route can only be used by bots in __fewer than 10 guilds__.\n *\n * Fires a _Guild Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#create-guild}\n */\n createGuild: (options: CreateGuild) => Promise<CamelizedDiscordGuild>\n /**\n * Creates an application command only accessible in a specific guild.\n *\n * @param command - The command to create.\n * @param guildId - The ID of the guild to create the command for.\n * @returns An instance of the created {@link ApplicationCommand}.\n *\n * @remarks\n * ⚠️ Creating a command with the same name as an existing command for your application will overwrite the old command.\n * ⚠️ You can only create up to 200 _new_ commands daily.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#create-guild-application-command}\n */\n createGuildApplicationCommand: (command: CreateApplicationCommand, guildId: BigString) => Promise<CamelizedDiscordApplicationCommand>\n /**\n * Creates a guild from a template.\n *\n * @param templateCode - The code of the template.\n * @param options - The parameters for the creation of the guild.\n * @returns An instance of the created {@link Guild}.\n *\n * @remarks\n * ⚠️ This route can only be used by bots in __fewer than 10 guilds__.\n *\n * Fires a _Guild Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template}\n */\n createGuildFromTemplate: (templateCode: string, options: CreateGuildFromTemplate) => Promise<CamelizedDiscordGuild>\n /**\n * Create a new sticker for the guild.\n *\n * @param guildId The ID of the guild to get\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @return A {@link CamelizedDiscordSticker}\n *\n * @remarks\n * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission.\n * Fires a Guild Stickers Update Gateway event.\n * Every guilds has five free sticker slots by default, and each Boost level will grant access to more slots.\n * Lottie stickers can only be uploaded on guilds that have either the `VERIFIED` and/or the `PARTNERED` guild feature.\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#create-guild-sticker}\n */\n createGuildSticker: (guildId: BigString, options: CreateGuildStickerOptions, reason?: string) => Promise<CamelizedDiscordSticker>\n /**\n * Creates a template from a guild.\n *\n * @param guildId - The ID of the guild to create the template from.\n * @param options - The parameters for the creation of the template.\n * @returns An instance of the created {@link Template}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#create-guild-template}\n */\n createGuildTemplate: (guildId: BigString, options: CreateTemplate) => Promise<CamelizedDiscordTemplate>\n /**\n * Creates an invite to a channel in a guild.\n *\n * @param channelId - The ID of the channel to create the invite to.\n * @param options - The parameters for the creation of the invite.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordInvite}.\n *\n * @remarks\n * Requires the `CREATE_INSTANT_INVITE` permission.\n *\n * Fires an _Invite Create_ gateway event.\n *\n * @privateRemarks\n * The request body is not optional, and an empty JSON object must be sent regardless of whether any fields are being transmitted.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#create-channel-invite}\n */\n createInvite: (channelId: BigString, options?: CreateChannelInvite, reason?: string) => Promise<CamelizedDiscordInvite>\n /**\n * Creates a role in a guild.\n *\n * @param guildId - The ID of the guild to create the role in.\n * @param options - The parameters for the creation of the role.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordRole}.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Guild Role Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#create-guild-role}\n */\n createRole: (guildId: BigString, options: CreateGuildRole, reason?: string) => Promise<CamelizedDiscordRole>\n /**\n * Creates a scheduled event in a guild.\n *\n * @param guildId - The ID of the guild to create the scheduled event in.\n * @param options - The parameters for the creation of the scheduled event.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link ScheduledEvent}.\n *\n * @remarks\n * Requires the `MANAGE_EVENTS` permission.\n *\n * A guild can only have a maximum of 100 events with a status of {@link ScheduledEventStatus.Active} or {@link ScheduledEventStatus.Scheduled} (inclusive).\n *\n * Fires a _Guild Scheduled Event Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event}\n */\n createScheduledEvent: (guildId: BigString, options: CreateScheduledEvent, reason?: string) => Promise<CamelizedDiscordScheduledEvent>\n /**\n * Creates a stage instance associated with a stage channel.\n *\n * @param options - The parameters for the creation of the stage instance.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordStageInstance}.\n *\n * @remarks\n * Requires the user to be a moderator of the stage channel.\n *\n * Fires a _Stage Instance Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/stage-instance#create-stage-instance}\n */\n createStageInstance: (options: CreateStageInstance, reason?: string) => Promise<CamelizedDiscordStageInstance>\n /**\n * Creates a webhook.\n *\n * @param channelId - The ID of the channel to create the webhook in.\n * @param options - The parameters for the creation of the webhook.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordWebhook}.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * ⚠️ The webhook name must not contain the substrings 'clyde', or 'discord' (case-insensitive).\n *\n * Fires a _Webhooks Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#create-webhook}\n */\n createWebhook: (channelId: BigString, options: CreateWebhook, reason?: string) => Promise<CamelizedDiscordWebhook>\n /**\n * Deletes an automod rule.\n *\n * @param guildId - The ID of the guild to delete the rule from.\n * @param ruleId - The ID of the automod rule to delete.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires an _Auto Moderation Rule Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/auto-moderation#delete-auto-moderation-rule}\n */\n deleteAutomodRule: (guildId: BigString, ruleId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a channel from within a guild.\n *\n * @param channelId - The ID of the channel to delete.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the deleted {@link Channel}.\n *\n * @remarks\n * For community guilds, the _Rules_, _Guidelines_ and _Community Update_ channels cannot be deleted.\n *\n * If the channel is a thread:\n * - Requires the `MANAGE_THREADS` permission.\n *\n * - Fires a _Thread Delete_ gateway event.\n *\n * Otherwise:\n * - Requires the `MANAGE_CHANNELS` permission.\n *\n * - ⚠️ Deleting a category channel does not delete its child channels.\n * Instead, they will have their `parent_id` property removed, and a `Channel Update` gateway event will fire for each of them.\n *\n * - Fires a _Channel Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#deleteclose-channel}\n */\n deleteChannel: (channelId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a permission override for a user or role in a channel.\n *\n * @param channelId - The ID of the channel to delete the permission override of.\n * @param overwriteId - The ID of the permission override to delete.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Channel Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-channel-permission}\n */\n deleteChannelPermissionOverride: (channelId: BigString, overwriteId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes an emoji from a guild.\n *\n * @param guildId - The ID of the guild from which to delete the emoji.\n * @param id - The ID of the emoji to delete.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission.\n *\n * Fires a _Guild Emojis Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/emoji#delete-guild-emoji}\n */\n deleteEmoji: (guildId: BigString, id: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a follow-up message to an interaction.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n * @param messageId - The ID of the message to delete.\n *\n * @remarks\n * Unlike `deleteMessage()`, this endpoint allows the bot user to act without needing to see the channel the message is in.\n *\n * Fires a _Message Delete_ event.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#delete-followup-message}\n */\n deleteFollowupMessage: (token: string, messageId: BigString) => Promise<void>\n /**\n * Deletes an application command registered globally.\n *\n * @param commandId - The ID of the command to delete.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#delete-global-application-command}\n */\n deleteGlobalApplicationCommand: (commandId: BigString) => Promise<void>\n /**\n * Deletes a guild.\n *\n * @param guildId - The ID of the guild to delete.\n *\n * @remarks\n * The bot user must be the owner of the guild.\n *\n * Fires a _Guild Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#delete-guild}\n */\n deleteGuild: (guildId: BigString) => Promise<void>\n /**\n * Deletes an application command registered in a guild.\n *\n * @param guildId - The ID of the guild to delete the command from.\n * @param commandId - The ID of the command to delete from the guild.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#delete-guild-application-command}\n */\n deleteGuildApplicationCommand: (commandId: BigString, guildId: BigString) => Promise<void>\n /**\n * Delete a new sticker for the guild.\n *\n * @param guildId The ID of the guild to get\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @return A {@link CamelizedDiscordSticker}\n *\n * @remarks\n * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission.\n * Fires a Guild Stickers Update Gateway event.\n * Every guilds has five free sticker slots by default, and each Boost level will grant access to more slots.\n * Lottie stickers can only be uploaded on guilds that have either the `VERIFIED` and/or the `PARTNERED` guild feature.\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#delete-guild-sticker}\n */\n deleteGuildSticker: (guildId: BigString, stickerId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a template from a guild.\n *\n * @param guildId - The ID of the guild to delete the template from.\n * @param templateCode - The code of the template to delete.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#delete-guild-template}\n */\n deleteGuildTemplate: (guildId: BigString, templateCode: string) => Promise<void>\n /**\n * Deletes an integration attached to a guild.\n *\n * @param guildId - The ID of the guild from which to delete the integration.\n * @param integrationId - The ID of the integration to delete from the guild.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Deletes all webhooks associated with the integration, and kicks the associated bot if there is one.\n *\n * Fires a _Guild Integrations Update_ gateway event.\n * Fires a _Integration Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#delete-guild-integration}\n */\n deleteIntegration: (guildId: BigString, integrationId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes an invite to a channel.\n *\n * @param inviteCode - The invite code of the invite to delete.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_CHANNELS` permission.\n *\n * Fires an _Invite Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-channel-invite}\n */\n deleteInvite: (inviteCode: string, reason?: string) => Promise<void>\n /**\n * Deletes a message from a channel.\n *\n * @param channelId - The ID of the channel to delete the message from.\n * @param messageId - The ID of the message to delete from the channel.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * If not deleting own message:\n * - Requires the `MANAGE_MESSAGES` permission.\n *\n * Fires a _Message Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-message}\n */\n deleteMessage: (channelId: BigString, messageId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes multiple messages from a channel.\n *\n * @param channelId - The ID of the channel to delete the messages from.\n * @param messageIds - The IDs of the messages to delete from the channel.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_MESSAGES` permission.\n *\n * ⚠️ Messages older than 2 weeks old cannot be deleted.\n *\n * Fires a _Message Delete Bulk_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#bulk-delete-messages}\n */\n deleteMessages: (channelId: BigString, messageIds: BigString[], reason?: string) => Promise<void>\n /**\n * Deletes the initial message response to an interaction.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n *\n * @remarks\n * Unlike `deleteMessage()`, this endpoint allows the bot user to act without needing to see the channel the message is in.\n *\n * Fires a _Message Delete_ event.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#delete-original-interaction-response}\n */\n deleteOriginalInteractionResponse: (token: string) => Promise<void>\n /**\n * Deletes a reaction added by the bot user from a message.\n *\n * @param channelId - The ID of the channel the message to delete the reaction from is in.\n * @param messageId - The ID of the message to delete the reaction from.\n * @param reaction - The reaction to delete from the message.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * Fires a _Message Reaction Remove_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-own-reaction}\n */\n deleteOwnReaction: (channelId: BigString, messageId: BigString, reaction: string) => Promise<void>\n /**\n * Deletes all reactions for all emojis from a message.\n *\n * @param channelId - The ID of the channel the message to delete the reactions from is in.\n * @param messageId - The ID of the message to delete the reactions from.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * Requires the `MANAGE_MESSAGES` permission.\n *\n * Fires a _Message Reaction Remove All_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-all-reactions}\n */\n deleteReactionsAll: (channelId: BigString, messageId: BigString) => Promise<void>\n /**\n * Deletes all reactions for an emoji from a message.\n *\n * @param channelId - The ID of the channel the message to delete the reactions from is in.\n * @param messageId - The ID of the message to delete the reactions from.\n * @param reaction - The reaction to remove from the message.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * Requires the `MANAGE_MESSAGES` permission.\n *\n * Fires a _Message Reaction Remove Emoji_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-all-reactions-for-emoji}\n */\n deleteReactionsEmoji: (channelId: BigString, messageId: BigString, reaction: string) => Promise<void>\n /**\n * Deletes a role from a guild.\n *\n * @param guildId - The ID of the guild to delete the role from.\n * @param roleId - The ID of the role to delete.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Guild Role Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#delete-guild-role}\n */\n deleteRole: (guildId: BigString, roleId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a scheduled event from a guild.\n *\n * @param guildId - The ID of the guild to delete the scheduled event from.\n * @param eventId - The ID of the scheduled event to delete.\n *\n * @remarks\n * Requires the `MANAGE_EVENTS` permission.\n *\n * Fires a _Guild Scheduled Event Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#delete-guild-scheduled-event}\n */\n deleteScheduledEvent: (guildId: BigString, eventId: BigString) => Promise<void>\n /**\n * Deletes the stage instance associated with a stage channel, if one exists.\n *\n * @param channelId - The ID of the stage channel the stage instance is associated with.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the user to be a moderator of the stage channel.\n *\n * Fires a _Stage Instance Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/stage-instance#delete-stage-instance}\n */\n deleteStageInstance: (channelId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a user's reaction from a message.\n *\n * @param channelId - The ID of the channel the message to delete the reaction from is in.\n * @param messageId - The ID of the message to delete the reaction from.\n * @param userId - The ID of the user whose reaction to delete.\n * @param reaction - The reaction to delete from the message.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * Requires the `MANAGE_MESSAGES` permission.\n *\n * Fires a _Message Reaction Remove_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-user-reaction}\n */\n deleteUserReaction: (channelId: BigString, messageId: BigString, userId: BigString, reaction: string) => Promise<void>\n /**\n * Deletes a webhook.\n *\n * @param webhookId - The ID of the webhook to delete.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * Fires a _Webhooks Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#delete-webhook}\n */\n deleteWebhook: (webhookId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a webhook message.\n *\n * @param webhookId - The ID of the webhook to delete the message belonging to.\n * @param token - The webhook token, used to manage the webhook.\n * @param messageId - The ID of the message to delete.\n * @param options - The parameters for the deletion of the message.\n *\n * @remarks\n * Fires a _Message Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#delete-webhook}\n */\n deleteWebhookMessage: (webhookId: BigString, token: string, messageId: BigString, options?: DeleteWebhookMessageOptions) => Promise<void>\n /**\n * Deletes a webhook message using the webhook token, thereby bypassing the need for authentication + permissions.\n *\n * @param webhookId - The ID of the webhook to delete the message belonging to.\n * @param token - The webhook token, used to delete the webhook.\n *\n * @remarks\n * Fires a _Message Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#delete-webhook-with-token}\n */\n deleteWebhookWithToken: (webhookId: BigString, token: string) => Promise<void>\n /**\n * Edits the permissions for a guild application command.\n *\n * @param guildId - The ID of the guild the command is registered in.\n * @param commandId - The ID of the command to edit the permissions of.\n * @param bearerToken - The bearer token to use to make the request.\n * @param options - The parameters for the edit of the command permissions.\n * @returns An instance of the edited {@link ApplicationCommandPermission}.\n *\n * @remarks\n * 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.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#edit-application-command-permissions}\n */\n editApplicationCommandPermissions: (\n guildId: BigString,\n commandId: BigString,\n bearerToken: string,\n options: ApplicationCommandPermissions[],\n ) => Promise<CamelizedDiscordApplicationCommandPermissions>\n /**\n * Edits an automod rule.\n *\n * @param guildId - The ID of the guild to edit the rule in.\n * @param ruleId - The ID of the rule to edit.\n * @param options - The parameters for the edit of the rule.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link CamelizedDiscordAutoModerationRule}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires an _Auto Moderation Rule Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/auto-moderation#modify-auto-moderation-rule}\n */\n editAutomodRule: (\n guildId: BigString,\n ruleId: BigString,\n options: Partial<EditAutoModerationRuleOptions>,\n reason?: string,\n ) => Promise<CamelizedDiscordAutoModerationRule>\n /**\n * Modifies the bot's username or avatar.\n * NOTE: username: if changed may cause the bot's discriminator to be randomized.\n */\n editBotProfile: (options: { username?: string; botAvatarURL?: string | null }) => Promise<CamelizedDiscordUser>\n /**\n * Edits a channel's settings.\n *\n * @param channelId - The ID of the channel to edit.\n * @param options - The parameters for the edit of the channel.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link CamelizedDiscordChannel}.\n *\n * @remarks\n * If editing a channel of type {@link ChannelTypes.GroupDm}:\n * - Fires a _Channel Update_ gateway event.\n *\n * If editing a thread channel:\n * - Requires the `MANAGE_THREADS` permission __unless__ if setting the `archived` property to `false` when the `locked` property is also `false`, in which case only the `SEND_MESSAGES` permission is required.\n *\n * - Fires a _Thread Update_ gateway event.\n *\n * If editing a guild channel:\n * - Requires the `MANAGE_CHANNELS` permission.\n *\n * - If modifying permission overrides:\n * - Requires the `MANAGE_ROLES` permission.\n *\n * - Only permissions the bot user has in the guild or parent channel can be allowed/denied __unless__ the bot user has a `MANAGE_ROLES` permission override in the channel.\n *\n * - If modifying a channel of type {@link ChannelTypes.GuildCategory}:\n * - Fires a _Channel Update_ gateway event for each child channel impacted in this change.\n * - Otherwise:\n * - Fires a _Channel Update_ gateway event.\n */\n editChannel: (channelId: BigString, options: ModifyChannel, reason?: string) => Promise<CamelizedDiscordChannel>\n /**\n * Edits the permission overrides for a user or role in a channel.\n *\n * @param channelId - The ID of the channel to edit the permission overrides of.\n * @param options - The permission override.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Only permissions the bot user has in the guild or parent channel can be allowed/denied __unless__ the bot user has a `MANAGE_ROLES` permission override in the channel.\n *\n * Fires a _Channel Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#edit-channel-permissions}\n */\n editChannelPermissionOverrides: (channelId: BigString, options: EditChannelPermissionOverridesOptions, reason?: string) => Promise<void>\n /**\n * Edits the positions of a set of channels in a guild.\n *\n * @param guildId - The ID of the guild in which to edit the positions of the channels.\n * @param channelPositions - A set of objects defining the updated positions of the channels.\n *\n * @remarks\n * Requires the `MANAGE_CHANNELS` permission.\n *\n * Fires a _Channel Update_ gateway event for every channel impacted in this change.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-channel-positions}\n */\n editChannelPositions: (guildId: BigString, channelPositions: ModifyGuildChannelPositions[]) => Promise<void>\n /**\n * Edits an emoji.\n *\n * @param guildId - The ID of the guild in which to edit the emoji.\n * @param id - The ID of the emoji to edit.\n * @param options - The parameters for the edit of the emoji.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the updated {@link CamelizedDiscordEmoji}.\n *\n * @remarks\n * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission.\n *\n * Fires a `Guild Emojis Update` gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/emoji#modify-guild-emoji}\n */\n editEmoji: (guildId: BigString, id: BigString, options: ModifyGuildEmoji, reason?: string) => Promise<CamelizedDiscordEmoji>\n /**\n * Edits a follow-up message to an interaction.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n * @param messageId - The ID of the message to edit.\n * @param options - The parameters for the edit of the message.\n * @returns An instance of the edited {@link Message}.\n *\n * @remarks\n * Unlike `editMessage()`, this endpoint allows the bot user to act without needing to see the channel the message is in.\n *\n * Does not support ephemeral follow-up messages due to these being stateless.\n *\n * Fires a _Message Update_ event.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#edit-followup-message}\n */\n editFollowupMessage: (token: string, messageId: BigString, options: InteractionCallbackData) => Promise<CamelizedDiscordMessage>\n /**\n * Edits a global application command.\n *\n * @param commandId - The ID of the command to edit.\n * @param options - The parameters for the edit of the command.\n * @returns An instance of the edited {@link ApplicationCommand}.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#edit-global-application-command}\n */\n editGlobalApplicationCommand: (commandId: BigString, options: CreateApplicationCommand) => Promise<CamelizedDiscordApplicationCommand>\n /**\n * Edits a guild's settings.\n *\n * @param guildId - The ID of the guild to edit.\n * @param shardId - The ID of the shard the guild is in.\n * @param options - The parameters for the edit of the guild.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link Guild}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * If attempting to add or remove the {@link GuildFeatures.Community} feature:\n * - Requires the `ADMINISTRATOR` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild}\n */\n editGuild: (guildId: BigString, options: ModifyGuild, reason?: string) => Promise<CamelizedDiscordGuild>\n /**\n * Edits an application command registered in a guild.\n *\n * @param guildId - The ID of the guild the command is registered in.\n * @param commandId - The ID of the command to edit.\n * @param options - The parameters for the edit of the command.\n * @returns An instance of the edited {@link ApplicationCommand}.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#edit-guild-application-command}\n */\n editGuildApplicationCommand: (\n commandId: BigString,\n guildId: BigString,\n options: CreateApplicationCommand,\n ) => Promise<CamelizedDiscordApplicationCommand>\n /** Modify a guild's MFA level. Requires guild ownership.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n */\n editGuildMfaLevel: (guildId: BigString, mfaLevel: MfaLevels, reason?: string) => Promise<void>\n /**\n * Edit the given sticker.\n *\n * @param guildId The ID of the guild to get\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @return A {@link CamelizedDiscordSticker}\n *\n * @remarks\n * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission.\n * Fires a Guild Stickers Update Gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#modify-guild-sticker}\n */\n editGuildSticker: (\n guildId: BigString,\n stickerId: BigString,\n options: AtLeastOne<EditGuildStickerOptions>,\n reason?: string,\n ) => Promise<CamelizedDiscordSticker>\n /**\n * Edits a template's settings.\n *\n * @param guildId - The ID of the guild to edit a template of.\n * @param templateCode - The code of the template to edit.\n * @param options - The parameters for the edit of the template.\n * @returns An instance of the edited {@link Template}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#modify-guild-template}\n */\n editGuildTemplate: (guildId: BigString, templateCode: string, options: ModifyGuildTemplate) => Promise<CamelizedDiscordTemplate>\n /**\n * Edits a message.\n *\n * @param channelId - The ID of the channel to edit the message in.\n * @param messageId - The IDs of the message to edit.\n * @param options - The parameters for the edit of the message.\n * @returns An instance of the edited {@link Message}.\n *\n * @remarks\n * If editing another user's message:\n * - Requires the `MANAGE_MESSAGES` permission.\n * - Only the {@link EditMessage.flags | flags} property of the {@link options} object parameter can be edited.\n *\n * Fires a _Message Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#edit-message}\n */\n editMessage: (channelId: BigString, messageId: BigString, options: EditMessage) => Promise<CamelizedDiscordMessage>\n /**\n * Edits the initial message response to an interaction.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n * @param options - The parameters for the edit of the response.\n * @returns An instance of the edited {@link Message}.\n *\n * @remarks\n * Unlike `editMessage()`, this endpoint allows the bot user to act without needing to see the channel the message is in.\n *\n * Does not support ephemeral follow-up messages due to these being stateless.\n *\n * Fires a _Message Update_ event.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#edit-original-interaction-response}\n */\n editOriginalInteractionResponse: (token: string, options: InteractionCallbackData) => Promise<CamelizedDiscordMessage | undefined>\n /**\n * Edits the original webhook message.\n *\n * @param webhookId - The ID of the webhook to edit the original message of.\n * @param token - The webhook token, used to edit the message.\n * @param options - The parameters for the edit of the message.\n * @returns An instance of the edited {@link CamelizedDiscordMessage}.\n *\n * @remarks\n * Fires a _Message Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#edit-webhook-message}\n */\n editOriginalWebhookMessage: (\n webhookId: BigString,\n token: string,\n options: InteractionCallbackData & { threadId?: BigString },\n ) => Promise<CamelizedDiscordMessage>\n /**\n * Edits the voice state of the bot user.\n *\n * @param guildId - The ID of the guild in which to edit the voice state of the bot user.\n * @param options - The parameters for the edit of the voice state.\n *\n * @remarks\n * The {@link EditOwnVoiceState.channelId | channelId} property of the {@link options} object parameter must point to a stage channel, and the bot user must already have joined it.\n *\n * If attempting to unmute oneself:\n * - Requires the `MUTE_MEMBERS` permission.\n *\n * If attempting to request to speak:\n * - Requires the `REQUEST_TO_SPEAK` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-current-user-voice-state}\n */\n editOwnVoiceState: (guildId: BigString, options: EditOwnVoiceState) => Promise<void>\n /**\n * Edits a role in a guild.\n *\n * @param guildId - The ID of the guild to edit the role in.\n * @param roleId - The ID of the role to edit.\n * @param options - The parameters for the edit of the role.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link CamelizedDiscordRole}.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Guild Role Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-role}\n */\n editRole: (guildId: BigString, roleId: BigString, options: EditGuildRole, reason?: string) => Promise<CamelizedDiscordRole>\n /**\n * Edits the positions of a set of roles.\n *\n * @param guildId - The ID of the guild to edit the role positions in.\n * @param options - The parameters for the edit of the role positions.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns A collection of {@link CamelizedDiscordRole} objects assorted by role ID.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Guild Role Update_ gateway event for every role impacted in this change.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-role-positions}\n */\n editRolePositions: (guildId: BigString, options: ModifyRolePositions[], reason?: string) => Promise<CamelizedDiscordRole[]>\n /**\n * Edits a scheduled event.\n *\n * @param guildId - The ID of the guild to edit the scheduled event in.\n * @param eventId - The ID of the scheduled event to edit.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link ScheduledEvent}.\n *\n * @remarks\n * Requires the `MANAGE_EVENTS` permission.\n *\n * To start or end an event, modify the event's `status` property.\n *\n * The `entity_metadata` property is discarded for events whose `entity_type` is not {@link ScheduledEventEntityType.External}.\n *\n * Fires a _Guild Scheduled Event Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event}\n */\n editScheduledEvent: (\n guildId: BigString,\n eventId: BigString,\n options: Partial<EditScheduledEvent>,\n reason?: string,\n ) => Promise<CamelizedDiscordScheduledEvent>\n /**\n * Edits a stage instance.\n *\n * @param channelId - The ID of the stage channel the stage instance is associated with.\n * @param topic - Topic of the Stage instance (1-120 characters).\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the updated {@link CamelizedDiscordStageInstance}.\n *\n * @remarks\n * Requires the user to be a moderator of the stage channel.\n *\n * Fires a _Stage Instance Update_ event.\n *\n * @see {@link https://discord.com/developers/docs/resources/stage-instance#modify-stage-instance}\n */\n editStageInstance: (channelId: BigString, topic: string, reason?: string) => Promise<CamelizedDiscordStageInstance>\n /**\n * Edits the voice state of another user.\n *\n * @param guildId - The ID of the guild in which to edit the voice state of the bot user.\n * @param options - The parameters for the edit of the voice state.\n *\n * @remarks\n * The {@link EditOwnVoiceState.channelId | channelId} property of the {@link options} object parameter must point to a stage channel, and the user must already have joined it.\n *\n * Requires the `MUTE_MEMBERS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-current-user-voice-state}\n */\n editUserVoiceState: (guildId: BigString, options: EditUserVoiceState) => Promise<void>\n /**\n * Edits a webhook.\n *\n * @param webhookId - The ID of the webhook to edit.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link CamelizedDiscordWebhook}.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * Fires a _Webhooks Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#edit-webhook}\n */\n editWebhook: (webhookId: BigString, options: ModifyWebhook, reason?: string) => Promise<CamelizedDiscordWebhook>\n /**\n * Edits a webhook message.\n *\n * @param webhookId - The ID of the webhook to edit the message of.\n * @param token - The webhook token, used to edit the message.\n * @param messageId - The ID of the message to edit.\n * @param options - The parameters for the edit of the message.\n * @returns An instance of the edited {@link CamelizedDiscordMessage}.\n *\n * @remarks\n * Fires a _Message Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#edit-webhook-message}\n */\n editWebhookMessage: (\n webhookId: BigString,\n token: string,\n messageId: BigString,\n options: InteractionCallbackData & { threadId?: BigString },\n ) => Promise<CamelizedDiscordMessage>\n /**\n * Edits a webhook using the webhook token, thereby bypassing the need for authentication + permissions.\n *\n * @param webhookId - The ID of the webhook to edit.\n * @param token - The webhook token, used to edit the webhook.\n * @returns An instance of the edited {@link CamelizedDiscordWebhook}.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * Fires a _Webhooks Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#modify-webhook-with-token}\n */\n editWebhookWithToken: (webhookId: BigString, token: string, options: Omit<ModifyWebhook, 'channelId'>) => Promise<CamelizedDiscordWebhook>\n /**\n * Edits a guild's welcome screen.\n *\n * @param guildId - The ID of the guild to edit the welcome screen of.\n * @param options - The parameters for the edit of the welcome screen.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link WelcomeScreen}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-welcome-screen}\n */\n editWelcomeScreen: (\n guildId: BigString,\n options: CamelizedDiscordModifyGuildWelcomeScreen,\n reason?: string,\n ) => Promise<CamelizedDiscordWelcomeScreen>\n /**\n * Edits the settings of a guild's widget.\n *\n * @param guildId - The ID of the guild to edit the settings of the widget of.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link GuildWidgetSettings}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-widget}\n */\n editWidgetSettings: (\n guildId: BigString,\n options: CamelizedDiscordGuildWidgetSettings,\n reason?: string,\n ) => Promise<CamelizedDiscordGuildWidgetSettings>\n /**\n * Executes a webhook, causing a message to be posted in the channel configured for the webhook.\n *\n * @param webhookId - The ID of the webhook to execute.\n * @param token - The webhook token, used to execute the webhook.\n * @param options - The parameters for the execution of the webhook.\n * @returns An instance of the created {@link CamelizedDiscordMessage}, or `undefined` if the {@link ExecuteWebhook.wait | wait} property of the {@link options} object parameter is set to `false`.\n *\n * @remarks\n * If the webhook channel is a forum channel, you must provide a value for either `threadId` or `threadName`.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#execute-webhook}\n */\n executeWebhook: (webhookId: BigString, token: string, options: ExecuteWebhook) => Promise<CamelizedDiscordMessage | undefined>\n /**\n * Follows an announcement channel, allowing messages posted within it to be cross-posted into the target channel.\n *\n * @param sourceChannelId - The ID of the announcement channel to follow.\n * @param targetChannelId - The ID of the target channel - the channel to cross-post to.\n * @returns An instance of {@link CamelizedDiscordFollowedChannel}.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission in the __target channel__.\n *\n * Fires a _Webhooks Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#follow-announcement-channel}\n */\n followAnnouncement: (sourceChannelId: BigString, targetChannelId: BigString) => Promise<CamelizedDiscordFollowedChannel>\n /**\n * Gets the list of all active threads for a guild.\n *\n * @param guildId - The ID of the guild to get the threads of.\n * @returns An instance of {@link CamelizedDiscordActiveThreads}.\n *\n * @remarks\n * Returns both public and private threads.\n *\n * Threads are ordered by the `id` property in descending order.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#list-active-guild-threads}\n */\n getActiveThreads: (guildId: BigString) => Promise<CamelizedDiscordActiveThreads>\n /** Get the applications info */\n getApplicationInfo: () => Promise<CamelizedDiscordApplication>\n /**\n * Gets the permissions of a guild application command.\n *\n * @param guildId - The ID of the guild the command is registered in.\n * @param commandId - The ID of the command to get the permissions of.\n * @returns An instance of {@link ApplicationCommandPermission}.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-application-command-permissions}\n */\n getApplicationCommandPermission: (guildId: BigString, commandId: BigString) => Promise<CamelizedDiscordApplicationCommandPermissions>\n /**\n * Gets the permissions of all application commands registered in a guild by the ID of the guild.\n *\n * @param guildId - The ID of the guild to get the permissions objects of.\n * @returns A collection of {@link ApplicationCommandPermission} objects assorted by command ID.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-guild-application-command-permissions}\n */\n getApplicationCommandPermissions: (guildId: BigString) => Promise<CamelizedDiscordApplicationCommandPermissions[]>\n /**\n * Gets a guild's audit log.\n *\n * @param guildId - The ID of the guild to get the audit log of.\n * @param options - The parameters for the fetching of the audit log.\n * @returns An instance of {@link AuditLog}.\n *\n * @remarks\n * Requires the `VIEW_AUDIT_LOG` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/audit-log#get-guild-audit-log}\n */\n getAuditLog: (guildId: BigString, options?: GetGuildAuditLog) => Promise<CamelizedDiscordAuditLog>\n /**\n * Gets an automod rule by its ID.\n *\n * @param guildId - The ID of the guild to get the rule of.\n * @param ruleId - The ID of the rule to get.\n * @returns An instance of {@link CamelizedDiscordAutoModerationRule}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/auto-moderation#get-auto-moderation-rule}\n */\n getAutomodRule: (guildId: BigString, ruleId: BigString) => Promise<CamelizedDiscordAutoModerationRule>\n /**\n * Gets the list of automod rules for a guild.\n *\n * @param guildId - The ID of the guild to get the rules from.\n * @returns A collection of {@link CamelizedDiscordAutoModerationRule} objects assorted by rule ID.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/auto-moderation#list-auto-moderation-rules-for-guild}\n */\n getAutomodRules: (guildId: BigString) => Promise<CamelizedDiscordAutoModerationRule[]>\n /**\n * Gets the list of available voice regions.\n *\n * @returns A collection of {@link VoiceRegions | VoiceRegion} objects assorted by voice region ID.\n */\n getAvailableVoiceRegions: () => Promise<CamelizedDiscordVoiceRegion[]>\n /**\n * Gets a ban by user ID.\n *\n * @param guildId - The ID of the guild to get the ban from.\n * @param userId - The ID of the user to get the ban for.\n * @returns An instance of {@link CamelizedDiscordBan}.\n *\n * @remarks\n * Requires the `BAN_MEMBERS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-ban}\n */\n getBan: (guildId: BigString, userId: BigString) => Promise<CamelizedDiscordBan>\n /**\n * Gets the list of bans for a guild.\n *\n * @param guildId - The ID of the guild to get the list of bans for.\n * @param options - The parameters for the fetching of the list of bans.\n * @returns A collection of {@link CamelizedDiscordBan} objects assorted by user ID.\n *\n * @remarks\n * Requires the `BAN_MEMBERS` permission.\n *\n * Users are ordered by their IDs in _ascending_ order.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-bans}\n */\n getBans: (guildId: BigString, options?: GetBans) => Promise<CamelizedDiscordBan[]>\n /**\n * Gets a channel by its ID.\n *\n * @param channelId - The ID of the channel to get.\n * @returns An instance of {@link CamelizedDiscordChannel}.\n *\n * @remarks\n * If the channel is a thread, a {@link ThreadMember} object is included in the result.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-channel}\n */\n getChannel: (channelId: BigString) => Promise<CamelizedDiscordChannel>\n /**\n * Gets the list of invites for a channel.\n *\n * @param channelId - The ID of the channel to get the invites of.\n * @returns A collection of {@link CamelizedDiscordInviteMetadata} objects assorted by invite code.\n *\n * @remarks\n * Requires the `MANAGE_CHANNELS` permission.\n *\n * Only usable for guild channels.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-channel-invites}\n */\n getChannelInvites: (channelId: BigString) => Promise<CamelizedDiscordInviteMetadata[]>\n /**\n * Gets the list of channels for a guild.\n *\n * @param guildId - The ID of the guild to get the channels of.\n * @returns A collection of {@link CamelizedDiscordChannel} objects assorted by channel ID.\n *\n * @remarks\n * Excludes threads.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-channels}\n */\n getChannels: (guildId: BigString) => Promise<CamelizedDiscordChannel[]>\n /**\n * Gets a list of webhooks for a channel.\n *\n * @param channelId - The ID of the channel which to get the webhooks of.\n * @returns A collection of {@link CamelizedDiscordWebhook} objects assorted by webhook ID.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#get-channel-webhooks}\n */\n getChannelWebhooks: (channelId: BigString) => Promise<CamelizedDiscordWebhook[]>\n /**\n * Gets or creates a DM channel with a user.\n *\n * @param userId - The ID of the user to create the DM channel with.\n * @returns An instance of {@link CamelizedDiscordChannel}.\n *\n * @see {@link https://discord.com/developers/docs/resources/user#create-dm}\n */\n getDmChannel: (userId: BigString) => Promise<CamelizedDiscordChannel>\n /**\n * Gets an emoji by its ID.\n *\n * @param guildId - The ID of the guild from which to get the emoji.\n * @param emojiId - The ID of the emoji to get.\n * @returns An instance of {@link CamelizedDiscordEmoji}.\n *\n * @see {@link https://discord.com/developers/docs/resources/emoji#get-guild-emoji}\n */\n getEmoji: (guildId: BigString, emojiId: BigString) => Promise<CamelizedDiscordEmoji>\n /**\n * Gets the list of emojis for a guild.\n *\n * @param guildId - The ID of the guild which to get the emojis of.\n * @returns A collection of {@link CamelizedDiscordEmoji} objects assorted by emoji ID.\n *\n * @see {@link https://discord.com/developers/docs/resources/emoji#list-guild-emojis}\n */\n getEmojis: (guildId: BigString) => Promise<CamelizedDiscordEmoji[]>\n /**\n * Gets a follow-up message to an interaction by the ID of the message.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n * @param messageId - The ID of the message to get.\n * @returns An instance of {@link Message}.\n *\n * @remarks\n * Unlike `getMessage()`, this endpoint allows the bot user to act without:\n * - Needing to be able to see the contents of the channel that the message is in. (`READ_MESSAGES` permission.)\n * - Requiring the `MESSAGE_CONTENT` intent.\n *\n * Does not support ephemeral follow-up messages due to these being stateless.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#get-followup-message}\n */\n getFollowupMessage: (token: string, messageId: BigString) => Promise<CamelizedDiscordMessage>\n /** Get the bots Gateway metadata that can help during the operation of large or sharded bots. */\n getGatewayBot: () => Promise<CamelizedDiscordGetGatewayBot>\n /**\n * Gets a global application command by its ID.\n *\n * @param commandId - The ID of the command to get.\n * @returns An instance of {@link ApplicationCommand}.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-global-application-command}\n */\n getGlobalApplicationCommand: (commandId: BigString) => Promise<CamelizedDiscordApplicationCommand>\n /**\n * Gets the list of your bot's global application commands.\n *\n * @returns A collection of {@link ApplicationCommand} objects assorted by command ID.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-global-application-commands}\n */\n getGlobalApplicationCommands: () => Promise<CamelizedDiscordApplicationCommand[]>\n /**\n * Gets a guild by its ID.\n *\n * @param guildId - The ID of the guild to get.\n * @param options - The parameters for the fetching of the guild.\n * @returns An instance of {@link Guild}.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild}\n */\n getGuild: (guildId: BigString, options?: { counts?: boolean }) => Promise<CamelizedDiscordGuild>\n /**\n * Gets a guild application command by its ID.\n *\n * @param guildId - The ID of the guild the command is registered in.\n * @param commandId - The ID of the command to get.\n * @returns An instance of {@link ApplicationCommand}.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-guild-application-command}\n */\n getGuildApplicationCommand: (commandId: BigString, guildId: BigString) => Promise<CamelizedDiscordApplicationCommand>\n /**\n * Gets the list of application commands registered by your bot in a guild.\n *\n * @param guildId - The ID of the guild the commands are registered in.\n * @returns A collection of {@link ApplicationCommand} objects assorted by command ID.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-global-application-commandss}\n */\n getGuildApplicationCommands: (guildId: BigString) => Promise<CamelizedDiscordApplicationCommand[]>\n /**\n * Gets the preview of a guild by a guild's ID.\n *\n * @param guildId - The ID of the guild to get the preview of.\n * @returns An instance of {@link GuildPreview}.\n *\n * @remarks\n * If the bot user is not in the guild, the guild must be lurkable.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-preview}\n */\n getGuildPreview: (guildId: BigString) => Promise<CamelizedDiscordGuildPreview>\n /**\n * Returns a sticker object for the given guild and sticker IDs.\n *\n * @param guildId The ID of the guild to get\n * @param stickerId The ID of the sticker to get\n * @return A {@link CamelizedDiscordSticker}\n *\n * @remarks Includes the user field if the bot has the `MANAGE_EMOJIS_AND_STICKERS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#get-guild-sticker}\n */\n getGuildSticker: (guildId: BigString, stickerId: BigString) => Promise<CamelizedDiscordSticker>\n /**\n * Returns an array of sticker objects for the given guild.\n *\n * @param guildId The ID of the guild to get\n * @returns A collection of {@link CamelizedDiscordSticker} objects assorted by sticker ID.\n *\n * @remarks Includes user fields if the bot has the `MANAGE_EMOJIS_AND_STICKERS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#list-guild-stickers}\n */\n getGuildStickers: (guildId: BigString) => Promise<CamelizedDiscordSticker[]>\n /**\n * Gets a template by its code.\n *\n * @param templateCode - The code of the template to get.\n * @returns An instance of {@link Template}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#get-guild-template}\n */\n getGuildTemplate: (templateCode: string) => Promise<CamelizedDiscordTemplate>\n /**\n * Gets the list of templates for a guild.\n *\n * @param guildId - The ID of the guild to get the list of templates for.\n * @returns A collection of {@link Template} objects assorted by template code.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#get-guild-templates}\n */\n getGuildTemplates: (guildId: BigString) => Promise<CamelizedDiscordTemplate[]>\n /**\n * Gets the list of webhooks for a guild.\n *\n * @param guildId - The ID of the guild to get the list of webhooks for.\n * @returns A collection of {@link CamelizedDiscordWebhook} objects assorted by webhook ID.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#get-guild-webhooks}\n */\n getGuildWebhooks: (guildId: BigString) => Promise<CamelizedDiscordWebhook[]>\n /**\n * Gets the list of integrations attached to a guild.\n *\n * @param guildId - The ID of the guild to get the list of integrations from.\n * @returns A collection of {@link Integration} objects assorted by integration ID.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-integrations}\n */\n getIntegrations: (guildId: BigString) => Promise<CamelizedDiscordIntegration[]>\n /**\n * Gets an invite to a channel by its invite code.\n *\n * @param inviteCode - The invite code of the invite to get.\n * @param options - The parameters for the fetching of the invite.\n * @returns An instance of {@link CamelizedDiscordInviteMetadata}.\n *\n * @see {@link https://discord.com/developers/docs/resources/invite#get-invite}\n */\n getInvite: (inviteCode: string, options?: GetInvite) => Promise<CamelizedDiscordInviteMetadata>\n /**\n * Gets the list of invites for a guild.\n *\n * @param guildId - The ID of the guild to get the invites from.\n * @returns A collection of {@link InviteMetadata | Invite} objects assorted by invite code.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/invite#get-invites}\n */\n getInvites: (guildId: BigString) => Promise<CamelizedDiscordInviteMetadata[]>\n /**\n * Gets a message from a channel by the ID of the message.\n *\n * @param channelId - The ID of the channel from which to get the message.\n * @param messageId - The ID of the message to get.\n * @returns An instance of {@link Message}.\n *\n * @remarks\n * Requires that the bot user be able to see the contents of the channel in which the message was posted.\n *\n * If getting a message from a guild channel:\n * - Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-channel-message}\n */\n getMessage: (channelId: BigString, messageId: BigString) => Promise<CamelizedDiscordMessage>\n /**\n * Gets multiple messages from a channel.\n *\n * @param channelId - The ID of the channel from which to get the messages.\n * @param options - The parameters for the fetching of the messages.\n * @returns A collection of {@link Message} objects assorted by message ID.\n *\n * @remarks\n * Requires that the bot user be able to see the contents of the channel in which the messages were posted.\n *\n * If getting a messages from a guild channel:\n * - Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-channel-messages}\n */\n getMessages: (channelId: BigString, options?: GetMessagesOptions) => Promise<CamelizedDiscordMessage[]>\n /**\n * Returns the list of sticker packs available to Nitro subscribers.\n *\n * @returns A collection of {@link StickerPack} objects assorted by sticker ID.\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#list-nitro-sticker-packs}\n */\n getNitroStickerPacks: () => Promise<CamelizedDiscordStickerPack[]>\n /**\n * Gets the initial message response to an interaction.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n * @returns An instance of {@link Message}.\n *\n * @remarks\n * Unlike `getMessage()`, this endpoint allows the bot user to act without:\n * - Needing to be able to see the contents of the channel that the message is in. (`READ_MESSAGES` permission.)\n * - Requiring the `MESSAGE_CONTENT` intent.\n *\n * Does not support ephemeral follow-up messages due to these being stateless.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#get-original-interaction-response}\n */\n getOriginalInteractionResponse: (token: string) => Promise<CamelizedDiscordMessage>\n /**\n * Gets the pinned messages for a channel.\n *\n * @param channelId - The ID of the channel to get the pinned messages for.\n * @returns A collection of {@link Message} objects assorted by message ID.\n *\n * @remarks\n * Requires that the bot user be able to see the contents of the channel in which the messages were posted.\n *\n * If getting a message from a guild channel:\n * - Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-pinned-messages}\n */\n getPinnedMessages: (channelId: BigString) => Promise<CamelizedDiscordMessage[]>\n /**\n * Gets the list of private archived threads for a channel.\n *\n * @param channelId - The ID of the channel to get the archived threads for.\n * @param options - The parameters for the fetching of threads.\n * @returns An instance of {@link CamelizedDiscordArchivedThreads}.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n * Requires the `MANAGE_THREADS` permission.\n *\n * Returns threads of type {@link ChannelTypes.GuildPrivateThread}.\n *\n * Threads are ordered by the `archive_timestamp` property included in the metadata of the object in descending order.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#list-private-archived-threads}\n */\n getPrivateArchivedThreads: (channelId: BigString, options?: ListArchivedThreads) => Promise<CamelizedDiscordArchivedThreads>\n /**\n * Gets the list of private archived threads the bot is a member of for a channel.\n *\n * @param channelId - The ID of the channel to get the archived threads for.\n * @param options - The parameters for the fetching of threads.\n * @returns An instance of {@link CamelizedDiscordArchivedThreads}.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * Returns threads of type {@link ChannelTypes.GuildPrivateThread}.\n *\n * Threads are ordered by the `id` property in descending order.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#list-joined-private-archived-threads}\n */\n getPrivateJoinedArchivedThreads: (channelId: BigString, options?: ListArchivedThreads) => Promise<CamelizedDiscordArchivedThreads>\n /**\n * Gets the number of members that would be kicked from a guild during pruning.\n *\n * @param guildId - The ID of the guild to get the prune count of.\n * @param options - The parameters for the fetching of the prune count.\n * @returns A number indicating the number of members that would be kicked.\n *\n * @remarks\n * Requires the `KICK_MEMBERS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-prune-count}\n */\n getPruneCount: (guildId: BigString, options?: GetGuildPruneCountQuery) => Promise<CamelizedDiscordPrunedCount>\n /**\n * Gets the list of public archived threads for a channel.\n *\n * @param channelId - The ID of the channel to get the archived threads for.\n * @param options - The parameters for the fetching of threads.\n * @returns An instance of {@link ArchivedThreads}.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * If called on a channel of type {@link ChannelTypes.GuildText}, returns threads of type {@link ChannelTypes.GuildPublicThread}.\n * If called on a channel of type {@link ChannelTypes.GuildNews}, returns threads of type {@link ChannelTypes.GuildNewsThread}.\n *\n * Threads are ordered by the `archive_timestamp` property included in the metadata of the object in descending order.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#list-public-archived-threads}\n */\n getPublicArchivedThreads: (channelId: BigString, options?: ListArchivedThreads) => Promise<CamelizedDiscordArchivedThreads>\n /**\n * Gets the list of roles for a guild.\n *\n * @param guildId - The ID of the guild to get the list of roles for.\n * @returns A collection of {@link DisorcRole} objects assorted by role ID.\n *\n * @remarks\n * ⚠️ This endpoint should be used sparingly due to {@link User} objects already being included in guild payloads.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-roles}\n */\n getRoles: (guildId: BigString) => Promise<CamelizedDiscordRole[]>\n /**\n * Gets a scheduled event by its ID.\n *\n * @param guildId - The ID of the guild to get the scheduled event from.\n * @param eventId - The ID of the scheduled event to get.\n * @param options - The parameters for the fetching of the scheduled event.\n * @returns An instance of {@link ScheduledEvent}.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event}\n */\n getScheduledEvent: (guildId: BigString, eventId: BigString, options?: { withUserCount?: boolean }) => Promise<CamelizedDiscordScheduledEvent>\n /**\n * Gets the list of scheduled events for a guild.\n *\n * @param guildId - The ID of the guild to get the scheduled events from.\n * @param options - The parameters for the fetching of the scheduled events.\n * @returns A collection of {@link ScheduledEvent} objects assorted by event ID.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#list-scheduled-events-for-guild}\n */\n getScheduledEvents: (guildId: BigString, options?: GetScheduledEvents) => Promise<CamelizedDiscordScheduledEvent[]>\n /**\n * Gets the list of subscribers to a scheduled event from a guild.\n *\n * @param guildId - The ID of the guild to get the subscribers to the scheduled event from.\n * @param eventId - The ID of the scheduled event to get the subscribers of.\n * @param options - The parameters for the fetching of the subscribers.\n * @returns A collection of {@link User} objects assorted by user ID.\n *\n * @remarks\n * Requires the `MANAGE_EVENTS` permission.\n *\n * Users are ordered by their IDs in _ascending_ order.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event-users}\n */\n getScheduledEventUsers: (\n guildId: BigString,\n eventId: BigString,\n options?: GetScheduledEventUsers,\n ) => Promise<Array<{ user: CamelizedDiscordUser; member?: CamelizedDiscordMember }>>\n /** Get the bots Gateway metadata that can help during the operation of large or sharded bots. */\n getSessionInfo: () => Promise<CamelizedDiscordGetGatewayBot>\n /**\n * Gets the stage instance associated with a stage channel, if one exists.\n *\n * @param channelId - The ID of the stage channel the stage instance is associated with.\n * @returns An instance of {@link CamelizedDiscordStageInstance}.\n *\n * @see {@link https://discord.com/developers/docs/resources/stage-instance#get-stage-instance}\n */\n getStageInstance: (channelId: BigString) => Promise<CamelizedDiscordStageInstance>\n /**\n * Returns a sticker object for the given sticker ID.\n *\n * @param stickerId The ID of the sticker to get\n * @returns A {@link CamelizedDiscordSticker}\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#get-sticker}\n */\n getSticker: (stickerId: BigString) => Promise<CamelizedDiscordSticker>\n /**\n * Gets a thread member by their user ID.\n *\n * @param channelId - The ID of the thread to get the thread member of.\n * @param userId - The user ID of the thread member to get.\n * @returns An instance of {@link CamelizedDiscordThreadMember}.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-thread-member}\n */\n getThreadMember: (channelId: BigString, userId: BigString) => Promise<CamelizedDiscordThreadMember>\n /**\n * Gets the list of thread members for a thread.\n *\n * @param channelId - The ID of the thread to get the thread members of.\n * @returns A collection of {@link CamelizedDiscordThreadMember} assorted by user ID.\n *\n * @remarks\n * Requires the application to have the `GUILD_MEMBERS` privileged intent enabled.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#list-thread-members}\n */\n getThreadMembers: (channelId: BigString) => Promise<CamelizedDiscordThreadMember[]>\n /**\n * Gets the list of users that reacted with an emoji to a message.\n *\n * @param channelId - The ID of the channel the message to get the users for is in.\n * @param messageId - The ID of the message to get the users for.\n * @param reaction - The reaction for which to get the users.\n * @param options - The parameters for the fetching of the users.\n * @returns A collection of {@link User} objects assorted by user ID.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-reactions}\n */\n getReactions: (channelId: BigString, messageId: BigString, reaction: string, options?: GetReactions) => Promise<CamelizedDiscordUser[]>\n /**\n * Get a user's data from the api\n *\n * @param id The user's id\n * @returns {CamelizedDiscordUser}\n */\n getUser: (id: BigString) => Promise<CamelizedDiscordUser>\n /**\n * Gets information about the vanity url of a guild.\n *\n * @param guildId - The ID of the guild to get the vanity url information for.\n * @returns An instance of {@link VanityUrl}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * The `code` property will be `null` if the guild does not have a set vanity url.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-vanity-url}\n */\n getVanityUrl: (guildId: BigString) => Promise<CamelizedDiscordVanityUrl>\n /**\n * Gets the list of voice regions for a guild.\n *\n * @param guildId - The ID of the guild to get the voice regions for.\n * @returns A collection of {@link VoiceRegions | VoiceRegion} objects assorted by voice region ID.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-voice-regions}\n */\n getVoiceRegions: (guildId: BigString) => Promise<CamelizedDiscordVoiceRegion[]>\n /**\n * Gets a webhook by its ID.\n *\n * @param webhookId - The ID of the webhook to get.\n * @returns An instance of {@link CamelizedDiscordWebhook}.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#get-webhook}\n */\n getWebhook: (webhookId: BigString) => Promise<CamelizedDiscordWebhook>\n /**\n * Gets a webhook message by its ID.\n *\n * @param webhookId - The ID of the webhook to get a message of.\n * @param token - The webhook token, used to get webhook messages.\n * @param messageId - the ID of the webhook message to get.\n * @param options - The parameters for the fetching of the message.\n * @returns An instance of {@link CamelizedDiscordMessage}.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#get-webhook-message}\n */\n getWebhookMessage: (\n webhookId: BigString,\n token: string,\n messageId: BigString,\n options?: GetWebhookMessageOptions,\n ) => Promise<CamelizedDiscordMessage>\n /**\n * Gets a webhook using the webhook token, thereby bypassing the need for authentication + permissions.\n *\n * @param webhookId - The ID of the webhook to get.\n * @param token - The webhook token, used to get the webhook.\n * @returns An instance of {@link CamelizedDiscordWebhook}.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#get-webhook-with-token}\n */\n getWebhookWithToken: (webhookId: BigString, token: string) => Promise<CamelizedDiscordWebhook>\n /**\n * Gets the welcome screen for a guild.\n *\n * @param guildId - The ID of the guild to get the welcome screen for.\n * @returns An instance of {@link WelcomeScreen}.\n *\n * @remarks\n * If the welcome screen is not enabled:\n * - Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-welcome-screen}\n */\n getWelcomeScreen: (guildId: BigString) => Promise<CamelizedDiscordWelcomeScreen>\n /**\n * Gets the guild widget by guild ID.\n *\n * @param guildId - The ID of the guild to get the widget of.\n * @returns An instance of {@link GuildWidget}.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-widget}\n */\n getWidget: (guildId: BigString) => Promise<CamelizedDiscordGuildWidget>\n /**\n * Gets the settings of a guild's widget.\n *\n * @param guildId - The ID of the guild to get the widget of.\n * @returns An instance of {@link GuildWidgetSettings}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-widget-settings}\n */\n getWidgetSettings: (guildId: BigString) => Promise<CamelizedDiscordGuildWidgetSettings>\n /**\n * Adds the bot user to a thread.\n *\n * @param channelId - The ID of the thread to add the bot user to.\n *\n * @remarks\n * Requires the thread not be archived.\n *\n * Fires a _Thread Members Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#join-thread}\n */\n joinThread: (channelId: BigString) => Promise<void>\n /**\n * Leaves a guild.\n *\n * @param guildId - The ID of the guild to leave.\n *\n * @remarks\n * Fires a _Guild Delete_ event.\n *\n * @see {@link https://discord.com/developers/docs/resources/user#leave-guild}\n */\n leaveGuild: (guildId: BigString) => Promise<void>\n /**\n * Removes the bot user from a thread.\n *\n * @param channelId - The ID of the thread to remove the bot user from.\n *\n * @remarks\n * Requires the thread not be archived.\n *\n * Fires a _Thread Members Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#leave-thread}\n */\n leaveThread: (channelId: BigString) => Promise<void>\n /**\n * Cross-posts a message posted in an announcement channel to subscribed channels.\n *\n * @param channelId - The ID of the announcement channel.\n * @param messageId - The ID of the message to cross-post.\n * @returns An instance of the cross-posted {@link Message}.\n *\n * @remarks\n * Requires the `SEND_MESSAGES` permission.\n *\n * If not cross-posting own message:\n * - Requires the `MANAGE_MESSAGES` permission.\n *\n * Fires a _Message Create_ event in the guilds the subscribed channels are in.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#crosspost-message}\n */\n publishMessage: (channelId: BigString, messageId: BigString) => Promise<CamelizedDiscordMessage>\n /**\n * Removes a role from a member.\n *\n * @param guildId - The ID of the guild the member to remove the role from is in.\n * @param userId - The user ID of the member to remove the role from.\n * @param roleId - The ID of the role to remove from the member.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Guild Member Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#remove-guild-member-role}\n */\n removeRole: (guildId: BigString, userId: BigString, roleId: BigString, reason?: string) => Promise<void>\n /**\n * Removes a member from a thread.\n *\n * @param channelId - The ID of the thread to remove the thread member of.\n * @param userId - The user ID of the thread member to remove.\n *\n * @remarks\n * If the thread is of type {@link ChannelTypes.GuildPrivateThread}, requires to be the creator of the thread.\n * Otherwise, requires the `MANAGE_THREADS` permission.\n *\n * Requires the thread not be archived.\n *\n * Fires a _Thread Members Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#remove-thread-member}\n */\n removeThreadMember: (channelId: BigString, userId: BigString) => Promise<void>\n /**\n * Sends a message to a channel.\n *\n * @param channelId - The ID of the channel to send the message in.\n * @param options - The parameters for the creation of the message.\n * @returns An instance of the created {@link CamelizedDiscordMessage}.\n *\n * @remarks\n * Requires that the bot user be able to see the contents of the channel the message is to be sent in.\n *\n * If sending a message to a guild channel:\n * - Requires the `SEND_MESSAGES` permission.\n *\n * If sending a TTS message:\n * - Requires the `SEND_TTS_MESSAGES` permission.\n *\n * If sending a message as a reply to another message:\n * - Requires the `READ_MESSAGE_HISTORY` permission.\n * - The message being replied to cannot be a system message.\n *\n * ⚠️ The maximum size of a request (accounting for any attachments and message content) for bot users is _8 MiB_.\n *\n * Fires a _Message Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#create-message}\n */\n sendMessage: (channelId: BigString, options: CreateMessageOptions) => Promise<CamelizedDiscordMessage>\n /**\n * Sends a follow-up message to an interaction.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n * @param options - The parameters for the creation of the message.\n * @returns An instance of the created {@link Message}.\n *\n * @remarks\n * ⚠️ Interaction tokens are only valid for _15 minutes_.\n *\n * By default, mentions are suppressed. To enable mentions, pass a mention object with the callback data.\n *\n * Unlike `sendMessage()`, this endpoint allows the bot user to act without:\n * - Needing to be able to see the contents of the channel that the message is in. (`READ_MESSAGES` permission.)\n * - Requiring the `MESSAGE_CONTENT` intent.\n *\n * Fires a _Message Create_ event.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#create-followup-message}\n */\n sendFollowupMessage: (token: string, options: InteractionCallbackData) => Promise<CamelizedDiscordMessage>\n /**\n * Sends a response to an interaction.\n *\n * @param interactionId - The ID of the interaction to respond to.\n * @param token - The interaction token to use, provided in the original interaction.\n * @param options - The parameters for the creation of the message.\n * @returns An instance of the created {@link Message}.\n *\n * @remarks\n * ⚠️ Interaction tokens are only valid for _15 minutes_.\n *\n * By default, mentions are suppressed. To enable mentions, pass a mention object with the callback data.\n *\n * Unlike `sendMessage()`, this endpoint allows the bot user to act without:\n * - Needing to be able to see the contents of the channel that the message is in. (`READ_MESSAGES` permission.)\n * - Requiring the `MESSAGE_CONTENT` intent.\n *\n * Fires a _Message Create_ event.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#create-interaction-response}\n */\n sendInteractionResponse: (interactionId: BigString, token: string, options: InteractionResponse) => Promise<void>\n /**\n * Creates a thread, using an existing message as its point of origin.\n *\n * @param channelId - The ID of the channel in which to create the thread.\n * @param messageId - The ID of the message to use as the thread's point of origin.\n * @param options - The parameters to use for the creation of the thread.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link Channel | Thread}.\n *\n * @remarks\n * If called on a channel of type {@link ChannelTypes.GuildText}, creates a {@link ChannelTypes.GuildPublicThread}.\n * If called on a channel of type {@link ChannelTypes.GuildNews}, creates a {@link ChannelTypes.GuildNewsThread}.\n * Does not work on channels of type {@link ChannelTypes.GuildForum}.\n *\n * The ID of the created thread will be the same as the ID of the source message.\n *\n * Fires a _Thread Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#start-thread-from-message}\n */\n startThreadWithMessage: (\n channelId: BigString,\n messageId: BigString,\n options: StartThreadWithMessage,\n reason?: string,\n ) => Promise<CamelizedDiscordChannel>\n /**\n * Creates a thread without using a message as the thread's point of origin.\n *\n * @param channelId - The ID of the channel in which to create the thread.\n * @param options - The parameters to use for the creation of the thread.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordChannel | Thread}.\n *\n * @remarks\n * Creating a private thread requires the server to be boosted.\n *\n * Fires a _Thread Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#start-thread-without-message}\n */\n startThreadWithoutMessage: (channelId: BigString, options: StartThreadWithoutMessage, reason?: string) => Promise<CamelizedDiscordChannel>\n /**\n * Synchronises a template with the current state of a guild.\n *\n * @param guildId - The ID of the guild to synchronise a template of.\n * @returns An instance of the edited {@link Template}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#get-guild-templates}\n */\n syncGuildTemplate: (guildId: BigString) => Promise<CamelizedDiscordTemplate>\n /**\n * Triggers a typing indicator for the bot user.\n *\n * @param channelId - The ID of the channel in which to trigger the typing indicator.\n *\n * @remarks\n * Generally, bots should _not_ use this route.\n *\n * Fires a _Typing Start_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#trigger-typing-indicator}\n */\n triggerTypingIndicator: (channelId: BigString) => Promise<void>\n /**\n * Re-registers the list of global application commands, overwriting the previous commands completely.\n *\n * @param commands - The list of commands to use to overwrite the previous list.\n * @returns A collection of {@link ApplicationCommand} objects assorted by command ID.\n *\n * @remarks\n * ❗ Commands that are not present in the `commands` array will be __deleted__.\n *\n * ⚠️ Commands that do not already exist will count towards the daily limit of _200_ new commands.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#bulk-overwrite-global-application-commands}\n */\n upsertGlobalApplicationCommands: (commands: CreateApplicationCommand[]) => Promise<CamelizedDiscordApplicationCommand[]>\n /**\n * Re-registers the list of application commands registered in a guild, overwriting the previous commands completely.\n *\n * @param guildId - The ID of the guild whose list of commands to overwrite.\n * @param commands - The list of commands to use to overwrite the previous list.\n * @returns A collection of {@link ApplicationCommand} objects assorted by command ID.\n *\n * @remarks\n * ❗ Commands that are not present in the `commands` array will be __deleted__.\n *\n * ⚠️ Commands that do not already exist will count towards the daily limit of _200_ new commands.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#bulk-overwrite-guild-application-commands}\n */\n upsertGuildApplicationCommands: (guildId: BigString, commands: CreateApplicationCommand[]) => Promise<CamelizedDiscordApplicationCommand[]>\n /**\n * Bans a user from a guild.\n *\n * @param guildId - The ID of the guild to ban the user from.\n * @param userId - The ID of the user to ban from the guild.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @param options - The parameters for the creation of the ban.\n *\n * @remarks\n * Requires the `BAN_MEMBERS` permission.\n *\n * Fires a _Guild Ban Add_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#create-guild-ban}\n */\n banMember: (guildId: BigString, userId: BigString, options?: CreateGuildBan, reason?: string) => Promise<void>\n /**\n * Edits the nickname of the bot user.\n *\n * @param guildId - The ID of the guild to edit the nickname of the bot user in.\n * @param options - The parameters for the edit of the nickname.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link CamelizedDiscordMember}\n *\n * @remarks\n * Fires a _Guild Member Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-current-member}\n */\n editBotMember: (guildId: BigString, options: EditBotMemberOptions, reason?: string) => Promise<CamelizedDiscordMember>\n /**\n * Edits a member's properties.\n *\n * @param guildId - The ID of the guild to edit the member of.\n * @param userId - The user ID of the member to edit.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @param options - The parameters for the edit of the user.\n *\n * @remarks\n * This endpoint requires various permissions depending on what is edited about the member.\n * To find out the required permission to enact a change, read the documentation of this endpoint's {@link ModifyGuildMember | parameters}.\n *\n * Fires a _Guild Member Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-member}\n */\n editMember: (guildId: BigString, userId: BigString, options: ModifyGuildMember, reason?: string) => Promise<CamelizedDiscordMember>\n /**\n * Gets the member object by user ID.\n *\n \n * @param guildId - The ID of the guild to get the member object for.\n * @param userId - The ID of the user to get the member object for.\n * @returns An instance of {@link CamelizedDiscordMemberWithUser}.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-member}\n */\n getMember: (guildId: BigString, userId: BigString) => Promise<CamelizedDiscordMemberWithUser>\n /**\n * Gets the list of members for a guild.\n *\n * @param guildId - The ID of the guild to get the list of members for.\n * @param options - The parameters for the fetching of the members.\n * @returns A collection of {@link CamelizedDiscordMemberWithUser} objects assorted by user ID.\n *\n * @remarks\n * Requires the `GUILD_MEMBERS` intent.\n *\n * ⚠️ It is not recommended to use this endpoint with very large bots. Instead, opt to use `fetchMembers()`:\n * REST communication only permits 50 requests to be made per second, while gateways allow for up to 120 requests\n * per minute per shard. For more information, read {@link https://discord.com/developers/docs/topics/rate-limits#rate-limits}.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#list-guild-members}\n * @see {@link https://discord.com/developers/docs/topics/gateway#request-guild-members}\n * @see {@link https://discord.com/developers/docs/topics/rate-limits#rate-limits}\n */\n getMembers: (guildId: BigString, options: ListGuildMembers) => Promise<CamelizedDiscordMemberWithUser[]>\n\n /**\n * Kicks a member from a guild.\n *\n \n * @param guildId - The ID of the guild to kick the member from.\n * @param userId - The user ID of the member to kick from the guild.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `KICK_MEMBERS` permission.\n *\n * Fires a _Guild Member Remove_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#remove-guild-member}\n */\n kickMember: (guildId: BigString, userId: BigString, reason?: string) => Promise<void>\n /**\n * Pins a message in a channel.\n *\n * @param channelId - The ID of the channel where the message is to be pinned.\n * @param messageId - The ID of the message to pin.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires that the bot user be able to see the contents of the channel in which the messages were posted.\n *\n * Requires the `MANAGE_MESSAGES` permission.\n *\n * ⚠️ There can only be at max 50 messages pinned in a channel.\n *\n * Fires a _Channel Pins Update_ event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#pin-message}\n */\n pinMessage: (channelId: BigString, messageId: BigString, reason?: string) => Promise<void>\n /**\n * Initiates the process of pruning inactive members.\n *\n \n * @param guildId - The ID of the guild to prune the members of.\n * @param options - The parameters for the pruning of members.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns A number indicating how many members were pruned.\n *\n * @remarks\n * Requires the `KICK_MEMBERS` permission.\n *\n * ❗ Requests to this endpoint will time out for large guilds. To prevent this from happening, set the {@link BeginGuildPrune.computePruneCount} property of the {@link options} object parameter to `false`. This will begin the process of pruning, and immediately return `undefined`, rather than wait for the process to complete before returning the actual count of members that have been kicked.\n *\n * ⚠️ By default, this process will not remove members with a role. To include the members who have a _particular subset of roles_, specify the role(s) in the {@link BeginGuildPrune.includeRoles | includeRoles} property of the {@link options} object parameter.\n *\n * Fires a _Guild Member Remove_ gateway event for every member kicked.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#begin-guild-prune}\n */\n pruneMembers: (guildId: BigString, options: BeginGuildPrune, reason?: string) => Promise<{ pruned: number | null }>\n /**\n * Gets the list of members whose usernames or nicknames start with a provided string.\n *\n \n * @param guildId - The ID of the guild to search in.\n * @param query - The string to match usernames or nicknames against.\n * @param options - The parameters for searching through the members.\n * @returns A collection of {@link CamelizedDiscordMember} objects assorted by user ID.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#search-guild-members}\n */\n searchMembers: (guildId: BigString, query: string, options?: Omit<SearchMembers, 'query'>) => Promise<CamelizedDiscordMemberWithUser[]>\n /**\n * Unbans a user from a guild.\n *\n \n * @param guildId - The ID of the guild to unban the user in.\n * @param userId - The ID of the user to unban.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `BAN_MEMBERS` permission.\n *\n * Fires a _Guild Ban Remove_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#remove-guild-ban}\n */\n unbanMember: (guildId: BigString, userId: BigString, reason?: string) => Promise<void>\n /**\n * Unpins a pinned message in a channel.\n *\n * @param channelId - The ID of the channel where the message is pinned.\n * @param messageId - The ID of the message to unpin.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires that the bot user be able to see the contents of the channel in which the messages were posted.\n *\n * Requires the `MANAGE_MESSAGES` permission.\n *\n * Fires a _Channel Pins Update_ event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#unpin-message}\n */\n unpinMessage: (channelId: BigString, messageId: BigString, reason?: string) => Promise<void>\n}\n\nexport type RequestMethods = 'GET' | 'POST' | 'DELETE' | 'PATCH' | 'PUT'\nexport type ApiVersions = 9 | 10\n\nexport interface CreateWebhook {\n /** Name of the webhook (1-80 characters) */\n name: string\n /** Image url for the default webhook avatar */\n avatar?: string | null\n}\n\nexport interface CreateRequestBodyOptions {\n headers?: Record<string, string>\n body?: any\n unauthorized?: boolean\n reason?: string\n files?: FileContent[]\n}\n\nexport type MakeRequestOptions = Omit<CreateRequestBodyOptions, 'method'> & Pick<SendRequestOptions, 'runThroughQueue'>\n\nexport interface RequestBody {\n headers: Record<string, string>\n body?: string | FormData\n method: RequestMethods\n}\n\nexport interface SendRequestOptions {\n /** The url to send the request to. */\n url: string\n /** The method to use for sending the request. */\n method: RequestMethods\n /** The amount of times this request has been retried. */\n retryCount: number\n /** Handler to retry a request should it be rate limited. */\n retryRequest?: (options: SendRequestOptions) => Promise<void>\n /** Resolve handler when a request succeeds. */\n resolve: (value: RestRequestResponse) => void\n /** Reject handler when a request fails. */\n reject: (value: RestRequestRejection) => void\n /** If this request has a bucket id which it falls under for rate limit */\n bucketId?: string\n /** Additional request options, used for things like overriding authorization header. */\n requestBodyOptions?: CreateRequestBodyOptions\n /**\n * Whether the request should be run through the queue.\n * Useful for routes which do not have any rate limits.\n */\n runThroughQueue?: boolean\n}\n\nexport interface RestRateLimitedPath {\n url: string\n resetTimestamp: number\n bucketId?: string\n}\n\nexport interface WebhookMessageEditor {\n /**\n * Edits a webhook message.\n *\n * @param webhookId - The ID of the webhook to edit the message of.\n * @param token - The webhook token, used to edit the message.\n * @param messageId - The ID of the message to edit.\n * @param options - The parameters for the edit of the message.\n * @returns An instance of the edited {@link CamelizedDiscordMessage}.\n *\n * @remarks\n * Fires a _Message Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#edit-webhook-message}\n */\n (\n webhookId: BigString,\n token: string,\n messageId: BigString,\n options: InteractionCallbackData & { threadId?: BigString },\n ): Promise<CamelizedDiscordMessage>\n /**\n * Edits the original webhook message.\n *\n * @param webhookId - The ID of the webhook to edit the original message of.\n * @param token - The webhook token, used to edit the message.\n * @param options - The parameters for the edit of the message.\n * @returns An instance of the edited {@link CamelizedDiscordMessage}.\n *\n * @remarks\n * Fires a _Message Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#edit-webhook-message}\n */\n original: (webhookId: BigString, token: string, options: InteractionCallbackData & { threadId?: BigString }) => Promise<CamelizedDiscordMessage>\n}\n\nexport interface RestRequestResponse {\n ok: boolean\n status: number\n body?: string\n}\n\nexport interface RestRequestRejection {\n ok: boolean\n status: number\n body?: string\n error?: string\n}\n"],"names":[],"mappings":"AAAA,WA2jFC"}
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type {\n ApplicationCommandPermissions,\n AtLeastOne,\n BeginGuildPrune,\n BigString,\n Camelize,\n CamelizedDiscordActiveThreads,\n CamelizedDiscordApplication,\n CamelizedDiscordApplicationCommand,\n CamelizedDiscordArchivedThreads,\n CamelizedDiscordAuditLog,\n CamelizedDiscordAutoModerationRule,\n CamelizedDiscordBan,\n CamelizedDiscordChannel,\n CamelizedDiscordEmoji,\n CamelizedDiscordFollowedChannel,\n CamelizedDiscordGetGatewayBot,\n CamelizedDiscordGuild,\n CamelizedDiscordGuildApplicationCommandPermissions,\n CamelizedDiscordGuildPreview,\n CamelizedDiscordGuildWidget,\n CamelizedDiscordGuildWidgetSettings,\n CamelizedDiscordIntegration,\n CamelizedDiscordInvite,\n CamelizedDiscordInviteMetadata,\n CamelizedDiscordMember,\n CamelizedDiscordMemberWithUser,\n CamelizedDiscordMessage,\n CamelizedDiscordModifyGuildWelcomeScreen,\n CamelizedDiscordPrunedCount,\n CamelizedDiscordRole,\n CamelizedDiscordScheduledEvent,\n CamelizedDiscordStageInstance,\n CamelizedDiscordSticker,\n CamelizedDiscordStickerPack,\n CamelizedDiscordTemplate,\n CamelizedDiscordThreadMember,\n CamelizedDiscordUser,\n CamelizedDiscordVanityUrl,\n CamelizedDiscordVoiceRegion,\n CamelizedDiscordWebhook,\n CamelizedDiscordWelcomeScreen,\n CreateApplicationCommand,\n CreateAutoModerationRuleOptions,\n CreateChannelInvite,\n CreateForumPostWithMessage,\n CreateGuild,\n CreateGuildBan,\n CreateGuildChannel,\n CreateGuildEmoji,\n CreateGuildFromTemplate,\n CreateGuildRole,\n CreateGuildStickerOptions,\n CreateMessageOptions,\n CreateScheduledEvent,\n CreateStageInstance,\n CreateTemplate,\n DeleteWebhookMessageOptions,\n EditAutoModerationRuleOptions,\n EditBotMemberOptions,\n EditChannelPermissionOverridesOptions,\n EditGuildRole,\n EditGuildStickerOptions,\n EditMessage,\n EditOwnVoiceState,\n EditScheduledEvent,\n EditUserVoiceState,\n ExecuteWebhook,\n FileContent,\n GetBans,\n GetGuildAuditLog,\n GetGuildPruneCountQuery,\n GetInvite,\n GetMessagesOptions,\n GetReactions,\n GetScheduledEvents,\n GetScheduledEventUsers,\n GetWebhookMessageOptions,\n InteractionCallbackData,\n InteractionResponse,\n ListArchivedThreads,\n ListGuildMembers,\n MfaLevels,\n ModifyChannel,\n ModifyGuild,\n ModifyGuildChannelPositions,\n ModifyGuildEmoji,\n ModifyGuildMember,\n ModifyGuildTemplate,\n ModifyRolePositions,\n ModifyWebhook,\n SearchMembers,\n StartThreadWithMessage,\n StartThreadWithoutMessage,\n} from '@discordeno/types'\nimport type { InvalidRequestBucket } from './invalidBucket.js'\nimport type { Queue } from './queue.js'\nimport type { RestRoutes } from './typings/routes.js'\n\nexport interface CreateRestManagerOptions {\n /** The bot token which will be used to make requests. */\n token?: string\n /**\n * For old bots that have a different bot id and application id.\n * @default bot id from token\n */\n applicationId?: BigString\n /** Configuration when using a proxy. */\n proxy?: {\n /**\n * The base url to connect to. If you create a proxy rest, that url would go here.\n * IT SHOULD NOT END WITH A /\n * @default https://discord.com/api\n */\n baseUrl: string\n /** The authorization header to attach when sending requests to the proxy. */\n authorization: string\n }\n /**\n * The api versions which can be used to make requests.\n * @default 10\n */\n version?: ApiVersions\n}\n\nexport interface RestManager {\n /** The bot token which will be used to make requests. */\n token?: string\n /** The application id. Normally this is not required for recent bots but old bot's application id is sometimes different from the bot id so it is required for those bots. */\n applicationId: bigint\n /** The api version to use when making requests. Only the latest supported version will be tested. */\n version: ApiVersions\n /**\n * The base url to connect to. If you create a proxy rest, that url would go here.\n * IT SHOULD NOT END WITH A /\n * @default https://discord.com/api\n */\n baseUrl: string\n /**\n * `true` if the `baseUrl` does not start with `https://discord.com/api`.\n *\n * Mostly used only for intern functions.\n */\n isProxied: boolean\n /** The authorization header to attach when sending requests to the proxy. */\n authorization?: string\n /** The maximum amount of times a request should be retried. Defaults to Infinity */\n maxRetryCount: number\n /** Whether or not the manager is rate limited globally across all requests. Defaults to false. */\n globallyRateLimited: boolean\n /** Whether or not the rate limited paths are being processed to allow requests to be made once time is up. Defaults to false. */\n processingRateLimitedPaths: boolean\n /** The time in milliseconds to wait before deleting this queue if it is empty. Defaults to 60000(one minute). */\n deleteQueueDelay: number\n /** The queues that hold all the requests to be processed. */\n queues: Map<string, Queue>\n /** The paths that are currently rate limited. */\n rateLimitedPaths: Map<string, RestRateLimitedPath>\n /** The bucket for handling any invalid requests. */\n invalidBucket: InvalidRequestBucket\n /** The routes that are available for this manager. */\n routes: RestRoutes\n /** Whether or not the rest manager should keep objects in raw snake case from discord. */\n preferSnakeCase: (enabled: boolean) => RestManager;\n /** Check the rate limits for a url or a bucket. */\n checkRateLimits: (url: string) => number | false\n /** Reshapes and modifies the obj as needed to make it ready for discords api. */\n changeToDiscordFormat: (obj: any) => any\n /** Creates the request body and headers that are necessary to send a request. Will handle different types of methods and everything necessary for discord. */\n createRequestBody: (method: RequestMethods, options?: CreateRequestBodyOptions) => RequestBody\n /** 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. */\n processRateLimitedPaths: () => void\n /** Processes the rate limit headers and determines if it needs to be rate limited and returns the bucket id if available */\n processHeaders: (url: string, headers: Headers) => string | undefined\n /** Sends a request to the api. */\n sendRequest: (options: SendRequestOptions) => Promise<void>\n /** Split a url to separate rate limit buckets based on major/minor parameters. */\n simplifyUrl: (url: string, method: RequestMethods) => string\n /** Make a request to be sent to the api. */\n makeRequest: <T = unknown>(method: RequestMethods, url: string, options?: MakeRequestOptions) => Promise<T>\n /** Takes a request and processes it into a queue. */\n processRequest: (request: SendRequestOptions) => Promise<void>\n /** Make a get request to the api */\n get: <T = void>(url: string, options?: Omit<MakeRequestOptions, 'body'>) => Promise<Camelize<T>>\n /** Make a post request to the api. */\n post: <T = void>(url: string, options?: MakeRequestOptions) => Promise<Camelize<T>>\n /** Make a put request to the api. */\n put: <T = void>(url: string, options?: MakeRequestOptions) => Promise<Camelize<T>>\n /** Make a delete request to the api. */\n delete: (url: string, options?: Omit<MakeRequestOptions, 'body'>) => Promise<void>\n /** Make a patch request to the api. */\n patch: <T = void>(url: string, options?: MakeRequestOptions) => Promise<Camelize<T>>\n /**\n * Adds a reaction to a message.\n *\n * @param channelId - The ID of the channel the message to add a reaction to is in.\n * @param messageId - The ID of the message to add a reaction to.\n * @param reaction - The reaction to add to the message.\n * @returns\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * If nobody else has reacted to the message:\n * - Requires the `ADD_REACTIONS` permission.\n *\n * Fires a _Message Reaction Add_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#create-reaction}\n */\n addReaction: (channelId: BigString, messageId: BigString, reaction: string) => Promise<void>\n /**\n * Adds multiple a reaction to a message.\n *\n * This function uses the `addReaction()` helper behind the scenes.\n *\n * @param channelId - The ID of the channel the message to add reactions to is in.\n * @param messageId - The ID of the message to add the reactions to.\n * @param reactions - The reactions to add to the message.\n * @param ordered - Whether the reactions must be added in order or not.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * If nobody else has reacted to the message:\n * - Requires the `ADD_REACTIONS` permission.\n *\n * Fires a _Message Reaction Add_ gateway event for every reaction added.\n */\n addReactions: (channelId: BigString, messageId: BigString, reactions: string[], ordered?: boolean) => Promise<void>\n /**\n * Adds a role to a member.\n *\n * @param guildId - The ID of the guild the member to add the role to is in.\n * @param userId - The user ID of the member to add the role to.\n * @param roleId - The ID of the role to add to the member.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Guild Member Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#add-guild-member-role}\n */\n addRole: (guildId: BigString, userId: BigString, roleId: BigString, reason?: string) => Promise<void>\n /**\n * Adds a member to a thread.\n *\n * @param channelId - The ID of the thread to add the member to.\n * @param userId - The user ID of the member to add to the thread.\n *\n * @remarks\n * Requires the ability to send messages in the thread.\n * Requires the thread not be archived.\n *\n * Fires a _Thread Members Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#add-thread-member}\n */\n addThreadMember: (channelId: BigString, userId: BigString) => Promise<void>\n /**\n * Creates an automod rule in a guild.\n *\n * @param guildId - The ID of the guild to create the rule in.\n * @param options - The parameters for the creation of the rule.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordAutoModerationRule}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires an _Auto Moderation Rule Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/auto-moderation#create-auto-moderation-rule}\n */\n createAutomodRule: (guildId: BigString, options: CreateAutoModerationRuleOptions, reason?: string) => Promise<CamelizedDiscordAutoModerationRule>\n /**\n * Creates a channel within a guild.\n *\n * @param guildId - The ID of the guild to create the channel within.\n * @param options - The parameters for the creation of the channel.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordChannel}.\n *\n * @remarks\n * Requires the `MANAGE_CHANNELS` permission.\n *\n * If setting permission overwrites, only the permissions the bot user has in the guild can be allowed or denied.\n *\n * Setting the `MANAGE_ROLES` permission is only possible for guild administrators.\n *\n * Fires a _Channel Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#create-guild-channel}\n */\n createChannel: (guildId: BigString, options: CreateGuildChannel, reason?: string) => Promise<CamelizedDiscordChannel>\n /**\n * Creates an emoji in a guild.\n *\n * @param guildId - The ID of the guild in which to create the emoji.\n * @param options - The parameters for the creation of the emoji.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordEmoji}.\n *\n * @remarks\n * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission.\n *\n * Emojis have a maximum file size of 256 kilobits. Attempting to upload a larger emoji will cause the route to return 400 Bad Request.\n *\n * Fires a _Guild Emojis Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/emoji#create-guild-emoji}\n */\n createEmoji: (guildId: BigString, options: CreateGuildEmoji, reason?: string) => Promise<CamelizedDiscordEmoji>\n /**\n * Creates a new thread in a forum channel, and sends a message within the created thread.\n *\n * @param channelId - The ID of the forum channel to create the thread within.\n * @param options - The parameters for the creation of the thread.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of {@link CamelizedDiscordChannel} with a nested {@link Message} object.\n *\n * @remarks\n * Requires the `CREATE_MESSAGES` permission.\n *\n * Fires a _Thread Create_ gateway event.\n * Fires a _Message Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#start-thread-in-forum-channel}\n *\n * @experimental\n */\n createForumThread: (channelId: BigString, options: CreateForumPostWithMessage, reason?: string) => Promise<CamelizedDiscordChannel>\n /**\n * Creates an application command accessible globally; across different guilds and channels.\n *\n * @param command - The command to create.\n * @returns An instance of the created {@link ApplicationCommand}.\n *\n * @remarks\n * ⚠️ Creating a command with the same name as an existing command for your application will overwrite the old command.\n * ⚠️ Global commands once created are cached for periods of __an hour__, so changes made to existing commands will take an hour to surface.\n * ⚠️ You can only create up to 200 _new_ commands daily.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#create-global-application-command}\n */\n createGlobalApplicationCommand: (command: CreateApplicationCommand) => Promise<CamelizedDiscordApplicationCommand>\n /**\n * Creates a guild.\n *\n * @param options - The parameters for the creation of the guild.\n * @returns An instance of the created {@link CamelizedDiscordGuild}.\n *\n * @remarks\n * ⚠️ This route can only be used by bots in __fewer than 10 guilds__.\n *\n * Fires a _Guild Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#create-guild}\n */\n createGuild: (options: CreateGuild) => Promise<CamelizedDiscordGuild>\n /**\n * Creates an application command only accessible in a specific guild.\n *\n * @param command - The command to create.\n * @param guildId - The ID of the guild to create the command for.\n * @returns An instance of the created {@link ApplicationCommand}.\n *\n * @remarks\n * ⚠️ Creating a command with the same name as an existing command for your application will overwrite the old command.\n * ⚠️ You can only create up to 200 _new_ commands daily.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#create-guild-application-command}\n */\n createGuildApplicationCommand: (command: CreateApplicationCommand, guildId: BigString) => Promise<CamelizedDiscordApplicationCommand>\n /**\n * Creates a guild from a template.\n *\n * @param templateCode - The code of the template.\n * @param options - The parameters for the creation of the guild.\n * @returns An instance of the created {@link Guild}.\n *\n * @remarks\n * ⚠️ This route can only be used by bots in __fewer than 10 guilds__.\n *\n * Fires a _Guild Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template}\n */\n createGuildFromTemplate: (templateCode: string, options: CreateGuildFromTemplate) => Promise<CamelizedDiscordGuild>\n /**\n * Create a new sticker for the guild.\n *\n * @param guildId The ID of the guild to get\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @return A {@link CamelizedDiscordSticker}\n *\n * @remarks\n * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission.\n * Fires a Guild Stickers Update Gateway event.\n * Every guilds has five free sticker slots by default, and each Boost level will grant access to more slots.\n * Lottie stickers can only be uploaded on guilds that have either the `VERIFIED` and/or the `PARTNERED` guild feature.\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#create-guild-sticker}\n */\n createGuildSticker: (guildId: BigString, options: CreateGuildStickerOptions, reason?: string) => Promise<CamelizedDiscordSticker>\n /**\n * Creates a template from a guild.\n *\n * @param guildId - The ID of the guild to create the template from.\n * @param options - The parameters for the creation of the template.\n * @returns An instance of the created {@link Template}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#create-guild-template}\n */\n createGuildTemplate: (guildId: BigString, options: CreateTemplate) => Promise<CamelizedDiscordTemplate>\n /**\n * Creates an invite to a channel in a guild.\n *\n * @param channelId - The ID of the channel to create the invite to.\n * @param options - The parameters for the creation of the invite.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordInvite}.\n *\n * @remarks\n * Requires the `CREATE_INSTANT_INVITE` permission.\n *\n * Fires an _Invite Create_ gateway event.\n *\n * @privateRemarks\n * The request body is not optional, and an empty JSON object must be sent regardless of whether any fields are being transmitted.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#create-channel-invite}\n */\n createInvite: (channelId: BigString, options?: CreateChannelInvite, reason?: string) => Promise<CamelizedDiscordInvite>\n /**\n * Creates a role in a guild.\n *\n * @param guildId - The ID of the guild to create the role in.\n * @param options - The parameters for the creation of the role.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordRole}.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Guild Role Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#create-guild-role}\n */\n createRole: (guildId: BigString, options: CreateGuildRole, reason?: string) => Promise<CamelizedDiscordRole>\n /**\n * Creates a scheduled event in a guild.\n *\n * @param guildId - The ID of the guild to create the scheduled event in.\n * @param options - The parameters for the creation of the scheduled event.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link ScheduledEvent}.\n *\n * @remarks\n * Requires the `MANAGE_EVENTS` permission.\n *\n * A guild can only have a maximum of 100 events with a status of {@link ScheduledEventStatus.Active} or {@link ScheduledEventStatus.Scheduled} (inclusive).\n *\n * Fires a _Guild Scheduled Event Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event}\n */\n createScheduledEvent: (guildId: BigString, options: CreateScheduledEvent, reason?: string) => Promise<CamelizedDiscordScheduledEvent>\n /**\n * Creates a stage instance associated with a stage channel.\n *\n * @param options - The parameters for the creation of the stage instance.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordStageInstance}.\n *\n * @remarks\n * Requires the user to be a moderator of the stage channel.\n *\n * Fires a _Stage Instance Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/stage-instance#create-stage-instance}\n */\n createStageInstance: (options: CreateStageInstance, reason?: string) => Promise<CamelizedDiscordStageInstance>\n /**\n * Creates a webhook.\n *\n * @param channelId - The ID of the channel to create the webhook in.\n * @param options - The parameters for the creation of the webhook.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordWebhook}.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * ⚠️ The webhook name must not contain the substrings 'clyde', or 'discord' (case-insensitive).\n *\n * Fires a _Webhooks Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#create-webhook}\n */\n createWebhook: (channelId: BigString, options: CreateWebhook, reason?: string) => Promise<CamelizedDiscordWebhook>\n /**\n * Deletes an automod rule.\n *\n * @param guildId - The ID of the guild to delete the rule from.\n * @param ruleId - The ID of the automod rule to delete.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires an _Auto Moderation Rule Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/auto-moderation#delete-auto-moderation-rule}\n */\n deleteAutomodRule: (guildId: BigString, ruleId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a channel from within a guild.\n *\n * @param channelId - The ID of the channel to delete.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the deleted {@link Channel}.\n *\n * @remarks\n * For community guilds, the _Rules_, _Guidelines_ and _Community Update_ channels cannot be deleted.\n *\n * If the channel is a thread:\n * - Requires the `MANAGE_THREADS` permission.\n *\n * - Fires a _Thread Delete_ gateway event.\n *\n * Otherwise:\n * - Requires the `MANAGE_CHANNELS` permission.\n *\n * - ⚠️ Deleting a category channel does not delete its child channels.\n * Instead, they will have their `parent_id` property removed, and a `Channel Update` gateway event will fire for each of them.\n *\n * - Fires a _Channel Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#deleteclose-channel}\n */\n deleteChannel: (channelId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a permission override for a user or role in a channel.\n *\n * @param channelId - The ID of the channel to delete the permission override of.\n * @param overwriteId - The ID of the permission override to delete.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Channel Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-channel-permission}\n */\n deleteChannelPermissionOverride: (channelId: BigString, overwriteId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes an emoji from a guild.\n *\n * @param guildId - The ID of the guild from which to delete the emoji.\n * @param id - The ID of the emoji to delete.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission.\n *\n * Fires a _Guild Emojis Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/emoji#delete-guild-emoji}\n */\n deleteEmoji: (guildId: BigString, id: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a follow-up message to an interaction.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n * @param messageId - The ID of the message to delete.\n *\n * @remarks\n * Unlike `deleteMessage()`, this endpoint allows the bot user to act without needing to see the channel the message is in.\n *\n * Fires a _Message Delete_ event.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#delete-followup-message}\n */\n deleteFollowupMessage: (token: string, messageId: BigString) => Promise<void>\n /**\n * Deletes an application command registered globally.\n *\n * @param commandId - The ID of the command to delete.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#delete-global-application-command}\n */\n deleteGlobalApplicationCommand: (commandId: BigString) => Promise<void>\n /**\n * Deletes a guild.\n *\n * @param guildId - The ID of the guild to delete.\n *\n * @remarks\n * The bot user must be the owner of the guild.\n *\n * Fires a _Guild Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#delete-guild}\n */\n deleteGuild: (guildId: BigString) => Promise<void>\n /**\n * Deletes an application command registered in a guild.\n *\n * @param guildId - The ID of the guild to delete the command from.\n * @param commandId - The ID of the command to delete from the guild.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#delete-guild-application-command}\n */\n deleteGuildApplicationCommand: (commandId: BigString, guildId: BigString) => Promise<void>\n /**\n * Delete a new sticker for the guild.\n *\n * @param guildId The ID of the guild to get\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @return A {@link CamelizedDiscordSticker}\n *\n * @remarks\n * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission.\n * Fires a Guild Stickers Update Gateway event.\n * Every guilds has five free sticker slots by default, and each Boost level will grant access to more slots.\n * Lottie stickers can only be uploaded on guilds that have either the `VERIFIED` and/or the `PARTNERED` guild feature.\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#delete-guild-sticker}\n */\n deleteGuildSticker: (guildId: BigString, stickerId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a template from a guild.\n *\n * @param guildId - The ID of the guild to delete the template from.\n * @param templateCode - The code of the template to delete.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#delete-guild-template}\n */\n deleteGuildTemplate: (guildId: BigString, templateCode: string) => Promise<void>\n /**\n * Deletes an integration attached to a guild.\n *\n * @param guildId - The ID of the guild from which to delete the integration.\n * @param integrationId - The ID of the integration to delete from the guild.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Deletes all webhooks associated with the integration, and kicks the associated bot if there is one.\n *\n * Fires a _Guild Integrations Update_ gateway event.\n * Fires a _Integration Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#delete-guild-integration}\n */\n deleteIntegration: (guildId: BigString, integrationId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes an invite to a channel.\n *\n * @param inviteCode - The invite code of the invite to delete.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_CHANNELS` permission.\n *\n * Fires an _Invite Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-channel-invite}\n */\n deleteInvite: (inviteCode: string, reason?: string) => Promise<void>\n /**\n * Deletes a message from a channel.\n *\n * @param channelId - The ID of the channel to delete the message from.\n * @param messageId - The ID of the message to delete from the channel.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * If not deleting own message:\n * - Requires the `MANAGE_MESSAGES` permission.\n *\n * Fires a _Message Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-message}\n */\n deleteMessage: (channelId: BigString, messageId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes multiple messages from a channel.\n *\n * @param channelId - The ID of the channel to delete the messages from.\n * @param messageIds - The IDs of the messages to delete from the channel.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_MESSAGES` permission.\n *\n * ⚠️ Messages older than 2 weeks old cannot be deleted.\n *\n * Fires a _Message Delete Bulk_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#bulk-delete-messages}\n */\n deleteMessages: (channelId: BigString, messageIds: BigString[], reason?: string) => Promise<void>\n /**\n * Deletes the initial message response to an interaction.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n *\n * @remarks\n * Unlike `deleteMessage()`, this endpoint allows the bot user to act without needing to see the channel the message is in.\n *\n * Fires a _Message Delete_ event.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#delete-original-interaction-response}\n */\n deleteOriginalInteractionResponse: (token: string) => Promise<void>\n /**\n * Deletes a reaction added by the bot user from a message.\n *\n * @param channelId - The ID of the channel the message to delete the reaction from is in.\n * @param messageId - The ID of the message to delete the reaction from.\n * @param reaction - The reaction to delete from the message.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * Fires a _Message Reaction Remove_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-own-reaction}\n */\n deleteOwnReaction: (channelId: BigString, messageId: BigString, reaction: string) => Promise<void>\n /**\n * Deletes all reactions for all emojis from a message.\n *\n * @param channelId - The ID of the channel the message to delete the reactions from is in.\n * @param messageId - The ID of the message to delete the reactions from.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * Requires the `MANAGE_MESSAGES` permission.\n *\n * Fires a _Message Reaction Remove All_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-all-reactions}\n */\n deleteReactionsAll: (channelId: BigString, messageId: BigString) => Promise<void>\n /**\n * Deletes all reactions for an emoji from a message.\n *\n * @param channelId - The ID of the channel the message to delete the reactions from is in.\n * @param messageId - The ID of the message to delete the reactions from.\n * @param reaction - The reaction to remove from the message.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * Requires the `MANAGE_MESSAGES` permission.\n *\n * Fires a _Message Reaction Remove Emoji_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-all-reactions-for-emoji}\n */\n deleteReactionsEmoji: (channelId: BigString, messageId: BigString, reaction: string) => Promise<void>\n /**\n * Deletes a role from a guild.\n *\n * @param guildId - The ID of the guild to delete the role from.\n * @param roleId - The ID of the role to delete.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Guild Role Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#delete-guild-role}\n */\n deleteRole: (guildId: BigString, roleId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a scheduled event from a guild.\n *\n * @param guildId - The ID of the guild to delete the scheduled event from.\n * @param eventId - The ID of the scheduled event to delete.\n *\n * @remarks\n * Requires the `MANAGE_EVENTS` permission.\n *\n * Fires a _Guild Scheduled Event Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#delete-guild-scheduled-event}\n */\n deleteScheduledEvent: (guildId: BigString, eventId: BigString) => Promise<void>\n /**\n * Deletes the stage instance associated with a stage channel, if one exists.\n *\n * @param channelId - The ID of the stage channel the stage instance is associated with.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the user to be a moderator of the stage channel.\n *\n * Fires a _Stage Instance Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/stage-instance#delete-stage-instance}\n */\n deleteStageInstance: (channelId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a user's reaction from a message.\n *\n * @param channelId - The ID of the channel the message to delete the reaction from is in.\n * @param messageId - The ID of the message to delete the reaction from.\n * @param userId - The ID of the user whose reaction to delete.\n * @param reaction - The reaction to delete from the message.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * Requires the `MANAGE_MESSAGES` permission.\n *\n * Fires a _Message Reaction Remove_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#delete-user-reaction}\n */\n deleteUserReaction: (channelId: BigString, messageId: BigString, userId: BigString, reaction: string) => Promise<void>\n /**\n * Deletes a webhook.\n *\n * @param webhookId - The ID of the webhook to delete.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * Fires a _Webhooks Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#delete-webhook}\n */\n deleteWebhook: (webhookId: BigString, reason?: string) => Promise<void>\n /**\n * Deletes a webhook message.\n *\n * @param webhookId - The ID of the webhook to delete the message belonging to.\n * @param token - The webhook token, used to manage the webhook.\n * @param messageId - The ID of the message to delete.\n * @param options - The parameters for the deletion of the message.\n *\n * @remarks\n * Fires a _Message Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#delete-webhook}\n */\n deleteWebhookMessage: (webhookId: BigString, token: string, messageId: BigString, options?: DeleteWebhookMessageOptions) => Promise<void>\n /**\n * Deletes a webhook message using the webhook token, thereby bypassing the need for authentication + permissions.\n *\n * @param webhookId - The ID of the webhook to delete the message belonging to.\n * @param token - The webhook token, used to delete the webhook.\n *\n * @remarks\n * Fires a _Message Delete_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#delete-webhook-with-token}\n */\n deleteWebhookWithToken: (webhookId: BigString, token: string) => Promise<void>\n /**\n * Edits the permissions for a guild application command.\n *\n * @param guildId - The ID of the guild the command is registered in.\n * @param commandId - The ID of the command to edit the permissions of.\n * @param bearerToken - The bearer token to use to make the request.\n * @param options - The parameters for the edit of the command permissions.\n * @returns An instance of the edited {@link ApplicationCommandPermission}.\n *\n * @remarks\n * 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.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#edit-application-command-permissions}\n */\n editApplicationCommandPermissions: (\n guildId: BigString,\n commandId: BigString,\n bearerToken: string,\n options: ApplicationCommandPermissions[],\n ) => Promise<CamelizedDiscordGuildApplicationCommandPermissions>\n /**\n * Edits an automod rule.\n *\n * @param guildId - The ID of the guild to edit the rule in.\n * @param ruleId - The ID of the rule to edit.\n * @param options - The parameters for the edit of the rule.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link CamelizedDiscordAutoModerationRule}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires an _Auto Moderation Rule Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/auto-moderation#modify-auto-moderation-rule}\n */\n editAutomodRule: (\n guildId: BigString,\n ruleId: BigString,\n options: Partial<EditAutoModerationRuleOptions>,\n reason?: string,\n ) => Promise<CamelizedDiscordAutoModerationRule>\n /**\n * Modifies the bot's username or avatar.\n * NOTE: username: if changed may cause the bot's discriminator to be randomized.\n */\n editBotProfile: (options: { username?: string; botAvatarURL?: string | null }) => Promise<CamelizedDiscordUser>\n /**\n * Edits a channel's settings.\n *\n * @param channelId - The ID of the channel to edit.\n * @param options - The parameters for the edit of the channel.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link CamelizedDiscordChannel}.\n *\n * @remarks\n * If editing a channel of type {@link ChannelTypes.GroupDm}:\n * - Fires a _Channel Update_ gateway event.\n *\n * If editing a thread channel:\n * - Requires the `MANAGE_THREADS` permission __unless__ if setting the `archived` property to `false` when the `locked` property is also `false`, in which case only the `SEND_MESSAGES` permission is required.\n *\n * - Fires a _Thread Update_ gateway event.\n *\n * If editing a guild channel:\n * - Requires the `MANAGE_CHANNELS` permission.\n *\n * - If modifying permission overrides:\n * - Requires the `MANAGE_ROLES` permission.\n *\n * - Only permissions the bot user has in the guild or parent channel can be allowed/denied __unless__ the bot user has a `MANAGE_ROLES` permission override in the channel.\n *\n * - If modifying a channel of type {@link ChannelTypes.GuildCategory}:\n * - Fires a _Channel Update_ gateway event for each child channel impacted in this change.\n * - Otherwise:\n * - Fires a _Channel Update_ gateway event.\n */\n editChannel: (channelId: BigString, options: ModifyChannel, reason?: string) => Promise<CamelizedDiscordChannel>\n /**\n * Edits the permission overrides for a user or role in a channel.\n *\n * @param channelId - The ID of the channel to edit the permission overrides of.\n * @param options - The permission override.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Only permissions the bot user has in the guild or parent channel can be allowed/denied __unless__ the bot user has a `MANAGE_ROLES` permission override in the channel.\n *\n * Fires a _Channel Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#edit-channel-permissions}\n */\n editChannelPermissionOverrides: (channelId: BigString, options: EditChannelPermissionOverridesOptions, reason?: string) => Promise<void>\n /**\n * Edits the positions of a set of channels in a guild.\n *\n * @param guildId - The ID of the guild in which to edit the positions of the channels.\n * @param channelPositions - A set of objects defining the updated positions of the channels.\n *\n * @remarks\n * Requires the `MANAGE_CHANNELS` permission.\n *\n * Fires a _Channel Update_ gateway event for every channel impacted in this change.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-channel-positions}\n */\n editChannelPositions: (guildId: BigString, channelPositions: ModifyGuildChannelPositions[]) => Promise<void>\n /**\n * Edits an emoji.\n *\n * @param guildId - The ID of the guild in which to edit the emoji.\n * @param id - The ID of the emoji to edit.\n * @param options - The parameters for the edit of the emoji.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the updated {@link CamelizedDiscordEmoji}.\n *\n * @remarks\n * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission.\n *\n * Fires a `Guild Emojis Update` gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/emoji#modify-guild-emoji}\n */\n editEmoji: (guildId: BigString, id: BigString, options: ModifyGuildEmoji, reason?: string) => Promise<CamelizedDiscordEmoji>\n /**\n * Edits a follow-up message to an interaction.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n * @param messageId - The ID of the message to edit.\n * @param options - The parameters for the edit of the message.\n * @returns An instance of the edited {@link Message}.\n *\n * @remarks\n * Unlike `editMessage()`, this endpoint allows the bot user to act without needing to see the channel the message is in.\n *\n * Does not support ephemeral follow-up messages due to these being stateless.\n *\n * Fires a _Message Update_ event.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#edit-followup-message}\n */\n editFollowupMessage: (token: string, messageId: BigString, options: InteractionCallbackData) => Promise<CamelizedDiscordMessage>\n /**\n * Edits a global application command.\n *\n * @param commandId - The ID of the command to edit.\n * @param options - The parameters for the edit of the command.\n * @returns An instance of the edited {@link ApplicationCommand}.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#edit-global-application-command}\n */\n editGlobalApplicationCommand: (commandId: BigString, options: CreateApplicationCommand) => Promise<CamelizedDiscordApplicationCommand>\n /**\n * Edits a guild's settings.\n *\n * @param guildId - The ID of the guild to edit.\n * @param shardId - The ID of the shard the guild is in.\n * @param options - The parameters for the edit of the guild.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link Guild}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * If attempting to add or remove the {@link GuildFeatures.Community} feature:\n * - Requires the `ADMINISTRATOR` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild}\n */\n editGuild: (guildId: BigString, options: ModifyGuild, reason?: string) => Promise<CamelizedDiscordGuild>\n /**\n * Edits an application command registered in a guild.\n *\n * @param guildId - The ID of the guild the command is registered in.\n * @param commandId - The ID of the command to edit.\n * @param options - The parameters for the edit of the command.\n * @returns An instance of the edited {@link ApplicationCommand}.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#edit-guild-application-command}\n */\n editGuildApplicationCommand: (\n commandId: BigString,\n guildId: BigString,\n options: CreateApplicationCommand,\n ) => Promise<CamelizedDiscordApplicationCommand>\n /** Modify a guild's MFA level. Requires guild ownership.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n */\n editGuildMfaLevel: (guildId: BigString, mfaLevel: MfaLevels, reason?: string) => Promise<void>\n /**\n * Edit the given sticker.\n *\n * @param guildId The ID of the guild to get\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @return A {@link CamelizedDiscordSticker}\n *\n * @remarks\n * Requires the `MANAGE_EMOJIS_AND_STICKERS` permission.\n * Fires a Guild Stickers Update Gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#modify-guild-sticker}\n */\n editGuildSticker: (\n guildId: BigString,\n stickerId: BigString,\n options: AtLeastOne<EditGuildStickerOptions>,\n reason?: string,\n ) => Promise<CamelizedDiscordSticker>\n /**\n * Edits a template's settings.\n *\n * @param guildId - The ID of the guild to edit a template of.\n * @param templateCode - The code of the template to edit.\n * @param options - The parameters for the edit of the template.\n * @returns An instance of the edited {@link Template}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#modify-guild-template}\n */\n editGuildTemplate: (guildId: BigString, templateCode: string, options: ModifyGuildTemplate) => Promise<CamelizedDiscordTemplate>\n /**\n * Edits a message.\n *\n * @param channelId - The ID of the channel to edit the message in.\n * @param messageId - The IDs of the message to edit.\n * @param options - The parameters for the edit of the message.\n * @returns An instance of the edited {@link Message}.\n *\n * @remarks\n * If editing another user's message:\n * - Requires the `MANAGE_MESSAGES` permission.\n * - Only the {@link EditMessage.flags | flags} property of the {@link options} object parameter can be edited.\n *\n * Fires a _Message Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#edit-message}\n */\n editMessage: (channelId: BigString, messageId: BigString, options: EditMessage) => Promise<CamelizedDiscordMessage>\n /**\n * Edits the initial message response to an interaction.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n * @param options - The parameters for the edit of the response.\n * @returns An instance of the edited {@link Message}.\n *\n * @remarks\n * Unlike `editMessage()`, this endpoint allows the bot user to act without needing to see the channel the message is in.\n *\n * Does not support ephemeral follow-up messages due to these being stateless.\n *\n * Fires a _Message Update_ event.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#edit-original-interaction-response}\n */\n editOriginalInteractionResponse: (token: string, options: InteractionCallbackData) => Promise<CamelizedDiscordMessage>\n /**\n * Edits the original webhook message.\n *\n * @param webhookId - The ID of the webhook to edit the original message of.\n * @param token - The webhook token, used to edit the message.\n * @param options - The parameters for the edit of the message.\n * @returns An instance of the edited {@link CamelizedDiscordMessage}.\n *\n * @remarks\n * Fires a _Message Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#edit-webhook-message}\n */\n editOriginalWebhookMessage: (\n webhookId: BigString,\n token: string,\n options: InteractionCallbackData & { threadId?: BigString },\n ) => Promise<CamelizedDiscordMessage>\n /**\n * Edits the voice state of the bot user.\n *\n * @param guildId - The ID of the guild in which to edit the voice state of the bot user.\n * @param options - The parameters for the edit of the voice state.\n *\n * @remarks\n * The {@link EditOwnVoiceState.channelId | channelId} property of the {@link options} object parameter must point to a stage channel, and the bot user must already have joined it.\n *\n * If attempting to unmute oneself:\n * - Requires the `MUTE_MEMBERS` permission.\n *\n * If attempting to request to speak:\n * - Requires the `REQUEST_TO_SPEAK` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-current-user-voice-state}\n */\n editOwnVoiceState: (guildId: BigString, options: EditOwnVoiceState) => Promise<void>\n /**\n * Edits a role in a guild.\n *\n * @param guildId - The ID of the guild to edit the role in.\n * @param roleId - The ID of the role to edit.\n * @param options - The parameters for the edit of the role.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link CamelizedDiscordRole}.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Guild Role Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-role}\n */\n editRole: (guildId: BigString, roleId: BigString, options: EditGuildRole, reason?: string) => Promise<CamelizedDiscordRole>\n /**\n * Edits the positions of a set of roles.\n *\n * @param guildId - The ID of the guild to edit the role positions in.\n * @param options - The parameters for the edit of the role positions.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns A collection of {@link CamelizedDiscordRole} objects assorted by role ID.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Guild Role Update_ gateway event for every role impacted in this change.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-role-positions}\n */\n editRolePositions: (guildId: BigString, options: ModifyRolePositions[], reason?: string) => Promise<CamelizedDiscordRole[]>\n /**\n * Edits a scheduled event.\n *\n * @param guildId - The ID of the guild to edit the scheduled event in.\n * @param eventId - The ID of the scheduled event to edit.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link ScheduledEvent}.\n *\n * @remarks\n * Requires the `MANAGE_EVENTS` permission.\n *\n * To start or end an event, modify the event's `status` property.\n *\n * The `entity_metadata` property is discarded for events whose `entity_type` is not {@link ScheduledEventEntityType.External}.\n *\n * Fires a _Guild Scheduled Event Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event}\n */\n editScheduledEvent: (\n guildId: BigString,\n eventId: BigString,\n options: Partial<EditScheduledEvent>,\n reason?: string,\n ) => Promise<CamelizedDiscordScheduledEvent>\n /**\n * Edits a stage instance.\n *\n * @param channelId - The ID of the stage channel the stage instance is associated with.\n * @param topic - Topic of the Stage instance (1-120 characters).\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the updated {@link CamelizedDiscordStageInstance}.\n *\n * @remarks\n * Requires the user to be a moderator of the stage channel.\n *\n * Fires a _Stage Instance Update_ event.\n *\n * @see {@link https://discord.com/developers/docs/resources/stage-instance#modify-stage-instance}\n */\n editStageInstance: (channelId: BigString, topic: string, reason?: string) => Promise<CamelizedDiscordStageInstance>\n /**\n * Edits the voice state of another user.\n *\n * @param guildId - The ID of the guild in which to edit the voice state of the bot user.\n * @param options - The parameters for the edit of the voice state.\n *\n * @remarks\n * The {@link EditOwnVoiceState.channelId | channelId} property of the {@link options} object parameter must point to a stage channel, and the user must already have joined it.\n *\n * Requires the `MUTE_MEMBERS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-current-user-voice-state}\n */\n editUserVoiceState: (guildId: BigString, options: EditUserVoiceState) => Promise<void>\n /**\n * Edits a webhook.\n *\n * @param webhookId - The ID of the webhook to edit.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link CamelizedDiscordWebhook}.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * Fires a _Webhooks Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#edit-webhook}\n */\n editWebhook: (webhookId: BigString, options: ModifyWebhook, reason?: string) => Promise<CamelizedDiscordWebhook>\n /**\n * Edits a webhook message.\n *\n * @param webhookId - The ID of the webhook to edit the message of.\n * @param token - The webhook token, used to edit the message.\n * @param messageId - The ID of the message to edit.\n * @param options - The parameters for the edit of the message.\n * @returns An instance of the edited {@link CamelizedDiscordMessage}.\n *\n * @remarks\n * Fires a _Message Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#edit-webhook-message}\n */\n editWebhookMessage: (\n webhookId: BigString,\n token: string,\n messageId: BigString,\n options: InteractionCallbackData & { threadId?: BigString },\n ) => Promise<CamelizedDiscordMessage>\n /**\n * Edits a webhook using the webhook token, thereby bypassing the need for authentication + permissions.\n *\n * @param webhookId - The ID of the webhook to edit.\n * @param token - The webhook token, used to edit the webhook.\n * @returns An instance of the edited {@link CamelizedDiscordWebhook}.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * Fires a _Webhooks Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#modify-webhook-with-token}\n */\n editWebhookWithToken: (webhookId: BigString, token: string, options: Omit<ModifyWebhook, 'channelId'>) => Promise<CamelizedDiscordWebhook>\n /**\n * Edits a guild's welcome screen.\n *\n * @param guildId - The ID of the guild to edit the welcome screen of.\n * @param options - The parameters for the edit of the welcome screen.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link WelcomeScreen}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-welcome-screen}\n */\n editWelcomeScreen: (\n guildId: BigString,\n options: CamelizedDiscordModifyGuildWelcomeScreen,\n reason?: string,\n ) => Promise<CamelizedDiscordWelcomeScreen>\n /**\n * Edits the settings of a guild's widget.\n *\n * @param guildId - The ID of the guild to edit the settings of the widget of.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link GuildWidgetSettings}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-widget}\n */\n editWidgetSettings: (\n guildId: BigString,\n options: CamelizedDiscordGuildWidgetSettings,\n reason?: string,\n ) => Promise<CamelizedDiscordGuildWidgetSettings>\n /**\n * Executes a webhook, causing a message to be posted in the channel configured for the webhook.\n *\n * @param webhookId - The ID of the webhook to execute.\n * @param token - The webhook token, used to execute the webhook.\n * @param options - The parameters for the execution of the webhook.\n * @returns An instance of the created {@link CamelizedDiscordMessage}, or `undefined` if the {@link ExecuteWebhook.wait | wait} property of the {@link options} object parameter is set to `false`.\n *\n * @remarks\n * If the webhook channel is a forum channel, you must provide a value for either `threadId` or `threadName`.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#execute-webhook}\n */\n executeWebhook: (webhookId: BigString, token: string, options: ExecuteWebhook) => Promise<CamelizedDiscordMessage | undefined>\n /**\n * Follows an announcement channel, allowing messages posted within it to be cross-posted into the target channel.\n *\n * @param sourceChannelId - The ID of the announcement channel to follow.\n * @param targetChannelId - The ID of the target channel - the channel to cross-post to.\n * @returns An instance of {@link CamelizedDiscordFollowedChannel}.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission in the __target channel__.\n *\n * Fires a _Webhooks Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#follow-announcement-channel}\n */\n followAnnouncement: (sourceChannelId: BigString, targetChannelId: BigString) => Promise<CamelizedDiscordFollowedChannel>\n /**\n * Gets the list of all active threads for a guild.\n *\n * @param guildId - The ID of the guild to get the threads of.\n * @returns An instance of {@link CamelizedDiscordActiveThreads}.\n *\n * @remarks\n * Returns both public and private threads.\n *\n * Threads are ordered by the `id` property in descending order.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#list-active-guild-threads}\n */\n getActiveThreads: (guildId: BigString) => Promise<CamelizedDiscordActiveThreads>\n /** Get the applications info */\n getApplicationInfo: () => Promise<CamelizedDiscordApplication>\n /**\n * Gets the permissions of a guild application command.\n *\n * @param guildId - The ID of the guild the command is registered in.\n * @param commandId - The ID of the command to get the permissions of.\n * @returns An instance of {@link ApplicationCommandPermission}.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-application-command-permissions}\n */\n getApplicationCommandPermission: (guildId: BigString, commandId: BigString) => Promise<CamelizedDiscordGuildApplicationCommandPermissions>\n /**\n * Gets the permissions of all application commands registered in a guild by the ID of the guild.\n *\n * @param guildId - The ID of the guild to get the permissions objects of.\n * @returns A collection of {@link ApplicationCommandPermission} objects assorted by command ID.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-guild-application-command-permissions}\n */\n getApplicationCommandPermissions: (guildId: BigString) => Promise<CamelizedDiscordGuildApplicationCommandPermissions[]>\n /**\n * Gets a guild's audit log.\n *\n * @param guildId - The ID of the guild to get the audit log of.\n * @param options - The parameters for the fetching of the audit log.\n * @returns An instance of {@link AuditLog}.\n *\n * @remarks\n * Requires the `VIEW_AUDIT_LOG` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/audit-log#get-guild-audit-log}\n */\n getAuditLog: (guildId: BigString, options?: GetGuildAuditLog) => Promise<CamelizedDiscordAuditLog>\n /**\n * Gets an automod rule by its ID.\n *\n * @param guildId - The ID of the guild to get the rule of.\n * @param ruleId - The ID of the rule to get.\n * @returns An instance of {@link CamelizedDiscordAutoModerationRule}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/auto-moderation#get-auto-moderation-rule}\n */\n getAutomodRule: (guildId: BigString, ruleId: BigString) => Promise<CamelizedDiscordAutoModerationRule>\n /**\n * Gets the list of automod rules for a guild.\n *\n * @param guildId - The ID of the guild to get the rules from.\n * @returns A collection of {@link CamelizedDiscordAutoModerationRule} objects assorted by rule ID.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/auto-moderation#list-auto-moderation-rules-for-guild}\n */\n getAutomodRules: (guildId: BigString) => Promise<CamelizedDiscordAutoModerationRule[]>\n /**\n * Gets the list of available voice regions.\n *\n * @returns A collection of {@link VoiceRegions | VoiceRegion} objects assorted by voice region ID.\n */\n getAvailableVoiceRegions: () => Promise<CamelizedDiscordVoiceRegion[]>\n /**\n * Gets a ban by user ID.\n *\n * @param guildId - The ID of the guild to get the ban from.\n * @param userId - The ID of the user to get the ban for.\n * @returns An instance of {@link CamelizedDiscordBan}.\n *\n * @remarks\n * Requires the `BAN_MEMBERS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-ban}\n */\n getBan: (guildId: BigString, userId: BigString) => Promise<CamelizedDiscordBan>\n /**\n * Gets the list of bans for a guild.\n *\n * @param guildId - The ID of the guild to get the list of bans for.\n * @param options - The parameters for the fetching of the list of bans.\n * @returns A collection of {@link CamelizedDiscordBan} objects assorted by user ID.\n *\n * @remarks\n * Requires the `BAN_MEMBERS` permission.\n *\n * Users are ordered by their IDs in _ascending_ order.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-bans}\n */\n getBans: (guildId: BigString, options?: GetBans) => Promise<CamelizedDiscordBan[]>\n /**\n * Gets a channel by its ID.\n *\n * @param channelId - The ID of the channel to get.\n * @returns An instance of {@link CamelizedDiscordChannel}.\n *\n * @remarks\n * If the channel is a thread, a {@link ThreadMember} object is included in the result.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-channel}\n */\n getChannel: (channelId: BigString) => Promise<CamelizedDiscordChannel>\n /**\n * Gets the list of invites for a channel.\n *\n * @param channelId - The ID of the channel to get the invites of.\n * @returns A collection of {@link CamelizedDiscordInviteMetadata} objects assorted by invite code.\n *\n * @remarks\n * Requires the `MANAGE_CHANNELS` permission.\n *\n * Only usable for guild channels.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-channel-invites}\n */\n getChannelInvites: (channelId: BigString) => Promise<CamelizedDiscordInviteMetadata[]>\n /**\n * Gets the list of channels for a guild.\n *\n * @param guildId - The ID of the guild to get the channels of.\n * @returns A collection of {@link CamelizedDiscordChannel} objects assorted by channel ID.\n *\n * @remarks\n * Excludes threads.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-channels}\n */\n getChannels: (guildId: BigString) => Promise<CamelizedDiscordChannel[]>\n /**\n * Gets a list of webhooks for a channel.\n *\n * @param channelId - The ID of the channel which to get the webhooks of.\n * @returns A collection of {@link CamelizedDiscordWebhook} objects assorted by webhook ID.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#get-channel-webhooks}\n */\n getChannelWebhooks: (channelId: BigString) => Promise<CamelizedDiscordWebhook[]>\n /**\n * Gets or creates a DM channel with a user.\n *\n * @param userId - The ID of the user to create the DM channel with.\n * @returns An instance of {@link CamelizedDiscordChannel}.\n *\n * @see {@link https://discord.com/developers/docs/resources/user#create-dm}\n */\n getDmChannel: (userId: BigString) => Promise<CamelizedDiscordChannel>\n /**\n * Gets an emoji by its ID.\n *\n * @param guildId - The ID of the guild from which to get the emoji.\n * @param emojiId - The ID of the emoji to get.\n * @returns An instance of {@link CamelizedDiscordEmoji}.\n *\n * @see {@link https://discord.com/developers/docs/resources/emoji#get-guild-emoji}\n */\n getEmoji: (guildId: BigString, emojiId: BigString) => Promise<CamelizedDiscordEmoji>\n /**\n * Gets the list of emojis for a guild.\n *\n * @param guildId - The ID of the guild which to get the emojis of.\n * @returns A collection of {@link CamelizedDiscordEmoji} objects assorted by emoji ID.\n *\n * @see {@link https://discord.com/developers/docs/resources/emoji#list-guild-emojis}\n */\n getEmojis: (guildId: BigString) => Promise<CamelizedDiscordEmoji[]>\n /**\n * Gets a follow-up message to an interaction by the ID of the message.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n * @param messageId - The ID of the message to get.\n * @returns An instance of {@link Message}.\n *\n * @remarks\n * Unlike `getMessage()`, this endpoint allows the bot user to act without:\n * - Needing to be able to see the contents of the channel that the message is in. (`READ_MESSAGES` permission.)\n * - Requiring the `MESSAGE_CONTENT` intent.\n *\n * Does not support ephemeral follow-up messages due to these being stateless.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#get-followup-message}\n */\n getFollowupMessage: (token: string, messageId: BigString) => Promise<CamelizedDiscordMessage>\n /** Get the bots Gateway metadata that can help during the operation of large or sharded bots. */\n getGatewayBot: () => Promise<CamelizedDiscordGetGatewayBot>\n /**\n * Gets a global application command by its ID.\n *\n * @param commandId - The ID of the command to get.\n * @returns An instance of {@link ApplicationCommand}.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-global-application-command}\n */\n getGlobalApplicationCommand: (commandId: BigString) => Promise<CamelizedDiscordApplicationCommand>\n /**\n * Gets the list of your bot's global application commands.\n *\n * @returns A collection of {@link ApplicationCommand} objects assorted by command ID.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-global-application-commands}\n */\n getGlobalApplicationCommands: () => Promise<CamelizedDiscordApplicationCommand[]>\n /**\n * Gets a guild by its ID.\n *\n * @param guildId - The ID of the guild to get.\n * @param options - The parameters for the fetching of the guild.\n * @returns An instance of {@link Guild}.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild}\n */\n getGuild: (guildId: BigString, options?: { counts?: boolean }) => Promise<CamelizedDiscordGuild>\n /**\n * Gets a guild application command by its ID.\n *\n * @param guildId - The ID of the guild the command is registered in.\n * @param commandId - The ID of the command to get.\n * @returns An instance of {@link ApplicationCommand}.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-guild-application-command}\n */\n getGuildApplicationCommand: (commandId: BigString, guildId: BigString) => Promise<CamelizedDiscordApplicationCommand>\n /**\n * Gets the list of application commands registered by your bot in a guild.\n *\n * @param guildId - The ID of the guild the commands are registered in.\n * @returns A collection of {@link ApplicationCommand} objects assorted by command ID.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#get-global-application-commandss}\n */\n getGuildApplicationCommands: (guildId: BigString) => Promise<CamelizedDiscordApplicationCommand[]>\n /**\n * Gets the preview of a guild by a guild's ID.\n *\n * @param guildId - The ID of the guild to get the preview of.\n * @returns An instance of {@link GuildPreview}.\n *\n * @remarks\n * If the bot user is not in the guild, the guild must be lurkable.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-preview}\n */\n getGuildPreview: (guildId: BigString) => Promise<CamelizedDiscordGuildPreview>\n /**\n * Returns a sticker object for the given guild and sticker IDs.\n *\n * @param guildId The ID of the guild to get\n * @param stickerId The ID of the sticker to get\n * @return A {@link CamelizedDiscordSticker}\n *\n * @remarks Includes the user field if the bot has the `MANAGE_EMOJIS_AND_STICKERS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#get-guild-sticker}\n */\n getGuildSticker: (guildId: BigString, stickerId: BigString) => Promise<CamelizedDiscordSticker>\n /**\n * Returns an array of sticker objects for the given guild.\n *\n * @param guildId The ID of the guild to get\n * @returns A collection of {@link CamelizedDiscordSticker} objects assorted by sticker ID.\n *\n * @remarks Includes user fields if the bot has the `MANAGE_EMOJIS_AND_STICKERS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#list-guild-stickers}\n */\n getGuildStickers: (guildId: BigString) => Promise<CamelizedDiscordSticker[]>\n /**\n * Gets a template by its code.\n *\n * @param templateCode - The code of the template to get.\n * @returns An instance of {@link Template}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#get-guild-template}\n */\n getGuildTemplate: (templateCode: string) => Promise<CamelizedDiscordTemplate>\n /**\n * Gets the list of templates for a guild.\n *\n * @param guildId - The ID of the guild to get the list of templates for.\n * @returns A collection of {@link Template} objects assorted by template code.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#get-guild-templates}\n */\n getGuildTemplates: (guildId: BigString) => Promise<CamelizedDiscordTemplate[]>\n /**\n * Gets the list of webhooks for a guild.\n *\n * @param guildId - The ID of the guild to get the list of webhooks for.\n * @returns A collection of {@link CamelizedDiscordWebhook} objects assorted by webhook ID.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#get-guild-webhooks}\n */\n getGuildWebhooks: (guildId: BigString) => Promise<CamelizedDiscordWebhook[]>\n /**\n * Gets the list of integrations attached to a guild.\n *\n * @param guildId - The ID of the guild to get the list of integrations from.\n * @returns A collection of {@link Integration} objects assorted by integration ID.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-integrations}\n */\n getIntegrations: (guildId: BigString) => Promise<CamelizedDiscordIntegration[]>\n /**\n * Gets an invite to a channel by its invite code.\n *\n * @param inviteCode - The invite code of the invite to get.\n * @param options - The parameters for the fetching of the invite.\n * @returns An instance of {@link CamelizedDiscordInviteMetadata}.\n *\n * @see {@link https://discord.com/developers/docs/resources/invite#get-invite}\n */\n getInvite: (inviteCode: string, options?: GetInvite) => Promise<CamelizedDiscordInviteMetadata>\n /**\n * Gets the list of invites for a guild.\n *\n * @param guildId - The ID of the guild to get the invites from.\n * @returns A collection of {@link InviteMetadata | Invite} objects assorted by invite code.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/invite#get-invites}\n */\n getInvites: (guildId: BigString) => Promise<CamelizedDiscordInviteMetadata[]>\n /**\n * Gets a message from a channel by the ID of the message.\n *\n * @param channelId - The ID of the channel from which to get the message.\n * @param messageId - The ID of the message to get.\n * @returns An instance of {@link Message}.\n *\n * @remarks\n * Requires that the bot user be able to see the contents of the channel in which the message was posted.\n *\n * If getting a message from a guild channel:\n * - Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-channel-message}\n */\n getMessage: (channelId: BigString, messageId: BigString) => Promise<CamelizedDiscordMessage>\n /**\n * Gets multiple messages from a channel.\n *\n * @param channelId - The ID of the channel from which to get the messages.\n * @param options - The parameters for the fetching of the messages.\n * @returns A collection of {@link Message} objects assorted by message ID.\n *\n * @remarks\n * Requires that the bot user be able to see the contents of the channel in which the messages were posted.\n *\n * If getting a messages from a guild channel:\n * - Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-channel-messages}\n */\n getMessages: (channelId: BigString, options?: GetMessagesOptions) => Promise<CamelizedDiscordMessage[]>\n /**\n * Returns the list of sticker packs available to Nitro subscribers.\n *\n * @returns A collection of {@link StickerPack} objects assorted by sticker ID.\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#list-nitro-sticker-packs}\n */\n getNitroStickerPacks: () => Promise<CamelizedDiscordStickerPack[]>\n /**\n * Gets the initial message response to an interaction.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n * @returns An instance of {@link Message}.\n *\n * @remarks\n * Unlike `getMessage()`, this endpoint allows the bot user to act without:\n * - Needing to be able to see the contents of the channel that the message is in. (`READ_MESSAGES` permission.)\n * - Requiring the `MESSAGE_CONTENT` intent.\n *\n * Does not support ephemeral follow-up messages due to these being stateless.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#get-original-interaction-response}\n */\n getOriginalInteractionResponse: (token: string) => Promise<CamelizedDiscordMessage>\n /**\n * Gets the pinned messages for a channel.\n *\n * @param channelId - The ID of the channel to get the pinned messages for.\n * @returns A collection of {@link Message} objects assorted by message ID.\n *\n * @remarks\n * Requires that the bot user be able to see the contents of the channel in which the messages were posted.\n *\n * If getting a message from a guild channel:\n * - Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-pinned-messages}\n */\n getPinnedMessages: (channelId: BigString) => Promise<CamelizedDiscordMessage[]>\n /**\n * Gets the list of private archived threads for a channel.\n *\n * @param channelId - The ID of the channel to get the archived threads for.\n * @param options - The parameters for the fetching of threads.\n * @returns An instance of {@link CamelizedDiscordArchivedThreads}.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n * Requires the `MANAGE_THREADS` permission.\n *\n * Returns threads of type {@link ChannelTypes.GuildPrivateThread}.\n *\n * Threads are ordered by the `archive_timestamp` property included in the metadata of the object in descending order.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#list-private-archived-threads}\n */\n getPrivateArchivedThreads: (channelId: BigString, options?: ListArchivedThreads) => Promise<CamelizedDiscordArchivedThreads>\n /**\n * Gets the list of private archived threads the bot is a member of for a channel.\n *\n * @param channelId - The ID of the channel to get the archived threads for.\n * @param options - The parameters for the fetching of threads.\n * @returns An instance of {@link CamelizedDiscordArchivedThreads}.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * Returns threads of type {@link ChannelTypes.GuildPrivateThread}.\n *\n * Threads are ordered by the `id` property in descending order.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#list-joined-private-archived-threads}\n */\n getPrivateJoinedArchivedThreads: (channelId: BigString, options?: ListArchivedThreads) => Promise<CamelizedDiscordArchivedThreads>\n /**\n * Gets the number of members that would be kicked from a guild during pruning.\n *\n * @param guildId - The ID of the guild to get the prune count of.\n * @param options - The parameters for the fetching of the prune count.\n * @returns A number indicating the number of members that would be kicked.\n *\n * @remarks\n * Requires the `KICK_MEMBERS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-prune-count}\n */\n getPruneCount: (guildId: BigString, options?: GetGuildPruneCountQuery) => Promise<CamelizedDiscordPrunedCount>\n /**\n * Gets the list of public archived threads for a channel.\n *\n * @param channelId - The ID of the channel to get the archived threads for.\n * @param options - The parameters for the fetching of threads.\n * @returns An instance of {@link ArchivedThreads}.\n *\n * @remarks\n * Requires the `READ_MESSAGE_HISTORY` permission.\n *\n * If called on a channel of type {@link ChannelTypes.GuildText}, returns threads of type {@link ChannelTypes.GuildPublicThread}.\n * If called on a channel of type {@link ChannelTypes.GuildNews}, returns threads of type {@link ChannelTypes.GuildNewsThread}.\n *\n * Threads are ordered by the `archive_timestamp` property included in the metadata of the object in descending order.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#list-public-archived-threads}\n */\n getPublicArchivedThreads: (channelId: BigString, options?: ListArchivedThreads) => Promise<CamelizedDiscordArchivedThreads>\n /**\n * Gets the list of roles for a guild.\n *\n * @param guildId - The ID of the guild to get the list of roles for.\n * @returns A collection of {@link DisorcRole} objects assorted by role ID.\n *\n * @remarks\n * ⚠️ This endpoint should be used sparingly due to {@link User} objects already being included in guild payloads.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-roles}\n */\n getRoles: (guildId: BigString) => Promise<CamelizedDiscordRole[]>\n /**\n * Gets a scheduled event by its ID.\n *\n * @param guildId - The ID of the guild to get the scheduled event from.\n * @param eventId - The ID of the scheduled event to get.\n * @param options - The parameters for the fetching of the scheduled event.\n * @returns An instance of {@link ScheduledEvent}.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event}\n */\n getScheduledEvent: (guildId: BigString, eventId: BigString, options?: { withUserCount?: boolean }) => Promise<CamelizedDiscordScheduledEvent>\n /**\n * Gets the list of scheduled events for a guild.\n *\n * @param guildId - The ID of the guild to get the scheduled events from.\n * @param options - The parameters for the fetching of the scheduled events.\n * @returns A collection of {@link ScheduledEvent} objects assorted by event ID.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#list-scheduled-events-for-guild}\n */\n getScheduledEvents: (guildId: BigString, options?: GetScheduledEvents) => Promise<CamelizedDiscordScheduledEvent[]>\n /**\n * Gets the list of subscribers to a scheduled event from a guild.\n *\n * @param guildId - The ID of the guild to get the subscribers to the scheduled event from.\n * @param eventId - The ID of the scheduled event to get the subscribers of.\n * @param options - The parameters for the fetching of the subscribers.\n * @returns A collection of {@link User} objects assorted by user ID.\n *\n * @remarks\n * Requires the `MANAGE_EVENTS` permission.\n *\n * Users are ordered by their IDs in _ascending_ order.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event-users}\n */\n getScheduledEventUsers: (\n guildId: BigString,\n eventId: BigString,\n options?: GetScheduledEventUsers,\n ) => Promise<Array<{ user: CamelizedDiscordUser; member?: CamelizedDiscordMember }>>\n /** Get the bots Gateway metadata that can help during the operation of large or sharded bots. */\n getSessionInfo: () => Promise<CamelizedDiscordGetGatewayBot>\n /**\n * Gets the stage instance associated with a stage channel, if one exists.\n *\n * @param channelId - The ID of the stage channel the stage instance is associated with.\n * @returns An instance of {@link CamelizedDiscordStageInstance}.\n *\n * @see {@link https://discord.com/developers/docs/resources/stage-instance#get-stage-instance}\n */\n getStageInstance: (channelId: BigString) => Promise<CamelizedDiscordStageInstance>\n /**\n * Returns a sticker object for the given sticker ID.\n *\n * @param stickerId The ID of the sticker to get\n * @returns A {@link CamelizedDiscordSticker}\n *\n * @see {@link https://discord.com/developers/docs/resources/sticker#get-sticker}\n */\n getSticker: (stickerId: BigString) => Promise<CamelizedDiscordSticker>\n /**\n * Gets a thread member by their user ID.\n *\n * @param channelId - The ID of the thread to get the thread member of.\n * @param userId - The user ID of the thread member to get.\n * @returns An instance of {@link CamelizedDiscordThreadMember}.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-thread-member}\n */\n getThreadMember: (channelId: BigString, userId: BigString) => Promise<CamelizedDiscordThreadMember>\n /**\n * Gets the list of thread members for a thread.\n *\n * @param channelId - The ID of the thread to get the thread members of.\n * @returns A collection of {@link CamelizedDiscordThreadMember} assorted by user ID.\n *\n * @remarks\n * Requires the application to have the `GUILD_MEMBERS` privileged intent enabled.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#list-thread-members}\n */\n getThreadMembers: (channelId: BigString) => Promise<CamelizedDiscordThreadMember[]>\n /**\n * Gets the list of users that reacted with an emoji to a message.\n *\n * @param channelId - The ID of the channel the message to get the users for is in.\n * @param messageId - The ID of the message to get the users for.\n * @param reaction - The reaction for which to get the users.\n * @param options - The parameters for the fetching of the users.\n * @returns A collection of {@link User} objects assorted by user ID.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#get-reactions}\n */\n getReactions: (channelId: BigString, messageId: BigString, reaction: string, options?: GetReactions) => Promise<CamelizedDiscordUser[]>\n /**\n * Get a user's data from the api\n *\n * @param id The user's id\n * @returns {CamelizedDiscordUser}\n */\n getUser: (id: BigString) => Promise<CamelizedDiscordUser>\n /**\n * Gets information about the vanity url of a guild.\n *\n * @param guildId - The ID of the guild to get the vanity url information for.\n * @returns An instance of {@link VanityUrl}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * The `code` property will be `null` if the guild does not have a set vanity url.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-vanity-url}\n */\n getVanityUrl: (guildId: BigString) => Promise<CamelizedDiscordVanityUrl>\n /**\n * Gets the list of voice regions for a guild.\n *\n * @param guildId - The ID of the guild to get the voice regions for.\n * @returns A collection of {@link VoiceRegions | VoiceRegion} objects assorted by voice region ID.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-voice-regions}\n */\n getVoiceRegions: (guildId: BigString) => Promise<CamelizedDiscordVoiceRegion[]>\n /**\n * Gets a webhook by its ID.\n *\n * @param webhookId - The ID of the webhook to get.\n * @returns An instance of {@link CamelizedDiscordWebhook}.\n *\n * @remarks\n * Requires the `MANAGE_WEBHOOKS` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#get-webhook}\n */\n getWebhook: (webhookId: BigString) => Promise<CamelizedDiscordWebhook>\n /**\n * Gets a webhook message by its ID.\n *\n * @param webhookId - The ID of the webhook to get a message of.\n * @param token - The webhook token, used to get webhook messages.\n * @param messageId - the ID of the webhook message to get.\n * @param options - The parameters for the fetching of the message.\n * @returns An instance of {@link CamelizedDiscordMessage}.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#get-webhook-message}\n */\n getWebhookMessage: (\n webhookId: BigString,\n token: string,\n messageId: BigString,\n options?: GetWebhookMessageOptions,\n ) => Promise<CamelizedDiscordMessage>\n /**\n * Gets a webhook using the webhook token, thereby bypassing the need for authentication + permissions.\n *\n * @param webhookId - The ID of the webhook to get.\n * @param token - The webhook token, used to get the webhook.\n * @returns An instance of {@link CamelizedDiscordWebhook}.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#get-webhook-with-token}\n */\n getWebhookWithToken: (webhookId: BigString, token: string) => Promise<CamelizedDiscordWebhook>\n /**\n * Gets the welcome screen for a guild.\n *\n * @param guildId - The ID of the guild to get the welcome screen for.\n * @returns An instance of {@link WelcomeScreen}.\n *\n * @remarks\n * If the welcome screen is not enabled:\n * - Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-welcome-screen}\n */\n getWelcomeScreen: (guildId: BigString) => Promise<CamelizedDiscordWelcomeScreen>\n /**\n * Gets the guild widget by guild ID.\n *\n * @param guildId - The ID of the guild to get the widget of.\n * @returns An instance of {@link GuildWidget}.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-widget}\n */\n getWidget: (guildId: BigString) => Promise<CamelizedDiscordGuildWidget>\n /**\n * Gets the settings of a guild's widget.\n *\n * @param guildId - The ID of the guild to get the widget of.\n * @returns An instance of {@link GuildWidgetSettings}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-widget-settings}\n */\n getWidgetSettings: (guildId: BigString) => Promise<CamelizedDiscordGuildWidgetSettings>\n /**\n * Adds the bot user to a thread.\n *\n * @param channelId - The ID of the thread to add the bot user to.\n *\n * @remarks\n * Requires the thread not be archived.\n *\n * Fires a _Thread Members Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#join-thread}\n */\n joinThread: (channelId: BigString) => Promise<void>\n /**\n * Leaves a guild.\n *\n * @param guildId - The ID of the guild to leave.\n *\n * @remarks\n * Fires a _Guild Delete_ event.\n *\n * @see {@link https://discord.com/developers/docs/resources/user#leave-guild}\n */\n leaveGuild: (guildId: BigString) => Promise<void>\n /**\n * Removes the bot user from a thread.\n *\n * @param channelId - The ID of the thread to remove the bot user from.\n *\n * @remarks\n * Requires the thread not be archived.\n *\n * Fires a _Thread Members Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#leave-thread}\n */\n leaveThread: (channelId: BigString) => Promise<void>\n /**\n * Cross-posts a message posted in an announcement channel to subscribed channels.\n *\n * @param channelId - The ID of the announcement channel.\n * @param messageId - The ID of the message to cross-post.\n * @returns An instance of the cross-posted {@link Message}.\n *\n * @remarks\n * Requires the `SEND_MESSAGES` permission.\n *\n * If not cross-posting own message:\n * - Requires the `MANAGE_MESSAGES` permission.\n *\n * Fires a _Message Create_ event in the guilds the subscribed channels are in.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#crosspost-message}\n */\n publishMessage: (channelId: BigString, messageId: BigString) => Promise<CamelizedDiscordMessage>\n /**\n * Removes a role from a member.\n *\n * @param guildId - The ID of the guild the member to remove the role from is in.\n * @param userId - The user ID of the member to remove the role from.\n * @param roleId - The ID of the role to remove from the member.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `MANAGE_ROLES` permission.\n *\n * Fires a _Guild Member Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#remove-guild-member-role}\n */\n removeRole: (guildId: BigString, userId: BigString, roleId: BigString, reason?: string) => Promise<void>\n /**\n * Removes a member from a thread.\n *\n * @param channelId - The ID of the thread to remove the thread member of.\n * @param userId - The user ID of the thread member to remove.\n *\n * @remarks\n * If the thread is of type {@link ChannelTypes.GuildPrivateThread}, requires to be the creator of the thread.\n * Otherwise, requires the `MANAGE_THREADS` permission.\n *\n * Requires the thread not be archived.\n *\n * Fires a _Thread Members Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#remove-thread-member}\n */\n removeThreadMember: (channelId: BigString, userId: BigString) => Promise<void>\n /**\n * Sends a message to a channel.\n *\n * @param channelId - The ID of the channel to send the message in.\n * @param options - The parameters for the creation of the message.\n * @returns An instance of the created {@link CamelizedDiscordMessage}.\n *\n * @remarks\n * Requires that the bot user be able to see the contents of the channel the message is to be sent in.\n *\n * If sending a message to a guild channel:\n * - Requires the `SEND_MESSAGES` permission.\n *\n * If sending a TTS message:\n * - Requires the `SEND_TTS_MESSAGES` permission.\n *\n * If sending a message as a reply to another message:\n * - Requires the `READ_MESSAGE_HISTORY` permission.\n * - The message being replied to cannot be a system message.\n *\n * ⚠️ The maximum size of a request (accounting for any attachments and message content) for bot users is _8 MiB_.\n *\n * Fires a _Message Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#create-message}\n */\n sendMessage: (channelId: BigString, options: CreateMessageOptions) => Promise<CamelizedDiscordMessage>\n /**\n * Sends a follow-up message to an interaction.\n *\n * @param token - The interaction token to use, provided in the original interaction.\n * @param options - The parameters for the creation of the message.\n * @returns An instance of the created {@link Message}.\n *\n * @remarks\n * ⚠️ Interaction tokens are only valid for _15 minutes_.\n *\n * By default, mentions are suppressed. To enable mentions, pass a mention object with the callback data.\n *\n * Unlike `sendMessage()`, this endpoint allows the bot user to act without:\n * - Needing to be able to see the contents of the channel that the message is in. (`READ_MESSAGES` permission.)\n * - Requiring the `MESSAGE_CONTENT` intent.\n *\n * Fires a _Message Create_ event.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#create-followup-message}\n */\n sendFollowupMessage: (token: string, options: InteractionCallbackData) => Promise<CamelizedDiscordMessage>\n /**\n * Sends a response to an interaction.\n *\n * @param interactionId - The ID of the interaction to respond to.\n * @param token - The interaction token to use, provided in the original interaction.\n * @param options - The parameters for the creation of the message.\n * @returns An instance of the created {@link Message}.\n *\n * @remarks\n * ⚠️ Interaction tokens are only valid for _15 minutes_.\n *\n * By default, mentions are suppressed. To enable mentions, pass a mention object with the callback data.\n *\n * Unlike `sendMessage()`, this endpoint allows the bot user to act without:\n * - Needing to be able to see the contents of the channel that the message is in. (`READ_MESSAGES` permission.)\n * - Requiring the `MESSAGE_CONTENT` intent.\n *\n * Fires a _Message Create_ event.\n *\n * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#create-interaction-response}\n */\n sendInteractionResponse: (interactionId: BigString, token: string, options: InteractionResponse) => Promise<void>\n /**\n * Creates a thread, using an existing message as its point of origin.\n *\n * @param channelId - The ID of the channel in which to create the thread.\n * @param messageId - The ID of the message to use as the thread's point of origin.\n * @param options - The parameters to use for the creation of the thread.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link Channel | Thread}.\n *\n * @remarks\n * If called on a channel of type {@link ChannelTypes.GuildText}, creates a {@link ChannelTypes.GuildPublicThread}.\n * If called on a channel of type {@link ChannelTypes.GuildNews}, creates a {@link ChannelTypes.GuildNewsThread}.\n * Does not work on channels of type {@link ChannelTypes.GuildForum}.\n *\n * The ID of the created thread will be the same as the ID of the source message.\n *\n * Fires a _Thread Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#start-thread-from-message}\n */\n startThreadWithMessage: (\n channelId: BigString,\n messageId: BigString,\n options: StartThreadWithMessage,\n reason?: string,\n ) => Promise<CamelizedDiscordChannel>\n /**\n * Creates a thread without using a message as the thread's point of origin.\n *\n * @param channelId - The ID of the channel in which to create the thread.\n * @param options - The parameters to use for the creation of the thread.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the created {@link CamelizedDiscordChannel | Thread}.\n *\n * @remarks\n * Creating a private thread requires the server to be boosted.\n *\n * Fires a _Thread Create_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#start-thread-without-message}\n */\n startThreadWithoutMessage: (channelId: BigString, options: StartThreadWithoutMessage, reason?: string) => Promise<CamelizedDiscordChannel>\n /**\n * Synchronises a template with the current state of a guild.\n *\n * @param guildId - The ID of the guild to synchronise a template of.\n * @returns An instance of the edited {@link Template}.\n *\n * @remarks\n * Requires the `MANAGE_GUILD` permission.\n *\n * Fires a _Guild Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild-template#get-guild-templates}\n */\n syncGuildTemplate: (guildId: BigString) => Promise<CamelizedDiscordTemplate>\n /**\n * Triggers a typing indicator for the bot user.\n *\n * @param channelId - The ID of the channel in which to trigger the typing indicator.\n *\n * @remarks\n * Generally, bots should _not_ use this route.\n *\n * Fires a _Typing Start_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#trigger-typing-indicator}\n */\n triggerTypingIndicator: (channelId: BigString) => Promise<void>\n /**\n * Re-registers the list of global application commands, overwriting the previous commands completely.\n *\n * @param commands - The list of commands to use to overwrite the previous list.\n * @returns A collection of {@link ApplicationCommand} objects assorted by command ID.\n *\n * @remarks\n * ❗ Commands that are not present in the `commands` array will be __deleted__.\n *\n * ⚠️ Commands that do not already exist will count towards the daily limit of _200_ new commands.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#bulk-overwrite-global-application-commands}\n */\n upsertGlobalApplicationCommands: (commands: CreateApplicationCommand[]) => Promise<CamelizedDiscordApplicationCommand[]>\n /**\n * Re-registers the list of application commands registered in a guild, overwriting the previous commands completely.\n *\n * @param guildId - The ID of the guild whose list of commands to overwrite.\n * @param commands - The list of commands to use to overwrite the previous list.\n * @returns A collection of {@link ApplicationCommand} objects assorted by command ID.\n *\n * @remarks\n * ❗ Commands that are not present in the `commands` array will be __deleted__.\n *\n * ⚠️ Commands that do not already exist will count towards the daily limit of _200_ new commands.\n *\n * @see {@link https://discord.com/developers/docs/interactions/application-commands#bulk-overwrite-guild-application-commands}\n */\n upsertGuildApplicationCommands: (guildId: BigString, commands: CreateApplicationCommand[]) => Promise<CamelizedDiscordApplicationCommand[]>\n /**\n * Bans a user from a guild.\n *\n * @param guildId - The ID of the guild to ban the user from.\n * @param userId - The ID of the user to ban from the guild.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @param options - The parameters for the creation of the ban.\n *\n * @remarks\n * Requires the `BAN_MEMBERS` permission.\n *\n * Fires a _Guild Ban Add_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#create-guild-ban}\n */\n banMember: (guildId: BigString, userId: BigString, options?: CreateGuildBan, reason?: string) => Promise<void>\n /**\n * Edits the nickname of the bot user.\n *\n * @param guildId - The ID of the guild to edit the nickname of the bot user in.\n * @param options - The parameters for the edit of the nickname.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns An instance of the edited {@link CamelizedDiscordMember}\n *\n * @remarks\n * Fires a _Guild Member Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-current-member}\n */\n editBotMember: (guildId: BigString, options: EditBotMemberOptions, reason?: string) => Promise<CamelizedDiscordMember>\n /**\n * Edits a member's properties.\n *\n * @param guildId - The ID of the guild to edit the member of.\n * @param userId - The user ID of the member to edit.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @param options - The parameters for the edit of the user.\n *\n * @remarks\n * This endpoint requires various permissions depending on what is edited about the member.\n * To find out the required permission to enact a change, read the documentation of this endpoint's {@link ModifyGuildMember | parameters}.\n *\n * Fires a _Guild Member Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-member}\n */\n editMember: (guildId: BigString, userId: BigString, options: ModifyGuildMember, reason?: string) => Promise<CamelizedDiscordMember>\n /**\n * Gets the member object by user ID.\n *\n \n * @param guildId - The ID of the guild to get the member object for.\n * @param userId - The ID of the user to get the member object for.\n * @returns An instance of {@link CamelizedDiscordMemberWithUser}.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-member}\n */\n getMember: (guildId: BigString, userId: BigString) => Promise<CamelizedDiscordMemberWithUser>\n /**\n * Gets the list of members for a guild.\n *\n * @param guildId - The ID of the guild to get the list of members for.\n * @param options - The parameters for the fetching of the members.\n * @returns A collection of {@link CamelizedDiscordMemberWithUser} objects assorted by user ID.\n *\n * @remarks\n * Requires the `GUILD_MEMBERS` intent.\n *\n * ⚠️ It is not recommended to use this endpoint with very large bots. Instead, opt to use `fetchMembers()`:\n * REST communication only permits 50 requests to be made per second, while gateways allow for up to 120 requests\n * per minute per shard. For more information, read {@link https://discord.com/developers/docs/topics/rate-limits#rate-limits}.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#list-guild-members}\n * @see {@link https://discord.com/developers/docs/topics/gateway#request-guild-members}\n * @see {@link https://discord.com/developers/docs/topics/rate-limits#rate-limits}\n */\n getMembers: (guildId: BigString, options: ListGuildMembers) => Promise<CamelizedDiscordMemberWithUser[]>\n\n /**\n * Kicks a member from a guild.\n *\n \n * @param guildId - The ID of the guild to kick the member from.\n * @param userId - The user ID of the member to kick from the guild.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `KICK_MEMBERS` permission.\n *\n * Fires a _Guild Member Remove_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#remove-guild-member}\n */\n kickMember: (guildId: BigString, userId: BigString, reason?: string) => Promise<void>\n /**\n * Pins a message in a channel.\n *\n * @param channelId - The ID of the channel where the message is to be pinned.\n * @param messageId - The ID of the message to pin.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires that the bot user be able to see the contents of the channel in which the messages were posted.\n *\n * Requires the `MANAGE_MESSAGES` permission.\n *\n * ⚠️ There can only be at max 50 messages pinned in a channel.\n *\n * Fires a _Channel Pins Update_ event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#pin-message}\n */\n pinMessage: (channelId: BigString, messageId: BigString, reason?: string) => Promise<void>\n /**\n * Initiates the process of pruning inactive members.\n *\n \n * @param guildId - The ID of the guild to prune the members of.\n * @param options - The parameters for the pruning of members.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n * @returns A number indicating how many members were pruned.\n *\n * @remarks\n * Requires the `KICK_MEMBERS` permission.\n *\n * ❗ Requests to this endpoint will time out for large guilds. To prevent this from happening, set the {@link BeginGuildPrune.computePruneCount} property of the {@link options} object parameter to `false`. This will begin the process of pruning, and immediately return `undefined`, rather than wait for the process to complete before returning the actual count of members that have been kicked.\n *\n * ⚠️ By default, this process will not remove members with a role. To include the members who have a _particular subset of roles_, specify the role(s) in the {@link BeginGuildPrune.includeRoles | includeRoles} property of the {@link options} object parameter.\n *\n * Fires a _Guild Member Remove_ gateway event for every member kicked.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#begin-guild-prune}\n */\n pruneMembers: (guildId: BigString, options: BeginGuildPrune, reason?: string) => Promise<{ pruned: number | null }>\n /**\n * Gets the list of members whose usernames or nicknames start with a provided string.\n *\n \n * @param guildId - The ID of the guild to search in.\n * @param query - The string to match usernames or nicknames against.\n * @param options - The parameters for searching through the members.\n * @returns A collection of {@link CamelizedDiscordMember} objects assorted by user ID.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#search-guild-members}\n */\n searchMembers: (guildId: BigString, query: string, options?: Omit<SearchMembers, 'query'>) => Promise<CamelizedDiscordMemberWithUser[]>\n /**\n * Unbans a user from a guild.\n *\n \n * @param guildId - The ID of the guild to unban the user in.\n * @param userId - The ID of the user to unban.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires the `BAN_MEMBERS` permission.\n *\n * Fires a _Guild Ban Remove_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/guild#remove-guild-ban}\n */\n unbanMember: (guildId: BigString, userId: BigString, reason?: string) => Promise<void>\n /**\n * Unpins a pinned message in a channel.\n *\n * @param channelId - The ID of the channel where the message is pinned.\n * @param messageId - The ID of the message to unpin.\n * @param {string} [reason] - An optional reason for the action, to be included in the audit log.\n *\n * @remarks\n * Requires that the bot user be able to see the contents of the channel in which the messages were posted.\n *\n * Requires the `MANAGE_MESSAGES` permission.\n *\n * Fires a _Channel Pins Update_ event.\n *\n * @see {@link https://discord.com/developers/docs/resources/channel#unpin-message}\n */\n unpinMessage: (channelId: BigString, messageId: BigString, reason?: string) => Promise<void>\n}\n\nexport type RequestMethods = 'GET' | 'POST' | 'DELETE' | 'PATCH' | 'PUT'\nexport type ApiVersions = 9 | 10\n\nexport interface CreateWebhook {\n /** Name of the webhook (1-80 characters) */\n name: string\n /** Image url for the default webhook avatar */\n avatar?: string | null\n}\n\nexport interface CreateRequestBodyOptions {\n headers?: Record<string, string>\n body?: any\n unauthorized?: boolean\n reason?: string\n files?: FileContent[]\n}\n\nexport type MakeRequestOptions = Omit<CreateRequestBodyOptions, 'method'> & Pick<SendRequestOptions, 'runThroughQueue'>\n\nexport interface RequestBody {\n headers: Record<string, string>\n body?: string | FormData\n method: RequestMethods\n}\n\nexport interface SendRequestOptions {\n /** The route to send the request to. */\n route: string\n /** The method to use for sending the request. */\n method: RequestMethods\n /** The amount of times this request has been retried. */\n retryCount: number\n /** Handler to retry a request should it be rate limited. */\n retryRequest?: (options: SendRequestOptions) => Promise<void>\n /** Resolve handler when a request succeeds. */\n resolve: (value: RestRequestResponse) => void\n /** Reject handler when a request fails. */\n reject: (value: RestRequestRejection) => void\n /** If this request has a bucket id which it falls under for rate limit */\n bucketId?: string\n /** Additional request options, used for things like overriding authorization header. */\n requestBodyOptions?: CreateRequestBodyOptions\n /**\n * Whether the request should be run through the queue.\n * Useful for routes which do not have any rate limits.\n */\n runThroughQueue?: boolean\n}\n\nexport interface RestRateLimitedPath {\n url: string\n resetTimestamp: number\n bucketId?: string\n}\n\nexport interface WebhookMessageEditor {\n /**\n * Edits a webhook message.\n *\n * @param webhookId - The ID of the webhook to edit the message of.\n * @param token - The webhook token, used to edit the message.\n * @param messageId - The ID of the message to edit.\n * @param options - The parameters for the edit of the message.\n * @returns An instance of the edited {@link CamelizedDiscordMessage}.\n *\n * @remarks\n * Fires a _Message Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#edit-webhook-message}\n */\n (\n webhookId: BigString,\n token: string,\n messageId: BigString,\n options: InteractionCallbackData & { threadId?: BigString },\n ): Promise<CamelizedDiscordMessage>\n /**\n * Edits the original webhook message.\n *\n * @param webhookId - The ID of the webhook to edit the original message of.\n * @param token - The webhook token, used to edit the message.\n * @param options - The parameters for the edit of the message.\n * @returns An instance of the edited {@link CamelizedDiscordMessage}.\n *\n * @remarks\n * Fires a _Message Update_ gateway event.\n *\n * @see {@link https://discord.com/developers/docs/resources/webhook#edit-webhook-message}\n */\n original: (webhookId: BigString, token: string, options: InteractionCallbackData & { threadId?: BigString }) => Promise<CamelizedDiscordMessage>\n}\n\nexport interface RestRequestResponse {\n ok: boolean\n status: number\n body?: string\n}\n\nexport interface RestRequestRejection {\n ok: boolean\n status: number\n body?: string\n error?: string\n}\n"],"names":[],"mappings":"AAAA,WAmkFC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@discordeno/rest",
3
- "version": "19.0.0-next.fda9ef2",
3
+ "version": "19.0.0-next.fe00a6f",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "type": "module",
@@ -24,10 +24,9 @@
24
24
  "test:test-type": "tsc --project tsconfig.test.json"
25
25
  },
26
26
  "dependencies": {
27
- "@discordeno/types": "19.0.0-next.fda9ef2",
28
- "@discordeno/utils": "19.0.0-next.fda9ef2",
29
- "dotenv": "^16.0.3",
30
- "node-fetch": "^3.3.1"
27
+ "@discordeno/types": "19.0.0-next.fe00a6f",
28
+ "@discordeno/utils": "19.0.0-next.fe00a6f",
29
+ "dotenv": "^16.0.3"
31
30
  },
32
31
  "devDependencies": {
33
32
  "@swc/cli": "^0.1.62",