@discordeno/rest 19.0.0-next.edc47da → 19.0.0-next.efcc966

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.
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAqEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAsB,MAAM,YAAY,CAAA;AAK3F,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,WAAW,CA8qDhF"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAqEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAsB,MAAM,YAAY,CAAA;AAK3F,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,WAAW,CAgrDhF"}
package/dist/manager.js CHANGED
@@ -218,6 +218,8 @@ export function createRestManager(options) {
218
218
  // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
219
219
  if (options.before) url += `&before=${options.before}`;
220
220
  // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
221
+ if (options.after) url += `&after=${options.after}`;
222
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
221
223
  if (options.limit) url += `&limit=${options.limit}`;
222
224
  // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
223
225
  if (options.userId) url += `&user_id=${options.userId}`;
@@ -808,7 +810,7 @@ export function createRestManager(options) {
808
810
  }));
809
811
  }
810
812
  const headers = {
811
- Authorization: rest.authorization ?? ""
813
+ Authorization: rest.authorization ?? ''
812
814
  };
813
815
  if (body) {
814
816
  headers['Content-Type'] = 'application/json';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/manager.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable no-const-assign */\nimport { InteractionResponseTypes } from '@discordeno/types'\nimport {\n calculateBits,\n camelize,\n camelToSnakeCase,\n delay,\n encode,\n findFiles,\n getBotIdFromToken,\n isGetMessagesAfter,\n isGetMessagesAround,\n isGetMessagesBefore,\n isGetMessagesLimit,\n logger,\n processReactionString,\n urlToBase64,\n} from '@discordeno/utils'\nimport fetch from 'node-fetch'\n\nimport { createInvalidRequestBucket } from './invalidBucket.js'\nimport { Queue } from './queue.js'\n\nimport type {\n BigString,\n Camelize,\n DiscordApplication,\n DiscordApplicationCommand,\n DiscordApplicationCommandPermissions,\n DiscordAuditLog,\n DiscordAutoModerationRule,\n DiscordBan,\n DiscordChannel,\n DiscordEmoji,\n DiscordFollowAnnouncementChannel,\n DiscordFollowedChannel,\n DiscordGetGatewayBot,\n DiscordGuild,\n DiscordGuildPreview,\n DiscordGuildWidget,\n DiscordGuildWidgetSettings,\n DiscordIntegration,\n DiscordInvite,\n DiscordInviteMetadata,\n DiscordListActiveThreads,\n DiscordListArchivedThreads,\n DiscordMember,\n DiscordMemberWithUser,\n DiscordMessage,\n DiscordPrunedCount,\n DiscordRole,\n DiscordScheduledEvent,\n DiscordStageInstance,\n DiscordSticker,\n DiscordStickerPack,\n DiscordTemplate,\n DiscordThreadMember,\n DiscordUser,\n DiscordVanityUrl,\n DiscordVoiceRegion,\n DiscordWebhook,\n DiscordWelcomeScreen,\n FileContent,\n GetMessagesOptions,\n GetScheduledEventUsers,\n MfaLevels,\n ModifyGuildTemplate,\n} from '@discordeno/types'\nimport type { CreateRestManagerOptions, RestManager, SendRequestOptions } from './types.js'\n\n// TODO: make dynamic based on package.json file\nconst version = '19.0.0-alpha.1'\n\nexport function createRestManager(options: CreateRestManagerOptions): RestManager {\n // Falsy token string check\n if (!options.token) throw new Error('You must provide a valid token.')\n\n const rest: RestManager = {\n token: options.token,\n applicationId: options.applicationId ? BigInt(options.applicationId) : getBotIdFromToken(options.token),\n version: options.version ?? 10,\n baseUrl: options.proxy?.baseUrl ?? 'https://discord.com/api',\n maxRetryCount: Infinity,\n globallyRateLimited: false,\n processingRateLimitedPaths: false,\n deleteQueueDelay: 60000,\n queues: new Map(),\n rateLimitedPaths: new Map(),\n invalidBucket: createInvalidRequestBucket({}),\n authorization: options.proxy?.authorization,\n\n routes: {\n webhooks: {\n id: (webhookId) => {\n return `/webhooks/${webhookId}`\n },\n message: (webhookId, token, messageId, options) => {\n let url = `/webhooks/${webhookId}/${token}/messages/${messageId}?`\n\n if (options) {\n if (options.threadId) url += `thread_id=${options.threadId}`\n }\n\n return url\n },\n original: (webhookId, token, options) => {\n let url = `/webhooks/${webhookId}/${token}/messages/@original?`\n\n if (options) {\n if (options.threadId) url += `thread_id=${options.threadId}`\n }\n\n return url\n },\n webhook: (webhookId, token, options) => {\n let url = `/webhooks/${webhookId}/${token}?`\n\n if (options) {\n if (options?.wait !== undefined) url += `wait=${options.wait.toString()}`\n if (options.threadId) url += `thread_id=${options.threadId}`\n }\n\n return url\n },\n },\n\n // Miscellaneous Endpoints\n sessionInfo: () => rest.routes.gatewayBot(),\n\n // Channel Endpoints\n channels: {\n bulk: (channelId) => {\n return `/channels/${channelId}/messages/bulk-delete`\n },\n dm: () => {\n return '/users/@me/channels'\n },\n pin: (channelId, messageId) => {\n return `/channels/${channelId}/pins/${messageId}`\n },\n pins: (channelId) => {\n return `/channels/${channelId}/pins`\n },\n reactions: {\n bot: (channelId, messageId, emoji) => {\n return `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}/@me`\n },\n user: (channelId, messageId, emoji, userId) => {\n return `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}/${userId}`\n },\n all: (channelId, messageId) => {\n return `/channels/${channelId}/messages/${messageId}/reactions`\n },\n emoji: (channelId, messageId, emoji, options) => {\n let url = `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.after) url += `after=${options.after}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `&limit=${options.limit}`\n }\n\n return url\n },\n message: (channelId, messageId, emoji, options) => {\n let url = `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.after) url += `after=${options.after}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `&limit=${options.limit}`\n }\n\n return url\n },\n },\n webhooks: (channelId) => {\n return `/channels/${channelId}/webhooks`\n },\n\n channel: (channelId) => {\n return `/channels/${channelId}`\n },\n\n follow: (channelId) => {\n return `/channels/${channelId}/followers`\n },\n\n forum: (channelId) => {\n return `/channels/${channelId}/threads?has_message=true`\n },\n\n invites: (channelId) => {\n return `/channels/${channelId}/invites`\n },\n\n message: (channelId, messageId) => {\n return `/channels/${channelId}/messages/${messageId}`\n },\n\n messages: (channelId, options?: GetMessagesOptions) => {\n let url = `/channels/${channelId}/messages?`\n\n if (options) {\n if (isGetMessagesAfter(options) && options.after) {\n url += `after=${options.after}`\n }\n if (isGetMessagesBefore(options) && options.before) {\n url += `&before=${options.before}`\n }\n if (isGetMessagesAround(options) && options.around) {\n url += `&around=${options.around}`\n }\n if (isGetMessagesLimit(options) && options.limit) {\n url += `&limit=${options.limit}`\n }\n }\n\n return url\n },\n\n overwrite: (channelId, overwriteId) => {\n return `/channels/${channelId}/permissions/${overwriteId}`\n },\n\n crosspost: (channelId, messageId) => {\n return `/channels/${channelId}/messages/${messageId}/crosspost`\n },\n\n stages: () => {\n return '/stage-instances'\n },\n\n stage: (channelId) => {\n return `/stage-instances/${channelId}`\n },\n\n // Thread Endpoints\n threads: {\n message: (channelId, messageId) => {\n return `/channels/${channelId}/messages/${messageId}/threads`\n },\n all: (channelId) => {\n return `/channels/${channelId}/threads`\n },\n active: (guildId) => {\n return `/guilds/${guildId}/threads/active`\n },\n members: (channelId) => {\n return `/channels/${channelId}/thread-members`\n },\n me: (channelId) => {\n return `/channels/${channelId}/thread-members/@me`\n },\n user: (channelId, userId) => {\n return `/channels/${channelId}/thread-members/${userId}`\n },\n archived: (channelId) => {\n return `/channels/${channelId}/threads/archived`\n },\n public: (channelId, options) => {\n let url = `/channels/${channelId}/threads/archived/public?`\n\n if (options) {\n if (options.before) {\n url += `before=${new Date(options.before).toISOString()}`\n }\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `&limit=${options.limit}`\n }\n\n return url\n },\n private: (channelId, options) => {\n let url = `/channels/${channelId}/threads/archived/private?`\n\n if (options) {\n if (options.before) {\n url += `before=${new Date(options.before).toISOString()}`\n }\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `&limit=${options.limit}`\n }\n\n return url\n },\n joined: (channelId, options) => {\n let url = `/channels/${channelId}/users/@me/threads/archived/private?`\n\n if (options) {\n if (options.before) {\n url += `before=${new Date(options.before).toISOString()}`\n }\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `&limit=${options.limit}`\n }\n\n return url\n },\n },\n\n typing: (channelId) => {\n return `/channels/${channelId}/typing`\n },\n },\n\n // Guild Endpoints\n guilds: {\n all: () => {\n return '/guilds'\n },\n auditlogs: (guildId, options) => {\n let url = `/guilds/${guildId}/audit-logs?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.actionType) url += `action_type=${options.actionType}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.before) url += `&before=${options.before}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `&limit=${options.limit}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.userId) url += `&user_id=${options.userId}`\n }\n\n return url\n },\n automod: {\n rule: (guildId, ruleId) => {\n return `/guilds/${guildId}/auto-moderation/rules/${ruleId}`\n },\n rules: (guildId) => {\n return `/guilds/${guildId}/auto-moderation/rules`\n },\n },\n channels: (guildId) => {\n return `/guilds/${guildId}/channels`\n },\n emoji: (guildId, emojiId) => {\n return `/guilds/${guildId}/emojis/${emojiId}`\n },\n emojis: (guildId) => {\n return `/guilds/${guildId}/emojis`\n },\n events: {\n events: (guildId, withUserCount?: boolean) => {\n let url = `/guilds/${guildId}/scheduled-events?`\n\n if (withUserCount !== undefined) {\n url += `with_user_count=${withUserCount.toString()}`\n }\n return url\n },\n event: (guildId, eventId, withUserCount?: boolean) => {\n let url = `/guilds/${guildId}/scheduled-events/${eventId}`\n\n if (withUserCount !== undefined) {\n url += `with_user_count=${withUserCount.toString()}`\n }\n\n return url\n },\n users: (guildId, eventId, options?: GetScheduledEventUsers) => {\n let url = `/guilds/${guildId}/scheduled-events/${eventId}/users?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit !== undefined) url += `limit=${options.limit}`\n if (options.withMember !== undefined) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&with_member=${options.withMember.toString()}`\n }\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.after !== undefined) url += `&after=${options.after}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.before !== undefined) url += `&before=${options.before}`\n }\n\n return url\n },\n },\n guild(guildId, withCounts) {\n let url = `/guilds/${guildId}?`\n\n if (withCounts !== undefined) {\n url += `with_counts=${withCounts.toString()}`\n }\n\n return url\n },\n integration(guildId, integrationId) {\n return `/guilds/${guildId}/integrations/${integrationId}`\n },\n integrations: (guildId) => {\n return `/guilds/${guildId}/integrations?include_applications=true`\n },\n invite(inviteCode, options) {\n let url = `/invites/${inviteCode}?`\n\n if (options) {\n if (options.withCounts !== undefined) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `with_counts=${options.withCounts.toString()}`\n }\n if (options.withExpiration !== undefined) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&with_expiration=${options.withExpiration.toString()}`\n }\n if (options.scheduledEventId) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&guild_scheduled_event_id=${options.scheduledEventId}`\n }\n }\n\n return url\n },\n invites: (guildId) => {\n return `/guilds/${guildId}/invites`\n },\n leave: (guildId) => {\n return `/users/@me/guilds/${guildId}`\n },\n members: {\n ban: (guildId, userId) => {\n return `/guilds/${guildId}/bans/${userId}`\n },\n bans: (guildId, options) => {\n let url = `/guilds/${guildId}/bans?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `limit=${options.limit}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.after) url += `&after=${options.after}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.before) url += `&before=${options.before}`\n }\n\n return url\n },\n bot: (guildId) => {\n return `/guilds/${guildId}/members/@me`\n },\n member: (guildId, userId) => {\n return `/guilds/${guildId}/members/${userId}`\n },\n members: (guildId, options) => {\n let url = `/guilds/${guildId}/members?`\n\n if (options !== undefined) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `limit=${options.limit}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.after) url += `&after=${options.after}`\n }\n\n return url\n },\n search: (guildId, query, options) => {\n let url = `/guilds/${guildId}/members/search?query=${encodeURIComponent(query)}`\n\n if (options) {\n if (options.limit !== undefined) url += `&limit=${options.limit}`\n }\n\n return url\n },\n prune: (guildId, options) => {\n let url = `/guilds/${guildId}/prune?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.days) url += `days=${options.days}`\n if (Array.isArray(options.includeRoles)) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&include_roles=${options.includeRoles.join(',')}`\n } else if (options.includeRoles) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&include_roles=${options.includeRoles}`\n }\n }\n\n return url\n },\n },\n mfa: (guildId) => `/guilds/${guildId}/mfa`,\n preview: (guildId) => {\n return `/guilds/${guildId}/preview`\n },\n prune: (guildId, options) => {\n let url = `/guilds/${guildId}/prune?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.days) url += `days=${options.days}`\n if (Array.isArray(options.includeRoles)) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&include_roles=${options.includeRoles.join(',')}`\n } else if (options.includeRoles) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&include_roles=${options.includeRoles}`\n }\n }\n\n return url\n },\n roles: {\n one: (guildId, roleId) => {\n return `/guilds/${guildId}/roles/${roleId}`\n },\n all: (guildId) => {\n return `/guilds/${guildId}/roles`\n },\n member: (guildId, memberId, roleId) => {\n return `/guilds/${guildId}/members/${memberId}/roles/${roleId}`\n },\n },\n stickers: (guildId) => {\n return `/guilds/${guildId}/stickers`\n },\n sticker: (guildId, stickerId) => {\n return `/guilds/${guildId}/stickers/${stickerId}`\n },\n voice: (guildId, userId) => {\n return `/guilds/${guildId}/voice-states/${userId ?? '@me'}`\n },\n templates: {\n code: (code) => {\n return `/guilds/templates/${code}`\n },\n guild: (guildId, code) => {\n return `/guilds/${guildId}/templates/${code}`\n },\n all: (guildId) => {\n return `/guilds/${guildId}/templates`\n },\n },\n vanity: (guildId) => {\n return `/guilds/${guildId}/vanity-url`\n },\n regions: (guildId) => {\n return `/guilds/${guildId}/regions`\n },\n webhooks: (guildId) => {\n return `/guilds/${guildId}/webhooks`\n },\n welcome: (guildId) => {\n return `/guilds/${guildId}/welcome-screen`\n },\n widget: (guildId) => {\n return `/guilds/${guildId}/widget`\n },\n widgetJson: (guildId) => {\n return `/guilds/${guildId}/widget.json`\n },\n },\n\n sticker: (stickerId: BigString) => {\n return `/stickers/${stickerId}`\n },\n\n regions: () => {\n return '/voice/regions'\n },\n\n // Interaction Endpoints\n interactions: {\n commands: {\n // Application Endpoints\n commands: (applicationId) => {\n return `/applications/${applicationId}/commands`\n },\n\n guilds: {\n all(applicationId, guildId) {\n return `/applications/${applicationId}/guilds/${guildId}/commands`\n },\n\n one(applicationId, guildId, commandId, withLocalizations) {\n let url = `/applications/${applicationId}/guilds/${guildId}/commands/${commandId}?`\n\n if (withLocalizations !== undefined) {\n url += `with_localizations=${withLocalizations.toString()}`\n }\n\n return url\n },\n },\n permissions: (applicationId, guildId) => {\n return `/applications/${applicationId}/guilds/${guildId}/commands/permissions`\n },\n permission: (applicationId, guildId, commandId) => {\n return `/applications/${applicationId}/guilds/${guildId}/commands/${commandId}/permissions`\n },\n command: (applicationId, commandId, withLocalizations) => {\n let url = `/applications/${applicationId}/commands/${commandId}?`\n\n if (withLocalizations !== undefined) {\n url += `withLocalizations=${withLocalizations.toString()}`\n }\n\n return url\n },\n },\n\n responses: {\n // Interaction Endpoints\n callback: (interactionId, token) => {\n return `/interactions/${interactionId}/${token}/callback`\n },\n original: (interactionId, token) => {\n return `/webhooks/${interactionId}/${token}/messages/@original`\n },\n message: (applicationId, token, messageId) => {\n return `/webhooks/${applicationId}/${token}/messages/${messageId}`\n },\n },\n },\n\n // User endpoints\n user(userId) {\n return `/users/${userId}`\n },\n\n userBot() {\n return '/users/@me'\n },\n\n oauth2Application() {\n return 'oauth2/applications/@me'\n },\n\n gatewayBot() {\n return '/gateway/bot'\n },\n\n nitroStickerPacks() {\n return '/sticker-packs'\n },\n },\n\n checkRateLimits(url) {\n const ratelimited = rest.rateLimitedPaths.get(url)\n const global = rest.rateLimitedPaths.get('global')\n const now = Date.now()\n\n if (ratelimited && now < ratelimited.resetTimestamp) {\n return ratelimited.resetTimestamp - now\n }\n\n if (global && now < global.resetTimestamp) {\n return global.resetTimestamp - now\n }\n\n return false\n },\n\n changeToDiscordFormat(obj: any): any {\n if (obj === null) return null\n\n if (typeof obj === 'object') {\n if (Array.isArray(obj)) {\n return obj.map((item) => rest.changeToDiscordFormat(item))\n }\n\n const newObj: any = {}\n\n for (const key of Object.keys(obj)) {\n // Keys that dont require snake casing\n if (['permissions', 'allow', 'deny'].includes(key)) {\n newObj[key] = calculateBits(obj[key])\n continue\n }\n\n if (key === 'defaultMemberPermissions') {\n newObj.default_member_permissions = calculateBits(obj[key])\n continue\n }\n\n newObj[camelToSnakeCase(key)] = rest.changeToDiscordFormat(obj[key])\n }\n\n return newObj\n }\n\n if (typeof obj === 'bigint') return obj.toString()\n\n return obj\n },\n\n createRequest(options) {\n const headers: Record<string, string> = {\n 'user-agent': `DiscordBot (https://github.com/discordeno/discordeno, v${version})`,\n }\n\n if (!options.unauthorized) headers.authorization = `Bot ${rest.token}`\n\n // SOMETIMES SPECIAL HEADERS (E.G. CUSTOM AUTHORIZATION) NEED TO BE USED\n if (options.headers) {\n for (const key in options.headers) {\n headers[key.toLowerCase()] = options.headers[key]\n }\n }\n\n // GET METHODS SHOULD NOT HAVE A BODY\n if (options.method === 'GET') {\n options.body = undefined\n }\n\n // IF A REASON IS PROVIDED ENCODE IT IN HEADERS\n if (options.body?.reason) {\n headers['X-Audit-Log-Reason'] = encodeURIComponent(options.body.reason as string)\n options.body.reason = undefined\n }\n\n if (options.body) {\n const { file } = options.body\n if (file) {\n const files = findFiles(file)\n const form = new FormData()\n\n // WHEN CREATING A STICKER, DISCORD WANTS FORM DATA ONLY\n if (options.url?.endsWith('/stickers') && options.method === 'POST') {\n form.append('file', files[0].blob, files[0].name)\n form.append('name', options.body.name as string)\n form.append('description', options.body.description as string)\n form.append('tags', options.body.tags as string)\n } else {\n for (let i = 0; i < files.length; i++) {\n form.append(`file${i}`, files[i].blob, files[i].name)\n }\n\n if (file) options.body.file = undefined\n form.append('payload_json', JSON.stringify(rest.changeToDiscordFormat(options.body)))\n }\n\n options.body.file = form\n } else if (options.body && !['GET', 'DELETE'].includes(options.method)) {\n headers['Content-Type'] = 'application/json'\n }\n }\n\n return {\n headers,\n body: (options.body?.file ?? JSON.stringify(rest.changeToDiscordFormat(options.body))) as FormData | string,\n method: options.method,\n }\n },\n\n processRateLimitedPaths() {\n const now = Date.now()\n\n for (const [key, value] of rest.rateLimitedPaths.entries()) {\n // rest.debug(\n // `[REST - processRateLimitedPaths] Running for of loop. ${\n // value.resetTimestamp - now\n // }`\n // )\n // If the time has not reached cancel\n if (value.resetTimestamp > now) continue\n\n // Rate limit is over, delete the rate limiter\n rest.rateLimitedPaths.delete(key)\n // If it was global, also mark the global value as false\n if (key === 'global') rest.globallyRateLimited = false\n }\n\n // ALL PATHS ARE CLEARED CAN CANCEL OUT!\n if (rest.rateLimitedPaths.size === 0) {\n rest.processingRateLimitedPaths = false\n } else {\n rest.processingRateLimitedPaths = true\n // RECHECK IN 1 SECOND\n setTimeout(() => {\n // rest.debug('[REST - processRateLimitedPaths] Running setTimeout.')\n rest.processRateLimitedPaths()\n }, 1000)\n }\n },\n\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, headers) {\n let rateLimited = false\n\n // GET ALL NECESSARY HEADERS\n const remaining = headers.get('x-ratelimit-remaining')\n const retryAfter = headers.get('x-ratelimit-reset-after')\n const reset = Date.now() + Number(retryAfter) * 1000\n const global = headers.get('x-ratelimit-global')\n // undefined override null needed for typings\n const bucketId = headers.get('x-ratelimit-bucket') ?? undefined\n const limit = headers.get('x-ratelimit-limit')\n\n rest.queues.get(url)?.handleCompletedRequest({\n remaining: remaining ? Number(remaining) : undefined,\n interval: retryAfter ? Number(retryAfter) * 1000 : undefined,\n max: limit ? Number(limit) : undefined,\n })\n\n // IF THERE IS NO REMAINING RATE LIMIT, MARK IT AS RATE LIMITED\n if (remaining === '0') {\n rateLimited = true\n\n // SAVE THE URL AS LIMITED, IMPORTANT FOR NEW REQUESTS BY USER WITHOUT BUCKET\n rest.rateLimitedPaths.set(url, {\n url,\n resetTimestamp: reset,\n bucketId,\n })\n\n // SAVE THE BUCKET AS LIMITED SINCE DIFFERENT URLS MAY SHARE A BUCKET\n if (bucketId) {\n rest.rateLimitedPaths.set(bucketId, {\n url,\n resetTimestamp: reset,\n bucketId,\n })\n }\n }\n\n // IF THERE IS NO REMAINING GLOBAL LIMIT, MARK IT RATE LIMITED GLOBALLY\n if (global) {\n const retryAfter = headers.get('retry-after')\n const globalReset = Date.now() + Number(retryAfter) * 1000\n // rest.debug(\n // `[REST = Globally Rate Limited] URL: ${url} | Global Rest: ${globalReset}`\n // )\n rest.globallyRateLimited = true\n rateLimited = true\n\n setTimeout(() => {\n rest.globallyRateLimited = false\n }, globalReset)\n\n rest.rateLimitedPaths.set('global', {\n url: 'global',\n resetTimestamp: globalReset,\n bucketId,\n })\n\n if (bucketId) {\n rest.rateLimitedPaths.set(bucketId, {\n url: 'global',\n resetTimestamp: globalReset,\n bucketId,\n })\n }\n }\n\n if (rateLimited && !rest.processingRateLimitedPaths) {\n rest.processRateLimitedPaths()\n }\n return rateLimited ? bucketId : undefined\n },\n\n async sendRequest(options) {\n const url = options.url.startsWith('https://') ? options.url : `${rest.baseUrl}/v${rest.version}${options.url}`\n const payload = rest.createRequest({ method: options.method, url: options.url, body: options.body, ...options.options })\n\n logger.debug(`sending request to ${url}`, 'with payload:', { ...payload, headers: { ...payload.headers, authorization: 'Bot tokenhere' } })\n const response = await fetch(url, payload)\n logger.debug(`request fetched from ${url} with status ${response.status} & ${response.statusText}`)\n\n // Set the bucket id if it was available on the headers\n const bucketId = rest.processHeaders(rest.simplifyUrl(options.url, options.method), response.headers)\n if (bucketId) options.bucketId = bucketId\n\n if (response.status < 200 || response.status >= 400) {\n logger.debug(`Request to ${url} failed.`)\n\n if (response.status === 429) {\n logger.debug(`Request to ${url} was ratelimited.`)\n // Too many attempts, get rid of request from queue.\n if (options.retryCount++ >= rest.maxRetryCount) {\n logger.debug(`Request to ${url} exceeded the maximum allowed retries.`, 'with payload:', payload)\n // rest.debug(`[REST - RetriesMaxed] ${JSON.stringify(options)}`)\n // Remove item from queue to prevent retry\n options.reject({\n ok: false,\n status: response.status,\n error: 'The options was rate limited and it maxed out the retries limit.',\n })\n return\n }\n\n // Rate limited, add back to queue\n rest.invalidBucket.handleCompletedRequest(response.status, response.headers.get('X-RateLimit-Scope') === 'shared')\n\n const resetAfter = response.headers.get('x-ratelimit-reset-after')\n if (resetAfter) await delay(Number(resetAfter) * 1000)\n // process the response to prevent mem leak\n await response.json()\n\n return await options.retryRequest?.(options)\n }\n\n options.reject({ ok: false, status: response.status, body: JSON.stringify(await response.json()) })\n return\n }\n\n const is204 = response.status === 204\n const json = is204 ? undefined : await response.json()\n // Discord sometimes sends no response with 204 code\n options.resolve({ ok: true, status: response.status, body: JSON.stringify(json) })\n },\n\n // Credits: github.com/abalabahaha/eris lib/rest/RequestHandler.js#L397\n // Modified for our use-case\n simplifyUrl(url, method) {\n let route = url\n .replace(/\\/([a-z-]+)\\/(?:[0-9]{17,19})/g, function (match, p: string) {\n return ['channels', 'guilds'].includes(p) ? match : `/${p}/x`\n })\n .replace(/\\/reactions\\/[^/]+/g, '/reactions/x')\n\n // GENERAL /reactions and /reactions/emoji/@me share the buckets\n if (route.includes('/reactions')) {\n route = route.substring(0, route.indexOf('/reactions') + '/reactions'.length)\n }\n\n // Delete Message endpoint has its own rate limit\n if (method === 'DELETE' && route.endsWith('/messages/x')) {\n route = method + route\n }\n\n return route\n },\n\n processRequest(request: SendRequestOptions) {\n const route = request.url.substring(request.url.indexOf('api/'))\n const parts = route.split('/')\n // Remove the api/\n parts.shift()\n // Removes the /v#/\n if (parts[0]?.startsWith('v')) parts.shift()\n // Set the full url to discord api in case it was recieved in a proxy rest\n request.url = `${rest.baseUrl}/v${rest.version}/${parts.join('/')}`\n\n const url = rest.simplifyUrl(request.url, request.method)\n const queue = rest.queues.get(url)\n\n if (queue !== undefined) {\n queue.makeRequest(request)\n } else {\n // CREATES A NEW QUEUE\n const bucketQueue = new Queue(rest, { url, deleteQueueDelay: rest.deleteQueueDelay })\n\n // Add request to queue\n bucketQueue.makeRequest(request)\n // Save queue\n rest.queues.set(url, bucketQueue)\n }\n },\n\n async makeRequest(method, url, body, options) {\n if (!rest.baseUrl.startsWith('https://discord.com') && url[0] === '/') {\n // Special handling for sending blobs across http to proxy\n if (body?.file) {\n if (!Array.isArray(body.file)) {\n body.file = [body.file]\n }\n // convert blobs to string before sending to proxy\n body.file = await Promise.all(\n body.file.map(async (f: FileContent) => {\n const url = encode(await f.blob.arrayBuffer())\n\n return { name: f.name, blob: `data:${f.blob.type};base64,${url}` }\n }),\n )\n }\n\n const headers: HeadersInit = {\n Authorization: rest.authorization ?? \"\",\n }\n if (body) {\n headers['Content-Type'] = 'application/json'\n }\n const result = await fetch(`${rest.baseUrl}${url}`, {\n body: body ? JSON.stringify(body) : undefined,\n headers,\n method,\n })\n\n if (!result.ok) {\n const err = await result.json().catch(() => {}) as Record<string, any>;\n // Legacy Handling to not break old code or when body is missing\n if (!err?.body) throw new Error(`Error: ${err.message ?? result.statusText}`)\n throw new Error(JSON.stringify(err));\n }\n\n return result.status !== 204 ? await result.json() as any : undefined\n }\n\n return await new Promise((resolve, reject) => {\n const payload: SendRequestOptions = {\n url,\n method,\n body,\n retryCount: 0,\n retryRequest: async function (options: SendRequestOptions) {\n rest.processRequest(payload)\n },\n resolve: (data) => {\n resolve(data.status !== 204 ? JSON.parse(data.body ?? '{}') : undefined)\n },\n reject,\n options,\n }\n\n rest.processRequest(payload)\n })\n },\n\n async get<T = Record<string, unknown>>(url: string) {\n return camelize(await rest.makeRequest('GET', url)) as Camelize<T>\n },\n\n async post<T = Record<string, unknown>>(url: string, body?: Record<string, any>) {\n return camelize(await rest.makeRequest('POST', url, body)) as Camelize<T>\n },\n\n async delete(url: string, body?: Record<string, any>) {\n camelize(await rest.makeRequest('DELETE', url, body))\n },\n\n async patch<T = Record<string, unknown>>(url: string, body?: Record<string, any>) {\n return camelize(await rest.makeRequest('PATCH', url, body)) as Camelize<T>\n },\n\n async put<T = void>(url: string, body?: Record<string, any>, options?: Record<string, any>) {\n return camelize(await rest.makeRequest('PUT', url, body, options)) as Camelize<T>\n },\n\n async addReaction(channelId, messageId, reaction) {\n reaction = processReactionString(reaction)\n\n await rest.put(rest.routes.channels.reactions.bot(channelId, messageId, reaction))\n },\n\n async addReactions(channelId, messageId, reactions, ordered = false) {\n if (!ordered) {\n await Promise.all(\n reactions.map(async (reaction) => {\n await rest.addReaction(channelId, messageId, reaction)\n }),\n )\n return\n }\n\n for (const reaction of reactions) {\n await rest.addReaction(channelId, messageId, reaction)\n }\n },\n\n async addRole(guildId, userId, roleId, reason) {\n await rest.put(rest.routes.guilds.roles.member(guildId, userId, roleId), { reason })\n },\n\n async addThreadMember(channelId, userId) {\n await rest.put(rest.routes.channels.threads.user(channelId, userId))\n },\n\n async createAutomodRule(guildId, options) {\n return await rest.post<DiscordAutoModerationRule>(rest.routes.guilds.automod.rules(guildId), options)\n },\n\n async createChannel(guildId, options) {\n return await rest.post<DiscordChannel>(rest.routes.guilds.channels(guildId), options)\n },\n\n async createEmoji(guildId, options) {\n return await rest.post<DiscordEmoji>(rest.routes.guilds.emojis(guildId), options)\n },\n\n async createGlobalApplicationCommand(command) {\n return await rest.post<DiscordApplicationCommand>(rest.routes.interactions.commands.commands(rest.applicationId), command)\n },\n\n async createGuild(options) {\n return await rest.post<DiscordGuild>(rest.routes.guilds.all(), options)\n },\n\n async createGuildApplicationCommand(command, guildId) {\n return await rest.post<DiscordApplicationCommand>(rest.routes.interactions.commands.guilds.all(rest.applicationId, guildId), command)\n },\n\n async createGuildFromTemplate(templateCode, options) {\n if (options.icon) {\n options.icon = await urlToBase64(options.icon)\n }\n\n return await rest.post<DiscordGuild>(rest.routes.guilds.templates.code(templateCode), options)\n },\n\n async createGuildSticker(guildId, options) {\n return await rest.post<DiscordSticker>(rest.routes.guilds.stickers(guildId), options)\n },\n\n async createGuildTemplate(guildId, options) {\n return await rest.post<DiscordTemplate>(rest.routes.guilds.templates.all(guildId), options)\n },\n\n async createForumThread(channelId, options) {\n return await rest.post<DiscordChannel>(rest.routes.channels.forum(channelId), options)\n },\n\n async createInvite(channelId, options = {}) {\n return await rest.post<DiscordInvite>(rest.routes.channels.invites(channelId), options)\n },\n\n async createRole(guildId, options, reason) {\n return await rest.post<DiscordRole>(rest.routes.guilds.roles.all(guildId), {\n ...options,\n reason,\n })\n },\n\n async createScheduledEvent(guildId, options) {\n return await rest.post<DiscordScheduledEvent>(rest.routes.guilds.events.events(guildId), options)\n },\n\n async createStageInstance(options) {\n return await rest.post<DiscordStageInstance>(rest.routes.channels.stages(), options)\n },\n\n async createWebhook(channelId, options) {\n return await rest.post<DiscordWebhook>(rest.routes.channels.webhooks(channelId), {\n name: options.name,\n avatar: options.avatar ? await urlToBase64(options.avatar) : undefined,\n reason: options.reason,\n })\n },\n\n async deleteAutomodRule(guildId, ruleId, reason) {\n await rest.delete(rest.routes.guilds.automod.rule(guildId, ruleId), { reason })\n },\n\n async deleteChannel(channelId, reason) {\n await rest.delete(rest.routes.channels.channel(channelId), {\n reason,\n })\n },\n\n async deleteChannelPermissionOverride(channelId, overwriteId, reason) {\n await rest.delete(rest.routes.channels.overwrite(channelId, overwriteId), reason ? { reason } : undefined)\n },\n\n async deleteEmoji(guildId, id, reason) {\n await rest.delete(rest.routes.guilds.emoji(guildId, id), { reason })\n },\n\n async deleteFollowupMessage(token, messageId) {\n await rest.delete(rest.routes.interactions.responses.message(rest.applicationId, token, messageId))\n },\n\n async deleteGlobalApplicationCommand(commandId) {\n await rest.delete(rest.routes.interactions.commands.command(rest.applicationId, commandId))\n },\n\n async deleteGuild(guildId) {\n await rest.delete(rest.routes.guilds.guild(guildId))\n },\n\n async deleteGuildApplicationCommand(commandId, guildId) {\n await rest.delete(rest.routes.interactions.commands.guilds.one(rest.applicationId, guildId, commandId))\n },\n\n async deleteGuildSticker(guildId, stickerId, reason) {\n await rest.delete(rest.routes.guilds.sticker(guildId, stickerId), reason ? { reason } : undefined)\n },\n\n async deleteGuildTemplate(guildId, templateCode) {\n await rest.delete(rest.routes.guilds.templates.guild(guildId, templateCode))\n },\n\n async deleteIntegration(guildId, integrationId) {\n await rest.delete(rest.routes.guilds.integration(guildId, integrationId))\n },\n\n async deleteInvite(inviteCode, reason) {\n await rest.delete(rest.routes.guilds.invite(inviteCode), reason ? { reason } : undefined)\n },\n\n async deleteMessage(channelId, messageId, reason) {\n await rest.delete(rest.routes.channels.message(channelId, messageId), { reason })\n },\n\n async deleteMessages(channelId, messageIds, reason) {\n await rest.post(rest.routes.channels.bulk(channelId), {\n messages: messageIds.slice(0, 100).map((id) => id.toString()),\n reason,\n })\n },\n\n async deleteOriginalInteractionResponse(token) {\n await rest.delete(rest.routes.interactions.responses.original(rest.applicationId, token))\n },\n\n async deleteOwnReaction(channelId, messageId, reaction) {\n reaction = processReactionString(reaction)\n\n await rest.delete(rest.routes.channels.reactions.bot(channelId, messageId, reaction))\n },\n\n async deleteReactionsAll(channelId, messageId) {\n await rest.delete(rest.routes.channels.reactions.all(channelId, messageId))\n },\n\n async deleteReactionsEmoji(channelId, messageId, reaction) {\n reaction = processReactionString(reaction)\n\n await rest.delete(rest.routes.channels.reactions.emoji(channelId, messageId, reaction))\n },\n\n async deleteRole(guildId, roleId) {\n await rest.delete(rest.routes.guilds.roles.one(guildId, roleId))\n },\n\n async deleteScheduledEvent(guildId, eventId) {\n await rest.delete(rest.routes.guilds.events.event(guildId, eventId))\n },\n\n async deleteStageInstance(channelId, reason) {\n await rest.delete(rest.routes.channels.stage(channelId), reason ? { reason } : undefined)\n },\n\n async deleteUserReaction(channelId, messageId, userId, reaction) {\n reaction = processReactionString(reaction)\n\n await rest.delete(rest.routes.channels.reactions.user(channelId, messageId, reaction, userId))\n },\n\n async deleteWebhook(webhookId, reason) {\n await rest.delete(rest.routes.webhooks.id(webhookId), { reason })\n },\n\n async deleteWebhookMessage(webhookId, token, messageId, options) {\n await rest.delete(rest.routes.webhooks.message(webhookId, token, messageId, options))\n },\n\n async deleteWebhookWithToken(webhookId, token) {\n await rest.delete(rest.routes.webhooks.webhook(webhookId, token))\n },\n\n async editApplicationCommandPermissions(guildId, commandId, bearerToken, options) {\n return await rest.put<DiscordApplicationCommandPermissions>(\n rest.routes.interactions.commands.permission(rest.applicationId, guildId, commandId),\n {\n permissions: options,\n },\n {\n headers: { authorization: `Bearer ${bearerToken}` },\n },\n )\n },\n\n async editAutomodRule(guildId, ruleId, options) {\n return await rest.patch<DiscordAutoModerationRule>(rest.routes.guilds.automod.rule(guildId, ruleId), options)\n },\n\n async editBotProfile(options) {\n const avatar = options?.botAvatarURL ? await urlToBase64(options?.botAvatarURL) : options?.botAvatarURL\n\n return await rest.patch<DiscordUser>(rest.routes.userBot(), {\n username: options.username?.trim(),\n avatar,\n })\n },\n\n async editChannel(channelId, options) {\n return await rest.patch<DiscordChannel>(rest.routes.channels.channel(channelId), options)\n },\n\n async editChannelPermissionOverrides(channelId, options) {\n await rest.put(rest.routes.channels.overwrite(channelId, options.id), options)\n },\n\n async editChannelPositions(guildId, channelPositions) {\n await rest.patch(rest.routes.guilds.channels(guildId), channelPositions)\n },\n\n async editEmoji(guildId, id, options) {\n return await rest.patch<DiscordEmoji>(rest.routes.guilds.emoji(guildId, id), options)\n },\n\n async editFollowupMessage(token, messageId, options) {\n return await rest.patch<DiscordMessage>(rest.routes.interactions.responses.message(rest.applicationId, token, messageId), options)\n },\n\n async editGlobalApplicationCommand(commandId, options) {\n return await rest.patch<DiscordApplicationCommand>(rest.routes.interactions.commands.command(rest.applicationId, commandId), options)\n },\n\n async editGuild(guildId, options) {\n return await rest.patch<DiscordGuild>(rest.routes.guilds.guild(guildId), options)\n },\n\n async editGuildApplicationCommand(commandId, guildId, options) {\n return await rest.patch<DiscordApplicationCommand>(\n rest.routes.interactions.commands.guilds.one(rest.applicationId, guildId, commandId),\n options,\n )\n },\n\n async editGuildMfaLevel(guildId: BigString, mfaLevel: MfaLevels, reason?: string): Promise<void> {\n await rest.post(rest.routes.guilds.mfa(guildId), { level: mfaLevel, reason })\n },\n\n async editGuildSticker(guildId, stickerId, options) {\n return await rest.patch<DiscordSticker>(rest.routes.guilds.sticker(guildId, stickerId), options)\n },\n\n async editGuildTemplate(guildId, templateCode: string, options: ModifyGuildTemplate): Promise<Camelize<DiscordTemplate>> {\n return await rest.patch<DiscordTemplate>(rest.routes.guilds.templates.guild(guildId, templateCode), options)\n },\n\n async editMessage(channelId, messageId, options) {\n return await rest.patch<DiscordMessage>(rest.routes.channels.message(channelId, messageId), options)\n },\n\n async editOriginalInteractionResponse(token, options) {\n return await rest.patch<DiscordMessage>(rest.routes.interactions.responses.original(rest.applicationId, token), options)\n },\n\n async editOriginalWebhookMessage(webhookId, token, options) {\n return await rest.patch<DiscordMessage>(rest.routes.webhooks.original(webhookId, token, options), {\n type: InteractionResponseTypes.UpdateMessage,\n data: options,\n })\n },\n\n async editOwnVoiceState(guildId, options) {\n await rest.patch(rest.routes.guilds.voice(guildId), {\n channel_id: options.channelId,\n suppress: options.suppress,\n request_to_speak_timestamp: options.requestToSpeakTimestamp\n ? new Date(options.requestToSpeakTimestamp).toISOString()\n : options.requestToSpeakTimestamp,\n })\n },\n\n async editScheduledEvent(guildId, eventId, options) {\n return await rest.patch<DiscordScheduledEvent>(rest.routes.guilds.events.event(guildId, eventId), options)\n },\n\n async editRole(guildId, roleId, options) {\n return await rest.patch<DiscordRole>(rest.routes.guilds.roles.one(guildId, roleId), options)\n },\n\n async editRolePositions(guildId, options) {\n return await rest.patch<DiscordRole[]>(rest.routes.guilds.roles.all(guildId), options)\n },\n\n async editStageInstance(channelId, data) {\n return await rest.patch<DiscordStageInstance>(rest.routes.channels.stage(channelId), { topic: data.topic })\n },\n\n async editUserVoiceState(guildId, options) {\n await rest.patch(rest.routes.guilds.voice(guildId, options.userId), {\n channel_id: options.channelId,\n suppress: options.suppress,\n user_id: options.userId,\n })\n },\n\n async editWebhook(webhookId, options) {\n return await rest.patch<DiscordWebhook>(rest.routes.webhooks.id(webhookId), options)\n },\n\n async editWebhookMessage(webhookId, token, messageId, options) {\n return await rest.patch<DiscordMessage>(rest.routes.webhooks.message(webhookId, token, messageId, options), options)\n },\n\n async editWebhookWithToken(webhookId, token, options) {\n return await rest.patch<DiscordWebhook>(rest.routes.webhooks.webhook(webhookId, token), options)\n },\n\n async editWelcomeScreen(guildId, options) {\n return await rest.patch<DiscordWelcomeScreen>(rest.routes.guilds.welcome(guildId), options)\n },\n\n async editWidgetSettings(guildId, options) {\n return await rest.patch<DiscordGuildWidgetSettings>(rest.routes.guilds.widget(guildId), options)\n },\n\n async executeWebhook(webhookId, token, options) {\n return await rest.post<DiscordMessage>(rest.routes.webhooks.webhook(webhookId, token, options), options)\n },\n\n async followAnnouncement(sourceChannelId, targetChannelId) {\n return await rest.post<DiscordFollowedChannel>(rest.routes.channels.follow(sourceChannelId), {\n webhook_channel_id: targetChannelId,\n } as DiscordFollowAnnouncementChannel)\n },\n\n async getActiveThreads(guildId) {\n return await rest.get<DiscordListActiveThreads>(rest.routes.channels.threads.active(guildId))\n },\n\n async getApplicationCommandPermission(guildId, commandId) {\n return await rest.get<DiscordApplicationCommandPermissions>(\n rest.routes.interactions.commands.permission(rest.applicationId, guildId, commandId),\n )\n },\n\n async getApplicationCommandPermissions(guildId) {\n return await rest.get<DiscordApplicationCommandPermissions[]>(rest.routes.interactions.commands.permissions(rest.applicationId, guildId))\n },\n\n async getApplicationInfo() {\n return await rest.get<DiscordApplication>(rest.routes.oauth2Application())\n },\n\n async getAuditLog(guildId, options) {\n return await rest.get<DiscordAuditLog>(rest.routes.guilds.auditlogs(guildId, options))\n },\n\n async getAutomodRule(guildId, ruleId) {\n return await rest.get<DiscordAutoModerationRule>(rest.routes.guilds.automod.rule(guildId, ruleId))\n },\n\n async getAutomodRules(guildId) {\n return await rest.get<DiscordAutoModerationRule[]>(rest.routes.guilds.automod.rules(guildId))\n },\n\n async getAvailableVoiceRegions() {\n return await rest.get<DiscordVoiceRegion[]>(rest.routes.regions())\n },\n\n async getBan(guildId, userId) {\n return await rest.get<DiscordBan>(rest.routes.guilds.members.ban(guildId, userId))\n },\n\n async getBans(guildId, options) {\n return await rest.get<DiscordBan[]>(rest.routes.guilds.members.bans(guildId, options))\n },\n\n async getChannel(id) {\n return await rest.get<DiscordChannel>(rest.routes.channels.channel(id))\n },\n\n async getChannelInvites(channelId) {\n return await rest.get<DiscordInviteMetadata[]>(rest.routes.channels.invites(channelId))\n },\n\n async getChannels(guildId) {\n return await rest.get<DiscordChannel[]>(rest.routes.guilds.channels(guildId))\n },\n\n async getChannelWebhooks(channelId) {\n return await rest.get<DiscordWebhook[]>(rest.routes.channels.webhooks(channelId))\n },\n\n async getDmChannel(userId) {\n return await rest.post<DiscordChannel>(rest.routes.channels.dm(), {\n recipient_id: userId.toString(),\n })\n },\n\n async getEmoji(guildId, emojiId) {\n return await rest.get<DiscordEmoji>(rest.routes.guilds.emoji(guildId, emojiId))\n },\n\n async getEmojis(guildId) {\n return await rest.get<DiscordEmoji[]>(rest.routes.guilds.emojis(guildId))\n },\n\n async getFollowupMessage(token, messageId) {\n return await rest.get<DiscordMessage>(rest.routes.interactions.responses.message(rest.applicationId, token, messageId))\n },\n\n async getGatewayBot() {\n return await rest.get<DiscordGetGatewayBot>(rest.routes.gatewayBot())\n },\n\n async getGlobalApplicationCommand(commandId) {\n return await rest.get<DiscordApplicationCommand>(rest.routes.interactions.commands.command(rest.applicationId, commandId))\n },\n\n async getGlobalApplicationCommands() {\n return await rest.get<DiscordApplicationCommand[]>(rest.routes.interactions.commands.commands(rest.applicationId))\n },\n\n async getGuild(guildId, options = { counts: true }) {\n return await rest.get<DiscordGuild>(rest.routes.guilds.guild(guildId, options.counts))\n },\n\n async getGuildApplicationCommand(commandId, guildId) {\n return await rest.get<DiscordApplicationCommand>(rest.routes.interactions.commands.guilds.one(rest.applicationId, guildId, commandId))\n },\n\n async getGuildApplicationCommands(guildId) {\n return await rest.get<DiscordApplicationCommand[]>(rest.routes.interactions.commands.guilds.all(rest.applicationId, guildId))\n },\n\n async getGuildPreview(guildId) {\n return await rest.get<DiscordGuildPreview>(rest.routes.guilds.preview(guildId))\n },\n\n async getGuildTemplate(templateCode) {\n return await rest.get<DiscordTemplate>(rest.routes.guilds.templates.code(templateCode))\n },\n\n async getGuildTemplates(guildId) {\n return await rest.get<DiscordTemplate[]>(rest.routes.guilds.templates.all(guildId))\n },\n\n async getGuildWebhooks(guildId) {\n return await rest.get<DiscordWebhook[]>(rest.routes.guilds.webhooks(guildId))\n },\n\n async getIntegrations(guildId) {\n return await rest.get<DiscordIntegration[]>(rest.routes.guilds.integrations(guildId))\n },\n\n async getInvite(inviteCode, options) {\n return await rest.get<DiscordInviteMetadata>(rest.routes.guilds.invite(inviteCode, options))\n },\n\n async getInvites(guildId) {\n return await rest.get<DiscordInviteMetadata[]>(rest.routes.guilds.invites(guildId))\n },\n\n async getMessage(channelId, messageId) {\n return await rest.get<DiscordMessage>(rest.routes.channels.message(channelId, messageId))\n },\n\n async getMessages(channelId, options) {\n return await rest.get<DiscordMessage[]>(rest.routes.channels.messages(channelId, options))\n },\n\n async getNitroStickerPacks() {\n return await rest.get<DiscordStickerPack[]>(rest.routes.nitroStickerPacks())\n },\n\n async getOriginalInteractionResponse(token) {\n return await rest.get<DiscordMessage>(rest.routes.interactions.responses.original(rest.applicationId, token))\n },\n\n async getPinnedMessages(channelId) {\n return await rest.get<DiscordMessage[]>(rest.routes.channels.pins(channelId))\n },\n\n async getPrivateArchivedThreads(channelId, options) {\n return await rest.get<DiscordListArchivedThreads>(rest.routes.channels.threads.private(channelId, options))\n },\n\n async getPrivateJoinedArchivedThreads(channelId, options) {\n return await rest.get<DiscordListArchivedThreads>(rest.routes.channels.threads.joined(channelId, options))\n },\n\n async getPruneCount(guildId, options) {\n return await rest.get<DiscordPrunedCount>(rest.routes.guilds.prune(guildId, options))\n },\n\n async getPublicArchivedThreads(channelId, options) {\n return await rest.get<DiscordListArchivedThreads>(rest.routes.channels.threads.public(channelId, options))\n },\n\n async getRoles(guildId) {\n return await rest.get<DiscordRole[]>(rest.routes.guilds.roles.all(guildId))\n },\n\n async getScheduledEvent(guildId, eventId, options) {\n return await rest.get<DiscordScheduledEvent>(rest.routes.guilds.events.event(guildId, eventId, options?.withUserCount))\n },\n\n async getScheduledEvents(guildId, options) {\n return await rest.get<DiscordScheduledEvent[]>(rest.routes.guilds.events.events(guildId, options?.withUserCount))\n },\n\n async getScheduledEventUsers(guildId, eventId, options) {\n return await rest.get<Array<{ user: DiscordUser; member?: DiscordMember }>>(rest.routes.guilds.events.users(guildId, eventId, options))\n },\n\n async getSessionInfo() {\n return await rest.getGatewayBot()\n },\n\n async getStageInstance(channelId) {\n return await rest.get<DiscordStageInstance>(rest.routes.channels.stage(channelId))\n },\n\n async getSticker(stickerId: BigString) {\n return await rest.get<DiscordSticker>(rest.routes.sticker(stickerId))\n },\n\n async getGuildSticker(guildId, stickerId) {\n return await rest.get<DiscordSticker>(rest.routes.guilds.sticker(guildId, stickerId))\n },\n\n async getGuildStickers(guildId) {\n return await rest.get<DiscordSticker[]>(rest.routes.guilds.stickers(guildId))\n },\n\n async getThreadMember(channelId, userId) {\n return await rest.get<DiscordThreadMember>(rest.routes.channels.threads.user(channelId, userId))\n },\n\n async getThreadMembers(channelId) {\n return await rest.get<DiscordThreadMember[]>(rest.routes.channels.threads.members(channelId))\n },\n\n async getReactions(channelId, messageId, reaction, options) {\n return await rest.get<DiscordUser[]>(rest.routes.channels.reactions.message(channelId, messageId, reaction, options))\n },\n\n async getUser(id) {\n return await rest.get<DiscordUser>(rest.routes.user(id))\n },\n\n async getVanityUrl(guildId) {\n return await rest.get<DiscordVanityUrl>(rest.routes.guilds.vanity(guildId))\n },\n\n async getVoiceRegions(guildId) {\n return await rest.get<DiscordVoiceRegion[]>(rest.routes.guilds.regions(guildId))\n },\n\n async getWebhook(webhookId) {\n return await rest.get<DiscordWebhook>(rest.routes.webhooks.id(webhookId))\n },\n\n async getWebhookMessage(webhookId, token, messageId, options) {\n return await rest.get<DiscordMessage>(rest.routes.webhooks.message(webhookId, token, messageId, options))\n },\n\n async getWebhookWithToken(webhookId, token) {\n return await rest.get<DiscordWebhook>(rest.routes.webhooks.webhook(webhookId, token))\n },\n\n async getWelcomeScreen(guildId) {\n return await rest.get<DiscordWelcomeScreen>(rest.routes.guilds.welcome(guildId))\n },\n\n async getWidget(guildId) {\n return await rest.get<DiscordGuildWidget>(rest.routes.guilds.widgetJson(guildId))\n },\n\n async getWidgetSettings(guildId) {\n return await rest.get<DiscordGuildWidgetSettings>(rest.routes.guilds.widget(guildId))\n },\n\n async joinThread(channelId) {\n await rest.put(rest.routes.channels.threads.me(channelId))\n },\n\n async leaveGuild(guildId) {\n await rest.delete(rest.routes.guilds.leave(guildId))\n },\n\n async leaveThread(channelId) {\n await rest.delete(rest.routes.channels.threads.me(channelId))\n },\n\n async publishMessage(channelId, messageId) {\n return await rest.post<DiscordMessage>(rest.routes.channels.crosspost(channelId, messageId))\n },\n\n async removeRole(guildId, userId, roleId, reason) {\n await rest.delete(rest.routes.guilds.roles.member(guildId, userId, roleId), { reason })\n },\n\n async removeThreadMember(channelId, userId) {\n await rest.delete(rest.routes.channels.threads.user(channelId, userId))\n },\n\n async sendFollowupMessage(token, options) {\n return await new Promise((resolve, reject) => {\n rest.sendRequest({\n url: rest.routes.webhooks.webhook(rest.applicationId, token),\n method: 'POST',\n body: options,\n retryCount: 0,\n retryRequest: async function (options: SendRequestOptions) {\n // TODO: should change to reprocess queue item\n await rest.sendRequest(options)\n },\n resolve: (data) => {\n resolve(data.status !== 204 ? JSON.parse(data.body ?? '{}') : undefined)\n },\n reject,\n })\n })\n },\n\n async sendInteractionResponse(interactionId, token, options) {\n await new Promise((resolve, reject) => {\n rest.sendRequest({\n url: rest.routes.interactions.responses.callback(interactionId, token),\n method: 'POST',\n body: options,\n retryCount: 0,\n retryRequest: async function (options: SendRequestOptions) {\n // TODO: should change to reprocess queue item\n await rest.sendRequest(options)\n },\n resolve: (data) => {\n resolve(data.status !== 204 ? JSON.parse(data.body ?? '{}') : undefined)\n },\n reject,\n })\n })\n },\n\n async sendMessage(channelId, options) {\n return await rest.post<DiscordMessage>(rest.routes.channels.messages(channelId), options)\n },\n\n async startThreadWithMessage(channelId, messageId, options) {\n return await rest.post<DiscordChannel>(rest.routes.channels.threads.message(channelId, messageId), options)\n },\n\n async startThreadWithoutMessage(channelId, options) {\n return await rest.post<DiscordChannel>(rest.routes.channels.threads.all(channelId), options)\n },\n\n async syncGuildTemplate(guildId) {\n return await rest.put<DiscordTemplate>(rest.routes.guilds.templates.all(guildId))\n },\n\n async banMember(guildId, userId, options) {\n await rest.put<void>(rest.routes.guilds.members.ban(guildId, userId), options)\n },\n\n async editBotMember(guildId, options) {\n return await rest.patch<DiscordMember>(rest.routes.guilds.members.bot(guildId), options)\n },\n\n async editMember(guildId, userId, options) {\n return await rest.patch<DiscordMemberWithUser>(rest.routes.guilds.members.member(guildId, userId), options)\n },\n\n async getMember(guildId, userId) {\n return await rest.get<DiscordMemberWithUser>(rest.routes.guilds.members.member(guildId, userId))\n },\n\n async getMembers(guildId, options) {\n return await rest.get<DiscordMemberWithUser[]>(rest.routes.guilds.members.members(guildId, options))\n },\n\n async kickMember(guildId, userId, reason) {\n await rest.delete(rest.routes.guilds.members.member(guildId, userId), {\n reason,\n })\n },\n\n async pinMessage(channelId, messageId, reason) {\n await rest.put(rest.routes.channels.pin(channelId, messageId), reason ? { reason } : undefined)\n },\n\n async pruneMembers(guildId, options) {\n return await rest.post<{ pruned: number | null }>(rest.routes.guilds.members.prune(guildId), options)\n },\n\n async searchMembers(guildId, query, options) {\n return await rest.get<DiscordMemberWithUser[]>(rest.routes.guilds.members.search(guildId, query, options))\n },\n\n async unbanMember(guildId, userId) {\n await rest.delete(rest.routes.guilds.members.ban(guildId, userId))\n },\n\n async unpinMessage(channelId, messageId, reason) {\n await rest.delete(rest.routes.channels.pin(channelId, messageId), reason ? { reason } : undefined)\n },\n\n async triggerTypingIndicator(channelId) {\n await rest.post(rest.routes.channels.typing(channelId))\n },\n\n async upsertGlobalApplicationCommands(commands) {\n return await rest.put<DiscordApplicationCommand[]>(rest.routes.interactions.commands.commands(rest.applicationId), commands)\n },\n\n async upsertGuildApplicationCommands(guildId, commands) {\n return await rest.put<DiscordApplicationCommand[]>(rest.routes.interactions.commands.guilds.all(rest.applicationId, guildId), commands)\n },\n }\n\n return rest\n}\n"],"names":["InteractionResponseTypes","calculateBits","camelize","camelToSnakeCase","delay","encode","findFiles","getBotIdFromToken","isGetMessagesAfter","isGetMessagesAround","isGetMessagesBefore","isGetMessagesLimit","logger","processReactionString","urlToBase64","fetch","createInvalidRequestBucket","Queue","version","createRestManager","options","token","Error","rest","applicationId","BigInt","baseUrl","proxy","maxRetryCount","Infinity","globallyRateLimited","processingRateLimitedPaths","deleteQueueDelay","queues","Map","rateLimitedPaths","invalidBucket","authorization","routes","webhooks","id","webhookId","message","messageId","url","threadId","original","webhook","wait","undefined","toString","sessionInfo","gatewayBot","channels","bulk","channelId","dm","pin","pins","reactions","bot","emoji","encodeURIComponent","user","userId","all","after","limit","channel","follow","forum","invites","messages","before","around","overwrite","overwriteId","crosspost","stages","stage","threads","active","guildId","members","me","archived","public","Date","toISOString","private","joined","typing","guilds","auditlogs","actionType","automod","rule","ruleId","rules","emojiId","emojis","events","withUserCount","event","eventId","users","withMember","guild","withCounts","integration","integrationId","integrations","invite","inviteCode","withExpiration","scheduledEventId","leave","ban","bans","member","search","query","prune","days","Array","isArray","includeRoles","join","mfa","preview","roles","one","roleId","memberId","stickers","sticker","stickerId","voice","templates","code","vanity","regions","welcome","widget","widgetJson","interactions","commands","commandId","withLocalizations","permissions","permission","command","responses","callback","interactionId","userBot","oauth2Application","nitroStickerPacks","checkRateLimits","ratelimited","get","global","now","resetTimestamp","changeToDiscordFormat","obj","map","item","newObj","key","Object","keys","includes","default_member_permissions","createRequest","headers","unauthorized","toLowerCase","method","body","reason","file","files","form","FormData","endsWith","append","blob","name","description","tags","i","length","JSON","stringify","processRateLimitedPaths","value","entries","delete","size","setTimeout","processHeaders","rateLimited","remaining","retryAfter","reset","Number","bucketId","handleCompletedRequest","interval","max","set","globalReset","sendRequest","startsWith","payload","debug","response","status","statusText","simplifyUrl","retryCount","reject","ok","error","resetAfter","json","retryRequest","is204","resolve","route","replace","match","p","substring","indexOf","processRequest","request","parts","split","shift","queue","makeRequest","bucketQueue","Promise","f","arrayBuffer","type","Authorization","result","err","catch","data","parse","post","patch","put","addReaction","reaction","addReactions","ordered","addRole","addThreadMember","createAutomodRule","createChannel","createEmoji","createGlobalApplicationCommand","createGuild","createGuildApplicationCommand","createGuildFromTemplate","templateCode","icon","createGuildSticker","createGuildTemplate","createForumThread","createInvite","createRole","createScheduledEvent","createStageInstance","createWebhook","avatar","deleteAutomodRule","deleteChannel","deleteChannelPermissionOverride","deleteEmoji","deleteFollowupMessage","deleteGlobalApplicationCommand","deleteGuild","deleteGuildApplicationCommand","deleteGuildSticker","deleteGuildTemplate","deleteIntegration","deleteInvite","deleteMessage","deleteMessages","messageIds","slice","deleteOriginalInteractionResponse","deleteOwnReaction","deleteReactionsAll","deleteReactionsEmoji","deleteRole","deleteScheduledEvent","deleteStageInstance","deleteUserReaction","deleteWebhook","deleteWebhookMessage","deleteWebhookWithToken","editApplicationCommandPermissions","bearerToken","editAutomodRule","editBotProfile","botAvatarURL","username","trim","editChannel","editChannelPermissionOverrides","editChannelPositions","channelPositions","editEmoji","editFollowupMessage","editGlobalApplicationCommand","editGuild","editGuildApplicationCommand","editGuildMfaLevel","mfaLevel","level","editGuildSticker","editGuildTemplate","editMessage","editOriginalInteractionResponse","editOriginalWebhookMessage","UpdateMessage","editOwnVoiceState","channel_id","suppress","request_to_speak_timestamp","requestToSpeakTimestamp","editScheduledEvent","editRole","editRolePositions","editStageInstance","topic","editUserVoiceState","user_id","editWebhook","editWebhookMessage","editWebhookWithToken","editWelcomeScreen","editWidgetSettings","executeWebhook","followAnnouncement","sourceChannelId","targetChannelId","webhook_channel_id","getActiveThreads","getApplicationCommandPermission","getApplicationCommandPermissions","getApplicationInfo","getAuditLog","getAutomodRule","getAutomodRules","getAvailableVoiceRegions","getBan","getBans","getChannel","getChannelInvites","getChannels","getChannelWebhooks","getDmChannel","recipient_id","getEmoji","getEmojis","getFollowupMessage","getGatewayBot","getGlobalApplicationCommand","getGlobalApplicationCommands","getGuild","counts","getGuildApplicationCommand","getGuildApplicationCommands","getGuildPreview","getGuildTemplate","getGuildTemplates","getGuildWebhooks","getIntegrations","getInvite","getInvites","getMessage","getMessages","getNitroStickerPacks","getOriginalInteractionResponse","getPinnedMessages","getPrivateArchivedThreads","getPrivateJoinedArchivedThreads","getPruneCount","getPublicArchivedThreads","getRoles","getScheduledEvent","getScheduledEvents","getScheduledEventUsers","getSessionInfo","getStageInstance","getSticker","getGuildSticker","getGuildStickers","getThreadMember","getThreadMembers","getReactions","getUser","getVanityUrl","getVoiceRegions","getWebhook","getWebhookMessage","getWebhookWithToken","getWelcomeScreen","getWidget","getWidgetSettings","joinThread","leaveGuild","leaveThread","publishMessage","removeRole","removeThreadMember","sendFollowupMessage","sendInteractionResponse","sendMessage","startThreadWithMessage","startThreadWithoutMessage","syncGuildTemplate","banMember","editBotMember","editMember","getMember","getMembers","kickMember","pinMessage","pruneMembers","searchMembers","unbanMember","unpinMessage","triggerTypingIndicator","upsertGlobalApplicationCommands","upsertGuildApplicationCommands"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/manager.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable no-const-assign */\nimport { InteractionResponseTypes } from '@discordeno/types'\nimport {\n calculateBits,\n camelize,\n camelToSnakeCase,\n delay,\n encode,\n findFiles,\n getBotIdFromToken,\n isGetMessagesAfter,\n isGetMessagesAround,\n isGetMessagesBefore,\n isGetMessagesLimit,\n logger,\n processReactionString,\n urlToBase64,\n} from '@discordeno/utils'\nimport fetch from 'node-fetch'\n\nimport { createInvalidRequestBucket } from './invalidBucket.js'\nimport { Queue } from './queue.js'\n\nimport type {\n BigString,\n Camelize,\n DiscordApplication,\n DiscordApplicationCommand,\n DiscordApplicationCommandPermissions,\n DiscordAuditLog,\n DiscordAutoModerationRule,\n DiscordBan,\n DiscordChannel,\n DiscordEmoji,\n DiscordFollowAnnouncementChannel,\n DiscordFollowedChannel,\n DiscordGetGatewayBot,\n DiscordGuild,\n DiscordGuildPreview,\n DiscordGuildWidget,\n DiscordGuildWidgetSettings,\n DiscordIntegration,\n DiscordInvite,\n DiscordInviteMetadata,\n DiscordListActiveThreads,\n DiscordListArchivedThreads,\n DiscordMember,\n DiscordMemberWithUser,\n DiscordMessage,\n DiscordPrunedCount,\n DiscordRole,\n DiscordScheduledEvent,\n DiscordStageInstance,\n DiscordSticker,\n DiscordStickerPack,\n DiscordTemplate,\n DiscordThreadMember,\n DiscordUser,\n DiscordVanityUrl,\n DiscordVoiceRegion,\n DiscordWebhook,\n DiscordWelcomeScreen,\n FileContent,\n GetMessagesOptions,\n GetScheduledEventUsers,\n MfaLevels,\n ModifyGuildTemplate,\n} from '@discordeno/types'\nimport type { CreateRestManagerOptions, RestManager, SendRequestOptions } from './types.js'\n\n// TODO: make dynamic based on package.json file\nconst version = '19.0.0-alpha.1'\n\nexport function createRestManager(options: CreateRestManagerOptions): RestManager {\n // Falsy token string check\n if (!options.token) throw new Error('You must provide a valid token.')\n\n const rest: RestManager = {\n token: options.token,\n applicationId: options.applicationId ? BigInt(options.applicationId) : getBotIdFromToken(options.token),\n version: options.version ?? 10,\n baseUrl: options.proxy?.baseUrl ?? 'https://discord.com/api',\n maxRetryCount: Infinity,\n globallyRateLimited: false,\n processingRateLimitedPaths: false,\n deleteQueueDelay: 60000,\n queues: new Map(),\n rateLimitedPaths: new Map(),\n invalidBucket: createInvalidRequestBucket({}),\n authorization: options.proxy?.authorization,\n\n routes: {\n webhooks: {\n id: (webhookId) => {\n return `/webhooks/${webhookId}`\n },\n message: (webhookId, token, messageId, options) => {\n let url = `/webhooks/${webhookId}/${token}/messages/${messageId}?`\n\n if (options) {\n if (options.threadId) url += `thread_id=${options.threadId}`\n }\n\n return url\n },\n original: (webhookId, token, options) => {\n let url = `/webhooks/${webhookId}/${token}/messages/@original?`\n\n if (options) {\n if (options.threadId) url += `thread_id=${options.threadId}`\n }\n\n return url\n },\n webhook: (webhookId, token, options) => {\n let url = `/webhooks/${webhookId}/${token}?`\n\n if (options) {\n if (options?.wait !== undefined) url += `wait=${options.wait.toString()}`\n if (options.threadId) url += `thread_id=${options.threadId}`\n }\n\n return url\n },\n },\n\n // Miscellaneous Endpoints\n sessionInfo: () => rest.routes.gatewayBot(),\n\n // Channel Endpoints\n channels: {\n bulk: (channelId) => {\n return `/channels/${channelId}/messages/bulk-delete`\n },\n dm: () => {\n return '/users/@me/channels'\n },\n pin: (channelId, messageId) => {\n return `/channels/${channelId}/pins/${messageId}`\n },\n pins: (channelId) => {\n return `/channels/${channelId}/pins`\n },\n reactions: {\n bot: (channelId, messageId, emoji) => {\n return `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}/@me`\n },\n user: (channelId, messageId, emoji, userId) => {\n return `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}/${userId}`\n },\n all: (channelId, messageId) => {\n return `/channels/${channelId}/messages/${messageId}/reactions`\n },\n emoji: (channelId, messageId, emoji, options) => {\n let url = `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.after) url += `after=${options.after}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `&limit=${options.limit}`\n }\n\n return url\n },\n message: (channelId, messageId, emoji, options) => {\n let url = `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.after) url += `after=${options.after}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `&limit=${options.limit}`\n }\n\n return url\n },\n },\n webhooks: (channelId) => {\n return `/channels/${channelId}/webhooks`\n },\n\n channel: (channelId) => {\n return `/channels/${channelId}`\n },\n\n follow: (channelId) => {\n return `/channels/${channelId}/followers`\n },\n\n forum: (channelId) => {\n return `/channels/${channelId}/threads?has_message=true`\n },\n\n invites: (channelId) => {\n return `/channels/${channelId}/invites`\n },\n\n message: (channelId, messageId) => {\n return `/channels/${channelId}/messages/${messageId}`\n },\n\n messages: (channelId, options?: GetMessagesOptions) => {\n let url = `/channels/${channelId}/messages?`\n\n if (options) {\n if (isGetMessagesAfter(options) && options.after) {\n url += `after=${options.after}`\n }\n if (isGetMessagesBefore(options) && options.before) {\n url += `&before=${options.before}`\n }\n if (isGetMessagesAround(options) && options.around) {\n url += `&around=${options.around}`\n }\n if (isGetMessagesLimit(options) && options.limit) {\n url += `&limit=${options.limit}`\n }\n }\n\n return url\n },\n\n overwrite: (channelId, overwriteId) => {\n return `/channels/${channelId}/permissions/${overwriteId}`\n },\n\n crosspost: (channelId, messageId) => {\n return `/channels/${channelId}/messages/${messageId}/crosspost`\n },\n\n stages: () => {\n return '/stage-instances'\n },\n\n stage: (channelId) => {\n return `/stage-instances/${channelId}`\n },\n\n // Thread Endpoints\n threads: {\n message: (channelId, messageId) => {\n return `/channels/${channelId}/messages/${messageId}/threads`\n },\n all: (channelId) => {\n return `/channels/${channelId}/threads`\n },\n active: (guildId) => {\n return `/guilds/${guildId}/threads/active`\n },\n members: (channelId) => {\n return `/channels/${channelId}/thread-members`\n },\n me: (channelId) => {\n return `/channels/${channelId}/thread-members/@me`\n },\n user: (channelId, userId) => {\n return `/channels/${channelId}/thread-members/${userId}`\n },\n archived: (channelId) => {\n return `/channels/${channelId}/threads/archived`\n },\n public: (channelId, options) => {\n let url = `/channels/${channelId}/threads/archived/public?`\n\n if (options) {\n if (options.before) {\n url += `before=${new Date(options.before).toISOString()}`\n }\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `&limit=${options.limit}`\n }\n\n return url\n },\n private: (channelId, options) => {\n let url = `/channels/${channelId}/threads/archived/private?`\n\n if (options) {\n if (options.before) {\n url += `before=${new Date(options.before).toISOString()}`\n }\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `&limit=${options.limit}`\n }\n\n return url\n },\n joined: (channelId, options) => {\n let url = `/channels/${channelId}/users/@me/threads/archived/private?`\n\n if (options) {\n if (options.before) {\n url += `before=${new Date(options.before).toISOString()}`\n }\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `&limit=${options.limit}`\n }\n\n return url\n },\n },\n\n typing: (channelId) => {\n return `/channels/${channelId}/typing`\n },\n },\n\n // Guild Endpoints\n guilds: {\n all: () => {\n return '/guilds'\n },\n auditlogs: (guildId, options) => {\n let url = `/guilds/${guildId}/audit-logs?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.actionType) url += `action_type=${options.actionType}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.before) url += `&before=${options.before}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.after) url += `&after=${options.after}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `&limit=${options.limit}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.userId) url += `&user_id=${options.userId}`\n }\n\n return url\n },\n automod: {\n rule: (guildId, ruleId) => {\n return `/guilds/${guildId}/auto-moderation/rules/${ruleId}`\n },\n rules: (guildId) => {\n return `/guilds/${guildId}/auto-moderation/rules`\n },\n },\n channels: (guildId) => {\n return `/guilds/${guildId}/channels`\n },\n emoji: (guildId, emojiId) => {\n return `/guilds/${guildId}/emojis/${emojiId}`\n },\n emojis: (guildId) => {\n return `/guilds/${guildId}/emojis`\n },\n events: {\n events: (guildId, withUserCount?: boolean) => {\n let url = `/guilds/${guildId}/scheduled-events?`\n\n if (withUserCount !== undefined) {\n url += `with_user_count=${withUserCount.toString()}`\n }\n return url\n },\n event: (guildId, eventId, withUserCount?: boolean) => {\n let url = `/guilds/${guildId}/scheduled-events/${eventId}`\n\n if (withUserCount !== undefined) {\n url += `with_user_count=${withUserCount.toString()}`\n }\n\n return url\n },\n users: (guildId, eventId, options?: GetScheduledEventUsers) => {\n let url = `/guilds/${guildId}/scheduled-events/${eventId}/users?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit !== undefined) url += `limit=${options.limit}`\n if (options.withMember !== undefined) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&with_member=${options.withMember.toString()}`\n }\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.after !== undefined) url += `&after=${options.after}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.before !== undefined) url += `&before=${options.before}`\n }\n\n return url\n },\n },\n guild(guildId, withCounts) {\n let url = `/guilds/${guildId}?`\n\n if (withCounts !== undefined) {\n url += `with_counts=${withCounts.toString()}`\n }\n\n return url\n },\n integration(guildId, integrationId) {\n return `/guilds/${guildId}/integrations/${integrationId}`\n },\n integrations: (guildId) => {\n return `/guilds/${guildId}/integrations?include_applications=true`\n },\n invite(inviteCode, options) {\n let url = `/invites/${inviteCode}?`\n\n if (options) {\n if (options.withCounts !== undefined) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `with_counts=${options.withCounts.toString()}`\n }\n if (options.withExpiration !== undefined) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&with_expiration=${options.withExpiration.toString()}`\n }\n if (options.scheduledEventId) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&guild_scheduled_event_id=${options.scheduledEventId}`\n }\n }\n\n return url\n },\n invites: (guildId) => {\n return `/guilds/${guildId}/invites`\n },\n leave: (guildId) => {\n return `/users/@me/guilds/${guildId}`\n },\n members: {\n ban: (guildId, userId) => {\n return `/guilds/${guildId}/bans/${userId}`\n },\n bans: (guildId, options) => {\n let url = `/guilds/${guildId}/bans?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `limit=${options.limit}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.after) url += `&after=${options.after}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.before) url += `&before=${options.before}`\n }\n\n return url\n },\n bot: (guildId) => {\n return `/guilds/${guildId}/members/@me`\n },\n member: (guildId, userId) => {\n return `/guilds/${guildId}/members/${userId}`\n },\n members: (guildId, options) => {\n let url = `/guilds/${guildId}/members?`\n\n if (options !== undefined) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.limit) url += `limit=${options.limit}`\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.after) url += `&after=${options.after}`\n }\n\n return url\n },\n search: (guildId, query, options) => {\n let url = `/guilds/${guildId}/members/search?query=${encodeURIComponent(query)}`\n\n if (options) {\n if (options.limit !== undefined) url += `&limit=${options.limit}`\n }\n\n return url\n },\n prune: (guildId, options) => {\n let url = `/guilds/${guildId}/prune?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.days) url += `days=${options.days}`\n if (Array.isArray(options.includeRoles)) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&include_roles=${options.includeRoles.join(',')}`\n } else if (options.includeRoles) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&include_roles=${options.includeRoles}`\n }\n }\n\n return url\n },\n },\n mfa: (guildId) => `/guilds/${guildId}/mfa`,\n preview: (guildId) => {\n return `/guilds/${guildId}/preview`\n },\n prune: (guildId, options) => {\n let url = `/guilds/${guildId}/prune?`\n\n if (options) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n if (options.days) url += `days=${options.days}`\n if (Array.isArray(options.includeRoles)) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&include_roles=${options.includeRoles.join(',')}`\n } else if (options.includeRoles) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n url += `&include_roles=${options.includeRoles}`\n }\n }\n\n return url\n },\n roles: {\n one: (guildId, roleId) => {\n return `/guilds/${guildId}/roles/${roleId}`\n },\n all: (guildId) => {\n return `/guilds/${guildId}/roles`\n },\n member: (guildId, memberId, roleId) => {\n return `/guilds/${guildId}/members/${memberId}/roles/${roleId}`\n },\n },\n stickers: (guildId) => {\n return `/guilds/${guildId}/stickers`\n },\n sticker: (guildId, stickerId) => {\n return `/guilds/${guildId}/stickers/${stickerId}`\n },\n voice: (guildId, userId) => {\n return `/guilds/${guildId}/voice-states/${userId ?? '@me'}`\n },\n templates: {\n code: (code) => {\n return `/guilds/templates/${code}`\n },\n guild: (guildId, code) => {\n return `/guilds/${guildId}/templates/${code}`\n },\n all: (guildId) => {\n return `/guilds/${guildId}/templates`\n },\n },\n vanity: (guildId) => {\n return `/guilds/${guildId}/vanity-url`\n },\n regions: (guildId) => {\n return `/guilds/${guildId}/regions`\n },\n webhooks: (guildId) => {\n return `/guilds/${guildId}/webhooks`\n },\n welcome: (guildId) => {\n return `/guilds/${guildId}/welcome-screen`\n },\n widget: (guildId) => {\n return `/guilds/${guildId}/widget`\n },\n widgetJson: (guildId) => {\n return `/guilds/${guildId}/widget.json`\n },\n },\n\n sticker: (stickerId: BigString) => {\n return `/stickers/${stickerId}`\n },\n\n regions: () => {\n return '/voice/regions'\n },\n\n // Interaction Endpoints\n interactions: {\n commands: {\n // Application Endpoints\n commands: (applicationId) => {\n return `/applications/${applicationId}/commands`\n },\n\n guilds: {\n all(applicationId, guildId) {\n return `/applications/${applicationId}/guilds/${guildId}/commands`\n },\n\n one(applicationId, guildId, commandId, withLocalizations) {\n let url = `/applications/${applicationId}/guilds/${guildId}/commands/${commandId}?`\n\n if (withLocalizations !== undefined) {\n url += `with_localizations=${withLocalizations.toString()}`\n }\n\n return url\n },\n },\n permissions: (applicationId, guildId) => {\n return `/applications/${applicationId}/guilds/${guildId}/commands/permissions`\n },\n permission: (applicationId, guildId, commandId) => {\n return `/applications/${applicationId}/guilds/${guildId}/commands/${commandId}/permissions`\n },\n command: (applicationId, commandId, withLocalizations) => {\n let url = `/applications/${applicationId}/commands/${commandId}?`\n\n if (withLocalizations !== undefined) {\n url += `withLocalizations=${withLocalizations.toString()}`\n }\n\n return url\n },\n },\n\n responses: {\n // Interaction Endpoints\n callback: (interactionId, token) => {\n return `/interactions/${interactionId}/${token}/callback`\n },\n original: (interactionId, token) => {\n return `/webhooks/${interactionId}/${token}/messages/@original`\n },\n message: (applicationId, token, messageId) => {\n return `/webhooks/${applicationId}/${token}/messages/${messageId}`\n },\n },\n },\n\n // User endpoints\n user(userId) {\n return `/users/${userId}`\n },\n\n userBot() {\n return '/users/@me'\n },\n\n oauth2Application() {\n return 'oauth2/applications/@me'\n },\n\n gatewayBot() {\n return '/gateway/bot'\n },\n\n nitroStickerPacks() {\n return '/sticker-packs'\n },\n },\n\n checkRateLimits(url) {\n const ratelimited = rest.rateLimitedPaths.get(url)\n const global = rest.rateLimitedPaths.get('global')\n const now = Date.now()\n\n if (ratelimited && now < ratelimited.resetTimestamp) {\n return ratelimited.resetTimestamp - now\n }\n\n if (global && now < global.resetTimestamp) {\n return global.resetTimestamp - now\n }\n\n return false\n },\n\n changeToDiscordFormat(obj: any): any {\n if (obj === null) return null\n\n if (typeof obj === 'object') {\n if (Array.isArray(obj)) {\n return obj.map((item) => rest.changeToDiscordFormat(item))\n }\n\n const newObj: any = {}\n\n for (const key of Object.keys(obj)) {\n // Keys that dont require snake casing\n if (['permissions', 'allow', 'deny'].includes(key)) {\n newObj[key] = calculateBits(obj[key])\n continue\n }\n\n if (key === 'defaultMemberPermissions') {\n newObj.default_member_permissions = calculateBits(obj[key])\n continue\n }\n\n newObj[camelToSnakeCase(key)] = rest.changeToDiscordFormat(obj[key])\n }\n\n return newObj\n }\n\n if (typeof obj === 'bigint') return obj.toString()\n\n return obj\n },\n\n createRequest(options) {\n const headers: Record<string, string> = {\n 'user-agent': `DiscordBot (https://github.com/discordeno/discordeno, v${version})`,\n }\n\n if (!options.unauthorized) headers.authorization = `Bot ${rest.token}`\n\n // SOMETIMES SPECIAL HEADERS (E.G. CUSTOM AUTHORIZATION) NEED TO BE USED\n if (options.headers) {\n for (const key in options.headers) {\n headers[key.toLowerCase()] = options.headers[key]\n }\n }\n\n // GET METHODS SHOULD NOT HAVE A BODY\n if (options.method === 'GET') {\n options.body = undefined\n }\n\n // IF A REASON IS PROVIDED ENCODE IT IN HEADERS\n if (options.body?.reason) {\n headers['X-Audit-Log-Reason'] = encodeURIComponent(options.body.reason as string)\n options.body.reason = undefined\n }\n\n if (options.body) {\n const { file } = options.body\n if (file) {\n const files = findFiles(file)\n const form = new FormData()\n\n // WHEN CREATING A STICKER, DISCORD WANTS FORM DATA ONLY\n if (options.url?.endsWith('/stickers') && options.method === 'POST') {\n form.append('file', files[0].blob, files[0].name)\n form.append('name', options.body.name as string)\n form.append('description', options.body.description as string)\n form.append('tags', options.body.tags as string)\n } else {\n for (let i = 0; i < files.length; i++) {\n form.append(`file${i}`, files[i].blob, files[i].name)\n }\n\n if (file) options.body.file = undefined\n form.append('payload_json', JSON.stringify(rest.changeToDiscordFormat(options.body)))\n }\n\n options.body.file = form\n } else if (options.body && !['GET', 'DELETE'].includes(options.method)) {\n headers['Content-Type'] = 'application/json'\n }\n }\n\n return {\n headers,\n body: (options.body?.file ?? JSON.stringify(rest.changeToDiscordFormat(options.body))) as FormData | string,\n method: options.method,\n }\n },\n\n processRateLimitedPaths() {\n const now = Date.now()\n\n for (const [key, value] of rest.rateLimitedPaths.entries()) {\n // rest.debug(\n // `[REST - processRateLimitedPaths] Running for of loop. ${\n // value.resetTimestamp - now\n // }`\n // )\n // If the time has not reached cancel\n if (value.resetTimestamp > now) continue\n\n // Rate limit is over, delete the rate limiter\n rest.rateLimitedPaths.delete(key)\n // If it was global, also mark the global value as false\n if (key === 'global') rest.globallyRateLimited = false\n }\n\n // ALL PATHS ARE CLEARED CAN CANCEL OUT!\n if (rest.rateLimitedPaths.size === 0) {\n rest.processingRateLimitedPaths = false\n } else {\n rest.processingRateLimitedPaths = true\n // RECHECK IN 1 SECOND\n setTimeout(() => {\n // rest.debug('[REST - processRateLimitedPaths] Running setTimeout.')\n rest.processRateLimitedPaths()\n }, 1000)\n }\n },\n\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, headers) {\n let rateLimited = false\n\n // GET ALL NECESSARY HEADERS\n const remaining = headers.get('x-ratelimit-remaining')\n const retryAfter = headers.get('x-ratelimit-reset-after')\n const reset = Date.now() + Number(retryAfter) * 1000\n const global = headers.get('x-ratelimit-global')\n // undefined override null needed for typings\n const bucketId = headers.get('x-ratelimit-bucket') ?? undefined\n const limit = headers.get('x-ratelimit-limit')\n\n rest.queues.get(url)?.handleCompletedRequest({\n remaining: remaining ? Number(remaining) : undefined,\n interval: retryAfter ? Number(retryAfter) * 1000 : undefined,\n max: limit ? Number(limit) : undefined,\n })\n\n // IF THERE IS NO REMAINING RATE LIMIT, MARK IT AS RATE LIMITED\n if (remaining === '0') {\n rateLimited = true\n\n // SAVE THE URL AS LIMITED, IMPORTANT FOR NEW REQUESTS BY USER WITHOUT BUCKET\n rest.rateLimitedPaths.set(url, {\n url,\n resetTimestamp: reset,\n bucketId,\n })\n\n // SAVE THE BUCKET AS LIMITED SINCE DIFFERENT URLS MAY SHARE A BUCKET\n if (bucketId) {\n rest.rateLimitedPaths.set(bucketId, {\n url,\n resetTimestamp: reset,\n bucketId,\n })\n }\n }\n\n // IF THERE IS NO REMAINING GLOBAL LIMIT, MARK IT RATE LIMITED GLOBALLY\n if (global) {\n const retryAfter = headers.get('retry-after')\n const globalReset = Date.now() + Number(retryAfter) * 1000\n // rest.debug(\n // `[REST = Globally Rate Limited] URL: ${url} | Global Rest: ${globalReset}`\n // )\n rest.globallyRateLimited = true\n rateLimited = true\n\n setTimeout(() => {\n rest.globallyRateLimited = false\n }, globalReset)\n\n rest.rateLimitedPaths.set('global', {\n url: 'global',\n resetTimestamp: globalReset,\n bucketId,\n })\n\n if (bucketId) {\n rest.rateLimitedPaths.set(bucketId, {\n url: 'global',\n resetTimestamp: globalReset,\n bucketId,\n })\n }\n }\n\n if (rateLimited && !rest.processingRateLimitedPaths) {\n rest.processRateLimitedPaths()\n }\n return rateLimited ? bucketId : undefined\n },\n\n async sendRequest(options) {\n const url = options.url.startsWith('https://') ? options.url : `${rest.baseUrl}/v${rest.version}${options.url}`\n const payload = rest.createRequest({ method: options.method, url: options.url, body: options.body, ...options.options })\n\n logger.debug(`sending request to ${url}`, 'with payload:', { ...payload, headers: { ...payload.headers, authorization: 'Bot tokenhere' } })\n const response = await fetch(url, payload)\n logger.debug(`request fetched from ${url} with status ${response.status} & ${response.statusText}`)\n\n // Set the bucket id if it was available on the headers\n const bucketId = rest.processHeaders(rest.simplifyUrl(options.url, options.method), response.headers)\n if (bucketId) options.bucketId = bucketId\n\n if (response.status < 200 || response.status >= 400) {\n logger.debug(`Request to ${url} failed.`)\n\n if (response.status === 429) {\n logger.debug(`Request to ${url} was ratelimited.`)\n // Too many attempts, get rid of request from queue.\n if (options.retryCount++ >= rest.maxRetryCount) {\n logger.debug(`Request to ${url} exceeded the maximum allowed retries.`, 'with payload:', payload)\n // rest.debug(`[REST - RetriesMaxed] ${JSON.stringify(options)}`)\n // Remove item from queue to prevent retry\n options.reject({\n ok: false,\n status: response.status,\n error: 'The options was rate limited and it maxed out the retries limit.',\n })\n return\n }\n\n // Rate limited, add back to queue\n rest.invalidBucket.handleCompletedRequest(response.status, response.headers.get('X-RateLimit-Scope') === 'shared')\n\n const resetAfter = response.headers.get('x-ratelimit-reset-after')\n if (resetAfter) await delay(Number(resetAfter) * 1000)\n // process the response to prevent mem leak\n await response.json()\n\n return await options.retryRequest?.(options)\n }\n\n options.reject({ ok: false, status: response.status, body: JSON.stringify(await response.json()) })\n return\n }\n\n const is204 = response.status === 204\n const json = is204 ? undefined : await response.json()\n // Discord sometimes sends no response with 204 code\n options.resolve({ ok: true, status: response.status, body: JSON.stringify(json) })\n },\n\n // Credits: github.com/abalabahaha/eris lib/rest/RequestHandler.js#L397\n // Modified for our use-case\n simplifyUrl(url, method) {\n let route = url\n .replace(/\\/([a-z-]+)\\/(?:[0-9]{17,19})/g, function (match, p: string) {\n return ['channels', 'guilds'].includes(p) ? match : `/${p}/x`\n })\n .replace(/\\/reactions\\/[^/]+/g, '/reactions/x')\n\n // GENERAL /reactions and /reactions/emoji/@me share the buckets\n if (route.includes('/reactions')) {\n route = route.substring(0, route.indexOf('/reactions') + '/reactions'.length)\n }\n\n // Delete Message endpoint has its own rate limit\n if (method === 'DELETE' && route.endsWith('/messages/x')) {\n route = method + route\n }\n\n return route\n },\n\n processRequest(request: SendRequestOptions) {\n const route = request.url.substring(request.url.indexOf('api/'))\n const parts = route.split('/')\n // Remove the api/\n parts.shift()\n // Removes the /v#/\n if (parts[0]?.startsWith('v')) parts.shift()\n // Set the full url to discord api in case it was recieved in a proxy rest\n request.url = `${rest.baseUrl}/v${rest.version}/${parts.join('/')}`\n\n const url = rest.simplifyUrl(request.url, request.method)\n const queue = rest.queues.get(url)\n\n if (queue !== undefined) {\n queue.makeRequest(request)\n } else {\n // CREATES A NEW QUEUE\n const bucketQueue = new Queue(rest, { url, deleteQueueDelay: rest.deleteQueueDelay })\n\n // Add request to queue\n bucketQueue.makeRequest(request)\n // Save queue\n rest.queues.set(url, bucketQueue)\n }\n },\n\n async makeRequest(method, url, body, options) {\n if (!rest.baseUrl.startsWith('https://discord.com') && url[0] === '/') {\n // Special handling for sending blobs across http to proxy\n if (body?.file) {\n if (!Array.isArray(body.file)) {\n body.file = [body.file]\n }\n // convert blobs to string before sending to proxy\n body.file = await Promise.all(\n body.file.map(async (f: FileContent) => {\n const url = encode(await f.blob.arrayBuffer())\n\n return { name: f.name, blob: `data:${f.blob.type};base64,${url}` }\n }),\n )\n }\n\n const headers: HeadersInit = {\n Authorization: rest.authorization ?? '',\n }\n if (body) {\n headers['Content-Type'] = 'application/json'\n }\n const result = await fetch(`${rest.baseUrl}${url}`, {\n body: body ? JSON.stringify(body) : undefined,\n headers,\n method,\n })\n\n if (!result.ok) {\n const err = (await result.json().catch(() => {})) as Record<string, any>\n // Legacy Handling to not break old code or when body is missing\n if (!err?.body) throw new Error(`Error: ${err.message ?? result.statusText}`)\n throw new Error(JSON.stringify(err))\n }\n\n return result.status !== 204 ? ((await result.json()) as any) : undefined\n }\n\n return await new Promise((resolve, reject) => {\n const payload: SendRequestOptions = {\n url,\n method,\n body,\n retryCount: 0,\n retryRequest: async function (options: SendRequestOptions) {\n rest.processRequest(payload)\n },\n resolve: (data) => {\n resolve(data.status !== 204 ? JSON.parse(data.body ?? '{}') : undefined)\n },\n reject,\n options,\n }\n\n rest.processRequest(payload)\n })\n },\n\n async get<T = Record<string, unknown>>(url: string) {\n return camelize(await rest.makeRequest('GET', url)) as Camelize<T>\n },\n\n async post<T = Record<string, unknown>>(url: string, body?: Record<string, any>) {\n return camelize(await rest.makeRequest('POST', url, body)) as Camelize<T>\n },\n\n async delete(url: string, body?: Record<string, any>) {\n camelize(await rest.makeRequest('DELETE', url, body))\n },\n\n async patch<T = Record<string, unknown>>(url: string, body?: Record<string, any>) {\n return camelize(await rest.makeRequest('PATCH', url, body)) as Camelize<T>\n },\n\n async put<T = void>(url: string, body?: Record<string, any>, options?: Record<string, any>) {\n return camelize(await rest.makeRequest('PUT', url, body, options)) as Camelize<T>\n },\n\n async addReaction(channelId, messageId, reaction) {\n reaction = processReactionString(reaction)\n\n await rest.put(rest.routes.channels.reactions.bot(channelId, messageId, reaction))\n },\n\n async addReactions(channelId, messageId, reactions, ordered = false) {\n if (!ordered) {\n await Promise.all(\n reactions.map(async (reaction) => {\n await rest.addReaction(channelId, messageId, reaction)\n }),\n )\n return\n }\n\n for (const reaction of reactions) {\n await rest.addReaction(channelId, messageId, reaction)\n }\n },\n\n async addRole(guildId, userId, roleId, reason) {\n await rest.put(rest.routes.guilds.roles.member(guildId, userId, roleId), { reason })\n },\n\n async addThreadMember(channelId, userId) {\n await rest.put(rest.routes.channels.threads.user(channelId, userId))\n },\n\n async createAutomodRule(guildId, options) {\n return await rest.post<DiscordAutoModerationRule>(rest.routes.guilds.automod.rules(guildId), options)\n },\n\n async createChannel(guildId, options) {\n return await rest.post<DiscordChannel>(rest.routes.guilds.channels(guildId), options)\n },\n\n async createEmoji(guildId, options) {\n return await rest.post<DiscordEmoji>(rest.routes.guilds.emojis(guildId), options)\n },\n\n async createGlobalApplicationCommand(command) {\n return await rest.post<DiscordApplicationCommand>(rest.routes.interactions.commands.commands(rest.applicationId), command)\n },\n\n async createGuild(options) {\n return await rest.post<DiscordGuild>(rest.routes.guilds.all(), options)\n },\n\n async createGuildApplicationCommand(command, guildId) {\n return await rest.post<DiscordApplicationCommand>(rest.routes.interactions.commands.guilds.all(rest.applicationId, guildId), command)\n },\n\n async createGuildFromTemplate(templateCode, options) {\n if (options.icon) {\n options.icon = await urlToBase64(options.icon)\n }\n\n return await rest.post<DiscordGuild>(rest.routes.guilds.templates.code(templateCode), options)\n },\n\n async createGuildSticker(guildId, options) {\n return await rest.post<DiscordSticker>(rest.routes.guilds.stickers(guildId), options)\n },\n\n async createGuildTemplate(guildId, options) {\n return await rest.post<DiscordTemplate>(rest.routes.guilds.templates.all(guildId), options)\n },\n\n async createForumThread(channelId, options) {\n return await rest.post<DiscordChannel>(rest.routes.channels.forum(channelId), options)\n },\n\n async createInvite(channelId, options = {}) {\n return await rest.post<DiscordInvite>(rest.routes.channels.invites(channelId), options)\n },\n\n async createRole(guildId, options, reason) {\n return await rest.post<DiscordRole>(rest.routes.guilds.roles.all(guildId), {\n ...options,\n reason,\n })\n },\n\n async createScheduledEvent(guildId, options) {\n return await rest.post<DiscordScheduledEvent>(rest.routes.guilds.events.events(guildId), options)\n },\n\n async createStageInstance(options) {\n return await rest.post<DiscordStageInstance>(rest.routes.channels.stages(), options)\n },\n\n async createWebhook(channelId, options) {\n return await rest.post<DiscordWebhook>(rest.routes.channels.webhooks(channelId), {\n name: options.name,\n avatar: options.avatar ? await urlToBase64(options.avatar) : undefined,\n reason: options.reason,\n })\n },\n\n async deleteAutomodRule(guildId, ruleId, reason) {\n await rest.delete(rest.routes.guilds.automod.rule(guildId, ruleId), { reason })\n },\n\n async deleteChannel(channelId, reason) {\n await rest.delete(rest.routes.channels.channel(channelId), {\n reason,\n })\n },\n\n async deleteChannelPermissionOverride(channelId, overwriteId, reason) {\n await rest.delete(rest.routes.channels.overwrite(channelId, overwriteId), reason ? { reason } : undefined)\n },\n\n async deleteEmoji(guildId, id, reason) {\n await rest.delete(rest.routes.guilds.emoji(guildId, id), { reason })\n },\n\n async deleteFollowupMessage(token, messageId) {\n await rest.delete(rest.routes.interactions.responses.message(rest.applicationId, token, messageId))\n },\n\n async deleteGlobalApplicationCommand(commandId) {\n await rest.delete(rest.routes.interactions.commands.command(rest.applicationId, commandId))\n },\n\n async deleteGuild(guildId) {\n await rest.delete(rest.routes.guilds.guild(guildId))\n },\n\n async deleteGuildApplicationCommand(commandId, guildId) {\n await rest.delete(rest.routes.interactions.commands.guilds.one(rest.applicationId, guildId, commandId))\n },\n\n async deleteGuildSticker(guildId, stickerId, reason) {\n await rest.delete(rest.routes.guilds.sticker(guildId, stickerId), reason ? { reason } : undefined)\n },\n\n async deleteGuildTemplate(guildId, templateCode) {\n await rest.delete(rest.routes.guilds.templates.guild(guildId, templateCode))\n },\n\n async deleteIntegration(guildId, integrationId) {\n await rest.delete(rest.routes.guilds.integration(guildId, integrationId))\n },\n\n async deleteInvite(inviteCode, reason) {\n await rest.delete(rest.routes.guilds.invite(inviteCode), reason ? { reason } : undefined)\n },\n\n async deleteMessage(channelId, messageId, reason) {\n await rest.delete(rest.routes.channels.message(channelId, messageId), { reason })\n },\n\n async deleteMessages(channelId, messageIds, reason) {\n await rest.post(rest.routes.channels.bulk(channelId), {\n messages: messageIds.slice(0, 100).map((id) => id.toString()),\n reason,\n })\n },\n\n async deleteOriginalInteractionResponse(token) {\n await rest.delete(rest.routes.interactions.responses.original(rest.applicationId, token))\n },\n\n async deleteOwnReaction(channelId, messageId, reaction) {\n reaction = processReactionString(reaction)\n\n await rest.delete(rest.routes.channels.reactions.bot(channelId, messageId, reaction))\n },\n\n async deleteReactionsAll(channelId, messageId) {\n await rest.delete(rest.routes.channels.reactions.all(channelId, messageId))\n },\n\n async deleteReactionsEmoji(channelId, messageId, reaction) {\n reaction = processReactionString(reaction)\n\n await rest.delete(rest.routes.channels.reactions.emoji(channelId, messageId, reaction))\n },\n\n async deleteRole(guildId, roleId) {\n await rest.delete(rest.routes.guilds.roles.one(guildId, roleId))\n },\n\n async deleteScheduledEvent(guildId, eventId) {\n await rest.delete(rest.routes.guilds.events.event(guildId, eventId))\n },\n\n async deleteStageInstance(channelId, reason) {\n await rest.delete(rest.routes.channels.stage(channelId), reason ? { reason } : undefined)\n },\n\n async deleteUserReaction(channelId, messageId, userId, reaction) {\n reaction = processReactionString(reaction)\n\n await rest.delete(rest.routes.channels.reactions.user(channelId, messageId, reaction, userId))\n },\n\n async deleteWebhook(webhookId, reason) {\n await rest.delete(rest.routes.webhooks.id(webhookId), { reason })\n },\n\n async deleteWebhookMessage(webhookId, token, messageId, options) {\n await rest.delete(rest.routes.webhooks.message(webhookId, token, messageId, options))\n },\n\n async deleteWebhookWithToken(webhookId, token) {\n await rest.delete(rest.routes.webhooks.webhook(webhookId, token))\n },\n\n async editApplicationCommandPermissions(guildId, commandId, bearerToken, options) {\n return await rest.put<DiscordApplicationCommandPermissions>(\n rest.routes.interactions.commands.permission(rest.applicationId, guildId, commandId),\n {\n permissions: options,\n },\n {\n headers: { authorization: `Bearer ${bearerToken}` },\n },\n )\n },\n\n async editAutomodRule(guildId, ruleId, options) {\n return await rest.patch<DiscordAutoModerationRule>(rest.routes.guilds.automod.rule(guildId, ruleId), options)\n },\n\n async editBotProfile(options) {\n const avatar = options?.botAvatarURL ? await urlToBase64(options?.botAvatarURL) : options?.botAvatarURL\n\n return await rest.patch<DiscordUser>(rest.routes.userBot(), {\n username: options.username?.trim(),\n avatar,\n })\n },\n\n async editChannel(channelId, options) {\n return await rest.patch<DiscordChannel>(rest.routes.channels.channel(channelId), options)\n },\n\n async editChannelPermissionOverrides(channelId, options) {\n await rest.put(rest.routes.channels.overwrite(channelId, options.id), options)\n },\n\n async editChannelPositions(guildId, channelPositions) {\n await rest.patch(rest.routes.guilds.channels(guildId), channelPositions)\n },\n\n async editEmoji(guildId, id, options) {\n return await rest.patch<DiscordEmoji>(rest.routes.guilds.emoji(guildId, id), options)\n },\n\n async editFollowupMessage(token, messageId, options) {\n return await rest.patch<DiscordMessage>(rest.routes.interactions.responses.message(rest.applicationId, token, messageId), options)\n },\n\n async editGlobalApplicationCommand(commandId, options) {\n return await rest.patch<DiscordApplicationCommand>(rest.routes.interactions.commands.command(rest.applicationId, commandId), options)\n },\n\n async editGuild(guildId, options) {\n return await rest.patch<DiscordGuild>(rest.routes.guilds.guild(guildId), options)\n },\n\n async editGuildApplicationCommand(commandId, guildId, options) {\n return await rest.patch<DiscordApplicationCommand>(\n rest.routes.interactions.commands.guilds.one(rest.applicationId, guildId, commandId),\n options,\n )\n },\n\n async editGuildMfaLevel(guildId: BigString, mfaLevel: MfaLevels, reason?: string): Promise<void> {\n await rest.post(rest.routes.guilds.mfa(guildId), { level: mfaLevel, reason })\n },\n\n async editGuildSticker(guildId, stickerId, options) {\n return await rest.patch<DiscordSticker>(rest.routes.guilds.sticker(guildId, stickerId), options)\n },\n\n async editGuildTemplate(guildId, templateCode: string, options: ModifyGuildTemplate): Promise<Camelize<DiscordTemplate>> {\n return await rest.patch<DiscordTemplate>(rest.routes.guilds.templates.guild(guildId, templateCode), options)\n },\n\n async editMessage(channelId, messageId, options) {\n return await rest.patch<DiscordMessage>(rest.routes.channels.message(channelId, messageId), options)\n },\n\n async editOriginalInteractionResponse(token, options) {\n return await rest.patch<DiscordMessage>(rest.routes.interactions.responses.original(rest.applicationId, token), options)\n },\n\n async editOriginalWebhookMessage(webhookId, token, options) {\n return await rest.patch<DiscordMessage>(rest.routes.webhooks.original(webhookId, token, options), {\n type: InteractionResponseTypes.UpdateMessage,\n data: options,\n })\n },\n\n async editOwnVoiceState(guildId, options) {\n await rest.patch(rest.routes.guilds.voice(guildId), {\n channel_id: options.channelId,\n suppress: options.suppress,\n request_to_speak_timestamp: options.requestToSpeakTimestamp\n ? new Date(options.requestToSpeakTimestamp).toISOString()\n : options.requestToSpeakTimestamp,\n })\n },\n\n async editScheduledEvent(guildId, eventId, options) {\n return await rest.patch<DiscordScheduledEvent>(rest.routes.guilds.events.event(guildId, eventId), options)\n },\n\n async editRole(guildId, roleId, options) {\n return await rest.patch<DiscordRole>(rest.routes.guilds.roles.one(guildId, roleId), options)\n },\n\n async editRolePositions(guildId, options) {\n return await rest.patch<DiscordRole[]>(rest.routes.guilds.roles.all(guildId), options)\n },\n\n async editStageInstance(channelId, data) {\n return await rest.patch<DiscordStageInstance>(rest.routes.channels.stage(channelId), { topic: data.topic })\n },\n\n async editUserVoiceState(guildId, options) {\n await rest.patch(rest.routes.guilds.voice(guildId, options.userId), {\n channel_id: options.channelId,\n suppress: options.suppress,\n user_id: options.userId,\n })\n },\n\n async editWebhook(webhookId, options) {\n return await rest.patch<DiscordWebhook>(rest.routes.webhooks.id(webhookId), options)\n },\n\n async editWebhookMessage(webhookId, token, messageId, options) {\n return await rest.patch<DiscordMessage>(rest.routes.webhooks.message(webhookId, token, messageId, options), options)\n },\n\n async editWebhookWithToken(webhookId, token, options) {\n return await rest.patch<DiscordWebhook>(rest.routes.webhooks.webhook(webhookId, token), options)\n },\n\n async editWelcomeScreen(guildId, options) {\n return await rest.patch<DiscordWelcomeScreen>(rest.routes.guilds.welcome(guildId), options)\n },\n\n async editWidgetSettings(guildId, options) {\n return await rest.patch<DiscordGuildWidgetSettings>(rest.routes.guilds.widget(guildId), options)\n },\n\n async executeWebhook(webhookId, token, options) {\n return await rest.post<DiscordMessage>(rest.routes.webhooks.webhook(webhookId, token, options), options)\n },\n\n async followAnnouncement(sourceChannelId, targetChannelId) {\n return await rest.post<DiscordFollowedChannel>(rest.routes.channels.follow(sourceChannelId), {\n webhook_channel_id: targetChannelId,\n } as DiscordFollowAnnouncementChannel)\n },\n\n async getActiveThreads(guildId) {\n return await rest.get<DiscordListActiveThreads>(rest.routes.channels.threads.active(guildId))\n },\n\n async getApplicationCommandPermission(guildId, commandId) {\n return await rest.get<DiscordApplicationCommandPermissions>(\n rest.routes.interactions.commands.permission(rest.applicationId, guildId, commandId),\n )\n },\n\n async getApplicationCommandPermissions(guildId) {\n return await rest.get<DiscordApplicationCommandPermissions[]>(rest.routes.interactions.commands.permissions(rest.applicationId, guildId))\n },\n\n async getApplicationInfo() {\n return await rest.get<DiscordApplication>(rest.routes.oauth2Application())\n },\n\n async getAuditLog(guildId, options) {\n return await rest.get<DiscordAuditLog>(rest.routes.guilds.auditlogs(guildId, options))\n },\n\n async getAutomodRule(guildId, ruleId) {\n return await rest.get<DiscordAutoModerationRule>(rest.routes.guilds.automod.rule(guildId, ruleId))\n },\n\n async getAutomodRules(guildId) {\n return await rest.get<DiscordAutoModerationRule[]>(rest.routes.guilds.automod.rules(guildId))\n },\n\n async getAvailableVoiceRegions() {\n return await rest.get<DiscordVoiceRegion[]>(rest.routes.regions())\n },\n\n async getBan(guildId, userId) {\n return await rest.get<DiscordBan>(rest.routes.guilds.members.ban(guildId, userId))\n },\n\n async getBans(guildId, options) {\n return await rest.get<DiscordBan[]>(rest.routes.guilds.members.bans(guildId, options))\n },\n\n async getChannel(id) {\n return await rest.get<DiscordChannel>(rest.routes.channels.channel(id))\n },\n\n async getChannelInvites(channelId) {\n return await rest.get<DiscordInviteMetadata[]>(rest.routes.channels.invites(channelId))\n },\n\n async getChannels(guildId) {\n return await rest.get<DiscordChannel[]>(rest.routes.guilds.channels(guildId))\n },\n\n async getChannelWebhooks(channelId) {\n return await rest.get<DiscordWebhook[]>(rest.routes.channels.webhooks(channelId))\n },\n\n async getDmChannel(userId) {\n return await rest.post<DiscordChannel>(rest.routes.channels.dm(), {\n recipient_id: userId.toString(),\n })\n },\n\n async getEmoji(guildId, emojiId) {\n return await rest.get<DiscordEmoji>(rest.routes.guilds.emoji(guildId, emojiId))\n },\n\n async getEmojis(guildId) {\n return await rest.get<DiscordEmoji[]>(rest.routes.guilds.emojis(guildId))\n },\n\n async getFollowupMessage(token, messageId) {\n return await rest.get<DiscordMessage>(rest.routes.interactions.responses.message(rest.applicationId, token, messageId))\n },\n\n async getGatewayBot() {\n return await rest.get<DiscordGetGatewayBot>(rest.routes.gatewayBot())\n },\n\n async getGlobalApplicationCommand(commandId) {\n return await rest.get<DiscordApplicationCommand>(rest.routes.interactions.commands.command(rest.applicationId, commandId))\n },\n\n async getGlobalApplicationCommands() {\n return await rest.get<DiscordApplicationCommand[]>(rest.routes.interactions.commands.commands(rest.applicationId))\n },\n\n async getGuild(guildId, options = { counts: true }) {\n return await rest.get<DiscordGuild>(rest.routes.guilds.guild(guildId, options.counts))\n },\n\n async getGuildApplicationCommand(commandId, guildId) {\n return await rest.get<DiscordApplicationCommand>(rest.routes.interactions.commands.guilds.one(rest.applicationId, guildId, commandId))\n },\n\n async getGuildApplicationCommands(guildId) {\n return await rest.get<DiscordApplicationCommand[]>(rest.routes.interactions.commands.guilds.all(rest.applicationId, guildId))\n },\n\n async getGuildPreview(guildId) {\n return await rest.get<DiscordGuildPreview>(rest.routes.guilds.preview(guildId))\n },\n\n async getGuildTemplate(templateCode) {\n return await rest.get<DiscordTemplate>(rest.routes.guilds.templates.code(templateCode))\n },\n\n async getGuildTemplates(guildId) {\n return await rest.get<DiscordTemplate[]>(rest.routes.guilds.templates.all(guildId))\n },\n\n async getGuildWebhooks(guildId) {\n return await rest.get<DiscordWebhook[]>(rest.routes.guilds.webhooks(guildId))\n },\n\n async getIntegrations(guildId) {\n return await rest.get<DiscordIntegration[]>(rest.routes.guilds.integrations(guildId))\n },\n\n async getInvite(inviteCode, options) {\n return await rest.get<DiscordInviteMetadata>(rest.routes.guilds.invite(inviteCode, options))\n },\n\n async getInvites(guildId) {\n return await rest.get<DiscordInviteMetadata[]>(rest.routes.guilds.invites(guildId))\n },\n\n async getMessage(channelId, messageId) {\n return await rest.get<DiscordMessage>(rest.routes.channels.message(channelId, messageId))\n },\n\n async getMessages(channelId, options) {\n return await rest.get<DiscordMessage[]>(rest.routes.channels.messages(channelId, options))\n },\n\n async getNitroStickerPacks() {\n return await rest.get<DiscordStickerPack[]>(rest.routes.nitroStickerPacks())\n },\n\n async getOriginalInteractionResponse(token) {\n return await rest.get<DiscordMessage>(rest.routes.interactions.responses.original(rest.applicationId, token))\n },\n\n async getPinnedMessages(channelId) {\n return await rest.get<DiscordMessage[]>(rest.routes.channels.pins(channelId))\n },\n\n async getPrivateArchivedThreads(channelId, options) {\n return await rest.get<DiscordListArchivedThreads>(rest.routes.channels.threads.private(channelId, options))\n },\n\n async getPrivateJoinedArchivedThreads(channelId, options) {\n return await rest.get<DiscordListArchivedThreads>(rest.routes.channels.threads.joined(channelId, options))\n },\n\n async getPruneCount(guildId, options) {\n return await rest.get<DiscordPrunedCount>(rest.routes.guilds.prune(guildId, options))\n },\n\n async getPublicArchivedThreads(channelId, options) {\n return await rest.get<DiscordListArchivedThreads>(rest.routes.channels.threads.public(channelId, options))\n },\n\n async getRoles(guildId) {\n return await rest.get<DiscordRole[]>(rest.routes.guilds.roles.all(guildId))\n },\n\n async getScheduledEvent(guildId, eventId, options) {\n return await rest.get<DiscordScheduledEvent>(rest.routes.guilds.events.event(guildId, eventId, options?.withUserCount))\n },\n\n async getScheduledEvents(guildId, options) {\n return await rest.get<DiscordScheduledEvent[]>(rest.routes.guilds.events.events(guildId, options?.withUserCount))\n },\n\n async getScheduledEventUsers(guildId, eventId, options) {\n return await rest.get<Array<{ user: DiscordUser; member?: DiscordMember }>>(rest.routes.guilds.events.users(guildId, eventId, options))\n },\n\n async getSessionInfo() {\n return await rest.getGatewayBot()\n },\n\n async getStageInstance(channelId) {\n return await rest.get<DiscordStageInstance>(rest.routes.channels.stage(channelId))\n },\n\n async getSticker(stickerId: BigString) {\n return await rest.get<DiscordSticker>(rest.routes.sticker(stickerId))\n },\n\n async getGuildSticker(guildId, stickerId) {\n return await rest.get<DiscordSticker>(rest.routes.guilds.sticker(guildId, stickerId))\n },\n\n async getGuildStickers(guildId) {\n return await rest.get<DiscordSticker[]>(rest.routes.guilds.stickers(guildId))\n },\n\n async getThreadMember(channelId, userId) {\n return await rest.get<DiscordThreadMember>(rest.routes.channels.threads.user(channelId, userId))\n },\n\n async getThreadMembers(channelId) {\n return await rest.get<DiscordThreadMember[]>(rest.routes.channels.threads.members(channelId))\n },\n\n async getReactions(channelId, messageId, reaction, options) {\n return await rest.get<DiscordUser[]>(rest.routes.channels.reactions.message(channelId, messageId, reaction, options))\n },\n\n async getUser(id) {\n return await rest.get<DiscordUser>(rest.routes.user(id))\n },\n\n async getVanityUrl(guildId) {\n return await rest.get<DiscordVanityUrl>(rest.routes.guilds.vanity(guildId))\n },\n\n async getVoiceRegions(guildId) {\n return await rest.get<DiscordVoiceRegion[]>(rest.routes.guilds.regions(guildId))\n },\n\n async getWebhook(webhookId) {\n return await rest.get<DiscordWebhook>(rest.routes.webhooks.id(webhookId))\n },\n\n async getWebhookMessage(webhookId, token, messageId, options) {\n return await rest.get<DiscordMessage>(rest.routes.webhooks.message(webhookId, token, messageId, options))\n },\n\n async getWebhookWithToken(webhookId, token) {\n return await rest.get<DiscordWebhook>(rest.routes.webhooks.webhook(webhookId, token))\n },\n\n async getWelcomeScreen(guildId) {\n return await rest.get<DiscordWelcomeScreen>(rest.routes.guilds.welcome(guildId))\n },\n\n async getWidget(guildId) {\n return await rest.get<DiscordGuildWidget>(rest.routes.guilds.widgetJson(guildId))\n },\n\n async getWidgetSettings(guildId) {\n return await rest.get<DiscordGuildWidgetSettings>(rest.routes.guilds.widget(guildId))\n },\n\n async joinThread(channelId) {\n await rest.put(rest.routes.channels.threads.me(channelId))\n },\n\n async leaveGuild(guildId) {\n await rest.delete(rest.routes.guilds.leave(guildId))\n },\n\n async leaveThread(channelId) {\n await rest.delete(rest.routes.channels.threads.me(channelId))\n },\n\n async publishMessage(channelId, messageId) {\n return await rest.post<DiscordMessage>(rest.routes.channels.crosspost(channelId, messageId))\n },\n\n async removeRole(guildId, userId, roleId, reason) {\n await rest.delete(rest.routes.guilds.roles.member(guildId, userId, roleId), { reason })\n },\n\n async removeThreadMember(channelId, userId) {\n await rest.delete(rest.routes.channels.threads.user(channelId, userId))\n },\n\n async sendFollowupMessage(token, options) {\n return await new Promise((resolve, reject) => {\n rest.sendRequest({\n url: rest.routes.webhooks.webhook(rest.applicationId, token),\n method: 'POST',\n body: options,\n retryCount: 0,\n retryRequest: async function (options: SendRequestOptions) {\n // TODO: should change to reprocess queue item\n await rest.sendRequest(options)\n },\n resolve: (data) => {\n resolve(data.status !== 204 ? JSON.parse(data.body ?? '{}') : undefined)\n },\n reject,\n })\n })\n },\n\n async sendInteractionResponse(interactionId, token, options) {\n await new Promise((resolve, reject) => {\n rest.sendRequest({\n url: rest.routes.interactions.responses.callback(interactionId, token),\n method: 'POST',\n body: options,\n retryCount: 0,\n retryRequest: async function (options: SendRequestOptions) {\n // TODO: should change to reprocess queue item\n await rest.sendRequest(options)\n },\n resolve: (data) => {\n resolve(data.status !== 204 ? JSON.parse(data.body ?? '{}') : undefined)\n },\n reject,\n })\n })\n },\n\n async sendMessage(channelId, options) {\n return await rest.post<DiscordMessage>(rest.routes.channels.messages(channelId), options)\n },\n\n async startThreadWithMessage(channelId, messageId, options) {\n return await rest.post<DiscordChannel>(rest.routes.channels.threads.message(channelId, messageId), options)\n },\n\n async startThreadWithoutMessage(channelId, options) {\n return await rest.post<DiscordChannel>(rest.routes.channels.threads.all(channelId), options)\n },\n\n async syncGuildTemplate(guildId) {\n return await rest.put<DiscordTemplate>(rest.routes.guilds.templates.all(guildId))\n },\n\n async banMember(guildId, userId, options) {\n await rest.put<void>(rest.routes.guilds.members.ban(guildId, userId), options)\n },\n\n async editBotMember(guildId, options) {\n return await rest.patch<DiscordMember>(rest.routes.guilds.members.bot(guildId), options)\n },\n\n async editMember(guildId, userId, options) {\n return await rest.patch<DiscordMemberWithUser>(rest.routes.guilds.members.member(guildId, userId), options)\n },\n\n async getMember(guildId, userId) {\n return await rest.get<DiscordMemberWithUser>(rest.routes.guilds.members.member(guildId, userId))\n },\n\n async getMembers(guildId, options) {\n return await rest.get<DiscordMemberWithUser[]>(rest.routes.guilds.members.members(guildId, options))\n },\n\n async kickMember(guildId, userId, reason) {\n await rest.delete(rest.routes.guilds.members.member(guildId, userId), {\n reason,\n })\n },\n\n async pinMessage(channelId, messageId, reason) {\n await rest.put(rest.routes.channels.pin(channelId, messageId), reason ? { reason } : undefined)\n },\n\n async pruneMembers(guildId, options) {\n return await rest.post<{ pruned: number | null }>(rest.routes.guilds.members.prune(guildId), options)\n },\n\n async searchMembers(guildId, query, options) {\n return await rest.get<DiscordMemberWithUser[]>(rest.routes.guilds.members.search(guildId, query, options))\n },\n\n async unbanMember(guildId, userId) {\n await rest.delete(rest.routes.guilds.members.ban(guildId, userId))\n },\n\n async unpinMessage(channelId, messageId, reason) {\n await rest.delete(rest.routes.channels.pin(channelId, messageId), reason ? { reason } : undefined)\n },\n\n async triggerTypingIndicator(channelId) {\n await rest.post(rest.routes.channels.typing(channelId))\n },\n\n async upsertGlobalApplicationCommands(commands) {\n return await rest.put<DiscordApplicationCommand[]>(rest.routes.interactions.commands.commands(rest.applicationId), commands)\n },\n\n async upsertGuildApplicationCommands(guildId, commands) {\n return await rest.put<DiscordApplicationCommand[]>(rest.routes.interactions.commands.guilds.all(rest.applicationId, guildId), commands)\n },\n }\n\n return rest\n}\n"],"names":["InteractionResponseTypes","calculateBits","camelize","camelToSnakeCase","delay","encode","findFiles","getBotIdFromToken","isGetMessagesAfter","isGetMessagesAround","isGetMessagesBefore","isGetMessagesLimit","logger","processReactionString","urlToBase64","fetch","createInvalidRequestBucket","Queue","version","createRestManager","options","token","Error","rest","applicationId","BigInt","baseUrl","proxy","maxRetryCount","Infinity","globallyRateLimited","processingRateLimitedPaths","deleteQueueDelay","queues","Map","rateLimitedPaths","invalidBucket","authorization","routes","webhooks","id","webhookId","message","messageId","url","threadId","original","webhook","wait","undefined","toString","sessionInfo","gatewayBot","channels","bulk","channelId","dm","pin","pins","reactions","bot","emoji","encodeURIComponent","user","userId","all","after","limit","channel","follow","forum","invites","messages","before","around","overwrite","overwriteId","crosspost","stages","stage","threads","active","guildId","members","me","archived","public","Date","toISOString","private","joined","typing","guilds","auditlogs","actionType","automod","rule","ruleId","rules","emojiId","emojis","events","withUserCount","event","eventId","users","withMember","guild","withCounts","integration","integrationId","integrations","invite","inviteCode","withExpiration","scheduledEventId","leave","ban","bans","member","search","query","prune","days","Array","isArray","includeRoles","join","mfa","preview","roles","one","roleId","memberId","stickers","sticker","stickerId","voice","templates","code","vanity","regions","welcome","widget","widgetJson","interactions","commands","commandId","withLocalizations","permissions","permission","command","responses","callback","interactionId","userBot","oauth2Application","nitroStickerPacks","checkRateLimits","ratelimited","get","global","now","resetTimestamp","changeToDiscordFormat","obj","map","item","newObj","key","Object","keys","includes","default_member_permissions","createRequest","headers","unauthorized","toLowerCase","method","body","reason","file","files","form","FormData","endsWith","append","blob","name","description","tags","i","length","JSON","stringify","processRateLimitedPaths","value","entries","delete","size","setTimeout","processHeaders","rateLimited","remaining","retryAfter","reset","Number","bucketId","handleCompletedRequest","interval","max","set","globalReset","sendRequest","startsWith","payload","debug","response","status","statusText","simplifyUrl","retryCount","reject","ok","error","resetAfter","json","retryRequest","is204","resolve","route","replace","match","p","substring","indexOf","processRequest","request","parts","split","shift","queue","makeRequest","bucketQueue","Promise","f","arrayBuffer","type","Authorization","result","err","catch","data","parse","post","patch","put","addReaction","reaction","addReactions","ordered","addRole","addThreadMember","createAutomodRule","createChannel","createEmoji","createGlobalApplicationCommand","createGuild","createGuildApplicationCommand","createGuildFromTemplate","templateCode","icon","createGuildSticker","createGuildTemplate","createForumThread","createInvite","createRole","createScheduledEvent","createStageInstance","createWebhook","avatar","deleteAutomodRule","deleteChannel","deleteChannelPermissionOverride","deleteEmoji","deleteFollowupMessage","deleteGlobalApplicationCommand","deleteGuild","deleteGuildApplicationCommand","deleteGuildSticker","deleteGuildTemplate","deleteIntegration","deleteInvite","deleteMessage","deleteMessages","messageIds","slice","deleteOriginalInteractionResponse","deleteOwnReaction","deleteReactionsAll","deleteReactionsEmoji","deleteRole","deleteScheduledEvent","deleteStageInstance","deleteUserReaction","deleteWebhook","deleteWebhookMessage","deleteWebhookWithToken","editApplicationCommandPermissions","bearerToken","editAutomodRule","editBotProfile","botAvatarURL","username","trim","editChannel","editChannelPermissionOverrides","editChannelPositions","channelPositions","editEmoji","editFollowupMessage","editGlobalApplicationCommand","editGuild","editGuildApplicationCommand","editGuildMfaLevel","mfaLevel","level","editGuildSticker","editGuildTemplate","editMessage","editOriginalInteractionResponse","editOriginalWebhookMessage","UpdateMessage","editOwnVoiceState","channel_id","suppress","request_to_speak_timestamp","requestToSpeakTimestamp","editScheduledEvent","editRole","editRolePositions","editStageInstance","topic","editUserVoiceState","user_id","editWebhook","editWebhookMessage","editWebhookWithToken","editWelcomeScreen","editWidgetSettings","executeWebhook","followAnnouncement","sourceChannelId","targetChannelId","webhook_channel_id","getActiveThreads","getApplicationCommandPermission","getApplicationCommandPermissions","getApplicationInfo","getAuditLog","getAutomodRule","getAutomodRules","getAvailableVoiceRegions","getBan","getBans","getChannel","getChannelInvites","getChannels","getChannelWebhooks","getDmChannel","recipient_id","getEmoji","getEmojis","getFollowupMessage","getGatewayBot","getGlobalApplicationCommand","getGlobalApplicationCommands","getGuild","counts","getGuildApplicationCommand","getGuildApplicationCommands","getGuildPreview","getGuildTemplate","getGuildTemplates","getGuildWebhooks","getIntegrations","getInvite","getInvites","getMessage","getMessages","getNitroStickerPacks","getOriginalInteractionResponse","getPinnedMessages","getPrivateArchivedThreads","getPrivateJoinedArchivedThreads","getPruneCount","getPublicArchivedThreads","getRoles","getScheduledEvent","getScheduledEvents","getScheduledEventUsers","getSessionInfo","getStageInstance","getSticker","getGuildSticker","getGuildStickers","getThreadMember","getThreadMembers","getReactions","getUser","getVanityUrl","getVoiceRegions","getWebhook","getWebhookMessage","getWebhookWithToken","getWelcomeScreen","getWidget","getWidgetSettings","joinThread","leaveGuild","leaveThread","publishMessage","removeRole","removeThreadMember","sendFollowupMessage","sendInteractionResponse","sendMessage","startThreadWithMessage","startThreadWithoutMessage","syncGuildTemplate","banMember","editBotMember","editMember","getMember","getMembers","kickMember","pinMessage","pruneMembers","searchMembers","unbanMember","unpinMessage","triggerTypingIndicator","upsertGlobalApplicationCommands","upsertGuildApplicationCommands"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@discordeno/rest",
3
- "version": "19.0.0-next.edc47da",
3
+ "version": "19.0.0-next.efcc966",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "type": "module",
@@ -24,8 +24,8 @@
24
24
  "test:test-type": "tsc --project tsconfig.test.json"
25
25
  },
26
26
  "dependencies": {
27
- "@discordeno/types": "19.0.0-next.edc47da",
28
- "@discordeno/utils": "19.0.0-next.edc47da",
27
+ "@discordeno/types": "19.0.0-next.efcc966",
28
+ "@discordeno/utils": "19.0.0-next.efcc966",
29
29
  "dotenv": "^16.0.3",
30
30
  "node-fetch": "^3.3.1"
31
31
  },