snowtransfer 0.13.0 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -16
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -219,26 +219,11 @@ type HandlerEvents = {
|
|
|
219
219
|
route: string;
|
|
220
220
|
}];
|
|
221
221
|
};
|
|
222
|
-
interface RequestHandler {
|
|
223
|
-
addListener<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;
|
|
224
|
-
emit<E extends keyof HandlerEvents>(event: E, ...args: HandlerEvents[E]): boolean;
|
|
225
|
-
eventNames(): Array<keyof HandlerEvents>;
|
|
226
|
-
listenerCount(event: keyof HandlerEvents): number;
|
|
227
|
-
listeners(event: keyof HandlerEvents): Array<(...args: Array<any>) => any>;
|
|
228
|
-
off<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;
|
|
229
|
-
on<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;
|
|
230
|
-
once<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;
|
|
231
|
-
prependListener<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;
|
|
232
|
-
prependOnceListener<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;
|
|
233
|
-
rawListeners(event: keyof HandlerEvents): Array<(...args: Array<any>) => any>;
|
|
234
|
-
removeAllListeners(event?: keyof HandlerEvents): this;
|
|
235
|
-
removeListener<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;
|
|
236
|
-
}
|
|
237
222
|
/**
|
|
238
223
|
* Request Handler class
|
|
239
224
|
* @since 0.1.0
|
|
240
225
|
*/
|
|
241
|
-
declare class RequestHandler extends EventEmitter {
|
|
226
|
+
declare class RequestHandler extends EventEmitter<HandlerEvents> {
|
|
242
227
|
ratelimiter: Ratelimiter;
|
|
243
228
|
options: {
|
|
244
229
|
/** The base URL to use when making requests. Defaults to https://discord.com */
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Constants.ts","../src/Endpoints.ts","../src/RequestHandler.ts","../src/methods/AuditLog.ts","../src/methods/AutoModeration.ts","../src/methods/Bot.ts","../src/methods/Channel.ts","../src/methods/Assets.ts","../src/methods/Entitlements.ts","../src/methods/Guild.ts","../src/methods/GuildScheduledEvent.ts","../src/methods/GuildTemplate.ts","../src/methods/Interaction.ts","../src/methods/Invite.ts","../src/methods/Sku.ts","../src/methods/StageInstance.ts","../src/methods/User.ts","../src/methods/Voice.ts","../src/methods/Webhook.ts","../src/tokenless.ts","../src/SnowTransfer.ts","../src/index.ts"],"names":["Constants","Blob","File","Readable","ReadableStream","deprecate","Endpoints","DiscordAPIError","AsyncSequentialQueue","Ratelimiter","LocalBucket","GlobalBucket","RequestHandler","EventEmitter","MessageReferenceType","InteractionResponseType","exports"],"mappings":"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","file":"index.js","sourcesContent":["import { Blob, File } from \"buffer\";\r\nimport { Readable } from \"stream\";\r\nimport { ReadableStream } from \"stream/web\";\r\nimport { deprecate } from \"util\";\r\n\r\nconst mentionRegex = /@([^<>@ ]*)/gsmu;\r\nconst isValidUserMentionRegex = /^[&!]?\\d+$/;\r\n\r\nfunction replaceEveryoneMatchProcessor(_match: string, target: string): string {\r\n\tif (isValidUserMentionRegex.test(target)) return `@${target}`;\r\n\telse return `@\\u200b${target}`;\r\n}\r\n\r\nconst Constants = {\r\n\tREST_API_VERSION: 10 as const,\r\n\tGET_CHANNEL_MESSAGES_MIN_RESULTS: 1 as const,\r\n\tGET_CHANNEL_MESSAGES_MAX_RESULTS: 100 as const,\r\n\tGET_GUILD_SCHEDULED_EVENT_USERS_MIN_RESULTS: 1 as const,\r\n\tGET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS: 100 as const,\r\n\tSEARCH_MEMBERS_MIN_RESULTS: 1 as const,\r\n\tSEARCH_MEMBERS_MAX_RESULTS: 1000 as const,\r\n\tBULK_DELETE_MESSAGES_MIN: 2 as const,\r\n\tBULK_DELETE_MESSAGES_MAX: 100 as const,\r\n\tOK_STATUS_CODES: new Set([200, 201, 204, 304]),\r\n\tDO_NOT_RETRY_STATUS_CODES: new Set([401, 403, 404, 405, 411, 413, 429]),\r\n\tDEFAULT_RETRY_LIMIT: 3,\r\n\tGLOBAL_REQUESTS_PER_SECOND: 50,\r\n\tasync standardMultipartHandler(data: { files: Array<{ name: string; file: Buffer | Blob | File | Readable | ReadableStream }>; data?: any; }): Promise<FormData> {\r\n\t\tconst form = new FormData();\r\n\r\n\t\tif (data.files && Array.isArray(data.files) && data.files.every(f => !!f.name && !!f.file)) {\r\n\t\t\tlet index = 0;\r\n\t\t\tfor (const file of data.files) {\r\n\t\t\t\tawait Constants.standardAddToFormHandler(form, `files[${index}]`, file.file, file.name);\r\n\r\n\r\n\t\t\t\tdelete file.file;\r\n\t\t\t\tindex++;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tif (data.data) delete data.files;\r\n\t\tform.append(\"payload_json\", JSON.stringify(data));\r\n\t\treturn form;\r\n\t},\r\n\tasync standardAddToFormHandler(form: FormData, name: string, value: Buffer | Blob | File | Readable | ReadableStream, filename?: string): Promise<void> {\r\n\t\tif (value instanceof Buffer) form.append(name, new Blob([value]), filename);\r\n\t\telse if (value instanceof Blob || value instanceof File) form.append(name, value, filename);\r\n\t\telse if (value instanceof Readable || value instanceof ReadableStream) {\r\n\t\t\tconst blob = await new Response(value instanceof ReadableStream ? value : Readable.toWeb(value)).blob();\r\n\t\t\tform.set(name, blob, filename);\r\n\t\t} else throw new Error(`Don't know how to add ${value?.constructor?.name ?? typeof value} to form`);\r\n\t},\r\n\treplaceEveryone: deprecate(function replaceEveryone(content: string): string {\r\n\t\treturn content.replace(mentionRegex, replaceEveryoneMatchProcessor);\r\n\t}, \"SnowTransfer: disableEveryone option has been deprecated and will be removed in a future release. Please use allowed_mentions instead.\")\r\n};\r\n\r\nexport = Constants;\r\n","\"use strict\";\r\n\r\nimport Constants = require(\"./Constants\");\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst Endpoints = {\r\n\tBASE_URL: \"/api/v\" + Constants.REST_API_VERSION as `/api/v${typeof Constants.REST_API_VERSION}`,\r\n\tBASE_HOST: \"https:\r\n\tCDN_URL: \"https:\r\n\r\n\tAPPLICATION_COMMAND: (appId: string, cmdId: string) => `${Endpoints.APPLICATION_COMMANDS(appId)}/${cmdId}` as `${ReturnType<typeof Endpoints.APPLICATION_COMMANDS>}/{cmd_id}`,\r\n\tAPPLICATION_COMMANDS: (appId: string) => `/applications/${appId}/commands` as \"/applications/{app_id}/commands\",\r\n\tAPPLICATION_EMOJI: (appId: string, emojiId: string) => `${Endpoints.APPLICATION_EMOJIS(appId)}/${emojiId}` as `${ReturnType<typeof Endpoints.APPLICATION_EMOJIS>}/{emoji_id}`,\r\n\tAPPLICATION_EMOJIS: (appId: string) => `/applications/${appId}/emojis` as \"/applications/{app_id}/emojis\",\r\n\tAPPLICATION_ENTITLEMENT: (appId: string, entitlementId: string) => `${Endpoints.APPLICATION_ENTITLEMENTS(appId)}/${entitlementId}` as `${ReturnType<typeof Endpoints.APPLICATION_ENTITLEMENTS>}/{entitlement_id}`,\r\n\tAPPLICATION_ENTITLEMENT_CONSUME: (appId: string, entitlementId: string) => `${Endpoints.APPLICATION_ENTITLEMENT(appId, entitlementId)}/consume` as `${ReturnType<typeof Endpoints.APPLICATION_ENTITLEMENT>}/consume`,\r\n\tAPPLICATION_ENTITLEMENTS: (appId: string) => `/applications/${appId}/entitlements` as \"/applications/{app_id}/entitlements\",\r\n\tAPPLICATION_GUILD_COMMANDS_PERMISSIONS: (appId: string, guildId: string) => `${Endpoints.APPLICATION_GUILD_COMMANDS(appId, guildId)}/permissions` as `${ReturnType<typeof Endpoints.APPLICATION_GUILD_COMMANDS>}/permissions`,\r\n\tAPPLICATION_GUILD_COMMAND_PERMISSIONS: (appId: string, guildId: string, cmdId: string) => `${Endpoints.APPLICATION_GUILD_COMMAND(appId, guildId, cmdId)}/permissions` as `${ReturnType<typeof Endpoints.APPLICATION_GUILD_COMMAND>}/permissions`,\r\n\tAPPLICATION_GUILD_COMMAND: (appId: string, guildId: string, cmdId: string) => `${Endpoints.APPLICATION_GUILD_COMMANDS(appId, guildId)}/${cmdId}` as `${ReturnType<typeof Endpoints.APPLICATION_GUILD_COMMANDS>}/{cmd_id}`,\r\n\tAPPLICATION_GUILD_COMMANDS: (appId: string, guildId: string) => `/applications/${appId}/guilds/${guildId}/commands` as \"/applications/{app_id}/guilds/{guild_id}/commands\",\r\n\tAPPLICATION_SKUS: (appId: string) => `/applications/${appId}/skus` as \"/applications/{app_id}/skus\",\r\n\tATTACHMENTS_REFRESH_URLS: `/attachments/refresh-urls` as const,\r\n\tCHANNEL: (chanId: string) => `${Endpoints.CHANNELS}/${chanId}` as `${typeof Endpoints.CHANNELS}/{channel_id}`,\r\n\tCHANNEL_ATTACHMENTS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/attachments` as `${ReturnType<typeof Endpoints.CHANNEL>}/attachments`,\r\n\tCHANNEL_BULK_DELETE: (chanId: string) => `${Endpoints.CHANNEL_MESSAGES(chanId)}/bulk-delete` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGES>}/bulk-delete`,\r\n\tCHANNEL_FOLLOWERS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/followers` as `${ReturnType<typeof Endpoints.CHANNEL>}/followers`,\r\n\tCHANNEL_INVITES: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/invites` as `${ReturnType<typeof Endpoints.CHANNEL>}/invites`,\r\n\tCHANNEL_MESSAGE: (chanId: string, msgId: string) => `${Endpoints.CHANNEL_MESSAGES(chanId)}/${msgId}` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGES>}/{message_id}`,\r\n\tCHANNEL_MESSAGE_CROSSPOST: (chanId: string, msgId: string) => `${Endpoints.CHANNEL_MESSAGE(chanId, msgId)}/crosspost` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGE>}/crosspost`,\r\n\tCHANNEL_MESSAGE_REACTION: (chanId: string, msgId: string, reaction: string) => `${Endpoints.CHANNEL_MESSAGE_REACTIONS(chanId, msgId)}/${reaction}` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGE_REACTIONS>}/{reaction}`,\r\n\tCHANNEL_MESSAGE_REACTION_USER: (chanId: string, msgId: string, reaction: string, userId: string) => `${Endpoints.CHANNEL_MESSAGE_REACTION(chanId, msgId, reaction)}/${userId}` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGE_REACTION>}/{user_id}`,\r\n\tCHANNEL_MESSAGE_REACTIONS: (chanId: string, msgId: string) => `${Endpoints.CHANNEL_MESSAGE(chanId, msgId)}/reactions` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGE>}/reactions`,\r\n\tCHANNEL_MESSAGE_THREADS: (chanId: string, msgId: string) => `${Endpoints.CHANNEL_MESSAGE(chanId, msgId)}/threads` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGE>}/threads`,\r\n\tCHANNEL_MESSAGES: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/messages` as `${ReturnType<typeof Endpoints.CHANNEL>}/messages`,\r\n\tCHANNEL_PERMISSION: (chanId: string, permId: string) => `${Endpoints.CHANNEL_PERMISSIONS(chanId)}/${permId}` as `${ReturnType<typeof Endpoints.CHANNEL_PERMISSIONS>}/{perm_id}`,\r\n\tCHANNEL_PERMISSIONS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/permissions` as `${ReturnType<typeof Endpoints.CHANNEL>}/permissions`,\r\n\tCHANNEL_PIN: (chanId: string, msgId: string) => `${Endpoints.CHANNEL_PINS(chanId)}/${msgId}` as `${ReturnType<typeof Endpoints.CHANNEL_PINS>}/{message_id}`,\r\n\tCHANNEL_PINS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/pins` as `${ReturnType<typeof Endpoints.CHANNEL>}/pins`,\r\n\tCHANNEL_RECIPIENT: (chanId: string, userId: string) => `${Endpoints.CHANNEL(chanId)}/recipients/${userId}` as `${ReturnType<typeof Endpoints.CHANNEL>}/recipients/{user_id}`,\r\n\tCHANNEL_THREADS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/threads` as `${ReturnType<typeof Endpoints.CHANNEL>}/threads`,\r\n\tCHANNEL_THREAD_MEMBER: (chanId: string, memberId: string) => `${Endpoints.CHANNEL_THREAD_MEMBERS(chanId)}/${memberId}` as `${ReturnType<typeof Endpoints.CHANNEL_THREAD_MEMBERS>}/{member_id}`,\r\n\tCHANNEL_THREAD_MEMBERS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/thread-members` as `${ReturnType<typeof Endpoints.CHANNEL>}/thread-members`,\r\n\tCHANNEL_THREADS_ARCHIVED_PRIVATE: (chanId: string) => `${Endpoints.CHANNEL_THREADS(chanId)}/archived/private` as `${ReturnType<typeof Endpoints.CHANNEL_THREADS>}/archived/private`,\r\n\tCHANNEL_THREADS_ARCHIVED_PRIVATE_USER: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/users/@me/threads/archived/private` as `${ReturnType<typeof Endpoints.CHANNEL>}/users/@me/threads/archived/private`,\r\n\tCHANNEL_THREADS_ARCHIVED_PUBLIC: (chanId: string) => `${Endpoints.CHANNEL_THREADS(chanId)}/archived/public` as `${ReturnType<typeof Endpoints.CHANNEL_THREADS>}/archived/public`,\r\n\tCHANNEL_TYPING: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/typing` as `${ReturnType<typeof Endpoints.CHANNEL>}/typing`,\r\n\tCHANNEL_WEBHOOKS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/webhooks` as `${ReturnType<typeof Endpoints.CHANNEL>}/webhooks`,\r\n\tCHANNELS: \"/channels\" as const,\r\n\tGATEWAY: \"/gateway\" as const,\r\n\tGATEWAY_BOT: \"/gateway/bot\" as const,\r\n\tGUILD: (guildId: string) => `${Endpoints.GUILDS}/${guildId}` as `${typeof Endpoints.GUILDS}/{guild_id}`,\r\n\tGUILD_AUDIT_LOGS: (guildId: string) => `${Endpoints.GUILD(guildId)}/audit-logs` as `${ReturnType<typeof Endpoints.GUILD>}/audit-logs`,\r\n\tGUILD_AUTO_MOD_RULE: (guildId: string, ruleId: string) => `${Endpoints.GUILD_AUTO_MOD_RULES(guildId)}/${ruleId}` as `${ReturnType<typeof Endpoints.GUILD_AUTO_MOD_RULES>}/{rule_id}`,\r\n\tGUILD_AUTO_MOD_RULES: (guildId: string) => `${Endpoints.GUILD(guildId)}/auto-moderation/rules` as `${ReturnType<typeof Endpoints.GUILD>}/auto-moderation/rules`,\r\n\tGUILD_BAN: (guildId: string, memberId: string) => `${Endpoints.GUILD_BANS(guildId)}/${memberId}` as `${ReturnType<typeof Endpoints.GUILD_BANS>}/{member_id}`,\r\n\tGUILD_BANS: (guildId: string) => `${Endpoints.GUILD(guildId)}/bans` as `${ReturnType<typeof Endpoints.GUILD>}/bans`,\r\n\tGUILD_CHANNELS: (guildId: string) => `${Endpoints.GUILD(guildId)}/channels` as `${ReturnType<typeof Endpoints.GUILD>}/channels`,\r\n\tGUILD_EMOJI: (guildId: string, emojiId: string) => `${Endpoints.GUILD_EMOJIS(guildId)}/${emojiId}` as `${ReturnType<typeof Endpoints.GUILD_EMOJIS>}/{emoji_id}`,\r\n\tGUILD_EMOJIS: (guildId: string) => `${Endpoints.GUILD(guildId)}/emojis` as `${ReturnType<typeof Endpoints.GUILD>}/emojis`,\r\n\tGUILD_INVITES: (guildId: string) => `${Endpoints.GUILD(guildId)}/invites` as `${ReturnType<typeof Endpoints.GUILD>}/invites`,\r\n\tGUILD_INTEGRATION: (guildId: string, integrationId: string) => `${Endpoints.GUILD_INTEGRATIONS(guildId)}/${integrationId}` as `${ReturnType<typeof Endpoints.GUILD_INTEGRATIONS>}/{integration_id}`,\r\n\tGUILD_INTEGRATIONS: (guildId: string) => `${Endpoints.GUILD(guildId)}/integrations` as `${ReturnType<typeof Endpoints.GUILD>}/integrations`,\r\n\tGUILD_MEMBER: (guildId: string, memberId: string) => `${Endpoints.GUILD_MEMBERS(guildId)}/${memberId}` as `${ReturnType<typeof Endpoints.GUILD_MEMBERS>}/{member_id}`,\r\n\tGUILD_MEMBER_ROLE: (guildId: string, memberId: string, roleId: string) => `${Endpoints.GUILD_MEMBER(guildId, memberId)}/roles/${roleId}` as `${ReturnType<typeof Endpoints.GUILD_MEMBER>}/roles/{role_id}`,\r\n\tGUILD_MEMBERS: (guildId: string) => `${Endpoints.GUILD(guildId)}/members` as `${ReturnType<typeof Endpoints.GUILD>}/members`,\r\n\tGUILD_MEMBERS_SEARCH: (guildId: string) => `${Endpoints.GUILD_MEMBERS(guildId)}/search` as `${ReturnType<typeof Endpoints.GUILD_MEMBERS>}/search`,\r\n\tGUILD_PREVIEW: (guildId: string) => `${Endpoints.GUILD(guildId)}/preview` as `${ReturnType<typeof Endpoints.GUILD>}/preview`,\r\n\tGUILD_PRUNE: (guildId: string) => `${Endpoints.GUILD(guildId)}/prune` as `${ReturnType<typeof Endpoints.GUILD>}/prune`,\r\n\tGUILD_ROLE: (guildId: string, roleId: string) => `${Endpoints.GUILD_ROLES(guildId)}/${roleId}` as `${ReturnType<typeof Endpoints.GUILD_ROLES>}/{role_id}`,\r\n\tGUILD_ROLES: (guildId: string) => `${Endpoints.GUILD(guildId)}/roles` as `${ReturnType<typeof Endpoints.GUILD>}/roles`,\r\n\tGUILD_SCHEDULED_EVENTS: (guildId: string) => `${Endpoints.GUILD(guildId)}/scheduled-events` as `${ReturnType<typeof Endpoints.GUILD>}/scheduled-events`,\r\n\tGUILD_SCHEDULED_EVENT: (guildId: string, eventId: string) => `${Endpoints.GUILD_SCHEDULED_EVENTS(guildId)}/${eventId}` as `${ReturnType<typeof Endpoints.GUILD_SCHEDULED_EVENTS>}/{event_id}`,\r\n\tGUILD_SCHEDULED_EVENT_USERS: (guildId: string, eventId: string) => `${Endpoints.GUILD_SCHEDULED_EVENT(guildId, eventId)}/users` as `${ReturnType<typeof Endpoints.GUILD_SCHEDULED_EVENT>}/users`,\r\n\tGUILD_STICKER: (guildId: string, stickerId: string) => `${Endpoints.GUILD_STICKERS(guildId)}/${stickerId}` as `${ReturnType<typeof Endpoints.GUILD_STICKERS>}/{sticker_id}`,\r\n\tGUILD_STICKERS: (guildId: string) => `${Endpoints.GUILD(guildId)}/stickers` as `${ReturnType<typeof Endpoints.GUILD>}/stickers`,\r\n\tGUILD_TEMPLATE: (guildId: string, code: string) => `${Endpoints.GUILD_TEMPLATES(guildId)}/${code}` as `${ReturnType<typeof Endpoints.GUILD_TEMPLATES>}/{code}`,\r\n\tGUILD_THREADS_ACTIVE: (guildId: string) => `${Endpoints.GUILD(guildId)}/threads/active` as `${ReturnType<typeof Endpoints.GUILD>}/threads/active`,\r\n\tGUILD_TEMPLATES: (guildId: string) => `${Endpoints.GUILD(guildId)}/templates` as `${ReturnType<typeof Endpoints.GUILD>}/templates`,\r\n\tGUILD_VANITY: (guildId: string) => `${Endpoints.GUILD(guildId)}/vanity-url` as `${ReturnType<typeof Endpoints.GUILD>}/vanity-url`,\r\n\tGUILD_VOICE_REGIONS: (guildId: string) => `${Endpoints.GUILD(guildId)}/regions` as `${ReturnType<typeof Endpoints.GUILD>}/regions`,\r\n\tGUILD_VOICE_STATE_USER: (guildId: string, memberId: string) => `${Endpoints.GUILD(guildId)}/voice-states/${memberId}` as `${ReturnType<typeof Endpoints.GUILD>}/voice-states/{member_id}`,\r\n\tGUILD_WEBHOOKS: (guildId: string) => `${Endpoints.GUILD(guildId)}/webhooks` as `${ReturnType<typeof Endpoints.GUILD>}/webhooks`,\r\n\tGUILD_WELCOME_SCREEN: (guildId: string) => `${Endpoints.GUILD(guildId)}/welcome-screen` as `${ReturnType<typeof Endpoints.GUILD>}/welcome-screen`,\r\n\tGUILD_WIDGET: (guildId: string) => `${Endpoints.GUILD(guildId)}/widget.json` as `${ReturnType<typeof Endpoints.GUILD>}/widget.json`,\r\n\tGUILD_WIDGET_SETTINGS: (guildId: string) => `${Endpoints.GUILD(guildId)}/widget` as `${ReturnType<typeof Endpoints.GUILD>}/widget`,\r\n\tGUILDS: \"/guilds\" as const,\r\n\tINTERACTION_CALLBACK: (interactionId: string, token: string) => `/interactions/${interactionId}/${token}/callback` as \"/interactions/{interaction_id}/{token}/callback\",\r\n\tINVITES: (inviteId: string) => `/invites/${inviteId}` as \"/invites/{invite_id}\",\r\n\tOAUTH2_APPLICATION: (appId: string) => `/oauth2/applications/${appId}` as \"/oauth2/applications/{app_id}\",\r\n\tOAUTH2_TOKEN: \"/api/oauth2/token\" as const,\r\n\tPOLL_ANSWER: (chanId: string, msgId: string, answerId: string) => `${Endpoints.CHANNEL(chanId)}/polls/${msgId}/answers/${answerId}` as `${ReturnType<typeof Endpoints.CHANNEL>}/polls/{message_id}/answers/{answer_id}`,\r\n\tPOLL_EXPIRE: (chanId: string, msgId: string) => `${Endpoints.CHANNEL(chanId)}/polls/${msgId}/expire` as `${ReturnType<typeof Endpoints.CHANNEL>}/polls/{message_id}/expire`,\r\n\tSKU_SUBSCRIPTIONS: (skuId: string) => `/skus/${skuId}/subscriptions` as \"/skus/{sku_id}/subscriptions\",\r\n\tSKU_SUBSCRIPTION: (skuId: string, subscriptionId: string) => `${Endpoints.SKU_SUBSCRIPTIONS(skuId)}/${subscriptionId}` as `${ReturnType<typeof Endpoints.SKU_SUBSCRIPTIONS>}/{subscription_id}`,\r\n\tSTAGE_INSTANCE_CHANNEL: (chanId: string) => `${Endpoints.STAGE_INSTANCES}/${chanId}` as `${typeof Endpoints.STAGE_INSTANCES}/{channel_id}`,\r\n\tSTAGE_INSTANCES: \"/stage-instances\" as const,\r\n\tSTICKER: (stickerId: string) => `/stickers/${stickerId}` as \"/stickers/{sticker_id}\",\r\n\tTEMPLATE: (code: string) => `/guilds/templates/${code}` as \"/guilds/templates/{code}\",\r\n\tUSER: (userId: string) => `${Endpoints.USERS}/${userId}` as `${typeof Endpoints.USERS}/{user_id}`,\r\n\tUSER_APPLICATION_ROLE_CONNECTION: (userId: string, appId: string) => `${Endpoints.USER(userId)}/applications/${appId}/role-connection` as `${ReturnType<typeof Endpoints.USER>}/applications/{app_id}/role-connection`,\r\n\tUSER_CHANNELS: (userId: string) => `${Endpoints.USER(userId)}/channels` as `${ReturnType<typeof Endpoints.USER>}/channels`,\r\n\tUSER_CONNECTIONS: (userId: string) => `${Endpoints.USER(userId)}/connections` as `${ReturnType<typeof Endpoints.USER>}/connections`,\r\n\tUSER_GUILD: (userId: string, guildId: string) => `${Endpoints.USER_GUILDS(userId)}/${guildId}` as `${ReturnType<typeof Endpoints.USER_GUILDS>}/{guild_id}`,\r\n\tUSER_GUILDS: (userId: string) => `${Endpoints.USER(userId)}/guilds` as `${ReturnType<typeof Endpoints.USER>}/guilds`,\r\n\tUSER_GUILD_VOICE_STATE: (guildId: string, userId: string) => `${Endpoints.GUILD(guildId)}/voice-states/${userId}` as `${ReturnType<typeof Endpoints.GUILD>}/voice-states/{user_id}`,\r\n\tUSERS: \"/users\" as const,\r\n\tVOICE_REGIONS: \"/voice/regions\" as const,\r\n\tWEBHOOK: (hookId: string) => `/webhooks/${hookId}` as \"/webhooks/{hook_id}\",\r\n\tWEBHOOK_TOKEN: (hookId: string, token: string) => `${Endpoints.WEBHOOK(hookId)}/${token}` as `${ReturnType<typeof Endpoints.WEBHOOK>}/{token}`,\r\n\tWEBHOOK_TOKEN_GITHUB: (hookId: string, token: string) => `${Endpoints.WEBHOOK_TOKEN(hookId, token)}/github` as `${ReturnType<typeof Endpoints.WEBHOOK_TOKEN>}/github`,\r\n\tWEBHOOK_TOKEN_MESSAGE: (hookId: string, token: string, msgId: string) => `/webhooks/${hookId}/${token}/messages/${msgId}` as `${ReturnType<typeof Endpoints.WEBHOOK_TOKEN>}/messages/{message_id}`,\r\n\tWEBHOOK_TOKEN_SLACK: (hookId: string, token: string) => `${Endpoints.WEBHOOK_TOKEN(hookId, token)}/slack` as `${ReturnType<typeof Endpoints.WEBHOOK_TOKEN>}/slack`,\r\n};\r\n\r\nexport = Endpoints;\r\n","/* eslint-disable no-async-promise-executor */\r\n\r\nimport fs = require(\"fs\");\r\nimport path = require(\"path\");\r\nimport { EventEmitter } from \"events\";\r\nimport crypto = require(\"crypto\");\r\n\r\nimport Endpoints = require(\"./Endpoints\");\r\nconst { version } = JSON.parse(fs.readFileSync(path.join(__dirname, \"../package.json\"), { encoding: \"utf8\" }));\r\nimport Constants = require(\"./Constants\");\r\n\r\nexport type HTTPMethod = \"get\" | \"post\" | \"patch\" | \"head\" | \"put\" | \"delete\" | \"connect\" | \"options\" | \"trace\";\r\n\r\nexport type RESTPostAPIAttachmentsRefreshURLsResult = {\r\n\trefreshed_urls: Array<{\r\n\t\toriginal: string;\r\n\t\trefreshed: string;\r\n\t}>;\r\n}\r\n\r\nexport type RatelimitInfo = {\r\n\tmessage: string;\r\n\tretry_after: number;\r\n\tglobal: boolean;\r\n\tcode?: number;\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport interface Queue {\r\n\r\n\r\n\r\n\tcalls: Array<() => any>;\r\n\r\n\r\n\r\n\trunning: boolean;\r\n\r\n\r\n\r\n\tblocked: boolean;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tenqueue<T>(fn: () => T): Promise<T>;\r\n\r\n\r\n\r\n\r\n\r\n\tsetBlocked(blocked: boolean): void;\r\n\r\n\r\n\r\n\r\n\tdrop(): void;\r\n}\r\n\r\n\r\nconst routeRegex = /\\/([a-z-]+)\\/(?:\\d+)/g;\r\nconst reactionsRegex = /\\/reactions\\/[^/]+/g;\r\nconst reactionsUserRegex = /\\/reactions\\/:id\\/[^/]+/g;\r\nconst webhooksRegex = /^\\/webhooks\\/(\\d+)\\/[A-Za-z0-9-_]{64,}/;\r\nconst isMessageEndpointRegex = /\\/messages\\/:id$/;\r\nconst isGuildChannelsRegex = /\\/guilds\\/\\d+\\/channels$/;\r\n\r\nconst disallowedBodyMethods = new Set([\"head\", \"get\", \"delete\"]);\r\n\r\n\r\n\r\n\r\nexport class DiscordAPIError extends Error {\r\n\tpublic method: string;\r\n\tpublic path: string;\r\n\tpublic code: number;\r\n\tpublic httpStatus: number;\r\n\tpublic request: RequestEventData;\r\n\tpublic response: Response;\r\n\r\n\tpublic constructor(error: { message?: string; code?: number; }, request: RequestEventData, response: Response) {\r\n\t\tsuper();\r\n\t\tthis.name = \"DiscordAPIError\";\r\n\t\tthis.message = error.message ?? String(error);\r\n\t\tthis.method = request.method;\r\n\t\tthis.path = request.endpoint;\r\n\t\tthis.code = error.code ?? 4000;\r\n\t\tthis.httpStatus = response.status;\r\n\r\n\t\tObject.defineProperties(this, {\r\n\t\t\trequest: { enumerable: false, value: request },\r\n\t\t\tresponse: { enumerable: false, value: response },\r\n\t\t});\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport class AsyncSequentialQueue implements Queue {\r\n\tpublic calls: Array<() => any> = [];\r\n\r\n\tprivate _blocked = false;\r\n\tprivate _running = false;\r\n\r\n\tpublic get blocked(): boolean {\r\n\t\treturn this._blocked;\r\n\t}\r\n\r\n\tpublic get running(): boolean {\r\n\t\treturn this._running;\r\n\t}\r\n\r\n\tpublic enqueue<T>(fn: () => T): Promise<T> {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tconst wrapped = async () => {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tresolve(await fn());\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\treject(e as Error);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.calls.push(wrapped);\r\n\t\t\tthis._tryRun();\r\n\t\t});\r\n\t}\r\n\r\n\tpublic setBlocked(blocked: boolean): void {\r\n\t\tthis._blocked = blocked;\r\n\t\tthis._tryRun();\r\n\t}\r\n\r\n\tpublic drop(): void {\r\n\t\tthis.calls.length = 0;\r\n\t\tthis._running = false;\r\n\t}\r\n\r\n\tprivate _tryRun(): void {\r\n\t\tif (this._blocked || this._running) return;\r\n\t\tthis._running = true;\r\n\t\tthis._next();\r\n\t}\r\n\r\n\tprivate async _next(): Promise<void> {\r\n\t\tif (this._blocked || !this._running) return\r\n\t\tconst cb = this.calls.shift();\r\n\t\tawait cb?.();\r\n\t\tif (this.calls.length && !this._blocked) setImmediate(() => this._next());\r\n\t\telse this._running = false;\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport class Ratelimiter<B extends typeof GlobalBucket = typeof GlobalBucket> {\r\n\r\n\r\n\r\n\tpublic buckets = new Map<string, InstanceType<B>>();\r\n\r\n\r\n\r\n\tpublic globalBucket = new LocalBucket(Constants.GLOBAL_REQUESTS_PER_SECOND, 1000);\r\n\r\n\r\n\r\n\r\n\tpublic get global() {\r\n\t\treturn this.globalBucket.remaining === 0;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public BucketConstructor: B = GlobalBucket as B) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic routify(url: string, method: string): string {\r\n\t\tlet route = url.replace(routeRegex, function (match, p: string) {\r\n\t\t\treturn p === \"channels\" || p === \"guilds\" || p === \"webhooks\" ? match : `/${p}/:id`;\r\n\t\t}).replace(reactionsRegex, \"/reactions/:id\").replace(reactionsUserRegex, \"/reactions/:id/:userId\").replace(webhooksRegex, \"/webhooks/$1/:token\");\r\n\r\n\t\tif (method === \"DELETE\" && isMessageEndpointRegex.test(route)) route = method + route;\r\n\t\telse if (method === \"GET\" && isGuildChannelsRegex.test(route)) route = \"/guilds/:id/channels\";\r\n\r\n\t\tif (method === \"PUT\" || method === \"DELETE\") {\r\n\t\t\tconst index = route.indexOf(\"/reactions\");\r\n\t\t\tif (index !== -1) route = \"MODIFY\" + route.slice(0, index + 10);\r\n\t\t}\r\n\r\n\t\treturn route;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic queue<T>(fn: (bucket: InstanceType<B>) => T, url: string, method: string): Promise<T> {\r\n\t\tconst routeKey = this.routify(url, method);\r\n\r\n\t\tlet bucket = this.buckets.get(routeKey);\r\n\t\tif (!bucket) {\r\n\t\t\tbucket = new this.BucketConstructor(this, routeKey) as InstanceType<B>;\r\n\t\t\tthis.buckets.set(routeKey, bucket);\r\n\t\t}\r\n\r\n\t\treturn new Promise<T>((resolve, reject) => {\r\n\t\t\tthis.globalBucket.enqueue(() => {\r\n\t\t\t\tbucket.enqueue(fn).then(resolve).catch(reject);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic setGlobal(ms: number): void {\r\n\t\tthis.globalBucket.remaining = 0;\r\n\t\tthis.globalBucket.queue.setBlocked(true);\r\n\t\tthis.globalBucket.makeResetTimeout(ms);\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport class LocalBucket {\r\n\r\n\r\n\r\n\tpublic queue: Queue = new AsyncSequentialQueue();\r\n\r\n\r\n\r\n\tpublic remaining: number;\r\n\r\n\tprivate resetTimeout: NodeJS.Timeout | null = null;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public limit = 5, public reset = 5000, remaining?: number) {\r\n\t\tthis.remaining = remaining ?? limit;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic enqueue<T>(fn: (bkt: this) => T): Promise<T> {\r\n\t\treturn this.queue.enqueue<T>(() => {\r\n\t\t\tthis.remaining--;\r\n\t\t\tif (this.remaining === 0) this.queue.setBlocked(true);\r\n\t\t\tif (!this.resetTimeout) this.makeResetTimeout(this.reset);\r\n\r\n\t\t\treturn fn(this);\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic makeResetTimeout(ms: number): void {\r\n\t\tif (this.resetTimeout) clearTimeout(this.resetTimeout);\r\n\t\tthis.resetTimeout = setTimeout(() => this.resetRemaining(), ms).unref();\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic resetRemaining(): void {\r\n\t\tif (this.resetTimeout) clearTimeout(this.resetTimeout);\r\n\t\tthis.resetTimeout = null;\r\n\r\n\t\tthis.remaining = this.limit;\r\n\t\tthis.queue.setBlocked(false);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic dropQueue(): void {\r\n\t\tthis.queue.drop();\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport class GlobalBucket extends LocalBucket {\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public readonly ratelimiter: Ratelimiter, public readonly routeKey: string, limit = 5, reset = 5000, remaining?: number) {\r\n\t\tsuper(limit, reset, remaining);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic resetRemaining(): void {\r\n\t\tif (!this.queue.calls.length) this.ratelimiter.buckets.delete(this.routeKey);\r\n\t\tsuper.resetRemaining();\r\n\t}\r\n}\r\n\r\nexport type RequestEventData = {\r\n\tendpoint: string;\r\n\tmethod: string;\r\n\tdataType: \"json\" | \"multipart\";\r\n\tdata: any;\r\n};\r\n\r\nexport type HandlerEvents = {\r\n\trequest: [string, RequestEventData];\r\n\tdone: [string, Response, RequestEventData];\r\n\trequestError: [string, Error];\r\n\trateLimit: [{ timeout: number; remaining: number; limit: number; method: string; path: string; route: string; }];\r\n}\r\n\r\nexport interface RequestHandler {\r\n\taddListener<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;\r\n\temit<E extends keyof HandlerEvents>(event: E, ...args: HandlerEvents[E]): boolean;\r\n\teventNames(): Array<keyof HandlerEvents>;\r\n\tlistenerCount(event: keyof HandlerEvents): number;\r\n\tlisteners(event: keyof HandlerEvents): Array<(...args: Array<any>) => any>;\r\n\toff<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;\r\n\ton<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;\r\n\tonce<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;\r\n\tprependListener<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;\r\n\tprependOnceListener<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;\r\n\trawListeners(event: keyof HandlerEvents): Array<(...args: Array<any>) => any>;\r\n\tremoveAllListeners(event?: keyof HandlerEvents): this;\r\n\tremoveListener<E extends keyof HandlerEvents>(event: E, listener: (...args: HandlerEvents[E]) => any): this;\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport class RequestHandler extends EventEmitter {\r\n\tpublic options: {\r\n\r\n\t\tbaseHost: string;\r\n\r\n\t\tbaseURL: string;\r\n\r\n\t\tbypassBuckets: boolean;\r\n\r\n\t\tretryFailed: boolean;\r\n\r\n\t\tretryLimit: number;\r\n\t\theaders: { Authorization?: string; \"User-Agent\": string; }\r\n\t};\r\n\tpublic latency: number;\r\n\tpublic apiURL: string;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public ratelimiter: Ratelimiter, options?: { token?: string; } & Partial<Omit<RequestHandler[\"options\"], \"headers\">>) {\r\n\t\tsuper();\r\n\r\n\t\tthis.options = {\r\n\t\t\tbaseHost: options?.baseHost ?? Endpoints.BASE_HOST,\r\n\t\t\tbaseURL: options?.baseURL ?? Endpoints.BASE_URL,\r\n\t\t\tbypassBuckets: options?.bypassBuckets ?? false,\r\n\t\t\tretryFailed: options?.retryFailed ?? false,\r\n\t\t\tretryLimit: options?.retryLimit ?? Constants.DEFAULT_RETRY_LIMIT,\r\n\t\t\theaders: {\r\n\t\t\t\t\"User-Agent\": `Discordbot (https:\r\n\t\t\t}\r\n\t\t};\r\n\t\tif (options?.token) this.options.headers.Authorization = options.token;\r\n\r\n\t\tthis.apiURL = this.options.baseHost + Endpoints.BASE_URL;\r\n\t\tthis.latency = 500;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic request(endpoint: string, params: Record<string, any> | undefined, method: HTTPMethod, dataType: \"json\", data?: any, extraHeaders?: Record<string, string>, retries?: number): Promise<any>\r\n\tpublic request(endpoint: string, params: Record<string, any> | undefined, method: HTTPMethod, dataType: \"multipart\", data?: FormData, extraHeaders?: Record<string, string>, retries?: number): Promise<any>\r\n\tpublic request(endpoint: string, params: Record<string, any> = {}, method: HTTPMethod, dataType: \"json\" | \"multipart\", data?: any, extraHeaders?: Record<string, string>, retries = this.options.retryLimit): Promise<any> {\r\n\r\n\t\treturn new Promise(async (resolve, reject) => {\r\n\t\t\tconst fn = async (bkt?: GlobalBucket | undefined) => {\r\n\t\t\t\tconst reqId = crypto.randomBytes(20).toString(\"hex\");\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst request = { endpoint, method: method.toUpperCase(), dataType, data: data ?? {} };\r\n\t\t\t\t\tthis.emit(\"request\", reqId, request);\r\n\r\n\t\t\t\t\tconst before = Date.now();\r\n\r\n\t\t\t\t\tlet response: Response;\r\n\t\t\t\t\tswitch (dataType) {\r\n\t\t\t\t\tcase \"json\":\r\n\t\t\t\t\t\tresponse = await this._request(endpoint, params, method, data, extraHeaders);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"multipart\":\r\n\t\t\t\t\t\tif (!data) throw new Error(\"No multipart data\");\r\n\t\t\t\t\t\tresponse = await this._multiPartRequest(endpoint, params, method, data, extraHeaders);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tthrow new Error(\"Forbidden dataType. Use json or multipart or ensure multipart has FormData\");\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.latency = Date.now() - before;\r\n\r\n\t\t\t\t\tif (bkt) this._applyRatelimitHeaders(bkt, response.headers);\r\n\r\n\t\t\t\t\tif (response.status && !Constants.OK_STATUS_CODES.has(response.status) && response.status !== 429) {\r\n\t\t\t\t\t\tif (this.options.retryFailed && !Constants.DO_NOT_RETRY_STATUS_CODES.has(response.status) && retries !== 0) return this.request(endpoint, params, method, dataType as any, data, extraHeaders, retries--).then(resolve).catch(reject);\r\n\t\t\t\t\t\tthrow new DiscordAPIError({ message: await response.text() }, request, response);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (response.status === 429) {\r\n\t\t\t\t\t\tconst b = await response.json() as RatelimitInfo;\r\n\t\t\t\t\t\tif (b.global) this.ratelimiter.setGlobal(b.retry_after * 1000);\r\n\t\t\t\t\t\telse bkt?.queue.setBlocked(true);\r\n\r\n\t\t\t\t\t\tthis.emit(\"rateLimit\", {\r\n\t\t\t\t\t\t\ttimeout: bkt?.reset ?? b.retry_after * 1000,\r\n\t\t\t\t\t\t\tremaining: 0,\r\n\t\t\t\t\t\t\tlimit: bkt?.limit ?? Infinity,\r\n\t\t\t\t\t\t\tmethod: method.toUpperCase(),\r\n\t\t\t\t\t\t\tpath: endpoint,\r\n\t\t\t\t\t\t\troute: bkt?.routeKey ?? this.ratelimiter.routify(endpoint, method.toUpperCase())\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tthrow new DiscordAPIError({ message: b.message, code: b.code ?? 429 }, request, response);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.emit(\"done\", reqId, response, request);\r\n\r\n\t\t\t\t\tif (response.body) {\r\n\t\t\t\t\t\tlet b: any;\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tb = await response.json();\r\n\t\t\t\t\t\t} catch {\r\n\t\t\t\t\t\t\treturn resolve(undefined);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn resolve(b);\r\n\t\t\t\t\t} else return resolve(undefined);\r\n\t\t\t\t} catch (error) {\r\n\r\n\t\t\t\t\tthis.emit(\"requestError\", reqId, error);\r\n\t\t\t\t\treturn reject(error as Error);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tif (this.options.bypassBuckets) fn();\r\n\t\t\telse this.ratelimiter.queue(fn, endpoint, method.toUpperCase());\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tprivate _applyRatelimitHeaders(bkt: GlobalBucket, headers: Headers): void {\r\n\t\tconst remaining = headers.get(\"x-ratelimit-remaining\");\r\n\t\tconst limit = headers.get(\"x-ratelimit-limit\");\r\n\t\tconst resetAfter = headers.get(\"x-ratelimit-reset-after\");\r\n\r\n\t\tif (remaining) bkt.remaining = parseInt(remaining);\r\n\t\tif (limit) bkt.limit = parseInt(limit);\r\n\t\tif (resetAfter) {\r\n\t\t\tbkt.reset = parseFloat(resetAfter) * 1000;\r\n\t\t\tbkt.makeResetTimeout(bkt.reset);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tprivate async _request(endpoint: string, params: Record<string, any> = {}, method: HTTPMethod, data?: any, extraHeaders?: Record<string, string>): Promise<Response> {\r\n\t\tconst headers = { ...this.options.headers, ...extraHeaders };\r\n\t\tif (typeof data !== \"string\" && data?.reason) {\r\n\t\t\theaders[\"X-Audit-Log-Reason\"] = encodeURIComponent(data.reason);\r\n\t\t\tdelete data.reason;\r\n\t\t}\r\n\r\n\t\tlet body: string | undefined = undefined;\r\n\t\tif (!disallowedBodyMethods.has(method)) {\r\n\t\t\tif (typeof data === \"object\") body = JSON.stringify(data);\r\n\t\t\telse body = String(data);\r\n\t\t}\r\n\r\n\t\theaders[\"Content-Type\"] = \"application/json\";\r\n\r\n\t\treturn fetch(`${this.apiURL}${endpoint}${appendQuery(params)}`, {\r\n\t\t\tmethod: method.toUpperCase(),\r\n\t\t\theaders,\r\n\t\t\tbody\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tprivate async _multiPartRequest(endpoint: string, params: Record<string, any> = {}, method: HTTPMethod, data: FormData, extraHeaders?: Record<string, string>): Promise<Response> {\r\n\t\tconst headers = { ...this.options.headers, ...extraHeaders };\r\n\r\n\t\treturn fetch(`${this.apiURL}${endpoint}${appendQuery(params)}`, {\r\n\t\t\tmethod: method.toUpperCase(),\r\n\t\t\theaders,\r\n\t\t\tbody: data\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction appendQuery(query: Record<string, any>): string {\r\n\tlet count = 0;\r\n\tfor (const [key, value] of Object.entries(query)) {\r\n\t\tif (value == undefined) delete query[key];\r\n\t\telse count++;\r\n\t}\r\n\r\n\treturn count > 0 ? `?${new URLSearchParams(query).toString()}` : \"\";\r\n}\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTGetAPIAuditLogQuery,\r\n\tRESTGetAPIAuditLogResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass AuditLogMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getAuditLog(guildId: string, options?: RESTGetAPIAuditLogQuery): Promise<RESTGetAPIAuditLogResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_AUDIT_LOGS(guildId), options, \"get\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = AuditLogMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTGetAPIAutoModerationRulesResult,\r\n\tRESTGetAPIAutoModerationRuleResult,\r\n\tRESTPostAPIAutoModerationRuleJSONBody,\r\n\tRESTPostAPIAutoModerationRuleResult,\r\n\tRESTPatchAPIAutoModerationRuleJSONBody,\r\n\tRESTPatchAPIAutoModerationRuleResult,\r\n\tRESTDeleteAPIAutoModerationRuleResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass AutoModerationMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getAutoModerationRules(guildId: string): Promise<RESTGetAPIAutoModerationRulesResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_AUTO_MOD_RULES(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getAutoModerationRule(guildId: string, ruleId: string): Promise<RESTGetAPIAutoModerationRuleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_AUTO_MOD_RULE(guildId, ruleId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createAutoModerationRule(guildId: string, data: RESTPostAPIAutoModerationRuleJSONBody & { reason?: string }): Promise<RESTPostAPIAutoModerationRuleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_AUTO_MOD_RULES(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editAutoModerationRule(guildId: string, ruleId: string, data: RESTPatchAPIAutoModerationRuleJSONBody & { reason?: string }): Promise<RESTPatchAPIAutoModerationRuleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_AUTO_MOD_RULE(guildId, ruleId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteAutoModerationRule(guildId: string, ruleId: string, reason?: string): Promise<RESTDeleteAPIAutoModerationRuleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_AUTO_MOD_RULE(guildId, ruleId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIAutoModerationRuleResult;\r\n\t}\r\n}\r\n\r\nexport = AutoModerationMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTGetAPIGatewayBotResult,\r\n\tRESTGetAPIGatewayResult,\r\n\tAPIApplication,\r\n\tRESTPatchCurrentApplicationJSONBody\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass BotMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGateway(): Promise<RESTGetAPIGatewayResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GATEWAY, {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGatewayBot(): Promise<RESTGetAPIGatewayBotResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GATEWAY_BOT, {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getApplicationInfo(): Promise<APIApplication> {\r\n\t\treturn this.requestHandler.request(Endpoints.OAUTH2_APPLICATION(\"@me\"), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateApplicationInfo(data: RESTPatchCurrentApplicationJSONBody): Promise<APIApplication> {\r\n\t\treturn this.requestHandler.request(Endpoints.OAUTH2_APPLICATION(\"@me\"), {}, \"patch\", \"json\", data);\r\n\t}\r\n}\r\n\r\nexport = BotMethods;\r\n","import type { RequestHandler as RH, RESTPostAPIAttachmentsRefreshURLsResult } from \"../RequestHandler\";\r\nimport type ST = require(\"../SnowTransfer\");\r\n\r\nimport Endpoints = require(\"../Endpoints\");\r\nimport Constants = require(\"../Constants\");\r\n\r\nimport {\r\n\ttype APITextBasedChannel,\r\n\ttype APIThreadChannel,\r\n\ttype ChannelType,\r\n\ttype RESTDeleteAPIChannelAllMessageReactionsResult,\r\n\ttype RESTDeleteAPIChannelMessageReactionResult,\r\n\ttype RESTDeleteAPIChannelMessageResult,\r\n\ttype RESTDeleteAPIChannelMessageUserReactionResult,\r\n\ttype RESTDeleteAPIChannelPermissionResult,\r\n\ttype RESTDeleteAPIChannelPinResult,\r\n\ttype RESTDeleteAPIChannelResult,\r\n\ttype RESTDeleteAPIChannelThreadMembersResult,\r\n\ttype RESTGetAPIChannelInvitesResult,\r\n\ttype RESTGetAPIChannelMessageReactionUsersQuery,\r\n\ttype RESTGetAPIChannelMessageReactionUsersResult,\r\n\ttype RESTGetAPIChannelMessageResult,\r\n\ttype RESTGetAPIChannelMessagesQuery,\r\n\ttype RESTGetAPIChannelMessagesResult,\r\n\ttype RESTGetAPIChannelPinsResult,\r\n\ttype RESTGetAPIChannelResult,\r\n\ttype RESTGetAPIChannelThreadMemberResult,\r\n\ttype RESTGetAPIChannelThreadMembersQuery,\r\n\ttype RESTGetAPIChannelThreadMembersResult,\r\n\ttype RESTGetAPIChannelThreadsArchivedPrivateResult,\r\n\ttype RESTGetAPIChannelThreadsArchivedPublicResult,\r\n\ttype RESTGetAPIChannelThreadsArchivedQuery,\r\n\ttype RESTGetAPIChannelUsersThreadsArchivedResult,\r\n\ttype RESTPatchAPIChannelJSONBody,\r\n\ttype RESTPatchAPIChannelMessageJSONBody,\r\n\ttype RESTPatchAPIChannelMessageResult,\r\n\ttype RESTPatchAPIChannelResult,\r\n\ttype RESTPostAPIChannelFollowersResult,\r\n\ttype RESTPostAPIChannelInviteJSONBody,\r\n\ttype RESTPostAPIChannelInviteResult,\r\n\ttype RESTPostAPIChannelMessageCrosspostResult,\r\n\ttype RESTPostAPIChannelMessageJSONBody,\r\n\ttype RESTPostAPIChannelMessageResult,\r\n\ttype RESTPostAPIChannelMessagesBulkDeleteResult,\r\n\ttype RESTPostAPIChannelMessagesThreadsJSONBody,\r\n\ttype RESTPostAPIChannelMessagesThreadsResult,\r\n\ttype RESTPostAPIChannelThreadsJSONBody,\r\n\ttype RESTPostAPIChannelTypingResult,\r\n\ttype RESTPutAPIChannelMessageReactionResult,\r\n\ttype RESTPutAPIChannelPermissionJSONBody,\r\n\ttype RESTPutAPIChannelPermissionResult,\r\n\ttype RESTPutAPIChannelPinResult,\r\n\ttype RESTPutAPIChannelThreadMembersResult,\r\n\ttype RESTGetAPIPollAnswerVotersQuery,\r\n\ttype RESTGetAPIPollAnswerVotersResult,\r\n\ttype RESTPostAPIPollExpireResult,\r\n\tMessageReferenceType\r\n} from \"discord-api-types/v10\";\r\n\r\nimport type { Readable } from \"stream\";\r\nimport type { ReadableStream } from \"stream/web\";\r\n\r\n\r\n\r\n\r\n\r\nclass ChannelMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH, public options: ST.Options) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannel(channelId: string): Promise<RESTGetAPIChannelResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL(channelId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateChannel(channelId: string, data: Omit<RESTPatchAPIChannelJSONBody, \"archived\" | \"auto_archive_duration\" | \"locked\" | \"invitable\"> & { reason?: string; }): Promise<Exclude<RESTPatchAPIChannelResult, APIThreadChannel>>;\r\n\tpublic async updateChannel(channelId: string, data: Pick<RESTPatchAPIChannelJSONBody, \"archived\" | \"auto_archive_duration\" | \"locked\" | \"name\" | \"rate_limit_per_user\"> & { reason?: string; }): Promise<Extract<RESTPatchAPIChannelResult, APIThreadChannel>>;\r\n\tpublic async updateChannel(channelId: string, data: RESTPatchAPIChannelJSONBody & { reason?: string; }): Promise<RESTPatchAPIChannelResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL(channelId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteChannel(channelId: string, reason?: string): Promise<RESTDeleteAPIChannelResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL(channelId), {}, \"delete\", \"json\", { reason });\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelMessages(channelId: string, options: RESTGetAPIChannelMessagesQuery = { limit: 50 }): Promise<RESTGetAPIChannelMessagesResult> {\r\n\t\tif (options.around) {\r\n\t\t\tdelete options.before;\r\n\t\t\tdelete options.after;\r\n\t\t} else if (options.before) {\r\n\t\t\tdelete options.around;\r\n\t\t\tdelete options.after;\r\n\t\t} else if (options.after) {\r\n\t\t\tdelete options.before;\r\n\t\t\tdelete options.around;\r\n\t\t}\r\n\t\tif (options.limit !== undefined && (options.limit < Constants.GET_CHANNEL_MESSAGES_MIN_RESULTS || options.limit > Constants.GET_CHANNEL_MESSAGES_MAX_RESULTS)) throw new RangeError(`Amount of messages that may be requested has to be between ${Constants.GET_CHANNEL_MESSAGES_MIN_RESULTS} and ${Constants.GET_CHANNEL_MESSAGES_MAX_RESULTS}`);\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGES(channelId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelMessage(channelId: string, messageId: string): Promise<RESTGetAPIChannelMessageResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE(channelId, messageId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createMessage(channelId: string, data: string | RESTPostAPIChannelMessageJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }, options: { disableEveryone?: boolean; } = { disableEveryone: this.options.disableEveryone }): Promise<RESTPostAPIChannelMessageResult> {\r\n\t\tif (typeof data !== \"string\" && !data.content && (!data.message_reference || (data.message_reference && data.message_reference.type === MessageReferenceType.Default)) && !data.embeds && !data.sticker_ids && !data.components && !data.files && !data.poll) throw new Error(\"Missing content, message_reference type 1, embeds, sticker_ids, components, files, or poll\");\r\n\t\tif (typeof data === \"string\") data = { content: data };\r\n\r\n\r\n\t\tif (data.content && (options.disableEveryone ?? this.options.disableEveryone)) data.content = Constants.replaceEveryone(data.content);\r\n\t\tdata.allowed_mentions ??= this.options.allowed_mentions;\r\n\r\n\t\tif (data.files) return this.requestHandler.request(Endpoints.CHANNEL_MESSAGES(channelId), {}, \"post\", \"multipart\", await Constants.standardMultipartHandler(data as Parameters<typeof Constants[\"standardMultipartHandler\"]>[\"0\"]));\r\n\t\telse return this.requestHandler.request(Endpoints.CHANNEL_MESSAGES(channelId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createVoiceMessage(channelId: string, data: Buffer, audioDurationSeconds: number, waveform = \"\"): Promise<RESTPostAPIChannelMessageResult> {\r\n\r\n\t\tconst { upload_url, upload_filename } = await this.requestHandler.request(Endpoints.CHANNEL_ATTACHMENTS(channelId), {}, \"post\", \"json\", {\r\n\t\t\tfiles: [{\r\n\t\t\t\tid: \"69420\",\r\n\t\t\t\tfilename: \"voice-message.ogg\",\r\n\t\t\t\tfile_size: data.byteLength\r\n\t\t\t}]\r\n\t\t}).then(d => d.attachments[0]);\r\n\r\n\r\n\t\tawait fetch(upload_url, { method: \"PUT\", body: data });\r\n\r\n\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGES(channelId), {}, \"post\", \"json\", {\r\n\t\t\tattachments: [{\r\n\t\t\t\tid: \"42069\",\r\n\t\t\t\tuploaded_filename: upload_filename,\r\n\t\t\t\tfilename: \"voice-message.ogg\",\r\n\t\t\t\tduration_secs: audioDurationSeconds,\r\n\t\t\t\twaveform\r\n\t\t\t}],\r\n\t\t\tflags: 1 << 13\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async crosspostMessage(channelId: string, messageId: string): Promise<RESTPostAPIChannelMessageCrosspostResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE_CROSSPOST(channelId, messageId), {}, \"post\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createReaction(channelId: string, messageId: string, emoji: string): Promise<RESTPutAPIChannelMessageReactionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE_REACTION_USER(channelId, messageId, emoji, \"@me\"), {}, \"put\", \"json\") as RESTPutAPIChannelMessageReactionResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteReactionSelf(channelId: string, messageId: string, emoji: string): Promise<RESTDeleteAPIChannelMessageUserReactionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE_REACTION_USER(channelId, messageId, emoji, \"@me\"), {}, \"delete\", \"json\") as RESTDeleteAPIChannelMessageUserReactionResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteReaction(channelId: string, messageId: string, emoji: string): Promise<RESTDeleteAPIChannelMessageReactionResult>;\r\n\tpublic async deleteReaction(channelId: string, messageId: string, emoji: string, userId: string): Promise<RESTDeleteAPIChannelMessageUserReactionResult>;\r\n\tpublic async deleteReaction(channelId: string, messageId: string, emoji: string, userId?: string): Promise<RESTDeleteAPIChannelMessageReactionResult | RESTDeleteAPIChannelMessageUserReactionResult> {\r\n\t\treturn this.requestHandler.request(userId ? Endpoints.CHANNEL_MESSAGE_REACTION_USER(channelId, messageId, emoji, userId) : Endpoints.CHANNEL_MESSAGE_REACTION(channelId, messageId, emoji), {}, \"delete\", \"json\") as never;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getReactions(channelId: string, messageId: string, emoji: string, options?: RESTGetAPIChannelMessageReactionUsersQuery): Promise<RESTGetAPIChannelMessageReactionUsersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE_REACTION(channelId, messageId, emoji), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteAllReactions(channelId: string, messageId: string): Promise<RESTDeleteAPIChannelAllMessageReactionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE_REACTIONS(channelId, messageId), {}, \"delete\", \"json\") as RESTDeleteAPIChannelAllMessageReactionsResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editMessage(channelId: string, messageId: string, data: string | RESTPatchAPIChannelMessageJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }, options: { disableEveryone?: boolean; } = { disableEveryone: this.options.disableEveryone }): Promise<RESTPatchAPIChannelMessageResult> {\r\n\t\tif (typeof data === \"string\") data = { content: data };\r\n\r\n\r\n\t\tif (data.content && (options.disableEveryone ?? this.options.disableEveryone)) data.content = Constants.replaceEveryone(data.content);\r\n\t\tif (data.content || data.components) data.allowed_mentions ??= this.options.allowed_mentions;\r\n\r\n\t\tif (data.files) return this.requestHandler.request(Endpoints.CHANNEL_MESSAGE(channelId, messageId), {}, \"patch\", \"multipart\", await Constants.standardMultipartHandler(data as Parameters<typeof Constants[\"standardMultipartHandler\"]>[\"0\"]));\r\n\t\telse return this.requestHandler.request(Endpoints.CHANNEL_MESSAGE(channelId, messageId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteMessage(channelId: string, messageId: string, reason?: string): Promise<RESTDeleteAPIChannelMessageResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE(channelId, messageId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIChannelMessageResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async bulkDeleteMessages(channelId: string, messages: Array<string>, reason?: string): Promise<RESTPostAPIChannelMessagesBulkDeleteResult> {\r\n\t\tif (messages.length < Constants.BULK_DELETE_MESSAGES_MIN || messages.length > Constants.BULK_DELETE_MESSAGES_MAX) throw new RangeError(`Amount of messages to be deleted has to be between ${Constants.BULK_DELETE_MESSAGES_MIN} and ${Constants.BULK_DELETE_MESSAGES_MAX}`);\r\n\r\n\t\tconst oldestSnowflake = BigInt(Date.now() - 1421280000000) * (BigInt(2) ** BigInt(22));\r\n\t\tconst forbiddenMessage = messages.find(m => BigInt(m) < oldestSnowflake);\r\n\t\tif (forbiddenMessage) throw new Error(`The message ${forbiddenMessage} is older than 2 weeks and may not be deleted using the bulk delete endpoint`);\r\n\t\tconst data = { messages };\r\n\t\tif (reason) Object.assign(data, { reason });\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_BULK_DELETE(channelId), {}, \"post\", \"json\", data) as RESTPostAPIChannelMessagesBulkDeleteResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editChannelPermission(channelId: string, permissionId: string, data: RESTPutAPIChannelPermissionJSONBody & { reason?: string; }): Promise<RESTPutAPIChannelPermissionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_PERMISSION(channelId, permissionId), {}, \"put\", \"json\", data) as RESTPutAPIChannelPermissionResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelInvites(channelId: string): Promise<RESTGetAPIChannelInvitesResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_INVITES(channelId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createChannelInvite(channelId: string, data: RESTPostAPIChannelInviteJSONBody & { reason?: string; } = { max_age: 86400, max_uses: 0, temporary: false, unique: false }): Promise<RESTPostAPIChannelInviteResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_INVITES(channelId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteChannelPermission(channelId: string, permissionId: string, reason?: string): Promise<RESTDeleteAPIChannelPermissionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_PERMISSION(channelId, permissionId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIChannelPermissionResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async followAnnouncementChannel(channelId: string, webhookChannelId: string): Promise<RESTPostAPIChannelFollowersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_FOLLOWERS(channelId), {}, \"post\", \"json\", { webhook_channel_id: webhookChannelId });\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async startChannelTyping(channelId: string): Promise<RESTPostAPIChannelTypingResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_TYPING(channelId), {}, \"post\", \"json\") as RESTPostAPIChannelTypingResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelPinnedMessages(channelId: string): Promise<RESTGetAPIChannelPinsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_PINS(channelId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async addChannelPinnedMessage(channelId: string, messageId: string, reason?: string): Promise<RESTPutAPIChannelPinResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_PIN(channelId, messageId), {}, \"put\", \"json\", { reason }) as RESTPutAPIChannelPinResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeChannelPinnedMessage(channelId: string, messageId: string, reason?: string): Promise<RESTDeleteAPIChannelPinResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_PIN(channelId, messageId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIChannelPinResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createThreadWithMessage(channelId: string, messageId: string, options: RESTPostAPIChannelMessagesThreadsJSONBody & { reason?: string; }): Promise<RESTPostAPIChannelMessagesThreadsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE_THREADS(channelId, messageId), {}, \"post\", \"json\", options);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createThreadWithoutMessage(channelId: string, options: Omit<RESTPostAPIChannelThreadsJSONBody, \"type\"> & { type: 10; reason?: string; }): Promise<APITextBasedChannel<ChannelType.AnnouncementThread>>;\r\n\tpublic async createThreadWithoutMessage(channelId: string, options: Omit<RESTPostAPIChannelThreadsJSONBody, \"type\"> & { type: 11; reason?: string; }): Promise<APITextBasedChannel<ChannelType.PublicThread>>;\r\n\tpublic async createThreadWithoutMessage(channelId: string, options: Omit<RESTPostAPIChannelThreadsJSONBody, \"type\"> & { type: 12; reason?: string; }): Promise<APITextBasedChannel<ChannelType.PrivateThread>>;\r\n\tpublic async createThreadWithoutMessage(channelId: string, options: RESTPostAPIChannelThreadsJSONBody & { reason?: string; }): Promise<APITextBasedChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread>> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREADS(channelId), {}, \"post\", \"json\", options);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async joinThread(threadId: string): Promise<RESTPutAPIChannelThreadMembersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREAD_MEMBER(threadId, \"@me\"), {}, \"put\", \"json\") as RESTPutAPIChannelThreadMembersResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async addThreadMember(threadId: string, userId: string): Promise<RESTPutAPIChannelThreadMembersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREAD_MEMBER(threadId, userId), {}, \"put\", \"json\") as RESTPutAPIChannelThreadMembersResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async leaveThread(threadId: string): Promise<RESTDeleteAPIChannelThreadMembersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREAD_MEMBER(threadId, \"@me\"), {}, \"delete\", \"json\") as RESTDeleteAPIChannelThreadMembersResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeThreadMember(threadId: string, userId: string): Promise<RESTDeleteAPIChannelThreadMembersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREAD_MEMBER(threadId, userId), {}, \"delete\", \"json\") as RESTDeleteAPIChannelThreadMembersResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getThreadMember(threadId: string, userId: string, withMember?: boolean): Promise<RESTGetAPIChannelThreadMemberResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREAD_MEMBER(threadId, userId), { with_member: withMember }, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getThreadMembers(channelId: string, options?: RESTGetAPIChannelThreadMembersQuery): Promise<RESTGetAPIChannelThreadMembersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREAD_MEMBERS(channelId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelArchivedPublicThreads(channelId: string, options?: RESTGetAPIChannelThreadsArchivedQuery): Promise<RESTGetAPIChannelThreadsArchivedPublicResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREADS_ARCHIVED_PUBLIC(channelId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelArchivedPrivateThreads(channelId: string, options?: RESTGetAPIChannelThreadsArchivedQuery): Promise<RESTGetAPIChannelThreadsArchivedPrivateResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREADS_ARCHIVED_PRIVATE(channelId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelArchivedPrivateThreadsUser(channelId: string, options?: RESTGetAPIChannelThreadsArchivedQuery): Promise<RESTGetAPIChannelUsersThreadsArchivedResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREADS_ARCHIVED_PRIVATE_USER(channelId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async refreshAttachmentURLs(attachments: string | Array<string>): Promise<RESTPostAPIAttachmentsRefreshURLsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.ATTACHMENTS_REFRESH_URLS, {}, \"post\", \"json\", {\r\n\t\t\tattachment_urls: Array.isArray(attachments) ? attachments : [attachments]\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getPollAnswerVoters(channelId: string, messageId: string, answerId: string, options?: RESTGetAPIPollAnswerVotersQuery): Promise<RESTGetAPIPollAnswerVotersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.POLL_ANSWER(channelId, messageId, answerId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async endPoll(channelId: string, messageId: string): Promise<RESTPostAPIPollExpireResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.POLL_EXPIRE(channelId, messageId), {}, \"post\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = ChannelMethods;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import Constants = require(\"../Constants\");\r\nimport Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPIGuildEmojiResult,\r\n\tRESTDeleteAPIGuildStickerResult,\r\n\tRESTGetAPIApplicationEmojisResult,\r\n\tRESTGetAPIApplicationEmojiResult,\r\n\tRESTGetAPIGuildEmojiResult,\r\n\tRESTGetAPIGuildEmojisResult,\r\n\tRESTGetAPIGuildStickerResult,\r\n\tRESTGetAPIGuildStickersResult,\r\n\tRESTGetAPIStickerResult,\r\n\tRESTPatchAPIGuildEmojiJSONBody,\r\n\tRESTPatchAPIGuildEmojiResult,\r\n\tRESTPatchAPIGuildStickerJSONBody,\r\n\tRESTPatchAPIGuildStickerResult,\r\n\tRESTPostAPIGuildEmojiJSONBody,\r\n\tRESTPostAPIGuildEmojiResult,\r\n\tRESTPostAPIGuildStickerFormDataBody,\r\n\tRESTPostAPIGuildStickerResult,\r\n\tRESTPostAPIApplicationEmojiResult,\r\n\tRESTPostAPIApplicationEmojiJSONBody,\r\n\tRESTPatchAPIApplicationEmojiJSONBody,\r\n\tRESTPatchAPIApplicationEmojiResult,\r\n\tRESTDeleteAPIApplicationEmojiResult\r\n} from \"discord-api-types/v10\";\r\n\r\nimport type { Blob } from \"buffer\";\r\n\r\nimport type { Readable } from \"stream\";\r\nimport type { ReadableStream } from \"stream/web\";\r\n\r\n\r\n\r\n\r\n\r\nclass AssetsMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildEmojis(guildId: string): Promise<RESTGetAPIGuildEmojisResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_EMOJIS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildEmoji(guildId: string, emojiId: string): Promise<RESTGetAPIGuildEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_EMOJI(guildId, emojiId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildEmoji(guildId: string, data: RESTPostAPIGuildEmojiJSONBody & { reason?: string; }): Promise<RESTPostAPIGuildEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_EMOJIS(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuildEmoji(guildId: string, emojiId: string, data: RESTPatchAPIGuildEmojiJSONBody & { reason?: string; }): Promise<RESTPatchAPIGuildEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_EMOJI(guildId, emojiId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteGuildEmoji(guildId: string, emojiId: string, reason?: string): Promise<RESTDeleteAPIGuildEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_EMOJI(guildId, emojiId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildEmojiResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getSticker(stickerId: string): Promise<RESTGetAPIStickerResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.STICKER(stickerId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildStickers(guildId: string): Promise<RESTGetAPIGuildStickersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_STICKERS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildSticker(guildId: string, stickerId: string): Promise<RESTGetAPIGuildStickerResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_STICKER(guildId, stickerId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildSticker(guildId: string, data: RESTPostAPIGuildStickerFormDataBody & { file: Buffer | Blob | File | Readable | ReadableStream; reason?: string; }): Promise<RESTPostAPIGuildStickerResult> {\r\n\t\tconst form = new FormData();\r\n\t\tconst reason = data.reason;\r\n\t\tif (data.reason) delete data.reason;\r\n\r\n\t\tfor (const key of Object.keys(data)) {\r\n\t\t\tawait Constants.standardAddToFormHandler(form, key, data[key]);\r\n\t\t}\r\n\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_STICKERS(guildId), {}, \"post\", \"multipart\", form, reason ? { \"X-Audit-Log-Reason\": reason } : undefined);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuildSticker(guildId: string, stickerId: string, data: RESTPatchAPIGuildStickerJSONBody & { reason?: string; }): Promise<RESTPatchAPIGuildStickerResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_STICKER(guildId, stickerId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteGuildSticker(guildId: string, stickerId: string, reason?: string): Promise<RESTDeleteAPIGuildStickerResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_STICKER(guildId, stickerId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildStickerResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getAppEmojis(appId: string): Promise<RESTGetAPIApplicationEmojisResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_EMOJIS(appId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getAppEmoji(appId: string, emojiId: string): Promise<RESTGetAPIApplicationEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_EMOJI(appId, emojiId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createAppEmoji(appId: string, data: RESTPostAPIApplicationEmojiJSONBody): Promise<RESTPostAPIApplicationEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_EMOJIS(appId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateAppEmoji(appId: string, emojiId: string, data: RESTPatchAPIApplicationEmojiJSONBody): Promise<RESTPatchAPIApplicationEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_EMOJI(appId, emojiId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteAppEmoji(appId: string, emojiId: string): Promise<RESTDeleteAPIApplicationEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_EMOJI(appId, emojiId), {}, \"delete\", \"json\") as Promise<RESTDeleteAPIApplicationEmojiResult>;\r\n\t}\r\n}\r\n\r\nexport = AssetsMethods;\r\n","import type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport Endpoints = require(\"../Endpoints\");\r\n\r\nimport type {\r\n\tRESTGetAPIEntitlementsResult,\r\n\tRESTGetAPIEntitlementResult,\r\n\tRESTPostAPIEntitlementConsumeResult,\r\n\tRESTPostAPIEntitlementJSONBody,\r\n\tRESTPostAPIEntitlementResult,\r\n\tRESTDeleteAPIEntitlementResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass EntitlementMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getEntitlements(appId: string): Promise<RESTGetAPIEntitlementsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_ENTITLEMENTS(appId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getEntitlement(appId: string, entitlementId: string): Promise<RESTGetAPIEntitlementResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_ENTITLEMENT(appId, entitlementId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async consumeEntitlement(appId: string, entitlementId: string): Promise<RESTPostAPIEntitlementConsumeResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_ENTITLEMENT_CONSUME(appId, entitlementId), {}, \"post\", \"json\") as Promise<RESTPostAPIEntitlementConsumeResult>;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createTestEntitlement(appId: string, data: RESTPostAPIEntitlementJSONBody): Promise<RESTPostAPIEntitlementResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_ENTITLEMENTS(appId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteTestEntitlement(appId: string, entitlementId: string): Promise<RESTDeleteAPIEntitlementResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_ENTITLEMENT(appId, entitlementId), {}, \"delete\", \"json\") as Promise<RESTDeleteAPIEntitlementResult>;\r\n\t}\r\n}\r\n\r\nexport = EntitlementMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\nimport Constants = require(\"../Constants\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tAPIGuildMember,\r\n\tAPIGuildWidget,\r\n\tRESTDeleteAPIGuildBanResult,\r\n\tRESTDeleteAPIGuildIntegrationResult,\r\n\tRESTDeleteAPIGuildMemberResult,\r\n\tRESTDeleteAPIGuildMemberRoleResult,\r\n\tRESTDeleteAPIGuildResult,\r\n\tRESTDeleteAPIGuildRoleResult,\r\n\tRESTGetAPIGuildBanResult,\r\n\tRESTGetAPIGuildBansQuery,\r\n\tRESTGetAPIGuildBansResult,\r\n\tRESTGetAPIGuildChannelsResult,\r\n\tRESTGetAPIGuildIntegrationsResult,\r\n\tRESTGetAPIGuildInvitesResult,\r\n\tRESTGetAPIGuildMemberResult,\r\n\tRESTGetAPIGuildMembersQuery,\r\n\tRESTGetAPIGuildMembersResult,\r\n\tRESTGetAPIGuildMembersSearchQuery,\r\n\tRESTGetAPIGuildMembersSearchResult,\r\n\tRESTGetAPIGuildPreviewResult,\r\n\tRESTGetAPIGuildPruneCountQuery,\r\n\tRESTGetAPIGuildPruneCountResult,\r\n\tRESTGetAPIGuildResult,\r\n\tRESTGetAPIGuildRolesResult,\r\n\tRESTGetAPIGuildThreadsResult,\r\n\tRESTGetAPIGuildVanityUrlResult,\r\n\tRESTGetAPIGuildVoiceRegionsResult,\r\n\tRESTGetAPIGuildWelcomeScreenResult,\r\n\tRESTGetAPIGuildWidgetSettingsResult,\r\n\tRESTPatchAPICurrentGuildMemberJSONBody,\r\n\tRESTPatchAPIGuildChannelPositionsJSONBody,\r\n\tRESTPatchAPIGuildChannelPositionsResult,\r\n\tRESTPatchAPIGuildJSONBody,\r\n\tRESTPatchAPIGuildMemberJSONBody,\r\n\tRESTPatchAPIGuildMemberResult,\r\n\tRESTPatchAPIGuildResult,\r\n\tRESTPatchAPIGuildRoleJSONBody,\r\n\tRESTPatchAPIGuildRolePositionsJSONBody,\r\n\tRESTPatchAPIGuildRolePositionsResult,\r\n\tRESTPatchAPIGuildRoleResult,\r\n\tRESTPatchAPIGuildVoiceStateCurrentMemberJSONBody,\r\n\tRESTPatchAPIGuildVoiceStateCurrentMemberResult,\r\n\tRESTPatchAPIGuildVoiceStateUserJSONBody,\r\n\tRESTPatchAPIGuildVoiceStateUserResult,\r\n\tRESTPatchAPIGuildWelcomeScreenJSONBody,\r\n\tRESTPatchAPIGuildWelcomeScreenResult,\r\n\tRESTPatchAPIGuildWidgetSettingsJSONBody,\r\n\tRESTPatchAPIGuildWidgetSettingsResult,\r\n\tRESTPostAPIGuildChannelJSONBody,\r\n\tRESTPostAPIGuildChannelResult,\r\n\tRESTPostAPIGuildPruneJSONBody,\r\n\tRESTPostAPIGuildPruneResult,\r\n\tRESTPostAPIGuildRoleJSONBody,\r\n\tRESTPostAPIGuildRoleResult,\r\n\tRESTPostAPIGuildsJSONBody,\r\n\tRESTPostAPIGuildsResult,\r\n\tRESTPutAPIGuildBanJSONBody,\r\n\tRESTPutAPIGuildBanResult,\r\n\tRESTPutAPIGuildMemberJSONBody,\r\n\tRESTPutAPIGuildMemberResult,\r\n\tRESTPutAPIGuildMemberRoleResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass GuildMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuild(data: RESTPostAPIGuildsJSONBody): Promise<RESTPostAPIGuildsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILDS, {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuild(guildId: string, withCounts?: boolean): Promise<RESTGetAPIGuildResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD(guildId), { with_counts: withCounts }, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildPreview(guildId: string): Promise<RESTGetAPIGuildPreviewResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_PREVIEW(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuild(guildId: string, data: RESTPatchAPIGuildJSONBody): Promise<RESTPatchAPIGuildResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD(guildId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteGuild(guildId: string): Promise<RESTDeleteAPIGuildResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD(guildId), {}, \"delete\", \"json\") as RESTDeleteAPIGuildResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildChannels(guildId: string): Promise<RESTGetAPIGuildChannelsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_CHANNELS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildChannel(guildId: string, data: RESTPostAPIGuildChannelJSONBody): Promise<RESTPostAPIGuildChannelResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_CHANNELS(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateChannelPositions(guildId: string, data: RESTPatchAPIGuildChannelPositionsJSONBody, reason?: string): Promise<RESTPatchAPIGuildChannelPositionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_CHANNELS(guildId), {}, \"patch\", \"json\", data, reason ? { \"X-Audit-Log-Reason\": reason } : undefined) as RESTPatchAPIGuildChannelPositionsResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async listActiveThreads(guildId: string): Promise<RESTGetAPIGuildThreadsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_THREADS_ACTIVE(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildMember(guildId: string, memberId: string): Promise<RESTGetAPIGuildMemberResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER(guildId, memberId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildMembers(guildId: string, options?: RESTGetAPIGuildMembersQuery): Promise<RESTGetAPIGuildMembersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBERS(guildId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async searchGuildMembers(guildId: string, options: RESTGetAPIGuildMembersSearchQuery): Promise<RESTGetAPIGuildMembersSearchResult> {\r\n\t\tif (options.limit !== undefined && (options.limit < Constants.SEARCH_MEMBERS_MIN_RESULTS || options.limit > Constants.SEARCH_MEMBERS_MAX_RESULTS)) throw new RangeError(`Limit for searching guild members has to be between ${Constants.SEARCH_MEMBERS_MIN_RESULTS} and ${Constants.SEARCH_MEMBERS_MAX_RESULTS}`);\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBERS_SEARCH(guildId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async addGuildMember(guildId: string, memberId: string, data: RESTPutAPIGuildMemberJSONBody): Promise<RESTPutAPIGuildMemberResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER(guildId, memberId), {}, \"put\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuildMember(guildId: string, memberId: string, data: RESTPatchAPIGuildMemberJSONBody): Promise<RESTPatchAPIGuildMemberResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER(guildId, memberId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateSelf(guildId: string, data: RESTPatchAPICurrentGuildMemberJSONBody & { reason?: string; }): Promise<APIGuildMember> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER(guildId, \"@me\"), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async addGuildMemberRole(guildId: string, memberId: string, roleId: string, reason?: string): Promise<RESTPutAPIGuildMemberRoleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER_ROLE(guildId, memberId, roleId), {}, \"put\", \"json\", { reason }) as RESTPutAPIGuildMemberRoleResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeGuildMemberRole(guildId: string, memberId: string, roleId: string, reason?: string): Promise<RESTDeleteAPIGuildMemberRoleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER_ROLE(guildId, memberId, roleId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildMemberRoleResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeGuildMember(guildId: string, memberId: string, reason?: string): Promise<RESTDeleteAPIGuildMemberResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER(guildId, memberId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildMemberResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildBans(guildId: string, options?: RESTGetAPIGuildBansQuery): Promise<RESTGetAPIGuildBansResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_BANS(guildId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildBan(guildId: string, memberId: string): Promise<RESTGetAPIGuildBanResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_BAN(guildId, memberId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildBan(guildId: string, memberId: string, data?: RESTPutAPIGuildBanJSONBody & { reason?: string; }): Promise<RESTPutAPIGuildBanResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_BAN(guildId, memberId), {}, \"put\", \"json\", data) as RESTPutAPIGuildBanResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeGuildBan(guildId: string, memberId: string, reason?: string): Promise<RESTDeleteAPIGuildBanResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_BAN(guildId, memberId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildBanResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildRoles(guildId: string): Promise<RESTGetAPIGuildRolesResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_ROLES(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildRole(guildId: string, data?: RESTPostAPIGuildRoleJSONBody & { reason?: string; }): Promise<RESTPostAPIGuildRoleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_ROLES(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuildRolePositions(guildId: string, data: RESTPatchAPIGuildRolePositionsJSONBody, reason?: string): Promise<RESTPatchAPIGuildRolePositionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_ROLES(guildId), {}, \"patch\", \"json\", data, reason ? { \"X-Audit-Log-Reason\": reason } : undefined);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuildRole(guildId: string, roleId: string, data: RESTPatchAPIGuildRoleJSONBody): Promise<RESTPatchAPIGuildRoleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_ROLE(guildId, roleId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeGuildRole(guildId: string, roleId: string, reason?: string): Promise<RESTDeleteAPIGuildRoleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_ROLE(guildId, roleId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildRoleResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildPruneCount(guildId: string, options?: RESTGetAPIGuildPruneCountQuery): Promise<RESTGetAPIGuildPruneCountResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_PRUNE(guildId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async startGuildPrune(guildId: string, data: RESTPostAPIGuildPruneJSONBody & { computer_prune_count: true; reason?: string; }): Promise<RESTPostAPIGuildPruneResult & { pruned: number; }>\r\n\tpublic async startGuildPrune(guildId: string, data: RESTPostAPIGuildPruneJSONBody & { computer_prune_count: false; reason?: string; }): Promise<RESTPostAPIGuildPruneResult & { pruned: null; }>\r\n\tpublic async startGuildPrune(guildId: string, data: RESTPostAPIGuildPruneJSONBody & { reason?: string; }): Promise<RESTPostAPIGuildPruneResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_PRUNE(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildVoiceRegions(guildId: string): Promise<RESTGetAPIGuildVoiceRegionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_VOICE_REGIONS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildInvites(guildId: string): Promise<RESTGetAPIGuildInvitesResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_INVITES(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildIntegrations(guildId: string): Promise<RESTGetAPIGuildIntegrationsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_INTEGRATIONS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeGuildIntegration(guildId: string, integrationId: string, reason?: string): Promise<RESTDeleteAPIGuildIntegrationResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_INTEGRATION(guildId, integrationId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildIntegrationResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildWidgetSettings(guildId: string): Promise<RESTGetAPIGuildWidgetSettingsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_WIDGET_SETTINGS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuildWidgetSettings(guildId: string, data: Partial<RESTPatchAPIGuildWidgetSettingsJSONBody & { reason?: string }>): Promise<RESTPatchAPIGuildWidgetSettingsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_WIDGET_SETTINGS(guildId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildWidget(guildId: string): Promise<APIGuildWidget> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_WIDGET(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildVanityURL(guildId: string): Promise<RESTGetAPIGuildVanityUrlResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_VANITY(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildWelcomeScreen(guildId: string): Promise<RESTGetAPIGuildWelcomeScreenResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_WELCOME_SCREEN(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editGuildWelcomeScreen(guildId: string, data: RESTPatchAPIGuildWelcomeScreenJSONBody & { reason?: string; }): Promise<RESTPatchAPIGuildWelcomeScreenResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_WELCOME_SCREEN(guildId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateCurrentUserVoiceState(guildId: string, data: RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody): Promise<RESTPatchAPIGuildVoiceStateCurrentMemberResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_VOICE_STATE_USER(guildId, \"@me\"), {}, \"patch\", \"json\", data) as RESTPatchAPIGuildVoiceStateCurrentMemberResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateUserVoiceState(guildId: string, userId: string, data: RESTPatchAPIGuildVoiceStateUserJSONBody): Promise<RESTPatchAPIGuildVoiceStateUserResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_VOICE_STATE_USER(guildId, userId), {}, \"patch\", \"json\", data) as RESTPatchAPIGuildVoiceStateUserResult;\r\n\t}\r\n}\r\n\r\nexport = GuildMethods;\r\n\r\n\r\n\r\n\r\n\r\n","import Endpoints = require(\"../Endpoints\");\r\nimport Constants = require(\"../Constants\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPIGuildScheduledEventResult,\r\n\tRESTGetAPIGuildScheduledEventResult,\r\n\tRESTGetAPIGuildScheduledEventUsersQuery,\r\n\tRESTGetAPIGuildScheduledEventUsersResult,\r\n\tRESTGetAPIGuildScheduledEventsResult,\r\n\tRESTPatchAPIGuildScheduledEventJSONBody,\r\n\tRESTPatchAPIGuildScheduledEventResult,\r\n\tRESTPostAPIGuildScheduledEventJSONBody,\r\n\tRESTPostAPIGuildScheduledEventResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass GuildScheduledEventMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async listGuildScheduledEvents(guildId: string, withCounts?: boolean): Promise<RESTGetAPIGuildScheduledEventsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_SCHEDULED_EVENTS(guildId), { with_user_count: withCounts }, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildScheduledEvent(guildId: string, data: RESTPostAPIGuildScheduledEventJSONBody): Promise<RESTPostAPIGuildScheduledEventResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_SCHEDULED_EVENTS(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildScheduledEvent(guildId: string, eventId: string, withCounts?: boolean): Promise<RESTGetAPIGuildScheduledEventResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_SCHEDULED_EVENT(guildId, eventId), {}, \"get\", \"json\", { with_user_count: withCounts });\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editGuildScheduledEvent(guildId: string, eventId: string, data: RESTPatchAPIGuildScheduledEventJSONBody): Promise<RESTPatchAPIGuildScheduledEventResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_SCHEDULED_EVENT(guildId, eventId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteGuildScheduledEvent(guildId: string, eventId: string): Promise<RESTDeleteAPIGuildScheduledEventResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_SCHEDULED_EVENT(guildId, eventId), {}, \"delete\", \"json\") as RESTDeleteAPIGuildScheduledEventResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildScheduledEventUsers(guildId: string, eventId: string, options?: RESTGetAPIGuildScheduledEventUsersQuery): Promise<RESTGetAPIGuildScheduledEventUsersResult> {\r\n\t\tif (options?.limit !== undefined && (options.limit < Constants.GET_GUILD_SCHEDULED_EVENT_USERS_MIN_RESULTS || options.limit > Constants.GET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS)) throw new RangeError(`The maximum amount of users that may be requested has to be between ${Constants.GET_GUILD_SCHEDULED_EVENT_USERS_MIN_RESULTS} and ${Constants.GET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS}`);\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_SCHEDULED_EVENT_USERS(guildId, eventId), options, \"get\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = GuildScheduledEventMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPIGuildTemplateResult,\r\n\tRESTGetAPIGuildTemplatesResult,\r\n\tRESTGetAPITemplateResult,\r\n\tRESTPatchAPIGuildTemplateJSONBody,\r\n\tRESTPatchAPIGuildTemplateResult,\r\n\tRESTPostAPIGuildTemplatesJSONBody,\r\n\tRESTPostAPIGuildTemplatesResult,\r\n\tRESTPostAPITemplateCreateGuildJSONBody,\r\n\tRESTPostAPITemplateCreateGuildResult,\r\n\tRESTPutAPIGuildTemplateSyncResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass GuildTemplateMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildTemplate(code: string): Promise<RESTGetAPITemplateResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.TEMPLATE(code), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildFromGuildTemplate(code: string, options: RESTPostAPITemplateCreateGuildJSONBody): Promise<RESTPostAPITemplateCreateGuildResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.TEMPLATE(code), {}, \"post\", \"json\", options);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildTemplates(guildId: string): Promise<RESTGetAPIGuildTemplatesResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_TEMPLATES(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildTemplate(guildId: string, data: RESTPostAPIGuildTemplatesJSONBody): Promise<RESTPostAPIGuildTemplatesResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_TEMPLATES(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async syncGuildTemplate(guildId: string, code: string): Promise<RESTPutAPIGuildTemplateSyncResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_TEMPLATE(guildId, code), {}, \"put\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async modifyGuildTemplate(guildId: string, code: string, data: RESTPatchAPIGuildTemplateJSONBody): Promise<RESTPatchAPIGuildTemplateResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_TEMPLATE(guildId, code), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteGuildTemplate(guildId: string, code: string): Promise<RESTDeleteAPIGuildTemplateResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_TEMPLATE(guildId, code), {}, \"delete\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = GuildTemplateMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\nimport Constants = require(\"../Constants\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\nimport type WHM = require(\"./Webhook\");\r\nimport type ST = require(\"../SnowTransfer\");\r\n\r\nimport {\r\n\tInteractionResponseType,\r\n\ttype RESTDeleteAPIInteractionFollowupResult,\r\n\ttype RESTDeleteAPIInteractionOriginalResponseResult,\r\n\ttype RESTGetAPIApplicationCommandPermissionsResult,\r\n\ttype RESTGetAPIApplicationCommandResult,\r\n\ttype RESTGetAPIApplicationCommandsResult,\r\n\ttype RESTGetAPIApplicationGuildCommandResult,\r\n\ttype RESTGetAPIApplicationGuildCommandsResult,\r\n\ttype RESTGetAPIInteractionFollowupResult,\r\n\ttype RESTGetAPIInteractionOriginalResponseResult,\r\n\ttype RESTPatchAPIApplicationCommandJSONBody,\r\n\ttype RESTPatchAPIApplicationCommandResult,\r\n\ttype RESTPatchAPIApplicationGuildCommandJSONBody,\r\n\ttype RESTPatchAPIApplicationGuildCommandResult,\r\n\ttype RESTPatchAPIInteractionFollowupJSONBody,\r\n\ttype RESTPatchAPIInteractionFollowupResult,\r\n\ttype RESTPatchAPIInteractionOriginalResponseJSONBody,\r\n\ttype RESTPatchAPIInteractionOriginalResponseResult,\r\n\ttype RESTPostAPIApplicationCommandsJSONBody,\r\n\ttype RESTPostAPIApplicationCommandsResult,\r\n\ttype RESTPostAPIApplicationGuildCommandsJSONBody,\r\n\ttype RESTPostAPIApplicationGuildCommandsResult,\r\n\ttype RESTPostAPIInteractionCallbackJSONBody,\r\n\ttype RESTPostAPIInteractionFollowupJSONBody,\r\n\ttype RESTPostAPIInteractionFollowupResult,\r\n\ttype RESTPutAPIApplicationCommandPermissionsJSONBody,\r\n\ttype RESTPutAPIApplicationCommandPermissionsResult,\r\n\ttype RESTPutAPIApplicationCommandsJSONBody,\r\n\ttype RESTPutAPIApplicationCommandsResult,\r\n\ttype RESTPutAPIApplicationGuildCommandsJSONBody,\r\n\ttype RESTPutAPIApplicationGuildCommandsResult\r\n} from \"discord-api-types/v10\";\r\n\r\nimport type { Readable } from \"stream\";\r\nimport type { ReadableStream } from \"stream/web\";\r\n\r\n\r\n\r\n\r\n\r\nclass InteractionMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH, public webhooks: WHM, public options: ST.Options) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getApplicationCommands(appId: string, withLocalizations?: boolean): Promise<RESTGetAPIApplicationCommandsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_COMMANDS(appId), { with_localizations: withLocalizations }, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createApplicationCommand(appId: string, data: RESTPostAPIApplicationCommandsJSONBody): Promise<RESTPostAPIApplicationCommandsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_COMMANDS(appId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getApplicationCommand(appId: string, cmdId: string): Promise<RESTGetAPIApplicationCommandResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_COMMAND(appId, cmdId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editApplicationCommand(appId: string, cmdId: string, data: RESTPatchAPIApplicationCommandJSONBody): Promise<RESTPatchAPIApplicationCommandResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_COMMAND(appId, cmdId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteApplicationCommand(appId: string, cmdId: string): Promise<never> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_COMMAND(appId, cmdId), {}, \"delete\", \"json\") as never;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async bulkOverwriteApplicationCommands(appId: string, data: RESTPutAPIApplicationCommandsJSONBody): Promise<RESTPutAPIApplicationCommandsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_COMMANDS(appId), {}, \"put\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildApplicationCommands(appId: string, guildId: string, withLocalizations?: boolean): Promise<RESTGetAPIApplicationGuildCommandsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMANDS(appId, guildId), { with_localizations: withLocalizations }, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildApplicationCommand(appId: string, guildId: string, data: RESTPostAPIApplicationGuildCommandsJSONBody): Promise<RESTPostAPIApplicationGuildCommandsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMANDS(appId, guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildApplicationCommand(appId: string, guildId: string, cmdId: string): Promise<RESTGetAPIApplicationGuildCommandResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMAND(appId, guildId, cmdId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editGuildApplicationCommand(appId: string, guildId: string, cmdId: string, data: RESTPatchAPIApplicationGuildCommandJSONBody): Promise<RESTPatchAPIApplicationGuildCommandResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMAND(appId, guildId, cmdId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteGuildApplicationCommand(appId: string, guildId: string, cmdId: string): Promise<never> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMAND(appId, guildId, cmdId), {}, \"delete\", \"json\") as never;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async bulkOverwriteGuildApplicationCommands(appId: string, guildId: string, data: RESTPutAPIApplicationGuildCommandsJSONBody): Promise<RESTPutAPIApplicationGuildCommandsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMANDS(appId, guildId), {}, \"put\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildApplicationCommandPermissions(appId: string, guildId: string): Promise<Array<RESTGetAPIApplicationCommandPermissionsResult>>;\r\n\tpublic async getGuildApplicationCommandPermissions(appId: string, guildId: string, cmdId: string): Promise<RESTGetAPIApplicationCommandPermissionsResult>;\r\n\tpublic async getGuildApplicationCommandPermissions(appId: string, guildId: string, cmdId?: string): Promise<Array<RESTGetAPIApplicationCommandPermissionsResult> | RESTGetAPIApplicationCommandPermissionsResult> {\r\n\t\tif (cmdId) return this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMAND_PERMISSIONS(appId, guildId, cmdId), {}, \"get\", \"json\");\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMANDS_PERMISSIONS(appId, guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editGuildApplicationCommandPermissions(appId: string, guildId: string, cmdId: string, permissions: RESTPutAPIApplicationCommandPermissionsJSONBody[\"permissions\"]): Promise<RESTPutAPIApplicationCommandPermissionsResult> {\r\n\t\tconst payload = { permissions: permissions };\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMAND_PERMISSIONS(appId, guildId, cmdId), {}, \"put\", \"json\", payload);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createInteractionResponse(interactionId: string, token: string, data: RESTPostAPIInteractionCallbackJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }): Promise<void> {\r\n\t\tif ((\r\n\t\t\tdata.type === InteractionResponseType.ChannelMessageWithSource ||\r\n\t\t\tdata.type === InteractionResponseType.UpdateMessage\r\n\t\t) && data.data) data.data.allowed_mentions ??= this.options.allowed_mentions;\r\n\r\n\t\tif (data.files) return this.requestHandler.request(Endpoints.INTERACTION_CALLBACK(interactionId, token), {}, \"post\", \"multipart\", await Constants.standardMultipartHandler(data as Parameters<typeof Constants[\"standardMultipartHandler\"]>[\"0\"]));\r\n\t\telse return this.requestHandler.request(Endpoints.INTERACTION_CALLBACK(interactionId, token), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getOriginalInteractionResponse(appId: string, token: string): Promise<RESTGetAPIInteractionOriginalResponseResult> {\r\n\t\treturn this.webhooks.getWebhookMessage(appId, token, \"@original\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editOriginalInteractionResponse(appId: string, token: string, data: RESTPatchAPIInteractionOriginalResponseJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream }> }): Promise<RESTPatchAPIInteractionOriginalResponseResult> {\r\n\t\treturn this.webhooks.editWebhookMessage(appId, token, \"@original\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteOriginalInteractionResponse(appId: string, token: string): Promise<RESTDeleteAPIInteractionOriginalResponseResult> {\r\n\t\treturn this.webhooks.deleteWebhookMessage(appId, token, \"@original\") as RESTDeleteAPIInteractionOriginalResponseResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createFollowupMessage(appId: string, token: string, data: RESTPostAPIInteractionFollowupJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }): Promise<RESTPostAPIInteractionFollowupResult> {\r\n\r\n\t\treturn this.webhooks.executeWebhook(appId, token, data) as unknown as Promise<RESTPostAPIInteractionFollowupResult>;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getFollowupMessage(appId: string, token: string, messageId: string): Promise<RESTGetAPIInteractionFollowupResult> {\r\n\t\treturn this.webhooks.getWebhookMessage(appId, token, messageId);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editFollowupMessage(appId: string, token: string, messageId: string, data: RESTPatchAPIInteractionFollowupJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }): Promise<RESTPatchAPIInteractionFollowupResult> {\r\n\t\treturn this.webhooks.editWebhookMessage(appId, token, messageId, data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteFollowupMessage(appId: string, token: string, messageId: string): Promise<RESTDeleteAPIInteractionFollowupResult> {\r\n\t\treturn this.webhooks.deleteWebhookMessage(appId, token, messageId) as RESTDeleteAPIInteractionFollowupResult;\r\n\t}\r\n}\r\n\r\nexport = InteractionMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPIInviteResult,\r\n\tRESTGetAPIInviteQuery,\r\n\tRESTGetAPIInviteResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass InviteMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getInvite(inviteId: string, options?: RESTGetAPIInviteQuery): Promise<RESTGetAPIInviteResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.INVITES(inviteId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteInvite(inviteId: string): Promise<RESTDeleteAPIInviteResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.INVITES(inviteId), {}, \"delete\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = InviteMethods;\r\n","import type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport Endpoints = require(\"../Endpoints\");\r\n\r\nimport type {\r\n\tRESTGetAPISKUsResult,\r\n\tRESTGetAPISKUSubscriptionsQuery,\r\n\tRESTGetAPISKUSubscriptionsResult,\r\n\tRESTGetAPISKUSubscriptionResult,\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass SkuMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async GetSkus(appId: string): Promise<RESTGetAPISKUsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_SKUS(appId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getSubscriptions(skuId: string, options: RESTGetAPISKUSubscriptionsQuery = {}): Promise<RESTGetAPISKUSubscriptionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.SKU_SUBSCRIPTIONS(skuId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getSubscription(skuId: string, subscriptionId: string): Promise<RESTGetAPISKUSubscriptionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.SKU_SUBSCRIPTION(skuId, subscriptionId), {}, \"get\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = SkuMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPIStageInstanceResult,\r\n\tRESTGetAPIStageInstanceResult,\r\n\tRESTPatchAPIStageInstanceJSONBody,\r\n\tRESTPatchAPIStageInstanceResult,\r\n\tRESTPostAPIStageInstanceJSONBody,\r\n\tRESTPostAPIStageInstanceResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass StageInstanceMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createStageInstance(data: RESTPostAPIStageInstanceJSONBody & { reason?: string; }): Promise<RESTPostAPIStageInstanceResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.STAGE_INSTANCES, {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getStageInstance(channelId: string): Promise<RESTGetAPIStageInstanceResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.STAGE_INSTANCE_CHANNEL(channelId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editStageInstance(channelId: string, data: RESTPatchAPIStageInstanceJSONBody & { reason?: string; }): Promise<RESTPatchAPIStageInstanceResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.STAGE_INSTANCE_CHANNEL(channelId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteStageInstance(channelId: string, reason?: string): Promise<RESTDeleteAPIStageInstanceResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.STAGE_INSTANCE_CHANNEL(channelId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIStageInstanceResult;\r\n\t}\r\n}\r\n\r\nexport = StageInstanceMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPICurrentUserGuildResult,\r\n\tRESTGetAPICurrentUserApplicationRoleConnectionResult,\r\n\tRESTGetAPICurrentUserConnectionsResult,\r\n\tRESTGetAPICurrentUserGuildsQuery,\r\n\tRESTGetAPICurrentUserGuildsResult,\r\n\tRESTGetAPICurrentUserResult,\r\n\tRESTGetAPIUserResult,\r\n\tRESTPatchAPICurrentUserJSONBody,\r\n\tRESTPatchAPICurrentUserResult,\r\n\tRESTPostAPICurrentUserCreateDMChannelResult,\r\n\tRESTPutAPICurrentUserApplicationRoleConnectionJSONBody,\r\n\tRESTPutAPICurrentUserApplicationRoleConnectionResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass UserMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getSelf(): Promise<RESTGetAPICurrentUserResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER(\"@me\"), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getUser(userId: string): Promise<RESTGetAPIUserResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER(userId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateSelf(data: RESTPatchAPICurrentUserJSONBody): Promise<RESTPatchAPICurrentUserResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER(\"@me\"), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuilds(options?: RESTGetAPICurrentUserGuildsQuery): Promise<RESTGetAPICurrentUserGuildsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_GUILDS(\"@me\"), {}, \"get\", \"json\", options);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async leaveGuild(guildId: string): Promise<RESTDeleteAPICurrentUserGuildResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_GUILD(\"@me\", guildId), {}, \"delete\", \"json\") as RESTDeleteAPICurrentUserGuildResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createDirectMessageChannel(userId: string): Promise<RESTPostAPICurrentUserCreateDMChannelResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_CHANNELS(\"@me\"), {}, \"post\", \"json\", { recipient_id: userId });\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGroupDirectMessageChannel(data: { access_tokens: Array<string>; nicks?: { [userId: string]: string } }): Promise<RESTPostAPICurrentUserCreateDMChannelResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_CHANNELS(\"@me\"), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getConnections(): Promise<RESTGetAPICurrentUserConnectionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_CONNECTIONS(\"@me\"), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getApplicationRoleConnection(appId: string): Promise<RESTGetAPICurrentUserApplicationRoleConnectionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_APPLICATION_ROLE_CONNECTION(\"@me\", appId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateApplicationRoleConnection(appId: string, data: RESTPutAPICurrentUserApplicationRoleConnectionJSONBody): Promise<RESTPutAPICurrentUserApplicationRoleConnectionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_APPLICATION_ROLE_CONNECTION(\"@me\", appId), {}, \"put\", \"json\", data);\r\n\t}\r\n}\r\n\r\nexport = UserMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type { RESTGetAPIVoiceRegionsResult, APIVoiceState } from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass VoiceMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getVoiceRegions(): Promise<RESTGetAPIVoiceRegionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.VOICE_REGIONS, {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getCurrentUserVoiceState(guildId: string): Promise<APIVoiceState> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_GUILD_VOICE_STATE(guildId, \"@me\"), {}, \"get\", \"json\")\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getUserVoiceState(guildId: string, userId: string): Promise<APIVoiceState> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_GUILD_VOICE_STATE(guildId, userId), {}, \"get\", \"json\")\r\n\t}\r\n}\r\n\r\nexport = VoiceMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\nimport Constants = require(\"../Constants\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\nimport type ST = require(\"../SnowTransfer\");\r\n\r\nimport type {\r\n\tRESTDeleteAPIWebhookResult,\r\n\tRESTDeleteAPIWebhookWithTokenMessageResult,\r\n\tRESTGetAPIChannelWebhooksResult,\r\n\tRESTGetAPIGuildWebhooksResult,\r\n\tRESTGetAPIWebhookResult,\r\n\tRESTGetAPIWebhookWithTokenMessageResult,\r\n\tRESTPatchAPIWebhookJSONBody,\r\n\tRESTPatchAPIWebhookResult,\r\n\tRESTPatchAPIWebhookWithTokenJSONBody,\r\n\tRESTPatchAPIWebhookWithTokenMessageJSONBody,\r\n\tRESTPatchAPIWebhookWithTokenMessageResult,\r\n\tRESTPatchAPIWebhookWithTokenResult,\r\n\tRESTPostAPIChannelWebhookJSONBody,\r\n\tRESTPostAPIChannelWebhookResult,\r\n\tRESTPostAPIWebhookWithTokenGitHubQuery,\r\n\tRESTPostAPIWebhookWithTokenGitHubResult,\r\n\tRESTPostAPIWebhookWithTokenGitHubWaitResult,\r\n\tRESTPostAPIWebhookWithTokenJSONBody,\r\n\tRESTPostAPIWebhookWithTokenQuery,\r\n\tRESTPostAPIWebhookWithTokenResult,\r\n\tRESTPostAPIWebhookWithTokenSlackQuery,\r\n\tRESTPostAPIWebhookWithTokenSlackResult,\r\n\tRESTPostAPIWebhookWithTokenSlackWaitResult,\r\n\tRESTPostAPIWebhookWithTokenWaitResult\r\n} from \"discord-api-types/v10\";\r\n\r\nimport type { Readable } from \"stream\";\r\nimport type { ReadableStream } from \"stream/web\";\r\n\r\n\r\n\r\n\r\n\r\nclass WebhookMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH, public options: ST.Options) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createWebhook(channelId: string, data: RESTPostAPIChannelWebhookJSONBody): Promise<RESTPostAPIChannelWebhookResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_WEBHOOKS(channelId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelWebhooks(channelId: string): Promise<RESTGetAPIChannelWebhooksResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_WEBHOOKS(channelId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildWebhooks(guildId: string): Promise<RESTGetAPIGuildWebhooksResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_WEBHOOKS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getWebhook(webhookId: string, token?: string): Promise<RESTGetAPIWebhookResult> {\r\n\t\tif (token) return this.requestHandler.request(Endpoints.WEBHOOK_TOKEN(webhookId, token), {}, \"get\", \"json\");\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK(webhookId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateWebhook(webhookId: string, data: RESTPatchAPIWebhookWithTokenJSONBody & { reason?: string; }, token: string): Promise<RESTPatchAPIWebhookWithTokenResult>\r\n\tpublic async updateWebhook(webhookId: string, data: RESTPatchAPIWebhookJSONBody & { reason?: string; }): Promise<RESTPatchAPIWebhookResult>\r\n\tpublic async updateWebhook(webhookId: string, data: (RESTPatchAPIWebhookWithTokenJSONBody | RESTPatchAPIWebhookJSONBody) & { reason?: string; }, token?: string): Promise<RESTPatchAPIWebhookWithTokenResult | RESTPatchAPIWebhookResult> {\r\n\t\tif (token) return this.requestHandler.request(Endpoints.WEBHOOK_TOKEN(webhookId, token), {}, \"patch\", \"json\", data);\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK(webhookId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteWebhook(webhookId: string, token?: string): Promise<RESTDeleteAPIWebhookResult> {\r\n\t\tif (token) return this.requestHandler.request(Endpoints.WEBHOOK_TOKEN(webhookId, token), {}, \"delete\", \"json\") as RESTDeleteAPIWebhookResult;\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK(webhookId), {}, \"delete\", \"json\") as RESTDeleteAPIWebhookResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async executeWebhook(webhookId: string, token: string, data: RESTPostAPIWebhookWithTokenJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }, options?: RESTPostAPIWebhookWithTokenQuery & { wait?: false, disableEveryone?: boolean; }): Promise<RESTPostAPIWebhookWithTokenResult>;\r\n\tpublic async executeWebhook(webhookId: string, token: string, data: RESTPostAPIWebhookWithTokenJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }, options: RESTPostAPIWebhookWithTokenQuery & { wait: true, disableEveryone?: boolean; }): Promise<RESTPostAPIWebhookWithTokenWaitResult>;\r\n\tpublic async executeWebhook(webhookId: string, token: string, data: RESTPostAPIWebhookWithTokenJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }, options?: RESTPostAPIWebhookWithTokenQuery & { disableEveryone?: boolean; }): Promise<RESTPostAPIWebhookWithTokenResult | RESTPostAPIWebhookWithTokenWaitResult> {\r\n\t\tif (typeof data !== \"string\" && !data.content && !data.embeds && !data.components && !data.files && !data.poll) throw new Error(\"Missing content, embeds, components, files, or poll\");\r\n\t\tif (typeof data === \"string\") data = { content: data };\r\n\r\n\r\n\t\tif (data.content && (options?.disableEveryone ?? this.options.disableEveryone)) data.content = Constants.replaceEveryone(data.content);\r\n\t\tif (options) delete options.disableEveryone;\r\n\t\tdata.allowed_mentions ??= this.options.allowed_mentions;\r\n\r\n\t\tif (data.files) return this.requestHandler.request(`${Endpoints.WEBHOOK_TOKEN(webhookId, token)}`, options, \"post\", \"multipart\", await Constants.standardMultipartHandler(data as Parameters<typeof Constants[\"standardMultipartHandler\"]>[\"0\"]));\r\n\t\telse return this.requestHandler.request(Endpoints.WEBHOOK_TOKEN(webhookId, token), options, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async executeWebhookSlack(webhookId: string, token: string, data: any, options?: RESTPostAPIWebhookWithTokenSlackQuery & { wait?: false }): Promise<RESTPostAPIWebhookWithTokenSlackResult>\r\n\tpublic async executeWebhookSlack(webhookId: string, token: string, data: any, options?: RESTPostAPIWebhookWithTokenSlackQuery & { wait: true }): Promise<RESTPostAPIWebhookWithTokenSlackWaitResult>\r\n\tpublic async executeWebhookSlack(webhookId: string, token: string, data: any, options?: RESTPostAPIWebhookWithTokenSlackQuery): Promise<RESTPostAPIWebhookWithTokenSlackResult | RESTPostAPIWebhookWithTokenSlackWaitResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK_TOKEN_SLACK(webhookId, token), options, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async executeWebhookGitHub(webhookId: string, token: string, data: any, options?: RESTPostAPIWebhookWithTokenGitHubQuery & { wait?: false }): Promise<RESTPostAPIWebhookWithTokenGitHubResult>\r\n\tpublic async executeWebhookGitHub(webhookId: string, token: string, data: any, options?: RESTPostAPIWebhookWithTokenGitHubQuery & { wait: true }): Promise<RESTPostAPIWebhookWithTokenGitHubWaitResult>\r\n\tpublic async executeWebhookGitHub(webhookId: string, token: string, data: any, options: RESTPostAPIWebhookWithTokenGitHubQuery = {}): Promise<RESTPostAPIWebhookWithTokenGitHubResult | RESTPostAPIWebhookWithTokenGitHubWaitResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK_TOKEN_GITHUB(webhookId, token), options, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getWebhookMessage(webhookId: string, token: string, messageId: string, threadId?: string): Promise<RESTGetAPIWebhookWithTokenMessageResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK_TOKEN_MESSAGE(webhookId, token, messageId), { thread_id: threadId }, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editWebhookMessage(webhookId: string, token: string, messageId: string, data: RESTPatchAPIWebhookWithTokenMessageJSONBody & { thread_id?: string; files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }): Promise<RESTPatchAPIWebhookWithTokenMessageResult> {\r\n\t\tlet threadId: string | undefined = undefined;\r\n\t\tif (data.thread_id) threadId = data.thread_id;\r\n\t\tdelete data.thread_id;\r\n\r\n\t\tdata.allowed_mentions ??= this.options.allowed_mentions;\r\n\r\n\t\tif (data.files) return this.requestHandler.request(Endpoints.WEBHOOK_TOKEN_MESSAGE(webhookId, token, messageId), { thread_id: threadId }, \"patch\", \"multipart\", await Constants.standardMultipartHandler(data as Parameters<typeof Constants[\"standardMultipartHandler\"]>[\"0\"]));\r\n\t\telse return this.requestHandler.request(Endpoints.WEBHOOK_TOKEN_MESSAGE(webhookId, token, messageId), { thread_id: threadId }, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteWebhookMessage(webhookId: string, token: string, messageId: string, threadId?: string): Promise<RESTDeleteAPIWebhookWithTokenMessageResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK_TOKEN_MESSAGE(webhookId, token, messageId), { thread_id: threadId }, \"delete\", \"json\") as RESTDeleteAPIWebhookWithTokenMessageResult;\r\n\t}\r\n}\r\n\r\nexport = WebhookMethods;\r\n","import type { RESTPostOAuth2AccessTokenResult } from \"discord-api-types/v10\";\r\n\r\nimport Endpoints = require(\"./Endpoints\");\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nasync function getOauth2Token(clientId: string, redirectURI: string, clientSecret: string, code: string): Promise<RESTPostOAuth2AccessTokenResult> {\r\n\tconst response = await fetch(`${Endpoints.BASE_HOST}${Endpoints.OAUTH2_TOKEN}`, {\r\n\t\tmethod: \"POST\",\r\n\t\tbody: new URLSearchParams({\r\n\t\t\tgrant_type: \"authorization_code\",\r\n\t\t\tcode,\r\n\t\t\tclient_id: clientId,\r\n\t\t\tclient_secret: clientSecret,\r\n\t\t\tredirect_uri: redirectURI\r\n\t\t})\r\n\t});\r\n\treturn response.json() as Promise<RESTPostOAuth2AccessTokenResult>;\r\n}\r\n\r\nexport = {\r\n\tgetOauth2Token\r\n}\r\n","import { Ratelimiter, RequestHandler } from \"./RequestHandler\";\r\nimport AssetsMethods = require(\"./methods/Assets\");\r\nimport AuditLogMethods = require(\"./methods/AuditLog\");\r\nimport AutoModerationMethods = require(\"./methods/AutoModeration\");\r\nimport BotMethods = require(\"./methods/Bot\");\r\nimport ChannelMethods = require(\"./methods/Channel\");\r\nimport EntitlementMethods = require(\"./methods/Entitlements\");\r\nimport GuildMethods = require(\"./methods/Guild\");\r\nimport GuildScheduledEventMethods = require(\"./methods/GuildScheduledEvent\");\r\nimport GuildTemplateMethods = require(\"./methods/GuildTemplate\");\r\nimport InteractionMethods = require(\"./methods/Interaction\");\r\nimport InviteMethods = require(\"./methods/Invite\");\r\nimport SkuMethods = require(\"./methods/Sku\");\r\nimport StageInstanceMethods = require(\"./methods/StageInstance\");\r\nimport UserMethods = require(\"./methods/User\");\r\nimport VoiceMethods = require(\"./methods/Voice\");\r\nimport WebhookMethods = require(\"./methods/Webhook\");\r\nimport Endpoints = require(\"./Endpoints\");\r\nimport Constants = require(\"./Constants\");\r\n\r\nimport type { APIAllowedMentions } from 'discord-api-types/v10';\r\n\r\nnamespace SnowTransfer {\r\n\texport type Options = {\r\n\r\n\t\tbaseHost: string;\r\n\r\n\t\tallowed_mentions: APIAllowedMentions | undefined;\r\n\r\n\r\n\t\tdisableEveryone: boolean;\r\n\r\n\t\tbypassBuckets: boolean;\r\n\r\n\t\tretryRequests: boolean;\r\n\r\n\t\tretryLimit: number;\r\n\t};\r\n}\r\n\r\n\r\n\r\n\r\nclass SnowTransfer {\r\n\r\n\tpublic options: SnowTransfer.Options;\r\n\r\n\tpublic token: string | undefined;\r\n\r\n\tpublic channel: ChannelMethods;\r\n\r\n\tpublic requestHandler: RequestHandler;\r\n\r\n\tpublic user: UserMethods;\r\n\r\n\tpublic assets: AssetsMethods;\r\n\r\n\tpublic webhook: WebhookMethods;\r\n\r\n\tpublic guild: GuildMethods;\r\n\r\n\tpublic guildScheduledEvent: GuildScheduledEventMethods;\r\n\r\n\tpublic guildTemplate: GuildTemplateMethods;\r\n\r\n\tpublic interaction: InteractionMethods;\r\n\r\n\tpublic invite: InviteMethods;\r\n\r\n\tpublic voice: VoiceMethods;\r\n\r\n\tpublic bot: BotMethods;\r\n\r\n\tpublic auditLog: AuditLogMethods;\r\n\r\n\tpublic stageInstance: StageInstanceMethods;\r\n\r\n\tpublic autoMod: AutoModerationMethods;\r\n\r\n\tpublic entitlement: EntitlementMethods;\r\n\r\n\tpublic sku: SkuMethods;\r\n\r\n\tpublic ratelimiter: Ratelimiter;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(token?: string, options?: Partial<SnowTransfer.Options>) {\r\n\t\tif (typeof token === \"string\" && token === \"\") throw new Error(\"Missing token\");\r\n\t\tif (token && (!token.startsWith(\"Bot\") && !token.startsWith(\"Bearer\"))) token = `Bot ${token}`;\r\n\t\tthis.options = { baseHost: Endpoints.BASE_HOST, allowed_mentions: undefined, disableEveryone: false, bypassBuckets: false, retryRequests: false, retryLimit: Constants.DEFAULT_RETRY_LIMIT, ...options };\r\n\t\tthis.token = token;\r\n\t\tthis.ratelimiter = new Ratelimiter();\r\n\t\tthis.requestHandler = new RequestHandler(this.ratelimiter, {\r\n\t\t\ttoken: this.token,\r\n\t\t\tbaseHost: this.options.baseHost,\r\n\t\t\tbypassBuckets: this.options.bypassBuckets,\r\n\t\t\tretryFailed: this.options.retryRequests,\r\n\t\t\tretryLimit: this.options.retryLimit\r\n\t\t});\r\n\t\tthis.channel = new ChannelMethods(this.requestHandler, this.options);\r\n\t\tthis.user = new UserMethods(this.requestHandler);\r\n\t\tthis.assets = new AssetsMethods(this.requestHandler);\r\n\t\tthis.webhook = new WebhookMethods(this.requestHandler, this.options);\r\n\t\tthis.guild = new GuildMethods(this.requestHandler);\r\n\t\tthis.guildScheduledEvent = new GuildScheduledEventMethods(this.requestHandler);\r\n\t\tthis.guildTemplate = new GuildTemplateMethods(this.requestHandler);\r\n\t\tthis.interaction = new InteractionMethods(this.requestHandler, this.webhook, this.options);\r\n\t\tthis.invite = new InviteMethods(this.requestHandler);\r\n\t\tthis.voice = new VoiceMethods(this.requestHandler);\r\n\t\tthis.bot = new BotMethods(this.requestHandler);\r\n\t\tthis.auditLog = new AuditLogMethods(this.requestHandler);\r\n\t\tthis.stageInstance = new StageInstanceMethods(this.requestHandler);\r\n\t\tthis.autoMod = new AutoModerationMethods(this.requestHandler);\r\n\t\tthis.entitlement = new EntitlementMethods(this.requestHandler);\r\n\t\tthis.sku = new SkuMethods(this.requestHandler);\r\n\t}\r\n}\r\n\r\nexport = SnowTransfer;\r\n","import AuditLogMethods2 = require(\"./methods/AuditLog\");\r\nimport AutoModerationMethods2 = require(\"./methods/AutoModeration\");\r\nimport BotMethods2 = require(\"./methods/Bot\");\r\nimport ChannelMethods2 = require(\"./methods/Channel\");\r\nimport AssetsMethods2 = require(\"./methods/Assets\");\r\nimport EntitlementsMethods2 = require(\"./methods/Entitlements\");\r\nimport GuildMethods2 = require(\"./methods/Guild\");\r\nimport GuildScheduledEventMethods2 = require(\"./methods/GuildScheduledEvent\");\r\nimport GuildTemplateMethods2 = require(\"./methods/GuildTemplate\");\r\nimport InteractionMethods2 = require(\"./methods/Interaction\");\r\nimport InviteMethods2 = require(\"./methods/Invite\");\r\nimport SkuMethods2 = require(\"./methods/Sku\");\r\nimport StageInstanceMethods2 = require(\"./methods/StageInstance\");\r\nimport UserMethods2 = require(\"./methods/User\");\r\nimport VoiceMethods2 = require(\"./methods/Voice\");\r\nimport WebhookMethods2 = require(\"./methods/Webhook\");\r\n\r\nimport tokenless2 = require(\"./tokenless\");\r\n\r\nimport Constants2 = require(\"./Constants\");\r\nimport Endpoints2 = require(\"./Endpoints\");\r\nimport SnowTransfer2 = require(\"./SnowTransfer\");\r\nimport {\r\n\tRatelimiter as Ratelimiter2,\r\n\tLocalBucket as LocalBucket2,\r\n\tGlobalBucket as GlobalBucket2,\r\n\tRequestHandler as RequestHandler2,\r\n\ttype HTTPMethod,\r\n\ttype HandlerEvents,\r\n\ttype RESTPostAPIAttachmentsRefreshURLsResult,\r\n\ttype RatelimitInfo,\r\n\ttype Queue,\r\n\ttype RequestEventData,\r\n\tDiscordAPIError as DiscordAPIError2,\r\n\tAsyncSequentialQueue as AsyncSequentialQueue2\r\n} from \"./RequestHandler\";\r\n\r\nexport {\r\n\tAuditLogMethods2 as AuditLogMethods,\r\n\tAutoModerationMethods2 as AutoModerationMethods,\r\n\tBotMethods2 as BotMethods,\r\n\tChannelMethods2 as ChannelMethods,\r\n\tAssetsMethods2 as AssetsMethods,\r\n\tEntitlementsMethods2 as EntitlementsMethods,\r\n\tGuildMethods2 as GuildMethods,\r\n\tGuildScheduledEventMethods2 as GuildScheduledEventMethods,\r\n\tGuildTemplateMethods2 as GuildTemplateMethods,\r\n\tInteractionMethods2 as InteractionMethods,\r\n\tInviteMethods2 as InviteMethods,\r\n\tSkuMethods2 as SkuMethods,\r\n\tStageInstanceMethods2 as StageInstanceMethods,\r\n\tUserMethods2 as UserMethods,\r\n\tVoiceMethods2 as VoiceMethods,\r\n\tWebhookMethods2 as WebhookMethods,\r\n\r\n\ttokenless2 as tokenless,\r\n\r\n\tConstants2 as Constants,\r\n\tEndpoints2 as Endpoints,\r\n\tSnowTransfer2 as SnowTransfer,\r\n\tRatelimiter2 as Ratelimiter,\r\n\tLocalBucket2 as LocalBucket,\r\n\tGlobalBucket2 as GlobalBucket,\r\n\tRequestHandler2 as RequestHandler,\r\n\tDiscordAPIError2 as DiscordAPIError,\r\n\tAsyncSequentialQueue2 as AsyncSequentialQueue,\r\n\r\n\ttype HTTPMethod,\r\n\ttype HandlerEvents,\r\n\ttype RESTPostAPIAttachmentsRefreshURLsResult,\r\n\ttype RatelimitInfo,\r\n\ttype RequestEventData,\r\n\ttype Queue\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/Constants.ts","../src/Endpoints.ts","../src/RequestHandler.ts","../src/methods/AuditLog.ts","../src/methods/AutoModeration.ts","../src/methods/Bot.ts","../src/methods/Channel.ts","../src/methods/Assets.ts","../src/methods/Entitlements.ts","../src/methods/Guild.ts","../src/methods/GuildScheduledEvent.ts","../src/methods/GuildTemplate.ts","../src/methods/Interaction.ts","../src/methods/Invite.ts","../src/methods/Sku.ts","../src/methods/StageInstance.ts","../src/methods/User.ts","../src/methods/Voice.ts","../src/methods/Webhook.ts","../src/tokenless.ts","../src/SnowTransfer.ts","../src/index.ts"],"names":["Constants","Blob","File","Readable","ReadableStream","deprecate","Endpoints","DiscordAPIError","AsyncSequentialQueue","Ratelimiter","LocalBucket","GlobalBucket","RequestHandler","EventEmitter","MessageReferenceType","InteractionResponseType","exports"],"mappings":"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","file":"index.js","sourcesContent":["import { Blob, File } from \"buffer\";\r\nimport { Readable } from \"stream\";\r\nimport { ReadableStream } from \"stream/web\";\r\nimport { deprecate } from \"util\";\r\n\r\nconst mentionRegex = /@([^<>@ ]*)/gsmu;\r\nconst isValidUserMentionRegex = /^[&!]?\\d+$/;\r\n\r\nfunction replaceEveryoneMatchProcessor(_match: string, target: string): string {\r\n\tif (isValidUserMentionRegex.test(target)) return `@${target}`;\r\n\telse return `@\\u200b${target}`;\r\n}\r\n\r\nconst Constants = {\r\n\tREST_API_VERSION: 10 as const,\r\n\tGET_CHANNEL_MESSAGES_MIN_RESULTS: 1 as const,\r\n\tGET_CHANNEL_MESSAGES_MAX_RESULTS: 100 as const,\r\n\tGET_GUILD_SCHEDULED_EVENT_USERS_MIN_RESULTS: 1 as const,\r\n\tGET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS: 100 as const,\r\n\tSEARCH_MEMBERS_MIN_RESULTS: 1 as const,\r\n\tSEARCH_MEMBERS_MAX_RESULTS: 1000 as const,\r\n\tBULK_DELETE_MESSAGES_MIN: 2 as const,\r\n\tBULK_DELETE_MESSAGES_MAX: 100 as const,\r\n\tOK_STATUS_CODES: new Set([200, 201, 204, 304]),\r\n\tDO_NOT_RETRY_STATUS_CODES: new Set([401, 403, 404, 405, 411, 413, 429]),\r\n\tDEFAULT_RETRY_LIMIT: 3,\r\n\tGLOBAL_REQUESTS_PER_SECOND: 50,\r\n\tasync standardMultipartHandler(data: { files: Array<{ name: string; file: Buffer | Blob | File | Readable | ReadableStream }>; data?: any; }): Promise<FormData> {\r\n\t\tconst form = new FormData();\r\n\r\n\t\tif (data.files && Array.isArray(data.files) && data.files.every(f => !!f.name && !!f.file)) {\r\n\t\t\tlet index = 0;\r\n\t\t\tfor (const file of data.files) {\r\n\t\t\t\tawait Constants.standardAddToFormHandler(form, `files[${index}]`, file.file, file.name);\r\n\r\n\r\n\t\t\t\tdelete file.file;\r\n\t\t\t\tindex++;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tif (data.data) delete data.files;\r\n\t\tform.append(\"payload_json\", JSON.stringify(data));\r\n\t\treturn form;\r\n\t},\r\n\tasync standardAddToFormHandler(form: FormData, name: string, value: Buffer | Blob | File | Readable | ReadableStream, filename?: string): Promise<void> {\r\n\t\tif (value instanceof Buffer) form.append(name, new Blob([value]), filename);\r\n\t\telse if (value instanceof Blob || value instanceof File) form.append(name, value, filename);\r\n\t\telse if (value instanceof Readable || value instanceof ReadableStream) {\r\n\t\t\tconst blob = await new Response(value instanceof ReadableStream ? value : Readable.toWeb(value)).blob();\r\n\t\t\tform.set(name, blob, filename);\r\n\t\t} else throw new Error(`Don't know how to add ${value?.constructor?.name ?? typeof value} to form`);\r\n\t},\r\n\treplaceEveryone: deprecate(function replaceEveryone(content: string): string {\r\n\t\treturn content.replace(mentionRegex, replaceEveryoneMatchProcessor);\r\n\t}, \"SnowTransfer: disableEveryone option has been deprecated and will be removed in a future release. Please use allowed_mentions instead.\")\r\n};\r\n\r\nexport = Constants;\r\n","\"use strict\";\r\n\r\nimport Constants = require(\"./Constants\");\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst Endpoints = {\r\n\tBASE_URL: \"/api/v\" + Constants.REST_API_VERSION as `/api/v${typeof Constants.REST_API_VERSION}`,\r\n\tBASE_HOST: \"https:\r\n\tCDN_URL: \"https:\r\n\r\n\tAPPLICATION_COMMAND: (appId: string, cmdId: string) => `${Endpoints.APPLICATION_COMMANDS(appId)}/${cmdId}` as `${ReturnType<typeof Endpoints.APPLICATION_COMMANDS>}/{cmd_id}`,\r\n\tAPPLICATION_COMMANDS: (appId: string) => `/applications/${appId}/commands` as \"/applications/{app_id}/commands\",\r\n\tAPPLICATION_EMOJI: (appId: string, emojiId: string) => `${Endpoints.APPLICATION_EMOJIS(appId)}/${emojiId}` as `${ReturnType<typeof Endpoints.APPLICATION_EMOJIS>}/{emoji_id}`,\r\n\tAPPLICATION_EMOJIS: (appId: string) => `/applications/${appId}/emojis` as \"/applications/{app_id}/emojis\",\r\n\tAPPLICATION_ENTITLEMENT: (appId: string, entitlementId: string) => `${Endpoints.APPLICATION_ENTITLEMENTS(appId)}/${entitlementId}` as `${ReturnType<typeof Endpoints.APPLICATION_ENTITLEMENTS>}/{entitlement_id}`,\r\n\tAPPLICATION_ENTITLEMENT_CONSUME: (appId: string, entitlementId: string) => `${Endpoints.APPLICATION_ENTITLEMENT(appId, entitlementId)}/consume` as `${ReturnType<typeof Endpoints.APPLICATION_ENTITLEMENT>}/consume`,\r\n\tAPPLICATION_ENTITLEMENTS: (appId: string) => `/applications/${appId}/entitlements` as \"/applications/{app_id}/entitlements\",\r\n\tAPPLICATION_GUILD_COMMANDS_PERMISSIONS: (appId: string, guildId: string) => `${Endpoints.APPLICATION_GUILD_COMMANDS(appId, guildId)}/permissions` as `${ReturnType<typeof Endpoints.APPLICATION_GUILD_COMMANDS>}/permissions`,\r\n\tAPPLICATION_GUILD_COMMAND_PERMISSIONS: (appId: string, guildId: string, cmdId: string) => `${Endpoints.APPLICATION_GUILD_COMMAND(appId, guildId, cmdId)}/permissions` as `${ReturnType<typeof Endpoints.APPLICATION_GUILD_COMMAND>}/permissions`,\r\n\tAPPLICATION_GUILD_COMMAND: (appId: string, guildId: string, cmdId: string) => `${Endpoints.APPLICATION_GUILD_COMMANDS(appId, guildId)}/${cmdId}` as `${ReturnType<typeof Endpoints.APPLICATION_GUILD_COMMANDS>}/{cmd_id}`,\r\n\tAPPLICATION_GUILD_COMMANDS: (appId: string, guildId: string) => `/applications/${appId}/guilds/${guildId}/commands` as \"/applications/{app_id}/guilds/{guild_id}/commands\",\r\n\tAPPLICATION_SKUS: (appId: string) => `/applications/${appId}/skus` as \"/applications/{app_id}/skus\",\r\n\tATTACHMENTS_REFRESH_URLS: `/attachments/refresh-urls` as const,\r\n\tCHANNEL: (chanId: string) => `${Endpoints.CHANNELS}/${chanId}` as `${typeof Endpoints.CHANNELS}/{channel_id}`,\r\n\tCHANNEL_ATTACHMENTS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/attachments` as `${ReturnType<typeof Endpoints.CHANNEL>}/attachments`,\r\n\tCHANNEL_BULK_DELETE: (chanId: string) => `${Endpoints.CHANNEL_MESSAGES(chanId)}/bulk-delete` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGES>}/bulk-delete`,\r\n\tCHANNEL_FOLLOWERS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/followers` as `${ReturnType<typeof Endpoints.CHANNEL>}/followers`,\r\n\tCHANNEL_INVITES: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/invites` as `${ReturnType<typeof Endpoints.CHANNEL>}/invites`,\r\n\tCHANNEL_MESSAGE: (chanId: string, msgId: string) => `${Endpoints.CHANNEL_MESSAGES(chanId)}/${msgId}` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGES>}/{message_id}`,\r\n\tCHANNEL_MESSAGE_CROSSPOST: (chanId: string, msgId: string) => `${Endpoints.CHANNEL_MESSAGE(chanId, msgId)}/crosspost` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGE>}/crosspost`,\r\n\tCHANNEL_MESSAGE_REACTION: (chanId: string, msgId: string, reaction: string) => `${Endpoints.CHANNEL_MESSAGE_REACTIONS(chanId, msgId)}/${reaction}` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGE_REACTIONS>}/{reaction}`,\r\n\tCHANNEL_MESSAGE_REACTION_USER: (chanId: string, msgId: string, reaction: string, userId: string) => `${Endpoints.CHANNEL_MESSAGE_REACTION(chanId, msgId, reaction)}/${userId}` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGE_REACTION>}/{user_id}`,\r\n\tCHANNEL_MESSAGE_REACTIONS: (chanId: string, msgId: string) => `${Endpoints.CHANNEL_MESSAGE(chanId, msgId)}/reactions` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGE>}/reactions`,\r\n\tCHANNEL_MESSAGE_THREADS: (chanId: string, msgId: string) => `${Endpoints.CHANNEL_MESSAGE(chanId, msgId)}/threads` as `${ReturnType<typeof Endpoints.CHANNEL_MESSAGE>}/threads`,\r\n\tCHANNEL_MESSAGES: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/messages` as `${ReturnType<typeof Endpoints.CHANNEL>}/messages`,\r\n\tCHANNEL_PERMISSION: (chanId: string, permId: string) => `${Endpoints.CHANNEL_PERMISSIONS(chanId)}/${permId}` as `${ReturnType<typeof Endpoints.CHANNEL_PERMISSIONS>}/{perm_id}`,\r\n\tCHANNEL_PERMISSIONS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/permissions` as `${ReturnType<typeof Endpoints.CHANNEL>}/permissions`,\r\n\tCHANNEL_PIN: (chanId: string, msgId: string) => `${Endpoints.CHANNEL_PINS(chanId)}/${msgId}` as `${ReturnType<typeof Endpoints.CHANNEL_PINS>}/{message_id}`,\r\n\tCHANNEL_PINS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/pins` as `${ReturnType<typeof Endpoints.CHANNEL>}/pins`,\r\n\tCHANNEL_RECIPIENT: (chanId: string, userId: string) => `${Endpoints.CHANNEL(chanId)}/recipients/${userId}` as `${ReturnType<typeof Endpoints.CHANNEL>}/recipients/{user_id}`,\r\n\tCHANNEL_THREADS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/threads` as `${ReturnType<typeof Endpoints.CHANNEL>}/threads`,\r\n\tCHANNEL_THREAD_MEMBER: (chanId: string, memberId: string) => `${Endpoints.CHANNEL_THREAD_MEMBERS(chanId)}/${memberId}` as `${ReturnType<typeof Endpoints.CHANNEL_THREAD_MEMBERS>}/{member_id}`,\r\n\tCHANNEL_THREAD_MEMBERS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/thread-members` as `${ReturnType<typeof Endpoints.CHANNEL>}/thread-members`,\r\n\tCHANNEL_THREADS_ARCHIVED_PRIVATE: (chanId: string) => `${Endpoints.CHANNEL_THREADS(chanId)}/archived/private` as `${ReturnType<typeof Endpoints.CHANNEL_THREADS>}/archived/private`,\r\n\tCHANNEL_THREADS_ARCHIVED_PRIVATE_USER: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/users/@me/threads/archived/private` as `${ReturnType<typeof Endpoints.CHANNEL>}/users/@me/threads/archived/private`,\r\n\tCHANNEL_THREADS_ARCHIVED_PUBLIC: (chanId: string) => `${Endpoints.CHANNEL_THREADS(chanId)}/archived/public` as `${ReturnType<typeof Endpoints.CHANNEL_THREADS>}/archived/public`,\r\n\tCHANNEL_TYPING: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/typing` as `${ReturnType<typeof Endpoints.CHANNEL>}/typing`,\r\n\tCHANNEL_WEBHOOKS: (chanId: string) => `${Endpoints.CHANNEL(chanId)}/webhooks` as `${ReturnType<typeof Endpoints.CHANNEL>}/webhooks`,\r\n\tCHANNELS: \"/channels\" as const,\r\n\tGATEWAY: \"/gateway\" as const,\r\n\tGATEWAY_BOT: \"/gateway/bot\" as const,\r\n\tGUILD: (guildId: string) => `${Endpoints.GUILDS}/${guildId}` as `${typeof Endpoints.GUILDS}/{guild_id}`,\r\n\tGUILD_AUDIT_LOGS: (guildId: string) => `${Endpoints.GUILD(guildId)}/audit-logs` as `${ReturnType<typeof Endpoints.GUILD>}/audit-logs`,\r\n\tGUILD_AUTO_MOD_RULE: (guildId: string, ruleId: string) => `${Endpoints.GUILD_AUTO_MOD_RULES(guildId)}/${ruleId}` as `${ReturnType<typeof Endpoints.GUILD_AUTO_MOD_RULES>}/{rule_id}`,\r\n\tGUILD_AUTO_MOD_RULES: (guildId: string) => `${Endpoints.GUILD(guildId)}/auto-moderation/rules` as `${ReturnType<typeof Endpoints.GUILD>}/auto-moderation/rules`,\r\n\tGUILD_BAN: (guildId: string, memberId: string) => `${Endpoints.GUILD_BANS(guildId)}/${memberId}` as `${ReturnType<typeof Endpoints.GUILD_BANS>}/{member_id}`,\r\n\tGUILD_BANS: (guildId: string) => `${Endpoints.GUILD(guildId)}/bans` as `${ReturnType<typeof Endpoints.GUILD>}/bans`,\r\n\tGUILD_CHANNELS: (guildId: string) => `${Endpoints.GUILD(guildId)}/channels` as `${ReturnType<typeof Endpoints.GUILD>}/channels`,\r\n\tGUILD_EMOJI: (guildId: string, emojiId: string) => `${Endpoints.GUILD_EMOJIS(guildId)}/${emojiId}` as `${ReturnType<typeof Endpoints.GUILD_EMOJIS>}/{emoji_id}`,\r\n\tGUILD_EMOJIS: (guildId: string) => `${Endpoints.GUILD(guildId)}/emojis` as `${ReturnType<typeof Endpoints.GUILD>}/emojis`,\r\n\tGUILD_INVITES: (guildId: string) => `${Endpoints.GUILD(guildId)}/invites` as `${ReturnType<typeof Endpoints.GUILD>}/invites`,\r\n\tGUILD_INTEGRATION: (guildId: string, integrationId: string) => `${Endpoints.GUILD_INTEGRATIONS(guildId)}/${integrationId}` as `${ReturnType<typeof Endpoints.GUILD_INTEGRATIONS>}/{integration_id}`,\r\n\tGUILD_INTEGRATIONS: (guildId: string) => `${Endpoints.GUILD(guildId)}/integrations` as `${ReturnType<typeof Endpoints.GUILD>}/integrations`,\r\n\tGUILD_MEMBER: (guildId: string, memberId: string) => `${Endpoints.GUILD_MEMBERS(guildId)}/${memberId}` as `${ReturnType<typeof Endpoints.GUILD_MEMBERS>}/{member_id}`,\r\n\tGUILD_MEMBER_ROLE: (guildId: string, memberId: string, roleId: string) => `${Endpoints.GUILD_MEMBER(guildId, memberId)}/roles/${roleId}` as `${ReturnType<typeof Endpoints.GUILD_MEMBER>}/roles/{role_id}`,\r\n\tGUILD_MEMBERS: (guildId: string) => `${Endpoints.GUILD(guildId)}/members` as `${ReturnType<typeof Endpoints.GUILD>}/members`,\r\n\tGUILD_MEMBERS_SEARCH: (guildId: string) => `${Endpoints.GUILD_MEMBERS(guildId)}/search` as `${ReturnType<typeof Endpoints.GUILD_MEMBERS>}/search`,\r\n\tGUILD_PREVIEW: (guildId: string) => `${Endpoints.GUILD(guildId)}/preview` as `${ReturnType<typeof Endpoints.GUILD>}/preview`,\r\n\tGUILD_PRUNE: (guildId: string) => `${Endpoints.GUILD(guildId)}/prune` as `${ReturnType<typeof Endpoints.GUILD>}/prune`,\r\n\tGUILD_ROLE: (guildId: string, roleId: string) => `${Endpoints.GUILD_ROLES(guildId)}/${roleId}` as `${ReturnType<typeof Endpoints.GUILD_ROLES>}/{role_id}`,\r\n\tGUILD_ROLES: (guildId: string) => `${Endpoints.GUILD(guildId)}/roles` as `${ReturnType<typeof Endpoints.GUILD>}/roles`,\r\n\tGUILD_SCHEDULED_EVENTS: (guildId: string) => `${Endpoints.GUILD(guildId)}/scheduled-events` as `${ReturnType<typeof Endpoints.GUILD>}/scheduled-events`,\r\n\tGUILD_SCHEDULED_EVENT: (guildId: string, eventId: string) => `${Endpoints.GUILD_SCHEDULED_EVENTS(guildId)}/${eventId}` as `${ReturnType<typeof Endpoints.GUILD_SCHEDULED_EVENTS>}/{event_id}`,\r\n\tGUILD_SCHEDULED_EVENT_USERS: (guildId: string, eventId: string) => `${Endpoints.GUILD_SCHEDULED_EVENT(guildId, eventId)}/users` as `${ReturnType<typeof Endpoints.GUILD_SCHEDULED_EVENT>}/users`,\r\n\tGUILD_STICKER: (guildId: string, stickerId: string) => `${Endpoints.GUILD_STICKERS(guildId)}/${stickerId}` as `${ReturnType<typeof Endpoints.GUILD_STICKERS>}/{sticker_id}`,\r\n\tGUILD_STICKERS: (guildId: string) => `${Endpoints.GUILD(guildId)}/stickers` as `${ReturnType<typeof Endpoints.GUILD>}/stickers`,\r\n\tGUILD_TEMPLATE: (guildId: string, code: string) => `${Endpoints.GUILD_TEMPLATES(guildId)}/${code}` as `${ReturnType<typeof Endpoints.GUILD_TEMPLATES>}/{code}`,\r\n\tGUILD_THREADS_ACTIVE: (guildId: string) => `${Endpoints.GUILD(guildId)}/threads/active` as `${ReturnType<typeof Endpoints.GUILD>}/threads/active`,\r\n\tGUILD_TEMPLATES: (guildId: string) => `${Endpoints.GUILD(guildId)}/templates` as `${ReturnType<typeof Endpoints.GUILD>}/templates`,\r\n\tGUILD_VANITY: (guildId: string) => `${Endpoints.GUILD(guildId)}/vanity-url` as `${ReturnType<typeof Endpoints.GUILD>}/vanity-url`,\r\n\tGUILD_VOICE_REGIONS: (guildId: string) => `${Endpoints.GUILD(guildId)}/regions` as `${ReturnType<typeof Endpoints.GUILD>}/regions`,\r\n\tGUILD_VOICE_STATE_USER: (guildId: string, memberId: string) => `${Endpoints.GUILD(guildId)}/voice-states/${memberId}` as `${ReturnType<typeof Endpoints.GUILD>}/voice-states/{member_id}`,\r\n\tGUILD_WEBHOOKS: (guildId: string) => `${Endpoints.GUILD(guildId)}/webhooks` as `${ReturnType<typeof Endpoints.GUILD>}/webhooks`,\r\n\tGUILD_WELCOME_SCREEN: (guildId: string) => `${Endpoints.GUILD(guildId)}/welcome-screen` as `${ReturnType<typeof Endpoints.GUILD>}/welcome-screen`,\r\n\tGUILD_WIDGET: (guildId: string) => `${Endpoints.GUILD(guildId)}/widget.json` as `${ReturnType<typeof Endpoints.GUILD>}/widget.json`,\r\n\tGUILD_WIDGET_SETTINGS: (guildId: string) => `${Endpoints.GUILD(guildId)}/widget` as `${ReturnType<typeof Endpoints.GUILD>}/widget`,\r\n\tGUILDS: \"/guilds\" as const,\r\n\tINTERACTION_CALLBACK: (interactionId: string, token: string) => `/interactions/${interactionId}/${token}/callback` as \"/interactions/{interaction_id}/{token}/callback\",\r\n\tINVITES: (inviteId: string) => `/invites/${inviteId}` as \"/invites/{invite_id}\",\r\n\tOAUTH2_APPLICATION: (appId: string) => `/oauth2/applications/${appId}` as \"/oauth2/applications/{app_id}\",\r\n\tOAUTH2_TOKEN: \"/api/oauth2/token\" as const,\r\n\tPOLL_ANSWER: (chanId: string, msgId: string, answerId: string) => `${Endpoints.CHANNEL(chanId)}/polls/${msgId}/answers/${answerId}` as `${ReturnType<typeof Endpoints.CHANNEL>}/polls/{message_id}/answers/{answer_id}`,\r\n\tPOLL_EXPIRE: (chanId: string, msgId: string) => `${Endpoints.CHANNEL(chanId)}/polls/${msgId}/expire` as `${ReturnType<typeof Endpoints.CHANNEL>}/polls/{message_id}/expire`,\r\n\tSKU_SUBSCRIPTIONS: (skuId: string) => `/skus/${skuId}/subscriptions` as \"/skus/{sku_id}/subscriptions\",\r\n\tSKU_SUBSCRIPTION: (skuId: string, subscriptionId: string) => `${Endpoints.SKU_SUBSCRIPTIONS(skuId)}/${subscriptionId}` as `${ReturnType<typeof Endpoints.SKU_SUBSCRIPTIONS>}/{subscription_id}`,\r\n\tSTAGE_INSTANCE_CHANNEL: (chanId: string) => `${Endpoints.STAGE_INSTANCES}/${chanId}` as `${typeof Endpoints.STAGE_INSTANCES}/{channel_id}`,\r\n\tSTAGE_INSTANCES: \"/stage-instances\" as const,\r\n\tSTICKER: (stickerId: string) => `/stickers/${stickerId}` as \"/stickers/{sticker_id}\",\r\n\tTEMPLATE: (code: string) => `/guilds/templates/${code}` as \"/guilds/templates/{code}\",\r\n\tUSER: (userId: string) => `${Endpoints.USERS}/${userId}` as `${typeof Endpoints.USERS}/{user_id}`,\r\n\tUSER_APPLICATION_ROLE_CONNECTION: (userId: string, appId: string) => `${Endpoints.USER(userId)}/applications/${appId}/role-connection` as `${ReturnType<typeof Endpoints.USER>}/applications/{app_id}/role-connection`,\r\n\tUSER_CHANNELS: (userId: string) => `${Endpoints.USER(userId)}/channels` as `${ReturnType<typeof Endpoints.USER>}/channels`,\r\n\tUSER_CONNECTIONS: (userId: string) => `${Endpoints.USER(userId)}/connections` as `${ReturnType<typeof Endpoints.USER>}/connections`,\r\n\tUSER_GUILD: (userId: string, guildId: string) => `${Endpoints.USER_GUILDS(userId)}/${guildId}` as `${ReturnType<typeof Endpoints.USER_GUILDS>}/{guild_id}`,\r\n\tUSER_GUILDS: (userId: string) => `${Endpoints.USER(userId)}/guilds` as `${ReturnType<typeof Endpoints.USER>}/guilds`,\r\n\tUSER_GUILD_VOICE_STATE: (guildId: string, userId: string) => `${Endpoints.GUILD(guildId)}/voice-states/${userId}` as `${ReturnType<typeof Endpoints.GUILD>}/voice-states/{user_id}`,\r\n\tUSERS: \"/users\" as const,\r\n\tVOICE_REGIONS: \"/voice/regions\" as const,\r\n\tWEBHOOK: (hookId: string) => `/webhooks/${hookId}` as \"/webhooks/{hook_id}\",\r\n\tWEBHOOK_TOKEN: (hookId: string, token: string) => `${Endpoints.WEBHOOK(hookId)}/${token}` as `${ReturnType<typeof Endpoints.WEBHOOK>}/{token}`,\r\n\tWEBHOOK_TOKEN_GITHUB: (hookId: string, token: string) => `${Endpoints.WEBHOOK_TOKEN(hookId, token)}/github` as `${ReturnType<typeof Endpoints.WEBHOOK_TOKEN>}/github`,\r\n\tWEBHOOK_TOKEN_MESSAGE: (hookId: string, token: string, msgId: string) => `/webhooks/${hookId}/${token}/messages/${msgId}` as `${ReturnType<typeof Endpoints.WEBHOOK_TOKEN>}/messages/{message_id}`,\r\n\tWEBHOOK_TOKEN_SLACK: (hookId: string, token: string) => `${Endpoints.WEBHOOK_TOKEN(hookId, token)}/slack` as `${ReturnType<typeof Endpoints.WEBHOOK_TOKEN>}/slack`,\r\n};\r\n\r\nexport = Endpoints;\r\n","/* eslint-disable no-async-promise-executor */\r\n\r\nimport fs = require(\"fs\");\r\nimport path = require(\"path\");\r\nimport { EventEmitter } from \"events\";\r\nimport crypto = require(\"crypto\");\r\n\r\nimport Endpoints = require(\"./Endpoints\");\r\nconst { version } = JSON.parse(fs.readFileSync(path.join(__dirname, \"../package.json\"), { encoding: \"utf8\" }));\r\nimport Constants = require(\"./Constants\");\r\n\r\nexport type HTTPMethod = \"get\" | \"post\" | \"patch\" | \"head\" | \"put\" | \"delete\" | \"connect\" | \"options\" | \"trace\";\r\n\r\nexport type RESTPostAPIAttachmentsRefreshURLsResult = {\r\n\trefreshed_urls: Array<{\r\n\t\toriginal: string;\r\n\t\trefreshed: string;\r\n\t}>;\r\n}\r\n\r\nexport type RatelimitInfo = {\r\n\tmessage: string;\r\n\tretry_after: number;\r\n\tglobal: boolean;\r\n\tcode?: number;\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport interface Queue {\r\n\r\n\r\n\r\n\tcalls: Array<() => any>;\r\n\r\n\r\n\r\n\trunning: boolean;\r\n\r\n\r\n\r\n\tblocked: boolean;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tenqueue<T>(fn: () => T): Promise<T>;\r\n\r\n\r\n\r\n\r\n\r\n\tsetBlocked(blocked: boolean): void;\r\n\r\n\r\n\r\n\r\n\tdrop(): void;\r\n}\r\n\r\n\r\nconst routeRegex = /\\/([a-z-]+)\\/(?:\\d+)/g;\r\nconst reactionsRegex = /\\/reactions\\/[^/]+/g;\r\nconst reactionsUserRegex = /\\/reactions\\/:id\\/[^/]+/g;\r\nconst webhooksRegex = /^\\/webhooks\\/(\\d+)\\/[A-Za-z0-9-_]{64,}/;\r\nconst isMessageEndpointRegex = /\\/messages\\/:id$/;\r\nconst isGuildChannelsRegex = /\\/guilds\\/\\d+\\/channels$/;\r\n\r\nconst disallowedBodyMethods = new Set([\"head\", \"get\", \"delete\"]);\r\n\r\n\r\n\r\n\r\nexport class DiscordAPIError extends Error {\r\n\tpublic method: string;\r\n\tpublic path: string;\r\n\tpublic code: number;\r\n\tpublic httpStatus: number;\r\n\tpublic request: RequestEventData;\r\n\tpublic response: Response;\r\n\r\n\tpublic constructor(error: { message?: string; code?: number; }, request: RequestEventData, response: Response) {\r\n\t\tsuper();\r\n\t\tthis.name = \"DiscordAPIError\";\r\n\t\tthis.message = error.message ?? String(error);\r\n\t\tthis.method = request.method;\r\n\t\tthis.path = request.endpoint;\r\n\t\tthis.code = error.code ?? 4000;\r\n\t\tthis.httpStatus = response.status;\r\n\r\n\t\tObject.defineProperties(this, {\r\n\t\t\trequest: { enumerable: false, value: request },\r\n\t\t\tresponse: { enumerable: false, value: response },\r\n\t\t});\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport class AsyncSequentialQueue implements Queue {\r\n\tpublic calls: Array<() => any> = [];\r\n\r\n\tprivate _blocked = false;\r\n\tprivate _running = false;\r\n\r\n\tpublic get blocked(): boolean {\r\n\t\treturn this._blocked;\r\n\t}\r\n\r\n\tpublic get running(): boolean {\r\n\t\treturn this._running;\r\n\t}\r\n\r\n\tpublic enqueue<T>(fn: () => T): Promise<T> {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tconst wrapped = async () => {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tresolve(await fn());\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\treject(e as Error);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.calls.push(wrapped);\r\n\t\t\tthis._tryRun();\r\n\t\t});\r\n\t}\r\n\r\n\tpublic setBlocked(blocked: boolean): void {\r\n\t\tthis._blocked = blocked;\r\n\t\tthis._tryRun();\r\n\t}\r\n\r\n\tpublic drop(): void {\r\n\t\tthis.calls.length = 0;\r\n\t\tthis._running = false;\r\n\t}\r\n\r\n\tprivate _tryRun(): void {\r\n\t\tif (this._blocked || this._running) return;\r\n\t\tthis._running = true;\r\n\t\tthis._next();\r\n\t}\r\n\r\n\tprivate async _next(): Promise<void> {\r\n\t\tif (this._blocked || !this._running) return\r\n\t\tconst cb = this.calls.shift();\r\n\t\tawait cb?.();\r\n\t\tif (this.calls.length && !this._blocked) setImmediate(() => this._next());\r\n\t\telse this._running = false;\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport class Ratelimiter<B extends typeof GlobalBucket = typeof GlobalBucket> {\r\n\r\n\r\n\r\n\tpublic buckets = new Map<string, InstanceType<B>>();\r\n\r\n\r\n\r\n\tpublic globalBucket = new LocalBucket(Constants.GLOBAL_REQUESTS_PER_SECOND, 1000);\r\n\r\n\r\n\r\n\r\n\tpublic get global() {\r\n\t\treturn this.globalBucket.remaining === 0;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public BucketConstructor: B = GlobalBucket as B) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic routify(url: string, method: string): string {\r\n\t\tlet route = url.replace(routeRegex, function (match, p: string) {\r\n\t\t\treturn p === \"channels\" || p === \"guilds\" || p === \"webhooks\" ? match : `/${p}/:id`;\r\n\t\t}).replace(reactionsRegex, \"/reactions/:id\").replace(reactionsUserRegex, \"/reactions/:id/:userId\").replace(webhooksRegex, \"/webhooks/$1/:token\");\r\n\r\n\t\tif (method === \"DELETE\" && isMessageEndpointRegex.test(route)) route = method + route;\r\n\t\telse if (method === \"GET\" && isGuildChannelsRegex.test(route)) route = \"/guilds/:id/channels\";\r\n\r\n\t\tif (method === \"PUT\" || method === \"DELETE\") {\r\n\t\t\tconst index = route.indexOf(\"/reactions\");\r\n\t\t\tif (index !== -1) route = \"MODIFY\" + route.slice(0, index + 10);\r\n\t\t}\r\n\r\n\t\treturn route;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic queue<T>(fn: (bucket: InstanceType<B>) => T, url: string, method: string): Promise<T> {\r\n\t\tconst routeKey = this.routify(url, method);\r\n\r\n\t\tlet bucket = this.buckets.get(routeKey);\r\n\t\tif (!bucket) {\r\n\t\t\tbucket = new this.BucketConstructor(this, routeKey) as InstanceType<B>;\r\n\t\t\tthis.buckets.set(routeKey, bucket);\r\n\t\t}\r\n\r\n\t\treturn new Promise<T>((resolve, reject) => {\r\n\t\t\tthis.globalBucket.enqueue(() => {\r\n\t\t\t\tbucket.enqueue(fn).then(resolve).catch(reject);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic setGlobal(ms: number): void {\r\n\t\tthis.globalBucket.remaining = 0;\r\n\t\tthis.globalBucket.queue.setBlocked(true);\r\n\t\tthis.globalBucket.makeResetTimeout(ms);\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport class LocalBucket {\r\n\r\n\r\n\r\n\tpublic queue: Queue = new AsyncSequentialQueue();\r\n\r\n\r\n\r\n\tpublic remaining: number;\r\n\r\n\tprivate resetTimeout: NodeJS.Timeout | null = null;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public limit = 5, public reset = 5000, remaining?: number) {\r\n\t\tthis.remaining = remaining ?? limit;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic enqueue<T>(fn: (bkt: this) => T): Promise<T> {\r\n\t\treturn this.queue.enqueue<T>(() => {\r\n\t\t\tthis.remaining--;\r\n\t\t\tif (this.remaining === 0) this.queue.setBlocked(true);\r\n\t\t\tif (!this.resetTimeout) this.makeResetTimeout(this.reset);\r\n\r\n\t\t\treturn fn(this);\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic makeResetTimeout(ms: number): void {\r\n\t\tif (this.resetTimeout) clearTimeout(this.resetTimeout);\r\n\t\tthis.resetTimeout = setTimeout(() => this.resetRemaining(), ms).unref();\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic resetRemaining(): void {\r\n\t\tif (this.resetTimeout) clearTimeout(this.resetTimeout);\r\n\t\tthis.resetTimeout = null;\r\n\r\n\t\tthis.remaining = this.limit;\r\n\t\tthis.queue.setBlocked(false);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic dropQueue(): void {\r\n\t\tthis.queue.drop();\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport class GlobalBucket extends LocalBucket {\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public readonly ratelimiter: Ratelimiter, public readonly routeKey: string, limit = 5, reset = 5000, remaining?: number) {\r\n\t\tsuper(limit, reset, remaining);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic resetRemaining(): void {\r\n\t\tif (!this.queue.calls.length) this.ratelimiter.buckets.delete(this.routeKey);\r\n\t\tsuper.resetRemaining();\r\n\t}\r\n}\r\n\r\nexport type RequestEventData = {\r\n\tendpoint: string;\r\n\tmethod: string;\r\n\tdataType: \"json\" | \"multipart\";\r\n\tdata: any;\r\n};\r\n\r\nexport type HandlerEvents = {\r\n\trequest: [string, RequestEventData];\r\n\tdone: [string, Response, RequestEventData];\r\n\trequestError: [string, Error];\r\n\trateLimit: [{ timeout: number; remaining: number; limit: number; method: string; path: string; route: string; }];\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport class RequestHandler extends EventEmitter<HandlerEvents> {\r\n\tpublic options: {\r\n\r\n\t\tbaseHost: string;\r\n\r\n\t\tbaseURL: string;\r\n\r\n\t\tbypassBuckets: boolean;\r\n\r\n\t\tretryFailed: boolean;\r\n\r\n\t\tretryLimit: number;\r\n\t\theaders: { Authorization?: string; \"User-Agent\": string; }\r\n\t};\r\n\tpublic latency: number;\r\n\tpublic apiURL: string;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public ratelimiter: Ratelimiter, options?: { token?: string; } & Partial<Omit<RequestHandler[\"options\"], \"headers\">>) {\r\n\t\tsuper();\r\n\r\n\t\tthis.options = {\r\n\t\t\tbaseHost: options?.baseHost ?? Endpoints.BASE_HOST,\r\n\t\t\tbaseURL: options?.baseURL ?? Endpoints.BASE_URL,\r\n\t\t\tbypassBuckets: options?.bypassBuckets ?? false,\r\n\t\t\tretryFailed: options?.retryFailed ?? false,\r\n\t\t\tretryLimit: options?.retryLimit ?? Constants.DEFAULT_RETRY_LIMIT,\r\n\t\t\theaders: {\r\n\t\t\t\t\"User-Agent\": `Discordbot (https:\r\n\t\t\t}\r\n\t\t};\r\n\t\tif (options?.token) this.options.headers.Authorization = options.token;\r\n\r\n\t\tthis.apiURL = this.options.baseHost + Endpoints.BASE_URL;\r\n\t\tthis.latency = 500;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic request(endpoint: string, params: Record<string, any> | undefined, method: HTTPMethod, dataType: \"json\", data?: any, extraHeaders?: Record<string, string>, retries?: number): Promise<any>\r\n\tpublic request(endpoint: string, params: Record<string, any> | undefined, method: HTTPMethod, dataType: \"multipart\", data?: FormData, extraHeaders?: Record<string, string>, retries?: number): Promise<any>\r\n\tpublic request(endpoint: string, params: Record<string, any> = {}, method: HTTPMethod, dataType: \"json\" | \"multipart\", data?: any, extraHeaders?: Record<string, string>, retries = this.options.retryLimit): Promise<any> {\r\n\r\n\t\treturn new Promise(async (resolve, reject) => {\r\n\t\t\tconst fn = async (bkt?: GlobalBucket | undefined) => {\r\n\t\t\t\tconst reqId = crypto.randomBytes(20).toString(\"hex\");\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst request = { endpoint, method: method.toUpperCase(), dataType, data: data ?? {} };\r\n\t\t\t\t\tthis.emit(\"request\", reqId, request);\r\n\r\n\t\t\t\t\tconst before = Date.now();\r\n\r\n\t\t\t\t\tlet response: Response;\r\n\t\t\t\t\tswitch (dataType) {\r\n\t\t\t\t\tcase \"json\":\r\n\t\t\t\t\t\tresponse = await this._request(endpoint, params, method, data, extraHeaders);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"multipart\":\r\n\t\t\t\t\t\tif (!data) throw new Error(\"No multipart data\");\r\n\t\t\t\t\t\tresponse = await this._multiPartRequest(endpoint, params, method, data, extraHeaders);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tthrow new Error(\"Forbidden dataType. Use json or multipart or ensure multipart has FormData\");\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.latency = Date.now() - before;\r\n\r\n\t\t\t\t\tif (bkt) this._applyRatelimitHeaders(bkt, response.headers);\r\n\r\n\t\t\t\t\tif (response.status && !Constants.OK_STATUS_CODES.has(response.status) && response.status !== 429) {\r\n\t\t\t\t\t\tif (this.options.retryFailed && !Constants.DO_NOT_RETRY_STATUS_CODES.has(response.status) && retries !== 0) return this.request(endpoint, params, method, dataType as any, data, extraHeaders, retries--).then(resolve).catch(reject);\r\n\t\t\t\t\t\tthrow new DiscordAPIError({ message: await response.text() }, request, response);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (response.status === 429) {\r\n\t\t\t\t\t\tconst b = await response.json() as RatelimitInfo;\r\n\t\t\t\t\t\tif (b.global) this.ratelimiter.setGlobal(b.retry_after * 1000);\r\n\t\t\t\t\t\telse bkt?.queue.setBlocked(true);\r\n\r\n\t\t\t\t\t\tthis.emit(\"rateLimit\", {\r\n\t\t\t\t\t\t\ttimeout: bkt?.reset ?? b.retry_after * 1000,\r\n\t\t\t\t\t\t\tremaining: 0,\r\n\t\t\t\t\t\t\tlimit: bkt?.limit ?? Infinity,\r\n\t\t\t\t\t\t\tmethod: method.toUpperCase(),\r\n\t\t\t\t\t\t\tpath: endpoint,\r\n\t\t\t\t\t\t\troute: bkt?.routeKey ?? this.ratelimiter.routify(endpoint, method.toUpperCase())\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tthrow new DiscordAPIError({ message: b.message, code: b.code ?? 429 }, request, response);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.emit(\"done\", reqId, response, request);\r\n\r\n\t\t\t\t\tif (response.body) {\r\n\t\t\t\t\t\tlet b: any;\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tb = await response.json();\r\n\t\t\t\t\t\t} catch {\r\n\t\t\t\t\t\t\treturn resolve(undefined);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn resolve(b);\r\n\t\t\t\t\t} else return resolve(undefined);\r\n\t\t\t\t} catch (error) {\r\n\r\n\t\t\t\t\tthis.emit(\"requestError\", reqId, error);\r\n\t\t\t\t\treturn reject(error as Error);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tif (this.options.bypassBuckets) fn();\r\n\t\t\telse this.ratelimiter.queue(fn, endpoint, method.toUpperCase());\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tprivate _applyRatelimitHeaders(bkt: GlobalBucket, headers: Headers): void {\r\n\t\tconst remaining = headers.get(\"x-ratelimit-remaining\");\r\n\t\tconst limit = headers.get(\"x-ratelimit-limit\");\r\n\t\tconst resetAfter = headers.get(\"x-ratelimit-reset-after\");\r\n\r\n\t\tif (remaining) bkt.remaining = parseInt(remaining);\r\n\t\tif (limit) bkt.limit = parseInt(limit);\r\n\t\tif (resetAfter) {\r\n\t\t\tbkt.reset = parseFloat(resetAfter) * 1000;\r\n\t\t\tbkt.makeResetTimeout(bkt.reset);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tprivate async _request(endpoint: string, params: Record<string, any> = {}, method: HTTPMethod, data?: any, extraHeaders?: Record<string, string>): Promise<Response> {\r\n\t\tconst headers = { ...this.options.headers, ...extraHeaders };\r\n\t\tif (typeof data !== \"string\" && data?.reason) {\r\n\t\t\theaders[\"X-Audit-Log-Reason\"] = encodeURIComponent(data.reason);\r\n\t\t\tdelete data.reason;\r\n\t\t}\r\n\r\n\t\tlet body: string | undefined = undefined;\r\n\t\tif (!disallowedBodyMethods.has(method)) {\r\n\t\t\tif (typeof data === \"object\") body = JSON.stringify(data);\r\n\t\t\telse body = String(data);\r\n\t\t}\r\n\r\n\t\theaders[\"Content-Type\"] = \"application/json\";\r\n\r\n\t\treturn fetch(`${this.apiURL}${endpoint}${appendQuery(params)}`, {\r\n\t\t\tmethod: method.toUpperCase(),\r\n\t\t\theaders,\r\n\t\t\tbody\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tprivate async _multiPartRequest(endpoint: string, params: Record<string, any> = {}, method: HTTPMethod, data: FormData, extraHeaders?: Record<string, string>): Promise<Response> {\r\n\t\tconst headers = { ...this.options.headers, ...extraHeaders };\r\n\r\n\t\treturn fetch(`${this.apiURL}${endpoint}${appendQuery(params)}`, {\r\n\t\t\tmethod: method.toUpperCase(),\r\n\t\t\theaders,\r\n\t\t\tbody: data\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction appendQuery(query: Record<string, any>): string {\r\n\tlet count = 0;\r\n\tfor (const [key, value] of Object.entries(query)) {\r\n\t\tif (value == undefined) delete query[key];\r\n\t\telse count++;\r\n\t}\r\n\r\n\treturn count > 0 ? `?${new URLSearchParams(query).toString()}` : \"\";\r\n}\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTGetAPIAuditLogQuery,\r\n\tRESTGetAPIAuditLogResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass AuditLogMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getAuditLog(guildId: string, options?: RESTGetAPIAuditLogQuery): Promise<RESTGetAPIAuditLogResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_AUDIT_LOGS(guildId), options, \"get\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = AuditLogMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTGetAPIAutoModerationRulesResult,\r\n\tRESTGetAPIAutoModerationRuleResult,\r\n\tRESTPostAPIAutoModerationRuleJSONBody,\r\n\tRESTPostAPIAutoModerationRuleResult,\r\n\tRESTPatchAPIAutoModerationRuleJSONBody,\r\n\tRESTPatchAPIAutoModerationRuleResult,\r\n\tRESTDeleteAPIAutoModerationRuleResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass AutoModerationMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getAutoModerationRules(guildId: string): Promise<RESTGetAPIAutoModerationRulesResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_AUTO_MOD_RULES(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getAutoModerationRule(guildId: string, ruleId: string): Promise<RESTGetAPIAutoModerationRuleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_AUTO_MOD_RULE(guildId, ruleId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createAutoModerationRule(guildId: string, data: RESTPostAPIAutoModerationRuleJSONBody & { reason?: string }): Promise<RESTPostAPIAutoModerationRuleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_AUTO_MOD_RULES(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editAutoModerationRule(guildId: string, ruleId: string, data: RESTPatchAPIAutoModerationRuleJSONBody & { reason?: string }): Promise<RESTPatchAPIAutoModerationRuleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_AUTO_MOD_RULE(guildId, ruleId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteAutoModerationRule(guildId: string, ruleId: string, reason?: string): Promise<RESTDeleteAPIAutoModerationRuleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_AUTO_MOD_RULE(guildId, ruleId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIAutoModerationRuleResult;\r\n\t}\r\n}\r\n\r\nexport = AutoModerationMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTGetAPIGatewayBotResult,\r\n\tRESTGetAPIGatewayResult,\r\n\tAPIApplication,\r\n\tRESTPatchCurrentApplicationJSONBody\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass BotMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGateway(): Promise<RESTGetAPIGatewayResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GATEWAY, {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGatewayBot(): Promise<RESTGetAPIGatewayBotResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GATEWAY_BOT, {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getApplicationInfo(): Promise<APIApplication> {\r\n\t\treturn this.requestHandler.request(Endpoints.OAUTH2_APPLICATION(\"@me\"), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateApplicationInfo(data: RESTPatchCurrentApplicationJSONBody): Promise<APIApplication> {\r\n\t\treturn this.requestHandler.request(Endpoints.OAUTH2_APPLICATION(\"@me\"), {}, \"patch\", \"json\", data);\r\n\t}\r\n}\r\n\r\nexport = BotMethods;\r\n","import type { RequestHandler as RH, RESTPostAPIAttachmentsRefreshURLsResult } from \"../RequestHandler\";\r\nimport type ST = require(\"../SnowTransfer\");\r\n\r\nimport Endpoints = require(\"../Endpoints\");\r\nimport Constants = require(\"../Constants\");\r\n\r\nimport {\r\n\ttype APITextBasedChannel,\r\n\ttype APIThreadChannel,\r\n\ttype ChannelType,\r\n\ttype RESTDeleteAPIChannelAllMessageReactionsResult,\r\n\ttype RESTDeleteAPIChannelMessageReactionResult,\r\n\ttype RESTDeleteAPIChannelMessageResult,\r\n\ttype RESTDeleteAPIChannelMessageUserReactionResult,\r\n\ttype RESTDeleteAPIChannelPermissionResult,\r\n\ttype RESTDeleteAPIChannelPinResult,\r\n\ttype RESTDeleteAPIChannelResult,\r\n\ttype RESTDeleteAPIChannelThreadMembersResult,\r\n\ttype RESTGetAPIChannelInvitesResult,\r\n\ttype RESTGetAPIChannelMessageReactionUsersQuery,\r\n\ttype RESTGetAPIChannelMessageReactionUsersResult,\r\n\ttype RESTGetAPIChannelMessageResult,\r\n\ttype RESTGetAPIChannelMessagesQuery,\r\n\ttype RESTGetAPIChannelMessagesResult,\r\n\ttype RESTGetAPIChannelPinsResult,\r\n\ttype RESTGetAPIChannelResult,\r\n\ttype RESTGetAPIChannelThreadMemberResult,\r\n\ttype RESTGetAPIChannelThreadMembersQuery,\r\n\ttype RESTGetAPIChannelThreadMembersResult,\r\n\ttype RESTGetAPIChannelThreadsArchivedPrivateResult,\r\n\ttype RESTGetAPIChannelThreadsArchivedPublicResult,\r\n\ttype RESTGetAPIChannelThreadsArchivedQuery,\r\n\ttype RESTGetAPIChannelUsersThreadsArchivedResult,\r\n\ttype RESTPatchAPIChannelJSONBody,\r\n\ttype RESTPatchAPIChannelMessageJSONBody,\r\n\ttype RESTPatchAPIChannelMessageResult,\r\n\ttype RESTPatchAPIChannelResult,\r\n\ttype RESTPostAPIChannelFollowersResult,\r\n\ttype RESTPostAPIChannelInviteJSONBody,\r\n\ttype RESTPostAPIChannelInviteResult,\r\n\ttype RESTPostAPIChannelMessageCrosspostResult,\r\n\ttype RESTPostAPIChannelMessageJSONBody,\r\n\ttype RESTPostAPIChannelMessageResult,\r\n\ttype RESTPostAPIChannelMessagesBulkDeleteResult,\r\n\ttype RESTPostAPIChannelMessagesThreadsJSONBody,\r\n\ttype RESTPostAPIChannelMessagesThreadsResult,\r\n\ttype RESTPostAPIChannelThreadsJSONBody,\r\n\ttype RESTPostAPIChannelTypingResult,\r\n\ttype RESTPutAPIChannelMessageReactionResult,\r\n\ttype RESTPutAPIChannelPermissionJSONBody,\r\n\ttype RESTPutAPIChannelPermissionResult,\r\n\ttype RESTPutAPIChannelPinResult,\r\n\ttype RESTPutAPIChannelThreadMembersResult,\r\n\ttype RESTGetAPIPollAnswerVotersQuery,\r\n\ttype RESTGetAPIPollAnswerVotersResult,\r\n\ttype RESTPostAPIPollExpireResult,\r\n\tMessageReferenceType\r\n} from \"discord-api-types/v10\";\r\n\r\nimport type { Readable } from \"stream\";\r\nimport type { ReadableStream } from \"stream/web\";\r\n\r\n\r\n\r\n\r\n\r\nclass ChannelMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH, public options: ST.Options) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannel(channelId: string): Promise<RESTGetAPIChannelResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL(channelId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateChannel(channelId: string, data: Omit<RESTPatchAPIChannelJSONBody, \"archived\" | \"auto_archive_duration\" | \"locked\" | \"invitable\"> & { reason?: string; }): Promise<Exclude<RESTPatchAPIChannelResult, APIThreadChannel>>;\r\n\tpublic async updateChannel(channelId: string, data: Pick<RESTPatchAPIChannelJSONBody, \"archived\" | \"auto_archive_duration\" | \"locked\" | \"name\" | \"rate_limit_per_user\"> & { reason?: string; }): Promise<Extract<RESTPatchAPIChannelResult, APIThreadChannel>>;\r\n\tpublic async updateChannel(channelId: string, data: RESTPatchAPIChannelJSONBody & { reason?: string; }): Promise<RESTPatchAPIChannelResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL(channelId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteChannel(channelId: string, reason?: string): Promise<RESTDeleteAPIChannelResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL(channelId), {}, \"delete\", \"json\", { reason });\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelMessages(channelId: string, options: RESTGetAPIChannelMessagesQuery = { limit: 50 }): Promise<RESTGetAPIChannelMessagesResult> {\r\n\t\tif (options.around) {\r\n\t\t\tdelete options.before;\r\n\t\t\tdelete options.after;\r\n\t\t} else if (options.before) {\r\n\t\t\tdelete options.around;\r\n\t\t\tdelete options.after;\r\n\t\t} else if (options.after) {\r\n\t\t\tdelete options.before;\r\n\t\t\tdelete options.around;\r\n\t\t}\r\n\t\tif (options.limit !== undefined && (options.limit < Constants.GET_CHANNEL_MESSAGES_MIN_RESULTS || options.limit > Constants.GET_CHANNEL_MESSAGES_MAX_RESULTS)) throw new RangeError(`Amount of messages that may be requested has to be between ${Constants.GET_CHANNEL_MESSAGES_MIN_RESULTS} and ${Constants.GET_CHANNEL_MESSAGES_MAX_RESULTS}`);\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGES(channelId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelMessage(channelId: string, messageId: string): Promise<RESTGetAPIChannelMessageResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE(channelId, messageId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createMessage(channelId: string, data: string | RESTPostAPIChannelMessageJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }, options: { disableEveryone?: boolean; } = { disableEveryone: this.options.disableEveryone }): Promise<RESTPostAPIChannelMessageResult> {\r\n\t\tif (typeof data !== \"string\" && !data.content && (!data.message_reference || (data.message_reference && data.message_reference.type === MessageReferenceType.Default)) && !data.embeds && !data.sticker_ids && !data.components && !data.files && !data.poll) throw new Error(\"Missing content, message_reference type 1, embeds, sticker_ids, components, files, or poll\");\r\n\t\tif (typeof data === \"string\") data = { content: data };\r\n\r\n\r\n\t\tif (data.content && (options.disableEveryone ?? this.options.disableEveryone)) data.content = Constants.replaceEveryone(data.content);\r\n\t\tdata.allowed_mentions ??= this.options.allowed_mentions;\r\n\r\n\t\tif (data.files) return this.requestHandler.request(Endpoints.CHANNEL_MESSAGES(channelId), {}, \"post\", \"multipart\", await Constants.standardMultipartHandler(data as Parameters<typeof Constants[\"standardMultipartHandler\"]>[\"0\"]));\r\n\t\telse return this.requestHandler.request(Endpoints.CHANNEL_MESSAGES(channelId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createVoiceMessage(channelId: string, data: Buffer, audioDurationSeconds: number, waveform = \"\"): Promise<RESTPostAPIChannelMessageResult> {\r\n\r\n\t\tconst { upload_url, upload_filename } = await this.requestHandler.request(Endpoints.CHANNEL_ATTACHMENTS(channelId), {}, \"post\", \"json\", {\r\n\t\t\tfiles: [{\r\n\t\t\t\tid: \"69420\",\r\n\t\t\t\tfilename: \"voice-message.ogg\",\r\n\t\t\t\tfile_size: data.byteLength\r\n\t\t\t}]\r\n\t\t}).then(d => d.attachments[0]);\r\n\r\n\r\n\t\tawait fetch(upload_url, { method: \"PUT\", body: data });\r\n\r\n\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGES(channelId), {}, \"post\", \"json\", {\r\n\t\t\tattachments: [{\r\n\t\t\t\tid: \"42069\",\r\n\t\t\t\tuploaded_filename: upload_filename,\r\n\t\t\t\tfilename: \"voice-message.ogg\",\r\n\t\t\t\tduration_secs: audioDurationSeconds,\r\n\t\t\t\twaveform\r\n\t\t\t}],\r\n\t\t\tflags: 1 << 13\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async crosspostMessage(channelId: string, messageId: string): Promise<RESTPostAPIChannelMessageCrosspostResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE_CROSSPOST(channelId, messageId), {}, \"post\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createReaction(channelId: string, messageId: string, emoji: string): Promise<RESTPutAPIChannelMessageReactionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE_REACTION_USER(channelId, messageId, emoji, \"@me\"), {}, \"put\", \"json\") as RESTPutAPIChannelMessageReactionResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteReactionSelf(channelId: string, messageId: string, emoji: string): Promise<RESTDeleteAPIChannelMessageUserReactionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE_REACTION_USER(channelId, messageId, emoji, \"@me\"), {}, \"delete\", \"json\") as RESTDeleteAPIChannelMessageUserReactionResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteReaction(channelId: string, messageId: string, emoji: string): Promise<RESTDeleteAPIChannelMessageReactionResult>;\r\n\tpublic async deleteReaction(channelId: string, messageId: string, emoji: string, userId: string): Promise<RESTDeleteAPIChannelMessageUserReactionResult>;\r\n\tpublic async deleteReaction(channelId: string, messageId: string, emoji: string, userId?: string): Promise<RESTDeleteAPIChannelMessageReactionResult | RESTDeleteAPIChannelMessageUserReactionResult> {\r\n\t\treturn this.requestHandler.request(userId ? Endpoints.CHANNEL_MESSAGE_REACTION_USER(channelId, messageId, emoji, userId) : Endpoints.CHANNEL_MESSAGE_REACTION(channelId, messageId, emoji), {}, \"delete\", \"json\") as never;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getReactions(channelId: string, messageId: string, emoji: string, options?: RESTGetAPIChannelMessageReactionUsersQuery): Promise<RESTGetAPIChannelMessageReactionUsersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE_REACTION(channelId, messageId, emoji), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteAllReactions(channelId: string, messageId: string): Promise<RESTDeleteAPIChannelAllMessageReactionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE_REACTIONS(channelId, messageId), {}, \"delete\", \"json\") as RESTDeleteAPIChannelAllMessageReactionsResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editMessage(channelId: string, messageId: string, data: string | RESTPatchAPIChannelMessageJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }, options: { disableEveryone?: boolean; } = { disableEveryone: this.options.disableEveryone }): Promise<RESTPatchAPIChannelMessageResult> {\r\n\t\tif (typeof data === \"string\") data = { content: data };\r\n\r\n\r\n\t\tif (data.content && (options.disableEveryone ?? this.options.disableEveryone)) data.content = Constants.replaceEveryone(data.content);\r\n\t\tif (data.content || data.components) data.allowed_mentions ??= this.options.allowed_mentions;\r\n\r\n\t\tif (data.files) return this.requestHandler.request(Endpoints.CHANNEL_MESSAGE(channelId, messageId), {}, \"patch\", \"multipart\", await Constants.standardMultipartHandler(data as Parameters<typeof Constants[\"standardMultipartHandler\"]>[\"0\"]));\r\n\t\telse return this.requestHandler.request(Endpoints.CHANNEL_MESSAGE(channelId, messageId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteMessage(channelId: string, messageId: string, reason?: string): Promise<RESTDeleteAPIChannelMessageResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE(channelId, messageId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIChannelMessageResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async bulkDeleteMessages(channelId: string, messages: Array<string>, reason?: string): Promise<RESTPostAPIChannelMessagesBulkDeleteResult> {\r\n\t\tif (messages.length < Constants.BULK_DELETE_MESSAGES_MIN || messages.length > Constants.BULK_DELETE_MESSAGES_MAX) throw new RangeError(`Amount of messages to be deleted has to be between ${Constants.BULK_DELETE_MESSAGES_MIN} and ${Constants.BULK_DELETE_MESSAGES_MAX}`);\r\n\r\n\t\tconst oldestSnowflake = BigInt(Date.now() - 1421280000000) * (BigInt(2) ** BigInt(22));\r\n\t\tconst forbiddenMessage = messages.find(m => BigInt(m) < oldestSnowflake);\r\n\t\tif (forbiddenMessage) throw new Error(`The message ${forbiddenMessage} is older than 2 weeks and may not be deleted using the bulk delete endpoint`);\r\n\t\tconst data = { messages };\r\n\t\tif (reason) Object.assign(data, { reason });\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_BULK_DELETE(channelId), {}, \"post\", \"json\", data) as RESTPostAPIChannelMessagesBulkDeleteResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editChannelPermission(channelId: string, permissionId: string, data: RESTPutAPIChannelPermissionJSONBody & { reason?: string; }): Promise<RESTPutAPIChannelPermissionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_PERMISSION(channelId, permissionId), {}, \"put\", \"json\", data) as RESTPutAPIChannelPermissionResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelInvites(channelId: string): Promise<RESTGetAPIChannelInvitesResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_INVITES(channelId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createChannelInvite(channelId: string, data: RESTPostAPIChannelInviteJSONBody & { reason?: string; } = { max_age: 86400, max_uses: 0, temporary: false, unique: false }): Promise<RESTPostAPIChannelInviteResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_INVITES(channelId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteChannelPermission(channelId: string, permissionId: string, reason?: string): Promise<RESTDeleteAPIChannelPermissionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_PERMISSION(channelId, permissionId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIChannelPermissionResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async followAnnouncementChannel(channelId: string, webhookChannelId: string): Promise<RESTPostAPIChannelFollowersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_FOLLOWERS(channelId), {}, \"post\", \"json\", { webhook_channel_id: webhookChannelId });\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async startChannelTyping(channelId: string): Promise<RESTPostAPIChannelTypingResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_TYPING(channelId), {}, \"post\", \"json\") as RESTPostAPIChannelTypingResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelPinnedMessages(channelId: string): Promise<RESTGetAPIChannelPinsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_PINS(channelId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async addChannelPinnedMessage(channelId: string, messageId: string, reason?: string): Promise<RESTPutAPIChannelPinResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_PIN(channelId, messageId), {}, \"put\", \"json\", { reason }) as RESTPutAPIChannelPinResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeChannelPinnedMessage(channelId: string, messageId: string, reason?: string): Promise<RESTDeleteAPIChannelPinResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_PIN(channelId, messageId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIChannelPinResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createThreadWithMessage(channelId: string, messageId: string, options: RESTPostAPIChannelMessagesThreadsJSONBody & { reason?: string; }): Promise<RESTPostAPIChannelMessagesThreadsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_MESSAGE_THREADS(channelId, messageId), {}, \"post\", \"json\", options);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createThreadWithoutMessage(channelId: string, options: Omit<RESTPostAPIChannelThreadsJSONBody, \"type\"> & { type: 10; reason?: string; }): Promise<APITextBasedChannel<ChannelType.AnnouncementThread>>;\r\n\tpublic async createThreadWithoutMessage(channelId: string, options: Omit<RESTPostAPIChannelThreadsJSONBody, \"type\"> & { type: 11; reason?: string; }): Promise<APITextBasedChannel<ChannelType.PublicThread>>;\r\n\tpublic async createThreadWithoutMessage(channelId: string, options: Omit<RESTPostAPIChannelThreadsJSONBody, \"type\"> & { type: 12; reason?: string; }): Promise<APITextBasedChannel<ChannelType.PrivateThread>>;\r\n\tpublic async createThreadWithoutMessage(channelId: string, options: RESTPostAPIChannelThreadsJSONBody & { reason?: string; }): Promise<APITextBasedChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread>> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREADS(channelId), {}, \"post\", \"json\", options);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async joinThread(threadId: string): Promise<RESTPutAPIChannelThreadMembersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREAD_MEMBER(threadId, \"@me\"), {}, \"put\", \"json\") as RESTPutAPIChannelThreadMembersResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async addThreadMember(threadId: string, userId: string): Promise<RESTPutAPIChannelThreadMembersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREAD_MEMBER(threadId, userId), {}, \"put\", \"json\") as RESTPutAPIChannelThreadMembersResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async leaveThread(threadId: string): Promise<RESTDeleteAPIChannelThreadMembersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREAD_MEMBER(threadId, \"@me\"), {}, \"delete\", \"json\") as RESTDeleteAPIChannelThreadMembersResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeThreadMember(threadId: string, userId: string): Promise<RESTDeleteAPIChannelThreadMembersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREAD_MEMBER(threadId, userId), {}, \"delete\", \"json\") as RESTDeleteAPIChannelThreadMembersResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getThreadMember(threadId: string, userId: string, withMember?: boolean): Promise<RESTGetAPIChannelThreadMemberResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREAD_MEMBER(threadId, userId), { with_member: withMember }, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getThreadMembers(channelId: string, options?: RESTGetAPIChannelThreadMembersQuery): Promise<RESTGetAPIChannelThreadMembersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREAD_MEMBERS(channelId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelArchivedPublicThreads(channelId: string, options?: RESTGetAPIChannelThreadsArchivedQuery): Promise<RESTGetAPIChannelThreadsArchivedPublicResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREADS_ARCHIVED_PUBLIC(channelId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelArchivedPrivateThreads(channelId: string, options?: RESTGetAPIChannelThreadsArchivedQuery): Promise<RESTGetAPIChannelThreadsArchivedPrivateResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREADS_ARCHIVED_PRIVATE(channelId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelArchivedPrivateThreadsUser(channelId: string, options?: RESTGetAPIChannelThreadsArchivedQuery): Promise<RESTGetAPIChannelUsersThreadsArchivedResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_THREADS_ARCHIVED_PRIVATE_USER(channelId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async refreshAttachmentURLs(attachments: string | Array<string>): Promise<RESTPostAPIAttachmentsRefreshURLsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.ATTACHMENTS_REFRESH_URLS, {}, \"post\", \"json\", {\r\n\t\t\tattachment_urls: Array.isArray(attachments) ? attachments : [attachments]\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getPollAnswerVoters(channelId: string, messageId: string, answerId: string, options?: RESTGetAPIPollAnswerVotersQuery): Promise<RESTGetAPIPollAnswerVotersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.POLL_ANSWER(channelId, messageId, answerId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async endPoll(channelId: string, messageId: string): Promise<RESTPostAPIPollExpireResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.POLL_EXPIRE(channelId, messageId), {}, \"post\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = ChannelMethods;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import Constants = require(\"../Constants\");\r\nimport Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPIGuildEmojiResult,\r\n\tRESTDeleteAPIGuildStickerResult,\r\n\tRESTGetAPIApplicationEmojisResult,\r\n\tRESTGetAPIApplicationEmojiResult,\r\n\tRESTGetAPIGuildEmojiResult,\r\n\tRESTGetAPIGuildEmojisResult,\r\n\tRESTGetAPIGuildStickerResult,\r\n\tRESTGetAPIGuildStickersResult,\r\n\tRESTGetAPIStickerResult,\r\n\tRESTPatchAPIGuildEmojiJSONBody,\r\n\tRESTPatchAPIGuildEmojiResult,\r\n\tRESTPatchAPIGuildStickerJSONBody,\r\n\tRESTPatchAPIGuildStickerResult,\r\n\tRESTPostAPIGuildEmojiJSONBody,\r\n\tRESTPostAPIGuildEmojiResult,\r\n\tRESTPostAPIGuildStickerFormDataBody,\r\n\tRESTPostAPIGuildStickerResult,\r\n\tRESTPostAPIApplicationEmojiResult,\r\n\tRESTPostAPIApplicationEmojiJSONBody,\r\n\tRESTPatchAPIApplicationEmojiJSONBody,\r\n\tRESTPatchAPIApplicationEmojiResult,\r\n\tRESTDeleteAPIApplicationEmojiResult\r\n} from \"discord-api-types/v10\";\r\n\r\nimport type { Blob } from \"buffer\";\r\n\r\nimport type { Readable } from \"stream\";\r\nimport type { ReadableStream } from \"stream/web\";\r\n\r\n\r\n\r\n\r\n\r\nclass AssetsMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildEmojis(guildId: string): Promise<RESTGetAPIGuildEmojisResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_EMOJIS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildEmoji(guildId: string, emojiId: string): Promise<RESTGetAPIGuildEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_EMOJI(guildId, emojiId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildEmoji(guildId: string, data: RESTPostAPIGuildEmojiJSONBody & { reason?: string; }): Promise<RESTPostAPIGuildEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_EMOJIS(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuildEmoji(guildId: string, emojiId: string, data: RESTPatchAPIGuildEmojiJSONBody & { reason?: string; }): Promise<RESTPatchAPIGuildEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_EMOJI(guildId, emojiId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteGuildEmoji(guildId: string, emojiId: string, reason?: string): Promise<RESTDeleteAPIGuildEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_EMOJI(guildId, emojiId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildEmojiResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getSticker(stickerId: string): Promise<RESTGetAPIStickerResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.STICKER(stickerId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildStickers(guildId: string): Promise<RESTGetAPIGuildStickersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_STICKERS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildSticker(guildId: string, stickerId: string): Promise<RESTGetAPIGuildStickerResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_STICKER(guildId, stickerId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildSticker(guildId: string, data: RESTPostAPIGuildStickerFormDataBody & { file: Buffer | Blob | File | Readable | ReadableStream; reason?: string; }): Promise<RESTPostAPIGuildStickerResult> {\r\n\t\tconst form = new FormData();\r\n\t\tconst reason = data.reason;\r\n\t\tif (data.reason) delete data.reason;\r\n\r\n\t\tfor (const key of Object.keys(data)) {\r\n\t\t\tawait Constants.standardAddToFormHandler(form, key, data[key]);\r\n\t\t}\r\n\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_STICKERS(guildId), {}, \"post\", \"multipart\", form, reason ? { \"X-Audit-Log-Reason\": reason } : undefined);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuildSticker(guildId: string, stickerId: string, data: RESTPatchAPIGuildStickerJSONBody & { reason?: string; }): Promise<RESTPatchAPIGuildStickerResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_STICKER(guildId, stickerId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteGuildSticker(guildId: string, stickerId: string, reason?: string): Promise<RESTDeleteAPIGuildStickerResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_STICKER(guildId, stickerId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildStickerResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getAppEmojis(appId: string): Promise<RESTGetAPIApplicationEmojisResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_EMOJIS(appId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getAppEmoji(appId: string, emojiId: string): Promise<RESTGetAPIApplicationEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_EMOJI(appId, emojiId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createAppEmoji(appId: string, data: RESTPostAPIApplicationEmojiJSONBody): Promise<RESTPostAPIApplicationEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_EMOJIS(appId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateAppEmoji(appId: string, emojiId: string, data: RESTPatchAPIApplicationEmojiJSONBody): Promise<RESTPatchAPIApplicationEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_EMOJI(appId, emojiId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteAppEmoji(appId: string, emojiId: string): Promise<RESTDeleteAPIApplicationEmojiResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_EMOJI(appId, emojiId), {}, \"delete\", \"json\") as Promise<RESTDeleteAPIApplicationEmojiResult>;\r\n\t}\r\n}\r\n\r\nexport = AssetsMethods;\r\n","import type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport Endpoints = require(\"../Endpoints\");\r\n\r\nimport type {\r\n\tRESTGetAPIEntitlementsResult,\r\n\tRESTGetAPIEntitlementResult,\r\n\tRESTPostAPIEntitlementConsumeResult,\r\n\tRESTPostAPIEntitlementJSONBody,\r\n\tRESTPostAPIEntitlementResult,\r\n\tRESTDeleteAPIEntitlementResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass EntitlementMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getEntitlements(appId: string): Promise<RESTGetAPIEntitlementsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_ENTITLEMENTS(appId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getEntitlement(appId: string, entitlementId: string): Promise<RESTGetAPIEntitlementResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_ENTITLEMENT(appId, entitlementId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async consumeEntitlement(appId: string, entitlementId: string): Promise<RESTPostAPIEntitlementConsumeResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_ENTITLEMENT_CONSUME(appId, entitlementId), {}, \"post\", \"json\") as Promise<RESTPostAPIEntitlementConsumeResult>;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createTestEntitlement(appId: string, data: RESTPostAPIEntitlementJSONBody): Promise<RESTPostAPIEntitlementResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_ENTITLEMENTS(appId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteTestEntitlement(appId: string, entitlementId: string): Promise<RESTDeleteAPIEntitlementResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_ENTITLEMENT(appId, entitlementId), {}, \"delete\", \"json\") as Promise<RESTDeleteAPIEntitlementResult>;\r\n\t}\r\n}\r\n\r\nexport = EntitlementMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\nimport Constants = require(\"../Constants\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tAPIGuildMember,\r\n\tAPIGuildWidget,\r\n\tRESTDeleteAPIGuildBanResult,\r\n\tRESTDeleteAPIGuildIntegrationResult,\r\n\tRESTDeleteAPIGuildMemberResult,\r\n\tRESTDeleteAPIGuildMemberRoleResult,\r\n\tRESTDeleteAPIGuildResult,\r\n\tRESTDeleteAPIGuildRoleResult,\r\n\tRESTGetAPIGuildBanResult,\r\n\tRESTGetAPIGuildBansQuery,\r\n\tRESTGetAPIGuildBansResult,\r\n\tRESTGetAPIGuildChannelsResult,\r\n\tRESTGetAPIGuildIntegrationsResult,\r\n\tRESTGetAPIGuildInvitesResult,\r\n\tRESTGetAPIGuildMemberResult,\r\n\tRESTGetAPIGuildMembersQuery,\r\n\tRESTGetAPIGuildMembersResult,\r\n\tRESTGetAPIGuildMembersSearchQuery,\r\n\tRESTGetAPIGuildMembersSearchResult,\r\n\tRESTGetAPIGuildPreviewResult,\r\n\tRESTGetAPIGuildPruneCountQuery,\r\n\tRESTGetAPIGuildPruneCountResult,\r\n\tRESTGetAPIGuildResult,\r\n\tRESTGetAPIGuildRolesResult,\r\n\tRESTGetAPIGuildThreadsResult,\r\n\tRESTGetAPIGuildVanityUrlResult,\r\n\tRESTGetAPIGuildVoiceRegionsResult,\r\n\tRESTGetAPIGuildWelcomeScreenResult,\r\n\tRESTGetAPIGuildWidgetSettingsResult,\r\n\tRESTPatchAPICurrentGuildMemberJSONBody,\r\n\tRESTPatchAPIGuildChannelPositionsJSONBody,\r\n\tRESTPatchAPIGuildChannelPositionsResult,\r\n\tRESTPatchAPIGuildJSONBody,\r\n\tRESTPatchAPIGuildMemberJSONBody,\r\n\tRESTPatchAPIGuildMemberResult,\r\n\tRESTPatchAPIGuildResult,\r\n\tRESTPatchAPIGuildRoleJSONBody,\r\n\tRESTPatchAPIGuildRolePositionsJSONBody,\r\n\tRESTPatchAPIGuildRolePositionsResult,\r\n\tRESTPatchAPIGuildRoleResult,\r\n\tRESTPatchAPIGuildVoiceStateCurrentMemberJSONBody,\r\n\tRESTPatchAPIGuildVoiceStateCurrentMemberResult,\r\n\tRESTPatchAPIGuildVoiceStateUserJSONBody,\r\n\tRESTPatchAPIGuildVoiceStateUserResult,\r\n\tRESTPatchAPIGuildWelcomeScreenJSONBody,\r\n\tRESTPatchAPIGuildWelcomeScreenResult,\r\n\tRESTPatchAPIGuildWidgetSettingsJSONBody,\r\n\tRESTPatchAPIGuildWidgetSettingsResult,\r\n\tRESTPostAPIGuildChannelJSONBody,\r\n\tRESTPostAPIGuildChannelResult,\r\n\tRESTPostAPIGuildPruneJSONBody,\r\n\tRESTPostAPIGuildPruneResult,\r\n\tRESTPostAPIGuildRoleJSONBody,\r\n\tRESTPostAPIGuildRoleResult,\r\n\tRESTPostAPIGuildsJSONBody,\r\n\tRESTPostAPIGuildsResult,\r\n\tRESTPutAPIGuildBanJSONBody,\r\n\tRESTPutAPIGuildBanResult,\r\n\tRESTPutAPIGuildMemberJSONBody,\r\n\tRESTPutAPIGuildMemberResult,\r\n\tRESTPutAPIGuildMemberRoleResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass GuildMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuild(data: RESTPostAPIGuildsJSONBody): Promise<RESTPostAPIGuildsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILDS, {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuild(guildId: string, withCounts?: boolean): Promise<RESTGetAPIGuildResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD(guildId), { with_counts: withCounts }, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildPreview(guildId: string): Promise<RESTGetAPIGuildPreviewResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_PREVIEW(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuild(guildId: string, data: RESTPatchAPIGuildJSONBody): Promise<RESTPatchAPIGuildResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD(guildId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteGuild(guildId: string): Promise<RESTDeleteAPIGuildResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD(guildId), {}, \"delete\", \"json\") as RESTDeleteAPIGuildResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildChannels(guildId: string): Promise<RESTGetAPIGuildChannelsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_CHANNELS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildChannel(guildId: string, data: RESTPostAPIGuildChannelJSONBody): Promise<RESTPostAPIGuildChannelResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_CHANNELS(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateChannelPositions(guildId: string, data: RESTPatchAPIGuildChannelPositionsJSONBody, reason?: string): Promise<RESTPatchAPIGuildChannelPositionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_CHANNELS(guildId), {}, \"patch\", \"json\", data, reason ? { \"X-Audit-Log-Reason\": reason } : undefined) as RESTPatchAPIGuildChannelPositionsResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async listActiveThreads(guildId: string): Promise<RESTGetAPIGuildThreadsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_THREADS_ACTIVE(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildMember(guildId: string, memberId: string): Promise<RESTGetAPIGuildMemberResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER(guildId, memberId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildMembers(guildId: string, options?: RESTGetAPIGuildMembersQuery): Promise<RESTGetAPIGuildMembersResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBERS(guildId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async searchGuildMembers(guildId: string, options: RESTGetAPIGuildMembersSearchQuery): Promise<RESTGetAPIGuildMembersSearchResult> {\r\n\t\tif (options.limit !== undefined && (options.limit < Constants.SEARCH_MEMBERS_MIN_RESULTS || options.limit > Constants.SEARCH_MEMBERS_MAX_RESULTS)) throw new RangeError(`Limit for searching guild members has to be between ${Constants.SEARCH_MEMBERS_MIN_RESULTS} and ${Constants.SEARCH_MEMBERS_MAX_RESULTS}`);\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBERS_SEARCH(guildId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async addGuildMember(guildId: string, memberId: string, data: RESTPutAPIGuildMemberJSONBody): Promise<RESTPutAPIGuildMemberResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER(guildId, memberId), {}, \"put\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuildMember(guildId: string, memberId: string, data: RESTPatchAPIGuildMemberJSONBody): Promise<RESTPatchAPIGuildMemberResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER(guildId, memberId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateSelf(guildId: string, data: RESTPatchAPICurrentGuildMemberJSONBody & { reason?: string; }): Promise<APIGuildMember> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER(guildId, \"@me\"), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async addGuildMemberRole(guildId: string, memberId: string, roleId: string, reason?: string): Promise<RESTPutAPIGuildMemberRoleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER_ROLE(guildId, memberId, roleId), {}, \"put\", \"json\", { reason }) as RESTPutAPIGuildMemberRoleResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeGuildMemberRole(guildId: string, memberId: string, roleId: string, reason?: string): Promise<RESTDeleteAPIGuildMemberRoleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER_ROLE(guildId, memberId, roleId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildMemberRoleResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeGuildMember(guildId: string, memberId: string, reason?: string): Promise<RESTDeleteAPIGuildMemberResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_MEMBER(guildId, memberId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildMemberResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildBans(guildId: string, options?: RESTGetAPIGuildBansQuery): Promise<RESTGetAPIGuildBansResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_BANS(guildId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildBan(guildId: string, memberId: string): Promise<RESTGetAPIGuildBanResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_BAN(guildId, memberId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildBan(guildId: string, memberId: string, data?: RESTPutAPIGuildBanJSONBody & { reason?: string; }): Promise<RESTPutAPIGuildBanResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_BAN(guildId, memberId), {}, \"put\", \"json\", data) as RESTPutAPIGuildBanResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeGuildBan(guildId: string, memberId: string, reason?: string): Promise<RESTDeleteAPIGuildBanResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_BAN(guildId, memberId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildBanResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildRoles(guildId: string): Promise<RESTGetAPIGuildRolesResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_ROLES(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildRole(guildId: string, data?: RESTPostAPIGuildRoleJSONBody & { reason?: string; }): Promise<RESTPostAPIGuildRoleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_ROLES(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuildRolePositions(guildId: string, data: RESTPatchAPIGuildRolePositionsJSONBody, reason?: string): Promise<RESTPatchAPIGuildRolePositionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_ROLES(guildId), {}, \"patch\", \"json\", data, reason ? { \"X-Audit-Log-Reason\": reason } : undefined);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuildRole(guildId: string, roleId: string, data: RESTPatchAPIGuildRoleJSONBody): Promise<RESTPatchAPIGuildRoleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_ROLE(guildId, roleId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeGuildRole(guildId: string, roleId: string, reason?: string): Promise<RESTDeleteAPIGuildRoleResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_ROLE(guildId, roleId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildRoleResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildPruneCount(guildId: string, options?: RESTGetAPIGuildPruneCountQuery): Promise<RESTGetAPIGuildPruneCountResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_PRUNE(guildId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async startGuildPrune(guildId: string, data: RESTPostAPIGuildPruneJSONBody & { computer_prune_count: true; reason?: string; }): Promise<RESTPostAPIGuildPruneResult & { pruned: number; }>\r\n\tpublic async startGuildPrune(guildId: string, data: RESTPostAPIGuildPruneJSONBody & { computer_prune_count: false; reason?: string; }): Promise<RESTPostAPIGuildPruneResult & { pruned: null; }>\r\n\tpublic async startGuildPrune(guildId: string, data: RESTPostAPIGuildPruneJSONBody & { reason?: string; }): Promise<RESTPostAPIGuildPruneResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_PRUNE(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildVoiceRegions(guildId: string): Promise<RESTGetAPIGuildVoiceRegionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_VOICE_REGIONS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildInvites(guildId: string): Promise<RESTGetAPIGuildInvitesResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_INVITES(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildIntegrations(guildId: string): Promise<RESTGetAPIGuildIntegrationsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_INTEGRATIONS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async removeGuildIntegration(guildId: string, integrationId: string, reason?: string): Promise<RESTDeleteAPIGuildIntegrationResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_INTEGRATION(guildId, integrationId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIGuildIntegrationResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildWidgetSettings(guildId: string): Promise<RESTGetAPIGuildWidgetSettingsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_WIDGET_SETTINGS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateGuildWidgetSettings(guildId: string, data: Partial<RESTPatchAPIGuildWidgetSettingsJSONBody & { reason?: string }>): Promise<RESTPatchAPIGuildWidgetSettingsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_WIDGET_SETTINGS(guildId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildWidget(guildId: string): Promise<APIGuildWidget> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_WIDGET(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildVanityURL(guildId: string): Promise<RESTGetAPIGuildVanityUrlResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_VANITY(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildWelcomeScreen(guildId: string): Promise<RESTGetAPIGuildWelcomeScreenResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_WELCOME_SCREEN(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editGuildWelcomeScreen(guildId: string, data: RESTPatchAPIGuildWelcomeScreenJSONBody & { reason?: string; }): Promise<RESTPatchAPIGuildWelcomeScreenResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_WELCOME_SCREEN(guildId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateCurrentUserVoiceState(guildId: string, data: RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody): Promise<RESTPatchAPIGuildVoiceStateCurrentMemberResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_VOICE_STATE_USER(guildId, \"@me\"), {}, \"patch\", \"json\", data) as RESTPatchAPIGuildVoiceStateCurrentMemberResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateUserVoiceState(guildId: string, userId: string, data: RESTPatchAPIGuildVoiceStateUserJSONBody): Promise<RESTPatchAPIGuildVoiceStateUserResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_VOICE_STATE_USER(guildId, userId), {}, \"patch\", \"json\", data) as RESTPatchAPIGuildVoiceStateUserResult;\r\n\t}\r\n}\r\n\r\nexport = GuildMethods;\r\n\r\n\r\n\r\n\r\n\r\n","import Endpoints = require(\"../Endpoints\");\r\nimport Constants = require(\"../Constants\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPIGuildScheduledEventResult,\r\n\tRESTGetAPIGuildScheduledEventResult,\r\n\tRESTGetAPIGuildScheduledEventUsersQuery,\r\n\tRESTGetAPIGuildScheduledEventUsersResult,\r\n\tRESTGetAPIGuildScheduledEventsResult,\r\n\tRESTPatchAPIGuildScheduledEventJSONBody,\r\n\tRESTPatchAPIGuildScheduledEventResult,\r\n\tRESTPostAPIGuildScheduledEventJSONBody,\r\n\tRESTPostAPIGuildScheduledEventResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass GuildScheduledEventMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async listGuildScheduledEvents(guildId: string, withCounts?: boolean): Promise<RESTGetAPIGuildScheduledEventsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_SCHEDULED_EVENTS(guildId), { with_user_count: withCounts }, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildScheduledEvent(guildId: string, data: RESTPostAPIGuildScheduledEventJSONBody): Promise<RESTPostAPIGuildScheduledEventResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_SCHEDULED_EVENTS(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildScheduledEvent(guildId: string, eventId: string, withCounts?: boolean): Promise<RESTGetAPIGuildScheduledEventResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_SCHEDULED_EVENT(guildId, eventId), {}, \"get\", \"json\", { with_user_count: withCounts });\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editGuildScheduledEvent(guildId: string, eventId: string, data: RESTPatchAPIGuildScheduledEventJSONBody): Promise<RESTPatchAPIGuildScheduledEventResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_SCHEDULED_EVENT(guildId, eventId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteGuildScheduledEvent(guildId: string, eventId: string): Promise<RESTDeleteAPIGuildScheduledEventResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_SCHEDULED_EVENT(guildId, eventId), {}, \"delete\", \"json\") as RESTDeleteAPIGuildScheduledEventResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildScheduledEventUsers(guildId: string, eventId: string, options?: RESTGetAPIGuildScheduledEventUsersQuery): Promise<RESTGetAPIGuildScheduledEventUsersResult> {\r\n\t\tif (options?.limit !== undefined && (options.limit < Constants.GET_GUILD_SCHEDULED_EVENT_USERS_MIN_RESULTS || options.limit > Constants.GET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS)) throw new RangeError(`The maximum amount of users that may be requested has to be between ${Constants.GET_GUILD_SCHEDULED_EVENT_USERS_MIN_RESULTS} and ${Constants.GET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS}`);\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_SCHEDULED_EVENT_USERS(guildId, eventId), options, \"get\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = GuildScheduledEventMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPIGuildTemplateResult,\r\n\tRESTGetAPIGuildTemplatesResult,\r\n\tRESTGetAPITemplateResult,\r\n\tRESTPatchAPIGuildTemplateJSONBody,\r\n\tRESTPatchAPIGuildTemplateResult,\r\n\tRESTPostAPIGuildTemplatesJSONBody,\r\n\tRESTPostAPIGuildTemplatesResult,\r\n\tRESTPostAPITemplateCreateGuildJSONBody,\r\n\tRESTPostAPITemplateCreateGuildResult,\r\n\tRESTPutAPIGuildTemplateSyncResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass GuildTemplateMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildTemplate(code: string): Promise<RESTGetAPITemplateResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.TEMPLATE(code), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildFromGuildTemplate(code: string, options: RESTPostAPITemplateCreateGuildJSONBody): Promise<RESTPostAPITemplateCreateGuildResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.TEMPLATE(code), {}, \"post\", \"json\", options);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildTemplates(guildId: string): Promise<RESTGetAPIGuildTemplatesResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_TEMPLATES(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildTemplate(guildId: string, data: RESTPostAPIGuildTemplatesJSONBody): Promise<RESTPostAPIGuildTemplatesResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_TEMPLATES(guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async syncGuildTemplate(guildId: string, code: string): Promise<RESTPutAPIGuildTemplateSyncResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_TEMPLATE(guildId, code), {}, \"put\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async modifyGuildTemplate(guildId: string, code: string, data: RESTPatchAPIGuildTemplateJSONBody): Promise<RESTPatchAPIGuildTemplateResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_TEMPLATE(guildId, code), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteGuildTemplate(guildId: string, code: string): Promise<RESTDeleteAPIGuildTemplateResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_TEMPLATE(guildId, code), {}, \"delete\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = GuildTemplateMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\nimport Constants = require(\"../Constants\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\nimport type WHM = require(\"./Webhook\");\r\nimport type ST = require(\"../SnowTransfer\");\r\n\r\nimport {\r\n\tInteractionResponseType,\r\n\ttype RESTDeleteAPIInteractionFollowupResult,\r\n\ttype RESTDeleteAPIInteractionOriginalResponseResult,\r\n\ttype RESTGetAPIApplicationCommandPermissionsResult,\r\n\ttype RESTGetAPIApplicationCommandResult,\r\n\ttype RESTGetAPIApplicationCommandsResult,\r\n\ttype RESTGetAPIApplicationGuildCommandResult,\r\n\ttype RESTGetAPIApplicationGuildCommandsResult,\r\n\ttype RESTGetAPIInteractionFollowupResult,\r\n\ttype RESTGetAPIInteractionOriginalResponseResult,\r\n\ttype RESTPatchAPIApplicationCommandJSONBody,\r\n\ttype RESTPatchAPIApplicationCommandResult,\r\n\ttype RESTPatchAPIApplicationGuildCommandJSONBody,\r\n\ttype RESTPatchAPIApplicationGuildCommandResult,\r\n\ttype RESTPatchAPIInteractionFollowupJSONBody,\r\n\ttype RESTPatchAPIInteractionFollowupResult,\r\n\ttype RESTPatchAPIInteractionOriginalResponseJSONBody,\r\n\ttype RESTPatchAPIInteractionOriginalResponseResult,\r\n\ttype RESTPostAPIApplicationCommandsJSONBody,\r\n\ttype RESTPostAPIApplicationCommandsResult,\r\n\ttype RESTPostAPIApplicationGuildCommandsJSONBody,\r\n\ttype RESTPostAPIApplicationGuildCommandsResult,\r\n\ttype RESTPostAPIInteractionCallbackJSONBody,\r\n\ttype RESTPostAPIInteractionFollowupJSONBody,\r\n\ttype RESTPostAPIInteractionFollowupResult,\r\n\ttype RESTPutAPIApplicationCommandPermissionsJSONBody,\r\n\ttype RESTPutAPIApplicationCommandPermissionsResult,\r\n\ttype RESTPutAPIApplicationCommandsJSONBody,\r\n\ttype RESTPutAPIApplicationCommandsResult,\r\n\ttype RESTPutAPIApplicationGuildCommandsJSONBody,\r\n\ttype RESTPutAPIApplicationGuildCommandsResult\r\n} from \"discord-api-types/v10\";\r\n\r\nimport type { Readable } from \"stream\";\r\nimport type { ReadableStream } from \"stream/web\";\r\n\r\n\r\n\r\n\r\n\r\nclass InteractionMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH, public webhooks: WHM, public options: ST.Options) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getApplicationCommands(appId: string, withLocalizations?: boolean): Promise<RESTGetAPIApplicationCommandsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_COMMANDS(appId), { with_localizations: withLocalizations }, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createApplicationCommand(appId: string, data: RESTPostAPIApplicationCommandsJSONBody): Promise<RESTPostAPIApplicationCommandsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_COMMANDS(appId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getApplicationCommand(appId: string, cmdId: string): Promise<RESTGetAPIApplicationCommandResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_COMMAND(appId, cmdId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editApplicationCommand(appId: string, cmdId: string, data: RESTPatchAPIApplicationCommandJSONBody): Promise<RESTPatchAPIApplicationCommandResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_COMMAND(appId, cmdId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteApplicationCommand(appId: string, cmdId: string): Promise<never> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_COMMAND(appId, cmdId), {}, \"delete\", \"json\") as never;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async bulkOverwriteApplicationCommands(appId: string, data: RESTPutAPIApplicationCommandsJSONBody): Promise<RESTPutAPIApplicationCommandsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_COMMANDS(appId), {}, \"put\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildApplicationCommands(appId: string, guildId: string, withLocalizations?: boolean): Promise<RESTGetAPIApplicationGuildCommandsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMANDS(appId, guildId), { with_localizations: withLocalizations }, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGuildApplicationCommand(appId: string, guildId: string, data: RESTPostAPIApplicationGuildCommandsJSONBody): Promise<RESTPostAPIApplicationGuildCommandsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMANDS(appId, guildId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildApplicationCommand(appId: string, guildId: string, cmdId: string): Promise<RESTGetAPIApplicationGuildCommandResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMAND(appId, guildId, cmdId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editGuildApplicationCommand(appId: string, guildId: string, cmdId: string, data: RESTPatchAPIApplicationGuildCommandJSONBody): Promise<RESTPatchAPIApplicationGuildCommandResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMAND(appId, guildId, cmdId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteGuildApplicationCommand(appId: string, guildId: string, cmdId: string): Promise<never> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMAND(appId, guildId, cmdId), {}, \"delete\", \"json\") as never;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async bulkOverwriteGuildApplicationCommands(appId: string, guildId: string, data: RESTPutAPIApplicationGuildCommandsJSONBody): Promise<RESTPutAPIApplicationGuildCommandsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMANDS(appId, guildId), {}, \"put\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildApplicationCommandPermissions(appId: string, guildId: string): Promise<Array<RESTGetAPIApplicationCommandPermissionsResult>>;\r\n\tpublic async getGuildApplicationCommandPermissions(appId: string, guildId: string, cmdId: string): Promise<RESTGetAPIApplicationCommandPermissionsResult>;\r\n\tpublic async getGuildApplicationCommandPermissions(appId: string, guildId: string, cmdId?: string): Promise<Array<RESTGetAPIApplicationCommandPermissionsResult> | RESTGetAPIApplicationCommandPermissionsResult> {\r\n\t\tif (cmdId) return this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMAND_PERMISSIONS(appId, guildId, cmdId), {}, \"get\", \"json\");\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMANDS_PERMISSIONS(appId, guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editGuildApplicationCommandPermissions(appId: string, guildId: string, cmdId: string, permissions: RESTPutAPIApplicationCommandPermissionsJSONBody[\"permissions\"]): Promise<RESTPutAPIApplicationCommandPermissionsResult> {\r\n\t\tconst payload = { permissions: permissions };\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_GUILD_COMMAND_PERMISSIONS(appId, guildId, cmdId), {}, \"put\", \"json\", payload);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createInteractionResponse(interactionId: string, token: string, data: RESTPostAPIInteractionCallbackJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }): Promise<void> {\r\n\t\tif ((\r\n\t\t\tdata.type === InteractionResponseType.ChannelMessageWithSource ||\r\n\t\t\tdata.type === InteractionResponseType.UpdateMessage\r\n\t\t) && data.data) data.data.allowed_mentions ??= this.options.allowed_mentions;\r\n\r\n\t\tif (data.files) return this.requestHandler.request(Endpoints.INTERACTION_CALLBACK(interactionId, token), {}, \"post\", \"multipart\", await Constants.standardMultipartHandler(data as Parameters<typeof Constants[\"standardMultipartHandler\"]>[\"0\"]));\r\n\t\telse return this.requestHandler.request(Endpoints.INTERACTION_CALLBACK(interactionId, token), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getOriginalInteractionResponse(appId: string, token: string): Promise<RESTGetAPIInteractionOriginalResponseResult> {\r\n\t\treturn this.webhooks.getWebhookMessage(appId, token, \"@original\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editOriginalInteractionResponse(appId: string, token: string, data: RESTPatchAPIInteractionOriginalResponseJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream }> }): Promise<RESTPatchAPIInteractionOriginalResponseResult> {\r\n\t\treturn this.webhooks.editWebhookMessage(appId, token, \"@original\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteOriginalInteractionResponse(appId: string, token: string): Promise<RESTDeleteAPIInteractionOriginalResponseResult> {\r\n\t\treturn this.webhooks.deleteWebhookMessage(appId, token, \"@original\") as RESTDeleteAPIInteractionOriginalResponseResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createFollowupMessage(appId: string, token: string, data: RESTPostAPIInteractionFollowupJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }): Promise<RESTPostAPIInteractionFollowupResult> {\r\n\r\n\t\treturn this.webhooks.executeWebhook(appId, token, data) as unknown as Promise<RESTPostAPIInteractionFollowupResult>;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getFollowupMessage(appId: string, token: string, messageId: string): Promise<RESTGetAPIInteractionFollowupResult> {\r\n\t\treturn this.webhooks.getWebhookMessage(appId, token, messageId);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editFollowupMessage(appId: string, token: string, messageId: string, data: RESTPatchAPIInteractionFollowupJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }): Promise<RESTPatchAPIInteractionFollowupResult> {\r\n\t\treturn this.webhooks.editWebhookMessage(appId, token, messageId, data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteFollowupMessage(appId: string, token: string, messageId: string): Promise<RESTDeleteAPIInteractionFollowupResult> {\r\n\t\treturn this.webhooks.deleteWebhookMessage(appId, token, messageId) as RESTDeleteAPIInteractionFollowupResult;\r\n\t}\r\n}\r\n\r\nexport = InteractionMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPIInviteResult,\r\n\tRESTGetAPIInviteQuery,\r\n\tRESTGetAPIInviteResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass InviteMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getInvite(inviteId: string, options?: RESTGetAPIInviteQuery): Promise<RESTGetAPIInviteResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.INVITES(inviteId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteInvite(inviteId: string): Promise<RESTDeleteAPIInviteResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.INVITES(inviteId), {}, \"delete\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = InviteMethods;\r\n","import type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport Endpoints = require(\"../Endpoints\");\r\n\r\nimport type {\r\n\tRESTGetAPISKUsResult,\r\n\tRESTGetAPISKUSubscriptionsQuery,\r\n\tRESTGetAPISKUSubscriptionsResult,\r\n\tRESTGetAPISKUSubscriptionResult,\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass SkuMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async GetSkus(appId: string): Promise<RESTGetAPISKUsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.APPLICATION_SKUS(appId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getSubscriptions(skuId: string, options: RESTGetAPISKUSubscriptionsQuery = {}): Promise<RESTGetAPISKUSubscriptionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.SKU_SUBSCRIPTIONS(skuId), options, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getSubscription(skuId: string, subscriptionId: string): Promise<RESTGetAPISKUSubscriptionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.SKU_SUBSCRIPTION(skuId, subscriptionId), {}, \"get\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = SkuMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPIStageInstanceResult,\r\n\tRESTGetAPIStageInstanceResult,\r\n\tRESTPatchAPIStageInstanceJSONBody,\r\n\tRESTPatchAPIStageInstanceResult,\r\n\tRESTPostAPIStageInstanceJSONBody,\r\n\tRESTPostAPIStageInstanceResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass StageInstanceMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createStageInstance(data: RESTPostAPIStageInstanceJSONBody & { reason?: string; }): Promise<RESTPostAPIStageInstanceResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.STAGE_INSTANCES, {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getStageInstance(channelId: string): Promise<RESTGetAPIStageInstanceResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.STAGE_INSTANCE_CHANNEL(channelId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editStageInstance(channelId: string, data: RESTPatchAPIStageInstanceJSONBody & { reason?: string; }): Promise<RESTPatchAPIStageInstanceResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.STAGE_INSTANCE_CHANNEL(channelId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteStageInstance(channelId: string, reason?: string): Promise<RESTDeleteAPIStageInstanceResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.STAGE_INSTANCE_CHANNEL(channelId), {}, \"delete\", \"json\", { reason }) as RESTDeleteAPIStageInstanceResult;\r\n\t}\r\n}\r\n\r\nexport = StageInstanceMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPICurrentUserGuildResult,\r\n\tRESTGetAPICurrentUserApplicationRoleConnectionResult,\r\n\tRESTGetAPICurrentUserConnectionsResult,\r\n\tRESTGetAPICurrentUserGuildsQuery,\r\n\tRESTGetAPICurrentUserGuildsResult,\r\n\tRESTGetAPICurrentUserResult,\r\n\tRESTGetAPIUserResult,\r\n\tRESTPatchAPICurrentUserJSONBody,\r\n\tRESTPatchAPICurrentUserResult,\r\n\tRESTPostAPICurrentUserCreateDMChannelResult,\r\n\tRESTPutAPICurrentUserApplicationRoleConnectionJSONBody,\r\n\tRESTPutAPICurrentUserApplicationRoleConnectionResult\r\n} from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass UserMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getSelf(): Promise<RESTGetAPICurrentUserResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER(\"@me\"), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getUser(userId: string): Promise<RESTGetAPIUserResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER(userId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateSelf(data: RESTPatchAPICurrentUserJSONBody): Promise<RESTPatchAPICurrentUserResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER(\"@me\"), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuilds(options?: RESTGetAPICurrentUserGuildsQuery): Promise<RESTGetAPICurrentUserGuildsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_GUILDS(\"@me\"), {}, \"get\", \"json\", options);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async leaveGuild(guildId: string): Promise<RESTDeleteAPICurrentUserGuildResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_GUILD(\"@me\", guildId), {}, \"delete\", \"json\") as RESTDeleteAPICurrentUserGuildResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createDirectMessageChannel(userId: string): Promise<RESTPostAPICurrentUserCreateDMChannelResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_CHANNELS(\"@me\"), {}, \"post\", \"json\", { recipient_id: userId });\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createGroupDirectMessageChannel(data: { access_tokens: Array<string>; nicks?: { [userId: string]: string } }): Promise<RESTPostAPICurrentUserCreateDMChannelResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_CHANNELS(\"@me\"), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getConnections(): Promise<RESTGetAPICurrentUserConnectionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_CONNECTIONS(\"@me\"), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getApplicationRoleConnection(appId: string): Promise<RESTGetAPICurrentUserApplicationRoleConnectionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_APPLICATION_ROLE_CONNECTION(\"@me\", appId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateApplicationRoleConnection(appId: string, data: RESTPutAPICurrentUserApplicationRoleConnectionJSONBody): Promise<RESTPutAPICurrentUserApplicationRoleConnectionResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_APPLICATION_ROLE_CONNECTION(\"@me\", appId), {}, \"put\", \"json\", data);\r\n\t}\r\n}\r\n\r\nexport = UserMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type { RESTGetAPIVoiceRegionsResult, APIVoiceState } from \"discord-api-types/v10\";\r\n\r\n\r\n\r\n\r\n\r\nclass VoiceMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getVoiceRegions(): Promise<RESTGetAPIVoiceRegionsResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.VOICE_REGIONS, {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getCurrentUserVoiceState(guildId: string): Promise<APIVoiceState> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_GUILD_VOICE_STATE(guildId, \"@me\"), {}, \"get\", \"json\")\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getUserVoiceState(guildId: string, userId: string): Promise<APIVoiceState> {\r\n\t\treturn this.requestHandler.request(Endpoints.USER_GUILD_VOICE_STATE(guildId, userId), {}, \"get\", \"json\")\r\n\t}\r\n}\r\n\r\nexport = VoiceMethods;\r\n","import Endpoints = require(\"../Endpoints\");\r\nimport Constants = require(\"../Constants\");\r\n\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\nimport type ST = require(\"../SnowTransfer\");\r\n\r\nimport type {\r\n\tRESTDeleteAPIWebhookResult,\r\n\tRESTDeleteAPIWebhookWithTokenMessageResult,\r\n\tRESTGetAPIChannelWebhooksResult,\r\n\tRESTGetAPIGuildWebhooksResult,\r\n\tRESTGetAPIWebhookResult,\r\n\tRESTGetAPIWebhookWithTokenMessageResult,\r\n\tRESTPatchAPIWebhookJSONBody,\r\n\tRESTPatchAPIWebhookResult,\r\n\tRESTPatchAPIWebhookWithTokenJSONBody,\r\n\tRESTPatchAPIWebhookWithTokenMessageJSONBody,\r\n\tRESTPatchAPIWebhookWithTokenMessageResult,\r\n\tRESTPatchAPIWebhookWithTokenResult,\r\n\tRESTPostAPIChannelWebhookJSONBody,\r\n\tRESTPostAPIChannelWebhookResult,\r\n\tRESTPostAPIWebhookWithTokenGitHubQuery,\r\n\tRESTPostAPIWebhookWithTokenGitHubResult,\r\n\tRESTPostAPIWebhookWithTokenGitHubWaitResult,\r\n\tRESTPostAPIWebhookWithTokenJSONBody,\r\n\tRESTPostAPIWebhookWithTokenQuery,\r\n\tRESTPostAPIWebhookWithTokenResult,\r\n\tRESTPostAPIWebhookWithTokenSlackQuery,\r\n\tRESTPostAPIWebhookWithTokenSlackResult,\r\n\tRESTPostAPIWebhookWithTokenSlackWaitResult,\r\n\tRESTPostAPIWebhookWithTokenWaitResult\r\n} from \"discord-api-types/v10\";\r\n\r\nimport type { Readable } from \"stream\";\r\nimport type { ReadableStream } from \"stream/web\";\r\n\r\n\r\n\r\n\r\n\r\nclass WebhookMethods {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(public requestHandler: RH, public options: ST.Options) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async createWebhook(channelId: string, data: RESTPostAPIChannelWebhookJSONBody): Promise<RESTPostAPIChannelWebhookResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_WEBHOOKS(channelId), {}, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getChannelWebhooks(channelId: string): Promise<RESTGetAPIChannelWebhooksResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.CHANNEL_WEBHOOKS(channelId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getGuildWebhooks(guildId: string): Promise<RESTGetAPIGuildWebhooksResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GUILD_WEBHOOKS(guildId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getWebhook(webhookId: string, token?: string): Promise<RESTGetAPIWebhookResult> {\r\n\t\tif (token) return this.requestHandler.request(Endpoints.WEBHOOK_TOKEN(webhookId, token), {}, \"get\", \"json\");\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK(webhookId), {}, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async updateWebhook(webhookId: string, data: RESTPatchAPIWebhookWithTokenJSONBody & { reason?: string; }, token: string): Promise<RESTPatchAPIWebhookWithTokenResult>\r\n\tpublic async updateWebhook(webhookId: string, data: RESTPatchAPIWebhookJSONBody & { reason?: string; }): Promise<RESTPatchAPIWebhookResult>\r\n\tpublic async updateWebhook(webhookId: string, data: (RESTPatchAPIWebhookWithTokenJSONBody | RESTPatchAPIWebhookJSONBody) & { reason?: string; }, token?: string): Promise<RESTPatchAPIWebhookWithTokenResult | RESTPatchAPIWebhookResult> {\r\n\t\tif (token) return this.requestHandler.request(Endpoints.WEBHOOK_TOKEN(webhookId, token), {}, \"patch\", \"json\", data);\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK(webhookId), {}, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteWebhook(webhookId: string, token?: string): Promise<RESTDeleteAPIWebhookResult> {\r\n\t\tif (token) return this.requestHandler.request(Endpoints.WEBHOOK_TOKEN(webhookId, token), {}, \"delete\", \"json\") as RESTDeleteAPIWebhookResult;\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK(webhookId), {}, \"delete\", \"json\") as RESTDeleteAPIWebhookResult;\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async executeWebhook(webhookId: string, token: string, data: RESTPostAPIWebhookWithTokenJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }, options?: RESTPostAPIWebhookWithTokenQuery & { wait?: false, disableEveryone?: boolean; }): Promise<RESTPostAPIWebhookWithTokenResult>;\r\n\tpublic async executeWebhook(webhookId: string, token: string, data: RESTPostAPIWebhookWithTokenJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }, options: RESTPostAPIWebhookWithTokenQuery & { wait: true, disableEveryone?: boolean; }): Promise<RESTPostAPIWebhookWithTokenWaitResult>;\r\n\tpublic async executeWebhook(webhookId: string, token: string, data: RESTPostAPIWebhookWithTokenJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }, options?: RESTPostAPIWebhookWithTokenQuery & { disableEveryone?: boolean; }): Promise<RESTPostAPIWebhookWithTokenResult | RESTPostAPIWebhookWithTokenWaitResult> {\r\n\t\tif (typeof data !== \"string\" && !data.content && !data.embeds && !data.components && !data.files && !data.poll) throw new Error(\"Missing content, embeds, components, files, or poll\");\r\n\t\tif (typeof data === \"string\") data = { content: data };\r\n\r\n\r\n\t\tif (data.content && (options?.disableEveryone ?? this.options.disableEveryone)) data.content = Constants.replaceEveryone(data.content);\r\n\t\tif (options) delete options.disableEveryone;\r\n\t\tdata.allowed_mentions ??= this.options.allowed_mentions;\r\n\r\n\t\tif (data.files) return this.requestHandler.request(`${Endpoints.WEBHOOK_TOKEN(webhookId, token)}`, options, \"post\", \"multipart\", await Constants.standardMultipartHandler(data as Parameters<typeof Constants[\"standardMultipartHandler\"]>[\"0\"]));\r\n\t\telse return this.requestHandler.request(Endpoints.WEBHOOK_TOKEN(webhookId, token), options, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async executeWebhookSlack(webhookId: string, token: string, data: any, options?: RESTPostAPIWebhookWithTokenSlackQuery & { wait?: false }): Promise<RESTPostAPIWebhookWithTokenSlackResult>\r\n\tpublic async executeWebhookSlack(webhookId: string, token: string, data: any, options?: RESTPostAPIWebhookWithTokenSlackQuery & { wait: true }): Promise<RESTPostAPIWebhookWithTokenSlackWaitResult>\r\n\tpublic async executeWebhookSlack(webhookId: string, token: string, data: any, options?: RESTPostAPIWebhookWithTokenSlackQuery): Promise<RESTPostAPIWebhookWithTokenSlackResult | RESTPostAPIWebhookWithTokenSlackWaitResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK_TOKEN_SLACK(webhookId, token), options, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async executeWebhookGitHub(webhookId: string, token: string, data: any, options?: RESTPostAPIWebhookWithTokenGitHubQuery & { wait?: false }): Promise<RESTPostAPIWebhookWithTokenGitHubResult>\r\n\tpublic async executeWebhookGitHub(webhookId: string, token: string, data: any, options?: RESTPostAPIWebhookWithTokenGitHubQuery & { wait: true }): Promise<RESTPostAPIWebhookWithTokenGitHubWaitResult>\r\n\tpublic async executeWebhookGitHub(webhookId: string, token: string, data: any, options: RESTPostAPIWebhookWithTokenGitHubQuery = {}): Promise<RESTPostAPIWebhookWithTokenGitHubResult | RESTPostAPIWebhookWithTokenGitHubWaitResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK_TOKEN_GITHUB(webhookId, token), options, \"post\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async getWebhookMessage(webhookId: string, token: string, messageId: string, threadId?: string): Promise<RESTGetAPIWebhookWithTokenMessageResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK_TOKEN_MESSAGE(webhookId, token, messageId), { thread_id: threadId }, \"get\", \"json\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async editWebhookMessage(webhookId: string, token: string, messageId: string, data: RESTPatchAPIWebhookWithTokenMessageJSONBody & { thread_id?: string; files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }): Promise<RESTPatchAPIWebhookWithTokenMessageResult> {\r\n\t\tlet threadId: string | undefined = undefined;\r\n\t\tif (data.thread_id) threadId = data.thread_id;\r\n\t\tdelete data.thread_id;\r\n\r\n\t\tdata.allowed_mentions ??= this.options.allowed_mentions;\r\n\r\n\t\tif (data.files) return this.requestHandler.request(Endpoints.WEBHOOK_TOKEN_MESSAGE(webhookId, token, messageId), { thread_id: threadId }, \"patch\", \"multipart\", await Constants.standardMultipartHandler(data as Parameters<typeof Constants[\"standardMultipartHandler\"]>[\"0\"]));\r\n\t\telse return this.requestHandler.request(Endpoints.WEBHOOK_TOKEN_MESSAGE(webhookId, token, messageId), { thread_id: threadId }, \"patch\", \"json\", data);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic async deleteWebhookMessage(webhookId: string, token: string, messageId: string, threadId?: string): Promise<RESTDeleteAPIWebhookWithTokenMessageResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.WEBHOOK_TOKEN_MESSAGE(webhookId, token, messageId), { thread_id: threadId }, \"delete\", \"json\") as RESTDeleteAPIWebhookWithTokenMessageResult;\r\n\t}\r\n}\r\n\r\nexport = WebhookMethods;\r\n","import type { RESTPostOAuth2AccessTokenResult } from \"discord-api-types/v10\";\r\n\r\nimport Endpoints = require(\"./Endpoints\");\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nasync function getOauth2Token(clientId: string, redirectURI: string, clientSecret: string, code: string): Promise<RESTPostOAuth2AccessTokenResult> {\r\n\tconst response = await fetch(`${Endpoints.BASE_HOST}${Endpoints.OAUTH2_TOKEN}`, {\r\n\t\tmethod: \"POST\",\r\n\t\tbody: new URLSearchParams({\r\n\t\t\tgrant_type: \"authorization_code\",\r\n\t\t\tcode,\r\n\t\t\tclient_id: clientId,\r\n\t\t\tclient_secret: clientSecret,\r\n\t\t\tredirect_uri: redirectURI\r\n\t\t})\r\n\t});\r\n\treturn response.json() as Promise<RESTPostOAuth2AccessTokenResult>;\r\n}\r\n\r\nexport = {\r\n\tgetOauth2Token\r\n}\r\n","import { Ratelimiter, RequestHandler } from \"./RequestHandler\";\r\nimport AssetsMethods = require(\"./methods/Assets\");\r\nimport AuditLogMethods = require(\"./methods/AuditLog\");\r\nimport AutoModerationMethods = require(\"./methods/AutoModeration\");\r\nimport BotMethods = require(\"./methods/Bot\");\r\nimport ChannelMethods = require(\"./methods/Channel\");\r\nimport EntitlementMethods = require(\"./methods/Entitlements\");\r\nimport GuildMethods = require(\"./methods/Guild\");\r\nimport GuildScheduledEventMethods = require(\"./methods/GuildScheduledEvent\");\r\nimport GuildTemplateMethods = require(\"./methods/GuildTemplate\");\r\nimport InteractionMethods = require(\"./methods/Interaction\");\r\nimport InviteMethods = require(\"./methods/Invite\");\r\nimport SkuMethods = require(\"./methods/Sku\");\r\nimport StageInstanceMethods = require(\"./methods/StageInstance\");\r\nimport UserMethods = require(\"./methods/User\");\r\nimport VoiceMethods = require(\"./methods/Voice\");\r\nimport WebhookMethods = require(\"./methods/Webhook\");\r\nimport Endpoints = require(\"./Endpoints\");\r\nimport Constants = require(\"./Constants\");\r\n\r\nimport type { APIAllowedMentions } from 'discord-api-types/v10';\r\n\r\nnamespace SnowTransfer {\r\n\texport type Options = {\r\n\r\n\t\tbaseHost: string;\r\n\r\n\t\tallowed_mentions: APIAllowedMentions | undefined;\r\n\r\n\r\n\t\tdisableEveryone: boolean;\r\n\r\n\t\tbypassBuckets: boolean;\r\n\r\n\t\tretryRequests: boolean;\r\n\r\n\t\tretryLimit: number;\r\n\t};\r\n}\r\n\r\n\r\n\r\n\r\nclass SnowTransfer {\r\n\r\n\tpublic options: SnowTransfer.Options;\r\n\r\n\tpublic token: string | undefined;\r\n\r\n\tpublic channel: ChannelMethods;\r\n\r\n\tpublic requestHandler: RequestHandler;\r\n\r\n\tpublic user: UserMethods;\r\n\r\n\tpublic assets: AssetsMethods;\r\n\r\n\tpublic webhook: WebhookMethods;\r\n\r\n\tpublic guild: GuildMethods;\r\n\r\n\tpublic guildScheduledEvent: GuildScheduledEventMethods;\r\n\r\n\tpublic guildTemplate: GuildTemplateMethods;\r\n\r\n\tpublic interaction: InteractionMethods;\r\n\r\n\tpublic invite: InviteMethods;\r\n\r\n\tpublic voice: VoiceMethods;\r\n\r\n\tpublic bot: BotMethods;\r\n\r\n\tpublic auditLog: AuditLogMethods;\r\n\r\n\tpublic stageInstance: StageInstanceMethods;\r\n\r\n\tpublic autoMod: AutoModerationMethods;\r\n\r\n\tpublic entitlement: EntitlementMethods;\r\n\r\n\tpublic sku: SkuMethods;\r\n\r\n\tpublic ratelimiter: Ratelimiter;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic constructor(token?: string, options?: Partial<SnowTransfer.Options>) {\r\n\t\tif (typeof token === \"string\" && token === \"\") throw new Error(\"Missing token\");\r\n\t\tif (token && (!token.startsWith(\"Bot\") && !token.startsWith(\"Bearer\"))) token = `Bot ${token}`;\r\n\t\tthis.options = { baseHost: Endpoints.BASE_HOST, allowed_mentions: undefined, disableEveryone: false, bypassBuckets: false, retryRequests: false, retryLimit: Constants.DEFAULT_RETRY_LIMIT, ...options };\r\n\t\tthis.token = token;\r\n\t\tthis.ratelimiter = new Ratelimiter();\r\n\t\tthis.requestHandler = new RequestHandler(this.ratelimiter, {\r\n\t\t\ttoken: this.token,\r\n\t\t\tbaseHost: this.options.baseHost,\r\n\t\t\tbypassBuckets: this.options.bypassBuckets,\r\n\t\t\tretryFailed: this.options.retryRequests,\r\n\t\t\tretryLimit: this.options.retryLimit\r\n\t\t});\r\n\t\tthis.channel = new ChannelMethods(this.requestHandler, this.options);\r\n\t\tthis.user = new UserMethods(this.requestHandler);\r\n\t\tthis.assets = new AssetsMethods(this.requestHandler);\r\n\t\tthis.webhook = new WebhookMethods(this.requestHandler, this.options);\r\n\t\tthis.guild = new GuildMethods(this.requestHandler);\r\n\t\tthis.guildScheduledEvent = new GuildScheduledEventMethods(this.requestHandler);\r\n\t\tthis.guildTemplate = new GuildTemplateMethods(this.requestHandler);\r\n\t\tthis.interaction = new InteractionMethods(this.requestHandler, this.webhook, this.options);\r\n\t\tthis.invite = new InviteMethods(this.requestHandler);\r\n\t\tthis.voice = new VoiceMethods(this.requestHandler);\r\n\t\tthis.bot = new BotMethods(this.requestHandler);\r\n\t\tthis.auditLog = new AuditLogMethods(this.requestHandler);\r\n\t\tthis.stageInstance = new StageInstanceMethods(this.requestHandler);\r\n\t\tthis.autoMod = new AutoModerationMethods(this.requestHandler);\r\n\t\tthis.entitlement = new EntitlementMethods(this.requestHandler);\r\n\t\tthis.sku = new SkuMethods(this.requestHandler);\r\n\t}\r\n}\r\n\r\nexport = SnowTransfer;\r\n","import AuditLogMethods2 = require(\"./methods/AuditLog\");\r\nimport AutoModerationMethods2 = require(\"./methods/AutoModeration\");\r\nimport BotMethods2 = require(\"./methods/Bot\");\r\nimport ChannelMethods2 = require(\"./methods/Channel\");\r\nimport AssetsMethods2 = require(\"./methods/Assets\");\r\nimport EntitlementsMethods2 = require(\"./methods/Entitlements\");\r\nimport GuildMethods2 = require(\"./methods/Guild\");\r\nimport GuildScheduledEventMethods2 = require(\"./methods/GuildScheduledEvent\");\r\nimport GuildTemplateMethods2 = require(\"./methods/GuildTemplate\");\r\nimport InteractionMethods2 = require(\"./methods/Interaction\");\r\nimport InviteMethods2 = require(\"./methods/Invite\");\r\nimport SkuMethods2 = require(\"./methods/Sku\");\r\nimport StageInstanceMethods2 = require(\"./methods/StageInstance\");\r\nimport UserMethods2 = require(\"./methods/User\");\r\nimport VoiceMethods2 = require(\"./methods/Voice\");\r\nimport WebhookMethods2 = require(\"./methods/Webhook\");\r\n\r\nimport tokenless2 = require(\"./tokenless\");\r\n\r\nimport Constants2 = require(\"./Constants\");\r\nimport Endpoints2 = require(\"./Endpoints\");\r\nimport SnowTransfer2 = require(\"./SnowTransfer\");\r\nimport {\r\n\tRatelimiter as Ratelimiter2,\r\n\tLocalBucket as LocalBucket2,\r\n\tGlobalBucket as GlobalBucket2,\r\n\tRequestHandler as RequestHandler2,\r\n\ttype HTTPMethod,\r\n\ttype HandlerEvents,\r\n\ttype RESTPostAPIAttachmentsRefreshURLsResult,\r\n\ttype RatelimitInfo,\r\n\ttype Queue,\r\n\ttype RequestEventData,\r\n\tDiscordAPIError as DiscordAPIError2,\r\n\tAsyncSequentialQueue as AsyncSequentialQueue2\r\n} from \"./RequestHandler\";\r\n\r\nexport {\r\n\tAuditLogMethods2 as AuditLogMethods,\r\n\tAutoModerationMethods2 as AutoModerationMethods,\r\n\tBotMethods2 as BotMethods,\r\n\tChannelMethods2 as ChannelMethods,\r\n\tAssetsMethods2 as AssetsMethods,\r\n\tEntitlementsMethods2 as EntitlementsMethods,\r\n\tGuildMethods2 as GuildMethods,\r\n\tGuildScheduledEventMethods2 as GuildScheduledEventMethods,\r\n\tGuildTemplateMethods2 as GuildTemplateMethods,\r\n\tInteractionMethods2 as InteractionMethods,\r\n\tInviteMethods2 as InviteMethods,\r\n\tSkuMethods2 as SkuMethods,\r\n\tStageInstanceMethods2 as StageInstanceMethods,\r\n\tUserMethods2 as UserMethods,\r\n\tVoiceMethods2 as VoiceMethods,\r\n\tWebhookMethods2 as WebhookMethods,\r\n\r\n\ttokenless2 as tokenless,\r\n\r\n\tConstants2 as Constants,\r\n\tEndpoints2 as Endpoints,\r\n\tSnowTransfer2 as SnowTransfer,\r\n\tRatelimiter2 as Ratelimiter,\r\n\tLocalBucket2 as LocalBucket,\r\n\tGlobalBucket2 as GlobalBucket,\r\n\tRequestHandler2 as RequestHandler,\r\n\tDiscordAPIError2 as DiscordAPIError,\r\n\tAsyncSequentialQueue2 as AsyncSequentialQueue,\r\n\r\n\ttype HTTPMethod,\r\n\ttype HandlerEvents,\r\n\ttype RESTPostAPIAttachmentsRefreshURLsResult,\r\n\ttype RatelimitInfo,\r\n\ttype RequestEventData,\r\n\ttype Queue\r\n};\r\n"]}
|