snowtransfer 0.10.8 → 0.10.9

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 CHANGED
@@ -3392,8 +3392,8 @@ declare const Constants: {
3392
3392
  file: Buffer | Blob | File$1 | Readable | ReadableStream;
3393
3393
  }>;
3394
3394
  data?: any;
3395
- }): FormData;
3396
- standardAddToFormHandler(form: FormData, name: string, value: Buffer | Blob | File$1 | Readable | ReadableStream, filename?: string): void;
3395
+ }): Promise<FormData>;
3396
+ standardAddToFormHandler(form: FormData, name: string, value: Buffer | Blob | File$1 | Readable | ReadableStream, filename?: string): Promise<void>;
3397
3397
  replaceEveryone(content: string): string;
3398
3398
  };
3399
3399
 
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ var web = require('stream/web');
6
6
  var undici = require('undici');
7
7
  var events = require('events');
8
8
 
9
- var __getOwnPropNames=Object.getOwnPropertyNames;var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+x+'" is not supported')});var __esm=(fn,res)=>function(){return fn&&(res=(0, fn[__getOwnPropNames(fn)[0]])(fn=0)),res};var __commonJS=(cb,mod)=>function(){return mod||(0, cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var require_Constants=__commonJS({"src/Constants.ts"(exports,module){var mentionRegex=/@([^<>@ ]*)/gsmu,isValidUserMentionRegex=/^[&!]?\d+$/;function replaceEveryoneMatchProcessor(_match,target){return isValidUserMentionRegex.test(target)?`@${target}`:`@\u200B${target}`}var Constants3={REST_API_VERSION:10,GET_CHANNEL_MESSAGES_MIN_RESULTS:1,GET_CHANNEL_MESSAGES_MAX_RESULTS:100,GET_GUILD_SCHEDULED_EVENT_USERS_MIN_RESULTS:1,GET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS:100,SEARCH_MEMBERS_MIN_RESULTS:1,SEARCH_MEMBERS_MAX_RESULTS:1e3,BULK_DELETE_MESSAGES_MIN:2,BULK_DELETE_MESSAGES_MAX:100,OK_STATUS_CODES:new Set([200,201,204,304]),DO_NOT_RETRY_STATUS_CODES:new Set([401,403,404,405,411,413,429]),DEFAULT_RETRY_LIMIT:3,standardMultipartHandler(data){let form=new undici.FormData;if(data.files&&Array.isArray(data.files)&&data.files.every(f=>!!f.name&&!!f.file)){let index=0;for(let file of data.files)Constants3.standardAddToFormHandler(form,`files[${index}]`,file.file,file.name),delete file.file,index++;}return data.data&&delete data.files,form.append("payload_json",JSON.stringify(data)),form},standardAddToFormHandler(form,name,value,filename){value instanceof Buffer?form.append(name,new buffer.Blob([value]),filename):value instanceof buffer.Blob||value instanceof buffer.File?form.append(name,value,filename):form.set(name,{[Symbol.toStringTag]:"File",name,stream:()=>value instanceof web.ReadableStream?stream.Readable.fromWeb(value):value},filename);},replaceEveryone(content){return content.replace(mentionRegex,replaceEveryoneMatchProcessor)}};module.exports=Constants3;}});var require_Endpoints=__commonJS({"src/Endpoints.ts"(exports,module){var Constants3=require_Constants(),Endpoints3={BASE_URL:"/api/v"+Constants3.REST_API_VERSION,BASE_HOST:"https://discord.com",CDN_URL:"https://cdn.discordapp.com",APPLICATION_COMMAND:(appID,cmdID)=>`${Endpoints3.APPLICATION_COMMANDS(appID)}/${cmdID}`,APPLICATION_COMMANDS:appID=>`/applications/${appID}/commands`,APPLICATION_GUILD_COMMANDS_PERMISSIONS:(appID,guildID)=>`${Endpoints3.APPLICATION_GUILD_COMMANDS(appID,guildID)}/permissions`,APPLICATION_GUILD_COMMAND_PERMISSIONS:(appID,guildID,cmdID)=>`${Endpoints3.APPLICATION_GUILD_COMMAND(appID,guildID,cmdID)}/permissions`,APPLICATION_GUILD_COMMAND:(appID,guildID,cmdID)=>`${Endpoints3.APPLICATION_GUILD_COMMANDS(appID,guildID)}/${cmdID}`,APPLICATION_GUILD_COMMANDS:(appID,guildID)=>`/applications/${appID}/guilds/${guildID}/commands`,ATTACHMENTS_REFRESH_URLS:"/attachments/refresh-urls",CHANNEL:chanID=>`${Endpoints3.CHANNELS}/${chanID}`,CHANNEL_ATTACHMENTS:chanID=>`${Endpoints3.CHANNEL(chanID)}/attachments`,CHANNEL_BULK_DELETE:chanID=>`${Endpoints3.CHANNEL_MESSAGES(chanID)}/bulk-delete`,CHANNEL_FOLLOWERS:chanID=>`${Endpoints3.CHANNEL(chanID)}/followers`,CHANNEL_INVITES:chanID=>`${Endpoints3.CHANNEL(chanID)}/invites`,CHANNEL_MESSAGE:(chanID,msgID)=>`${Endpoints3.CHANNEL_MESSAGES(chanID)}/${msgID}`,CHANNEL_MESSAGE_CROSSPOST:(chanID,msgID)=>`${Endpoints3.CHANNEL_MESSAGE(chanID,msgID)}/crosspost`,CHANNEL_MESSAGE_REACTION:(chanID,msgID,reaction)=>`${Endpoints3.CHANNEL_MESSAGE_REACTIONS(chanID,msgID)}/${reaction}`,CHANNEL_MESSAGE_REACTION_USER:(chanID,msgID,reaction,userID)=>`${Endpoints3.CHANNEL_MESSAGE_REACTION(chanID,msgID,reaction)}/${userID}`,CHANNEL_MESSAGE_REACTIONS:(chanID,msgID)=>`${Endpoints3.CHANNEL_MESSAGE(chanID,msgID)}/reactions`,CHANNEL_MESSAGE_THREADS:(chanID,msgID)=>`${Endpoints3.CHANNEL_MESSAGE(chanID,msgID)}/threads`,CHANNEL_MESSAGES:chanID=>`${Endpoints3.CHANNEL(chanID)}/messages`,CHANNEL_PERMISSION:(chanID,permID)=>`${Endpoints3.CHANNEL_PERMISSIONS(chanID)}/${permID}`,CHANNEL_PERMISSIONS:chanID=>`${Endpoints3.CHANNEL(chanID)}/permissions`,CHANNEL_PIN:(chanID,msgID)=>`${Endpoints3.CHANNEL_PINS(chanID)}/${msgID}`,CHANNEL_PINS:chanID=>`${Endpoints3.CHANNEL(chanID)}/pins`,CHANNEL_RECIPIENT:(chanID,userID)=>`${Endpoints3.CHANNEL(chanID)}/recipients/${userID}`,CHANNEL_THREADS:chanID=>`${Endpoints3.CHANNEL(chanID)}/threads`,CHANNEL_THREAD_MEMBER:(chanID,memberID)=>`${Endpoints3.CHANNEL_THREAD_MEMBERS(chanID)}/${memberID}`,CHANNEL_THREAD_MEMBERS:chanID=>`${Endpoints3.CHANNEL(chanID)}/thread-members`,CHANNEL_THREADS_ARCHIVED_PRIVATE:chanID=>`${Endpoints3.CHANNEL_THREADS(chanID)}/archived/private`,CHANNEL_THREADS_ARCHIVED_PRIVATE_USER:chanID=>`${Endpoints3.CHANNEL(chanID)}/users/@me/threads/archived/private`,CHANNEL_THREADS_ARCHIVED_PUBLIC:chanID=>`${Endpoints3.CHANNEL_THREADS(chanID)}/archived/public`,CHANNEL_TYPING:chanID=>`${Endpoints3.CHANNEL(chanID)}/typing`,CHANNEL_WEBHOOKS:chanID=>`${Endpoints3.CHANNEL(chanID)}/webhooks`,CHANNELS:"/channels",GATEWAY:"/gateway",GATEWAY_BOT:"/gateway/bot",GUILD:guildID=>`${Endpoints3.GUILDS}/${guildID}`,GUILD_AUDIT_LOGS:guildID=>`${Endpoints3.GUILD(guildID)}/audit-logs`,GUILD_AUTO_MOD_RULE:(guildID,ruleID)=>`${Endpoints3.GUILD_AUTO_MOD_RULES(guildID)}/${ruleID}`,GUILD_AUTO_MOD_RULES:guildID=>`${Endpoints3.GUILD(guildID)}/auto-moderation/rules`,GUILD_BAN:(guildID,memberID)=>`${Endpoints3.GUILD_BANS(guildID)}/${memberID}`,GUILD_BANS:guildID=>`${Endpoints3.GUILD(guildID)}/bans`,GUILD_CHANNELS:guildID=>`${Endpoints3.GUILD(guildID)}/channels`,GUILD_EMOJI:(guildID,emojiID)=>`${Endpoints3.GUILD_EMOJIS(guildID)}/${emojiID}`,GUILD_EMOJIS:guildID=>`${Endpoints3.GUILD(guildID)}/emojis`,GUILD_INVITES:guildID=>`${Endpoints3.GUILD(guildID)}/invites`,GUILD_INTEGRATION:(guildID,integrationID)=>`${Endpoints3.GUILD_INTEGRATIONS(guildID)}/${integrationID}`,GUILD_INTEGRATIONS:guildID=>`${Endpoints3.GUILD(guildID)}/integrations`,GUILD_MEMBER:(guildID,memberID)=>`${Endpoints3.GUILD_MEMBERS(guildID)}/${memberID}`,GUILD_MEMBER_ROLE:(guildID,memberID,roleID)=>`${Endpoints3.GUILD_MEMBER(guildID,memberID)}/roles/${roleID}`,GUILD_MEMBERS:guildID=>`${Endpoints3.GUILD(guildID)}/members`,GUILD_MEMBERS_SEARCH:guildID=>`${Endpoints3.GUILD_MEMBERS(guildID)}/search`,GUILD_PREVIEW:guildID=>`${Endpoints3.GUILD(guildID)}/preview`,GUILD_PRUNE:guildID=>`${Endpoints3.GUILD(guildID)}/prune`,GUILD_ROLE:(guildID,roleID)=>`${Endpoints3.GUILD_ROLES(guildID)}/${roleID}`,GUILD_ROLES:guildID=>`${Endpoints3.GUILD(guildID)}/roles`,GUILD_SCHEDULED_EVENTS:guildID=>`${Endpoints3.GUILD(guildID)}/scheduled-events`,GUILD_SCHEDULED_EVENT:(guildID,eventId)=>`${Endpoints3.GUILD_SCHEDULED_EVENTS(guildID)}/${eventId}`,GUILD_SCHEDULED_EVENT_USERS:(guildID,eventId)=>`${Endpoints3.GUILD_SCHEDULED_EVENT(guildID,eventId)}/users`,GUILD_STICKER:(guildID,stickerID)=>`${Endpoints3.GUILD_STICKERS(guildID)}/${stickerID}`,GUILD_STICKERS:guildID=>`${Endpoints3.GUILD(guildID)}/stickers`,GUILD_TEMPLATE:(guildID,code)=>`${Endpoints3.GUILD_TEMPLATES(guildID)}/${code}`,GUILD_THREADS_ACTIVE:guildID=>`${Endpoints3.GUILD(guildID)}/threads/active`,GUILD_TEMPLATES:guildID=>`${Endpoints3.GUILD(guildID)}/templates`,GUILD_VANITY:guildID=>`${Endpoints3.GUILD(guildID)}/vanity-url`,GUILD_VOICE_REGIONS:guildID=>`${Endpoints3.GUILD(guildID)}/regions`,GUILD_VOICE_STATE_USER:(guildID,memberID)=>`${Endpoints3.GUILD(guildID)}/voice-states/${memberID}`,GUILD_WEBHOOKS:guildID=>`${Endpoints3.GUILD(guildID)}/webhooks`,GUILD_WELCOME_SCREEN:guildID=>`${Endpoints3.GUILD(guildID)}/welcome-screen`,GUILD_WIDGET:guildID=>`${Endpoints3.GUILD(guildID)}/widget.json`,GUILD_WIDGET_SETTINGS:guildID=>`${Endpoints3.GUILD(guildID)}/widget`,GUILDS:"/guilds",INTERACTION_CALLBACK:(interactionID,token)=>`/interactions/${interactionID}/${token}/callback`,INVITES:inviteID=>`/invites/${inviteID}`,OAUTH2_APPLICATION:appID=>`/oauth2/applications/${appID}`,STAGE_INSTANCE_CHANNEL:chanID=>`${Endpoints3.STAGE_INSTANCES}/${chanID}`,STAGE_INSTANCES:"/stage-instances",STICKER:stickerID=>`/stickers/${stickerID}`,TEMPLATE:code=>`/guilds/templates/${code}`,USER:userID=>`${Endpoints3.USERS}/${userID}`,USER_APPLICATION_ROLE_CONNECTION:(userID,appID)=>`${Endpoints3.USER(userID)}/applications/${appID}/role-connection`,USER_CHANNELS:userID=>`${Endpoints3.USER(userID)}/channels`,USER_CONNECTIONS:userID=>`${Endpoints3.USER(userID)}/connections`,USER_GUILD:(userID,guildID)=>`${Endpoints3.USER_GUILDS(userID)}/${guildID}`,USER_GUILDS:userID=>`${Endpoints3.USER(userID)}/guilds`,USER_GUILD_VOICE_STATE:(guildID,userID)=>`${Endpoints3.GUILD(guildID)}/voice-states/${userID}`,USERS:"/users",VOICE_REGIONS:"/voice/regions",WEBHOOK:hookID=>`/webhooks/${hookID}`,WEBHOOK_TOKEN:(hookID,token)=>`${Endpoints3.WEBHOOK(hookID)}/${token}`,WEBHOOK_TOKEN_GITHUB:(hookID,token)=>`${Endpoints3.WEBHOOK_TOKEN(hookID,token)}/github`,WEBHOOK_TOKEN_MESSAGE:(hookID,token,msgID)=>`/webhooks/${hookID}/${token}/messages/${msgID}`,WEBHOOK_TOKEN_SLACK:(hookID,token)=>`${Endpoints3.WEBHOOK_TOKEN(hookID,token)}/slack`};module.exports=Endpoints3;}});function appendQuery(query){let count=0;for(let[key,value]of Object.entries(query))value==null?delete query[key]:count++;return count>0?`?${new URLSearchParams(query).toString()}`:""}var fs,path,crypto,Endpoints,version,Constants,routeRegex,reactionsRegex,reactionsUserRegex,webhooksRegex,isMessageEndpointRegex,isGuildChannelsRegex,disallowedBodyMethods;exports.DiscordAPIError = void 0;exports.Ratelimiter = void 0;exports.LocalBucket = void 0;exports.GlobalBucket = void 0;exports.RequestHandler = void 0;var init_RequestHandler=__esm({"src/RequestHandler.ts"(){fs=__require("fs"),path=__require("path"),crypto=__require("crypto"),Endpoints=require_Endpoints(),{version}=JSON.parse(fs.readFileSync(path.join(__dirname,"../package.json"),{encoding:"utf8"})),Constants=require_Constants(),routeRegex=/\/([a-z-]+)\/(?:\d{17,19})/g,reactionsRegex=/\/reactions\/[^/]+/g,reactionsUserRegex=/\/reactions\/:id\/[^/]+/g,webhooksRegex=/^\/webhooks\/(\d+)\/[A-Za-z0-9-_]{64,}/,isMessageEndpointRegex=/\/messages\/:id$/,isGuildChannelsRegex=/\/guilds\/\d+\/channels$/,disallowedBodyMethods=new Set(["head","get"]),exports.DiscordAPIError=class extends Error{constructor(path2,error,method,status){super();this.path=path2;this.method=method;this.name="DiscordAPIError",this.message=error.message??String(error),this.code=error.code??4e3,this.httpStatus=status;}},exports.Ratelimiter=class{constructor(){this.buckets={};this._global=!1;this.globalReset=0;this.globalResetTimeout=null;this.BucketConstructor=exports.GlobalBucket;}get global(){return this._global}set global(value){if(value&&this.globalReset!==0){this.globalResetTimeout&&clearTimeout(this.globalResetTimeout);let instance=this;this.globalResetTimeout=setTimeout(()=>{instance.global=!1;},this.globalReset).unref();}else {this.globalResetTimeout&&clearTimeout(this.globalResetTimeout),this.globalResetTimeout=null,this.globalReset=0;for(let bkt of Object.values(this.buckets))bkt.checkQueue();}this._global=value;}routify(url,method){let route=url.replace(routeRegex,function(match,p){return p==="channels"||p==="guilds"||p==="webhooks"?match:`/${p}/:id`}).replace(reactionsRegex,"/reactions/:id").replace(reactionsUserRegex,"/reactions/:id/:userID").replace(webhooksRegex,"/webhooks/$1/:token");if(method.toUpperCase()==="DELETE"&&isMessageEndpointRegex.test(route)?route=method+route:method.toUpperCase()==="GET"&&isGuildChannelsRegex.test(route)&&(route="/guilds/:id/channels"),method==="PUT"||method==="DELETE"){let index=route.indexOf("/reactions");index!==-1&&(route="MODIFY"+route.slice(0,index+10));}return route}queue(fn,url,method){var _a;let routeKey=this.routify(url,method);return (_a=this.buckets)[routeKey]??(_a[routeKey]=new this.BucketConstructor(this,routeKey)),this.buckets[routeKey].queue(fn)}},exports.LocalBucket=class{constructor(limit=5,reset=5e3,remaining){this.limit=limit;this.reset=reset;this.fnQueue=[];this.resetTimeout=null;this.remaining=remaining??limit;}queue(fn){return new Promise((res,rej)=>{let wrapFn=()=>{this.remaining--,this.resetTimeout||this.makeResetTimeout(this.reset),this.remaining!==0&&setImmediate(()=>this.checkQueue());let result;try{result=fn(this);}catch(e){return rej(e)}return res(result)};this.fnQueue.push(wrapFn),this.checkQueue();})}makeResetTimeout(durationMS){this.resetTimeout&&clearTimeout(this.resetTimeout),this.resetTimeout=setTimeout(()=>this.resetRemaining(),durationMS);}checkQueue(){if(this.fnQueue.length&&this.remaining!==0){let queuedFunc=this.fnQueue.splice(0,1)[0];queuedFunc();}}resetRemaining(){this.remaining=this.limit,this.resetTimeout&&(clearTimeout(this.resetTimeout),this.resetTimeout=null),this.fnQueue.length&&this.checkQueue();}dropQueue(){this.fnQueue.length=0;}},exports.GlobalBucket=class extends exports.LocalBucket{constructor(ratelimiter,routeKey){super(5,5e3,1);this.ratelimiter=ratelimiter;this.routeKey=routeKey;}checkQueue(){this.ratelimiter.global||super.checkQueue();}resetRemaining(){this.fnQueue.length||delete this.ratelimiter.buckets[this.routeKey],super.resetRemaining();}},exports.RequestHandler=class extends events.EventEmitter{constructor(ratelimiter,options){super();this.ratelimiter=ratelimiter;this.options={baseHost:(options==null?void 0:options.baseHost)??Endpoints.BASE_HOST,baseURL:(options==null?void 0:options.baseURL)??Endpoints.BASE_URL,bypassBuckets:(options==null?void 0:options.bypassBuckets)??!1,retryFailed:(options==null?void 0:options.retryFailed)??!1,retryLimit:(options==null?void 0:options.retryLimit)??Constants.DEFAULT_RETRY_LIMIT,headers:{"User-Agent":`Discordbot (https://github.com/DasWolke/SnowTransfer, ${version}) Node.js/${process.version}`}},options!=null&&options.token&&(this.options.headers.Authorization=options.token),this.apiURL=this.options.baseHost+Endpoints.BASE_URL,this.latency=500;}request(endpoint,params={},method,dataType="json",data,extraHeaders,retries=this.options.retryLimit){return new Promise(async(res,rej)=>{let fn=async bkt=>{let reqID=crypto.randomBytes(20).toString("hex");try{this.emit("request",reqID,{endpoint,method,dataType,data:data??{}});let before=Date.now(),request;switch(dataType){case"json":request=await this._request(endpoint,params,method,data,extraHeaders);break;case"multipart":if(!data)throw new Error("No multipart data");request=await this._multiPartRequest(endpoint,params,method,data,extraHeaders);break;default:throw new Error("Forbidden dataType. Use json or multipart or ensure multipart has FormData")}if(this.latency=Date.now()-before,bkt&&this._applyRatelimitHeaders(bkt,request.headers),request.status&&!Constants.OK_STATUS_CODES.has(request.status)&&request.status!==429){if(this.options.retryFailed&&!Constants.DO_NOT_RETRY_STATUS_CODES.has(request.status)&&retries!==0)return this.request(endpoint,params,method,dataType,data,extraHeaders,retries--).then(res).catch(rej);throw new exports.DiscordAPIError(endpoint,{message:await request.text()},method,request.status)}if(request.status===429){if(!this.ratelimiter.global){let b=await request.json();b.reset_after!==void 0?this.ratelimiter.globalReset=b.reset_after*1e3:this.ratelimiter.globalReset=1e3,b.global!==void 0&&(this.ratelimiter.global=b.global);}throw this.emit("rateLimit",{timeout:bkt?bkt.reset:0,remaining:bkt?bkt.remaining:1/0,limit:bkt?bkt.limit:1/0,method,path:endpoint,route:bkt?bkt.routeKey:this.ratelimiter.routify(endpoint,method)}),new exports.DiscordAPIError(endpoint,{message:"You're being ratelimited",code:429},method,request.status)}if(this.emit("done",reqID,request),request.body){let b;try{b=await request.json();}catch{return res(void 0)}return res(b)}else return res(void 0)}catch(error){return this.emit("requestError",reqID,error),rej(error)}};this.options.bypassBuckets?fn():this.ratelimiter.queue(fn,endpoint,method);})}_applyRatelimitHeaders(bkt,headers){let remaining=headers.get("x-ratelimit-remaining"),limit=headers.get("x-ratelimit-limit"),resetAfter=headers.get("x-ratelimit-reset-after");remaining&&(bkt.remaining=parseInt(remaining)),limit&&(bkt.limit=parseInt(limit)),resetAfter&&(bkt.reset=parseFloat(resetAfter)*1e3,bkt.makeResetTimeout(bkt.reset));}async _request(endpoint,params={},method,data,extraHeaders){let headers={...this.options.headers,...extraHeaders};typeof data!="string"&&(data!=null&&data.reason)&&(headers["X-Audit-Log-Reason"]=encodeURIComponent(data.reason),delete data.reason);let body;return disallowedBodyMethods.has(method)||(typeof data=="object"?body=JSON.stringify(data):body=String(data)),headers["Content-Type"]="application/json",undici.fetch(`${this.apiURL}${endpoint}${appendQuery(params)}`,{method:method.toUpperCase(),headers,body})}async _multiPartRequest(endpoint,params={},method,data,extraHeaders){let headers={...this.options.headers,...extraHeaders};return undici.fetch(`${this.apiURL}${endpoint}${appendQuery(params)}`,{method:method.toUpperCase(),headers,body:data})}};}});var require_AuditLog=__commonJS({"src/methods/AuditLog.ts"(exports,module){var Endpoints3=require_Endpoints(),AuditLogMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getAuditLog(guildId,options){return this.requestHandler.request(Endpoints3.GUILD_AUDIT_LOGS(guildId),options,"get","json")}};module.exports=AuditLogMethods;}});var require_AutoModeration=__commonJS({"src/methods/AutoModeration.ts"(exports,module){var Endpoints3=require_Endpoints(),AutoModerationMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getAutoModerationRules(guildId){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULES(guildId),{},"get","json")}async getAutoModerationRule(guildId,ruleId){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULE(guildId,ruleId),{},"get","json")}async createAutoModerationRule(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULES(guildId),{},"post","json",data)}async editAutoModerationRule(guildId,ruleId,data){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULE(guildId,ruleId),{},"patch","json",data)}async deleteAutoModerationRule(guildId,ruleId,reason){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULE(guildId,ruleId),{},"delete","json",{reason})}};module.exports=AutoModerationMethods;}});var require_Bots=__commonJS({"src/methods/Bots.ts"(exports,module){var Endpoints3=require_Endpoints(),BotMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}getGateway(){return this.requestHandler.request(Endpoints3.GATEWAY,{},"get","json")}getGatewayBot(){return this.requestHandler.request(Endpoints3.GATEWAY_BOT,{},"get","json")}};module.exports=BotMethods;}});var require_Channels=__commonJS({"src/methods/Channels.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),ChannelMethods=class{constructor(requestHandler,disableEveryone){this.requestHandler=requestHandler;this.disableEveryone=disableEveryone;}async getChannel(channelId){return this.requestHandler.request(Endpoints3.CHANNEL(channelId),{},"get","json")}async updateChannel(channelId,data){return this.requestHandler.request(Endpoints3.CHANNEL(channelId),{},"patch","json",data)}async deleteChannel(channelId,reason){return this.requestHandler.request(Endpoints3.CHANNEL(channelId),{},"delete","json",{reason})}async getChannelMessages(channelId,options={limit:50}){if(options.around?(delete options.before,delete options.after):options.before?(delete options.around,delete options.after):options.after&&(delete options.before,delete options.around),options.limit!==void 0&&(options.limit<Constants3.GET_CHANNEL_MESSAGES_MIN_RESULTS||options.limit>Constants3.GET_CHANNEL_MESSAGES_MAX_RESULTS))throw new RangeError(`Amount of messages that may be requested has to be between ${Constants3.GET_CHANNEL_MESSAGES_MIN_RESULTS} and ${Constants3.GET_CHANNEL_MESSAGES_MAX_RESULTS}`);return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGES(channelId),options,"get","json")}async getChannelMessage(channelId,messageId){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE(channelId,messageId),{},"get","json")}async createMessage(channelId,data,options={disableEveryone:this.disableEveryone}){if(typeof data!="string"&&!data.content&&!data.embeds&&!data.sticker_ids&&!data.components&&!data.files)throw new Error("Missing content, embeds, sticker_ids, components, or files");return typeof data=="string"&&(data={content:data}),data.content&&(options.disableEveryone??this.disableEveryone)&&(data.content=Constants3.replaceEveryone(data.content)),data.files?this.requestHandler.request(Endpoints3.CHANNEL_MESSAGES(channelId),{},"post","multipart",Constants3.standardMultipartHandler(data)):this.requestHandler.request(Endpoints3.CHANNEL_MESSAGES(channelId),{},"post","json",data)}async createVoiceMessage(channelId,data,audioDurationSeconds,waveform=""){let{upload_url,upload_filename}=await this.requestHandler.request(Endpoints3.CHANNEL_ATTACHMENTS(channelId),{},"post","json",{files:[{id:"69420",filename:"voice-message.ogg",file_size:data.byteLength}]}).then(d=>d.attachments[0]);return await undici.fetch(upload_url,{method:"PUT",body:data}),this.requestHandler.request(Endpoints3.CHANNEL_MESSAGES(channelId),{},"post","json",{attachments:[{id:"42069",uploaded_filename:upload_filename,filename:"voice-message.ogg",duration_secs:audioDurationSeconds,waveform}],flags:8192})}async crosspostMessage(channelId,messageId){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_CROSSPOST(channelId,messageId),{},"post","json")}async createReaction(channelId,messageId,emoji){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_REACTION_USER(channelId,messageId,emoji,"@me"),{},"put","json")}async deleteReactionSelf(channelId,messageId,emoji){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_REACTION_USER(channelId,messageId,emoji,"@me"),{},"delete","json")}async deleteReaction(channelId,messageId,emoji,userId){return this.requestHandler.request(userId?Endpoints3.CHANNEL_MESSAGE_REACTION_USER(channelId,messageId,emoji,userId):Endpoints3.CHANNEL_MESSAGE_REACTION(channelId,messageId,emoji),{},"delete","json")}async getReactions(channelId,messageId,emoji,options){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_REACTION(channelId,messageId,emoji),options,"get","json")}async deleteAllReactions(channelId,messageId){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_REACTIONS(channelId,messageId),{},"delete","json")}async editMessage(channelId,messageId,data,options={disableEveryone:this.disableEveryone}){return typeof data=="string"&&(data={content:data}),data.content&&(options.disableEveryone??this.disableEveryone)&&(data.content=Constants3.replaceEveryone(data.content)),data.files?this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE(channelId,messageId),{},"patch","multipart",Constants3.standardMultipartHandler(data)):this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE(channelId,messageId),{},"patch","json",data)}async deleteMessage(channelId,messageId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE(channelId,messageId),{},"delete","json",{reason})}async bulkDeleteMessages(channelId,messages,reason){if(messages.length<Constants3.BULK_DELETE_MESSAGES_MIN||messages.length>Constants3.BULK_DELETE_MESSAGES_MAX)throw new RangeError(`Amount of messages to be deleted has to be between ${Constants3.BULK_DELETE_MESSAGES_MIN} and ${Constants3.BULK_DELETE_MESSAGES_MAX}`);let oldestSnowflake=BigInt(Date.now()-142128e7)*BigInt(2)**BigInt(22),forbiddenMessage=messages.find(m=>BigInt(m)<oldestSnowflake);if(forbiddenMessage)throw new Error(`The message ${forbiddenMessage} is older than 2 weeks and may not be deleted using the bulk delete endpoint`);let data={messages};return reason&&Object.assign(data,{reason}),this.requestHandler.request(Endpoints3.CHANNEL_BULK_DELETE(channelId),{},"post","json",data)}async editChannelPermission(channelId,permissionId,data){return this.requestHandler.request(Endpoints3.CHANNEL_PERMISSION(channelId,permissionId),{},"put","json",data)}async getChannelInvites(channelId){return this.requestHandler.request(Endpoints3.CHANNEL_INVITES(channelId),{},"get","json")}async createChannelInvite(channelId,data={max_age:86400,max_uses:0,temporary:!1,unique:!1}){return this.requestHandler.request(Endpoints3.CHANNEL_INVITES(channelId),{},"post","json",data)}async deleteChannelPermission(channelId,permissionId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PERMISSION(channelId,permissionId),{},"delete","json",{reason})}async followAnnouncementChannel(channelId,webhookChannelId){return this.requestHandler.request(Endpoints3.CHANNEL_FOLLOWERS(channelId),{},"post","json",{webhook_channel_id:webhookChannelId})}async startChannelTyping(channelId){return this.requestHandler.request(Endpoints3.CHANNEL_TYPING(channelId),{},"post","json")}async getChannelPinnedMessages(channelId){return this.requestHandler.request(Endpoints3.CHANNEL_PINS(channelId),{},"get","json")}async addChannelPinnedMessage(channelId,messageId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PIN(channelId,messageId),{},"put","json",{reason})}async removeChannelPinnedMessage(channelId,messageId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PIN(channelId,messageId),{},"delete","json",{reason})}async createThreadWithMessage(channelId,messageId,options){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_THREADS(channelId,messageId),{},"post","json",options)}async createThreadWithoutMessage(channelId,options){return this.requestHandler.request(Endpoints3.CHANNEL_THREADS(channelId),{},"post","json",options)}async joinThread(threadId){return this.requestHandler.request(Endpoints3.CHANNEL_THREAD_MEMBER(threadId,"@me"),{},"put","json")}async addThreadMember(threadId,userId){return this.requestHandler.request(Endpoints3.CHANNEL_THREAD_MEMBER(threadId,userId),{},"put","json")}async leaveThread(threadId){return this.requestHandler.request(Endpoints3.CHANNEL_THREAD_MEMBER(threadId,"@me"),{},"delete","json")}removeThreadMember(threadId,userId){return this.requestHandler.request(Endpoints3.CHANNEL_THREAD_MEMBER(threadId,userId),{},"delete","json")}async getThreadMember(threadId,userId,withMember){return this.requestHandler.request(Endpoints3.CHANNEL_THREAD_MEMBER(threadId,userId),{with_member:withMember},"get","json")}async getThreadMembers(channelId,options){return this.requestHandler.request(Endpoints3.CHANNEL_THREAD_MEMBERS(channelId),options,"get","json")}async getChannelArchivedPublicThreads(channelId,options){return this.requestHandler.request(Endpoints3.CHANNEL_THREADS_ARCHIVED_PUBLIC(channelId),options,"get","json")}async getChannelArchivedPrivateThreads(channelId,options){return this.requestHandler.request(Endpoints3.CHANNEL_THREADS_ARCHIVED_PRIVATE(channelId),options,"get","json")}async getChannelArchivedPrivateThreadsUser(channelId,options){return this.requestHandler.request(Endpoints3.CHANNEL_THREADS_ARCHIVED_PRIVATE_USER(channelId),options,"get","json")}async refreshAttachmentURLs(attachments){return this.requestHandler.request(Endpoints3.ATTACHMENTS_REFRESH_URLS,{},"post","json",{attachment_urls:Array.isArray(attachments)?attachments:[attachments]})}};module.exports=ChannelMethods;}});var require_GuildAssets=__commonJS({"src/methods/GuildAssets.ts"(exports,module){var Constants3=require_Constants(),Endpoints3=require_Endpoints(),GuildAssetsMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getEmojis(guildId){return this.requestHandler.request(Endpoints3.GUILD_EMOJIS(guildId),{},"get","json")}async getEmoji(guildId,emojiId){return this.requestHandler.request(Endpoints3.GUILD_EMOJI(guildId,emojiId),{},"get","json")}async createEmoji(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_EMOJIS(guildId),{},"post","json",data)}async updateEmoji(guildId,emojiId,data){return this.requestHandler.request(Endpoints3.GUILD_EMOJI(guildId,emojiId),{},"patch","json",data)}async deleteEmoji(guildId,emojiId,reason){return this.requestHandler.request(Endpoints3.GUILD_EMOJI(guildId,emojiId),{},"delete","json",{reason})}async getSticker(stickerId){return this.requestHandler.request(Endpoints3.STICKER(stickerId),{},"get","json")}async getGuildStickers(guildId){return this.requestHandler.request(Endpoints3.GUILD_STICKERS(guildId),{},"get","json")}async getGuildSticker(guildId,stickerId){return this.requestHandler.request(Endpoints3.GUILD_STICKER(guildId,stickerId),{},"get","json")}createGuildSticker(guildId,data){let form=new undici.FormData,reason=data.reason;data.reason&&delete data.reason;for(let key of Object.keys(data))Constants3.standardAddToFormHandler(form,key,data[key]);return this.requestHandler.request(Endpoints3.GUILD_STICKERS(guildId),{},"post","multipart",form,reason?{"X-Audit-Log-Reason":reason}:void 0)}updateGuildSticker(guildId,stickerId,data){return this.requestHandler.request(Endpoints3.GUILD_STICKER(guildId,stickerId),{},"patch","json",data)}deleteGuildSticker(guildId,stickerId,reason){return this.requestHandler.request(Endpoints3.GUILD_STICKER(guildId,stickerId),{},"delete","json",{reason})}};module.exports=GuildAssetsMethods;}});var require_Guilds=__commonJS({"src/methods/Guilds.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),GuildMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async createGuild(data){return this.requestHandler.request(Endpoints3.GUILDS,{},"post","json",data)}async getGuild(guildId,withCounts){return this.requestHandler.request(Endpoints3.GUILD(guildId),{with_counts:withCounts},"get","json")}async getGuildPreview(guildId){return this.requestHandler.request(Endpoints3.GUILD_PREVIEW(guildId),{},"get","json")}async updateGuild(guildId,data){return this.requestHandler.request(Endpoints3.GUILD(guildId),{},"patch","json",data)}async deleteGuild(guildId){return this.requestHandler.request(Endpoints3.GUILD(guildId),{},"delete","json")}async getGuildChannels(guildId){return this.requestHandler.request(Endpoints3.GUILD_CHANNELS(guildId),{},"get","json")}async createGuildChannel(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_CHANNELS(guildId),{},"post","json",data)}async updateChannelPositions(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_CHANNELS(guildId),{},"patch","json",data,reason?{"X-Audit-Log-Reason":reason}:void 0)}async listActiveThreads(guildId){return this.requestHandler.request(Endpoints3.GUILD_THREADS_ACTIVE(guildId),{},"get","json")}async getGuildMember(guildId,memberId){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,memberId),{},"get","json")}async getGuildMembers(guildId,options){return this.requestHandler.request(Endpoints3.GUILD_MEMBERS(guildId),options,"get","json")}async searchGuildMembers(guildId,options){if(options.limit!==void 0&&(options.limit<Constants3.SEARCH_MEMBERS_MIN_RESULTS||options.limit>Constants3.SEARCH_MEMBERS_MAX_RESULTS))throw new RangeError(`Limit for searching guild members has to be between ${Constants3.SEARCH_MEMBERS_MIN_RESULTS} and ${Constants3.SEARCH_MEMBERS_MAX_RESULTS}`);return this.requestHandler.request(Endpoints3.GUILD_MEMBERS_SEARCH(guildId),options,"get","json")}async addGuildMember(guildId,memberId,data){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,memberId),{},"put","json",data)}async updateGuildMember(guildId,memberId,data){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,memberId),{},"patch","json",data)}async updateSelf(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,"@me"),{},"patch","json",data)}async addGuildMemberRole(guildId,memberId,roleId,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER_ROLE(guildId,memberId,roleId),{},"put","json",{reason})}async removeGuildMemberRole(guildId,memberId,roleId,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER_ROLE(guildId,memberId,roleId),{},"delete","json",{reason})}async removeGuildMember(guildId,memberId,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,memberId),{},"delete","json",{reason})}async getGuildBans(guildId,options){return this.requestHandler.request(Endpoints3.GUILD_BANS(guildId),options,"get","json")}async getGuildBan(guildId,memberId){return this.requestHandler.request(Endpoints3.GUILD_BAN(guildId,memberId),{},"get","json")}async createGuildBan(guildId,memberId,data){return this.requestHandler.request(Endpoints3.GUILD_BAN(guildId,memberId),{},"put","json",data)}async removeGuildBan(guildId,memberId,reason){return this.requestHandler.request(Endpoints3.GUILD_BAN(guildId,memberId),{},"delete","json",{reason})}async getGuildRoles(guildId){return this.requestHandler.request(Endpoints3.GUILD_ROLES(guildId),{},"get","json")}async createGuildRole(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_ROLES(guildId),{},"post","json",data)}async updateGuildRolePositions(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_ROLES(guildId),{},"patch","json",data,reason?{"X-Audit-Log-Reason":reason}:void 0)}async updateGuildRole(guildId,roleId,data){return this.requestHandler.request(Endpoints3.GUILD_ROLE(guildId,roleId),{},"patch","json",data)}async removeGuildRole(guildId,roleId,reason){return this.requestHandler.request(Endpoints3.GUILD_ROLE(guildId,roleId),{},"delete","json",{reason})}async getGuildPruneCount(guildId,options){return this.requestHandler.request(Endpoints3.GUILD_PRUNE(guildId),options,"get","json")}async startGuildPrune(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_PRUNE(guildId),{},"post","json",data)}async getGuildVoiceRegions(guildId){return this.requestHandler.request(Endpoints3.GUILD_VOICE_REGIONS(guildId),{},"get","json")}async getGuildInvites(guildId){return this.requestHandler.request(Endpoints3.GUILD_INVITES(guildId),{},"get","json")}async getGuildIntegrations(guildId){return this.requestHandler.request(Endpoints3.GUILD_INTEGRATIONS(guildId),{},"get","json")}async removeGuildIntegration(guildId,integrationId,reason){return this.requestHandler.request(Endpoints3.GUILD_INTEGRATION(guildId,integrationId),{},"delete","json",{reason})}async getGuildWidgetSettings(guildId){return this.requestHandler.request(Endpoints3.GUILD_WIDGET_SETTINGS(guildId),{},"get","json")}async updateGuildWidgetSettings(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_WIDGET_SETTINGS(guildId),{},"patch","json",data)}async getGuildWidget(guildId){return this.requestHandler.request(Endpoints3.GUILD_WIDGET(guildId),{},"get","json")}async getGuildVanityURL(guildId){return this.requestHandler.request(Endpoints3.GUILD_VANITY(guildId),{},"get","json")}async getGuildWelcomeScreen(guildId){return this.requestHandler.request(Endpoints3.GUILD_WELCOME_SCREEN(guildId),{},"get","json")}async editGuildWelcomeScreen(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_WELCOME_SCREEN(guildId),{},"patch","json",data)}updateCurrentUserVoiceState(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_VOICE_STATE_USER(guildId,"@me"),{},"patch","json",data)}updateUserVoiceState(guildId,userId,data){return this.requestHandler.request(Endpoints3.GUILD_VOICE_STATE_USER(guildId,userId),{},"patch","json",data)}};module.exports=GuildMethods;}});var require_GuildScheduledEvent=__commonJS({"src/methods/GuildScheduledEvent.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),GuildScheduledEventMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async listGuildScheduledEvents(guildId,withCounts){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENTS(guildId),{with_user_count:withCounts},"get","json")}async createGuildScheduledEvent(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENTS(guildId),{},"post","json",data)}async getGuildScheduledEvent(guildId,eventId,withCounts){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENT(guildId,eventId),{},"get","json",{with_user_count:withCounts})}async editGuildScheduledEvent(guildId,eventId,data){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENT(guildId,eventId),{},"patch","json",data)}async deleteGuildScheduledEvent(guildId,eventId){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENT(guildId,eventId),{},"delete","json")}async getGuildScheduledEventUsers(guildId,eventId,options){if((options==null?void 0:options.limit)!==void 0&&(options.limit<Constants3.GET_GUILD_SCHEDULED_EVENT_USERS_MIN_RESULTS||options.limit>Constants3.GET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS))throw new RangeError(`The maximum amount of users that may be requested has to be between ${Constants3.GET_GUILD_SCHEDULED_EVENT_USERS_MIN_RESULTS} and ${Constants3.GET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS}`);return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENT_USERS(guildId,eventId),options,"get","json")}};module.exports=GuildScheduledEventMethods;}});var require_GuildTemplate=__commonJS({"src/methods/GuildTemplate.ts"(exports,module){var Endpoints3=require_Endpoints(),GuildTemplateMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}getGuildTemplate(code){return this.requestHandler.request(Endpoints3.TEMPLATE(code),{},"get","json")}createGuildFromGuildTemplate(code,options){return this.requestHandler.request(Endpoints3.TEMPLATE(code),{},"post","json",options)}getGuildTemplates(guildId){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATES(guildId),{},"get","json")}createGuildTemplate(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATES(guildId),{},"post","json",data)}syncGuildTemplate(guildId,code){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATE(guildId,code),{},"put","json")}modifyGuildTemplate(guildId,code,data){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATE(guildId,code),{},"patch","json",data)}deleteGuildTemplate(guildId,code){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATE(guildId,code),{},"delete","json")}};module.exports=GuildTemplateMethods;}});var require_Interactions=__commonJS({"src/methods/Interactions.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),InteractionMethods=class{constructor(requestHandler,webhooks){this.requestHandler=requestHandler;this.webhooks=webhooks;}getApplicationCommands(appId,withLocalizations){return this.requestHandler.request(Endpoints3.APPLICATION_COMMANDS(appId),{with_localizations:withLocalizations},"get","json")}createApplicationCommand(appId,data){return this.requestHandler.request(Endpoints3.APPLICATION_COMMANDS(appId),{},"post","json",data)}getApplicationCommand(appId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_COMMAND(appId,cmdId),{},"get","json")}editApplicationCommand(appId,cmdId,data){return this.requestHandler.request(Endpoints3.APPLICATION_COMMAND(appId,cmdId),{},"patch","json",data)}deleteApplicationCommand(appId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_COMMAND(appId,cmdId),{},"delete","json")}bulkOverwriteApplicationCommands(appId,data){return this.requestHandler.request(Endpoints3.APPLICATION_COMMANDS(appId),{},"put","json",data)}getGuildApplicationCommands(appId,guildId,withLocalizations){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS(appId,guildId),{with_localizations:withLocalizations},"get","json")}createGuildApplicationCommand(appId,guildId,data){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS(appId,guildId),{},"post","json",data)}getGuildApplicationCommand(appId,guildId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND(appId,guildId,cmdId),{},"get","json")}editGuildApplicationCommand(appId,guildId,cmdId,data){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND(appId,guildId,cmdId),{},"patch","json",data)}deleteGuildApplicationCommand(appId,guildId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND(appId,guildId,cmdId),{},"delete","json")}bulkOverwriteGuildApplicationCommands(appId,guildId,data){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS(appId,guildId),{},"put","json",data)}getGuildApplicationCommandPermissions(appId,guildId,cmdId){return cmdId?this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND_PERMISSIONS(appId,guildId,cmdId),{},"get","json"):this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS_PERMISSIONS(appId,guildId),{},"get","json")}editGuildApplicationCommandPermissions(appId,guildId,cmdId,permissions){let payload={permissions};return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND_PERMISSIONS(appId,guildId,cmdId),{},"put","json",payload)}createInteractionResponse(interactionId,token,data){return data.files?this.requestHandler.request(Endpoints3.INTERACTION_CALLBACK(interactionId,token),{},"post","multipart",Constants3.standardMultipartHandler(data)):this.requestHandler.request(Endpoints3.INTERACTION_CALLBACK(interactionId,token),{},"post","json",data)}getOriginalInteractionResponse(appId,token){return this.webhooks.getWebhookMessage(appId,token,"@original")}editOriginalInteractionResponse(appId,token,data){return this.webhooks.editWebhookMessage(appId,token,"@original",data)}deleteOriginalInteractionResponse(appId,token){return this.webhooks.deleteWebhookMessage(appId,token,"@original")}createFollowupMessage(appId,token,data){return this.webhooks.executeWebhook(appId,token,data)}getFollowupMessage(appId,token,messageId){return this.webhooks.getWebhookMessage(appId,token,messageId)}editFollowupMessage(appId,token,messageId,data){return this.webhooks.editWebhookMessage(appId,token,messageId,data)}deleteFollowupMessage(appId,token,messageId){return this.webhooks.deleteWebhookMessage(appId,token,messageId)}};module.exports=InteractionMethods;}});var require_Invites=__commonJS({"src/methods/Invites.ts"(exports,module){var Endpoints3=require_Endpoints(),InviteMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getInvite(inviteId,options){return this.requestHandler.request(Endpoints3.INVITES(inviteId),options,"get","json")}async deleteInvite(inviteId){return this.requestHandler.request(Endpoints3.INVITES(inviteId),{},"delete","json")}};module.exports=InviteMethods;}});var require_StageInstance=__commonJS({"src/methods/StageInstance.ts"(exports,module){var Endpoints3=require_Endpoints(),StageInstanceMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async createStageInstance(data){return this.requestHandler.request(Endpoints3.STAGE_INSTANCES,{},"post","json",data)}async getStageInstance(channelId){return this.requestHandler.request(Endpoints3.STAGE_INSTANCE_CHANNEL(channelId),{},"get","json")}async editStageInstance(channelId,data){return this.requestHandler.request(Endpoints3.STAGE_INSTANCE_CHANNEL(channelId),{},"patch","json",data)}async deleteStageInstance(channelId,reason){return this.requestHandler.request(Endpoints3.STAGE_INSTANCE_CHANNEL(channelId),{},"delete","json",{reason})}};module.exports=StageInstanceMethods;}});var require_Users=__commonJS({"src/methods/Users.ts"(exports,module){var Endpoints3=require_Endpoints(),UserMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getSelf(){return this.requestHandler.request(Endpoints3.USER("@me"),{},"get","json")}async getUser(userId){return this.requestHandler.request(Endpoints3.USER(userId),{},"get","json")}async updateSelf(data){return this.requestHandler.request(Endpoints3.USER("@me"),{},"patch","json",data)}async getGuilds(options){return this.requestHandler.request(Endpoints3.USER_GUILDS("@me"),{},"get","json",options)}async leaveGuild(guildId){return this.requestHandler.request(Endpoints3.USER_GUILD("@me",guildId),{},"delete","json")}async createDirectMessageChannel(userId){return this.requestHandler.request(Endpoints3.USER_CHANNELS("@me"),{},"post","json",{recipient_id:userId})}async createGroupDirectMessageChannel(data){return this.requestHandler.request(Endpoints3.USER_CHANNELS("@me"),{},"post","json",data)}async getConnections(){return this.requestHandler.request(Endpoints3.USER_CONNECTIONS("@me"),{},"get","json")}async getApplicationRoleConnection(appId){return this.requestHandler.request(Endpoints3.USER_APPLICATION_ROLE_CONNECTION("@me",appId),{},"get","json")}async updateApplicationRoleConnection(appId,data){return this.requestHandler.request(Endpoints3.USER_APPLICATION_ROLE_CONNECTION("@me",appId),{},"put","json",data)}};module.exports=UserMethods;}});var require_Voice=__commonJS({"src/methods/Voice.ts"(exports,module){var Endpoints3=require_Endpoints(),VoiceMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getVoiceRegions(){return this.requestHandler.request(Endpoints3.VOICE_REGIONS,{},"get","json")}async getCurrentUserVoiceState(guildId){return this.requestHandler.request(Endpoints3.USER_GUILD_VOICE_STATE(guildId,"@me"),{},"get","json")}async getUserVoiceState(guildId,userId){return this.requestHandler.request(Endpoints3.USER_GUILD_VOICE_STATE(guildId,userId),{},"get","json")}};module.exports=VoiceMethods;}});var require_Webhooks=__commonJS({"src/methods/Webhooks.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),WebhookMethods=class{constructor(requestHandler,disableEveryone){this.requestHandler=requestHandler;this.disableEveryone=disableEveryone;}async createWebhook(channelId,data){return this.requestHandler.request(Endpoints3.CHANNEL_WEBHOOKS(channelId),{},"post","json",data)}async getChannelWebhooks(channelId){return this.requestHandler.request(Endpoints3.CHANNEL_WEBHOOKS(channelId),{},"get","json")}async getGuildWebhooks(guildId){return this.requestHandler.request(Endpoints3.GUILD_WEBHOOKS(guildId),{},"get","json")}async getWebhook(webhookId,token){return token?this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN(webhookId,token),{},"get","json"):this.requestHandler.request(Endpoints3.WEBHOOK(webhookId),{},"get","json")}async updateWebhook(webhookId,data,token){return token?this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN(webhookId,token),{},"patch","json",data):this.requestHandler.request(Endpoints3.WEBHOOK(webhookId),{},"patch","json",data)}async deleteWebhook(webhookId,token){return token?this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN(webhookId,token),{},"delete","json"):this.requestHandler.request(Endpoints3.WEBHOOK(webhookId),{},"delete","json")}async executeWebhook(webhookId,token,data,options){if(typeof data!="string"&&!(data!=null&&data.content)&&!(data!=null&&data.embeds)&&!(data!=null&&data.components)&&!(data!=null&&data.files))throw new Error("Missing content or embeds or components or files");return typeof data=="string"&&(data={content:data}),data.content&&((options==null?void 0:options.disableEveryone)??this.disableEveryone)&&(data.content=Constants3.replaceEveryone(data.content)),options&&delete options.disableEveryone,data.files?this.requestHandler.request(`${Endpoints3.WEBHOOK_TOKEN(webhookId,token)}`,options,"post","multipart",Constants3.standardMultipartHandler(data)):this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN(webhookId,token),options,"post","json",data)}async executeWebhookSlack(webhookId,token,data,options){return this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN_SLACK(webhookId,token),options,"post","json",data)}async executeWebhookGitHub(webhookId,token,data,options={}){return this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN_GITHUB(webhookId,token),options,"post","json",data)}async getWebhookMessage(webhookId,token,messageId,threadId){return this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN_MESSAGE(webhookId,token,messageId),{thread_id:threadId},"get","json")}async editWebhookMessage(webhookId,token,messageId,data){let threadID;return data.thread_id&&(threadID=data.thread_id),delete data.thread_id,data.files?this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN_MESSAGE(webhookId,token,messageId),{thread_id:threadID},"patch","multipart",Constants3.standardMultipartHandler(data)):this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN_MESSAGE(webhookId,token,messageId),{thread_id:threadID},"patch","json",data)}async deleteWebhookMessage(webhookId,token,messageId,threadId){return this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN_MESSAGE(webhookId,token,messageId),{thread_id:threadId},"delete","json")}};module.exports=WebhookMethods;}});var require_SnowTransfer=__commonJS({"src/SnowTransfer.ts"(exports$1,module){init_RequestHandler();var AuditLogMethods=require_AuditLog(),AutoModerationMethods=require_AutoModeration(),BotMethods=require_Bots(),ChannelMethods=require_Channels(),GuildAssetsMethods=require_GuildAssets(),GuildMethods=require_Guilds(),GuildScheduledEventMethods=require_GuildScheduledEvent(),GuildTemplateMethods=require_GuildTemplate(),InteractionMethods=require_Interactions(),InviteMethods=require_Invites(),StageInstanceMethods=require_StageInstance(),UserMethods=require_Users(),VoiceMethods=require_Voice(),WebhookMethods=require_Webhooks(),Endpoints3=require_Endpoints(),Constants3=require_Constants(),SnowTransfer=class{constructor(token,options){if(typeof token=="string"&&token==="")throw new Error("Missing token");token&&!token.startsWith("Bot")&&!token.startsWith("Bearer")&&(token=`Bot ${token}`),this.options={baseHost:Endpoints3.BASE_HOST,disableEveryone:!1,bypassBuckets:!1,retryRequests:!1,retryLimit:Constants3.DEFAULT_RETRY_LIMIT,...options},this.token=token,this.ratelimiter=new exports.Ratelimiter,this.requestHandler=new exports.RequestHandler(this.ratelimiter,{token:this.token,baseHost:this.options.baseHost,bypassBuckets:this.options.bypassBuckets,retryFailed:this.options.retryRequests,retryLimit:this.options.retryLimit}),this.channel=new ChannelMethods(this.requestHandler,this.options.disableEveryone),this.user=new UserMethods(this.requestHandler),this.guildAssets=new GuildAssetsMethods(this.requestHandler),this.webhook=new WebhookMethods(this.requestHandler,this.options.disableEveryone),this.guild=new GuildMethods(this.requestHandler),this.guildScheduledEvent=new GuildScheduledEventMethods(this.requestHandler),this.guildTemplate=new GuildTemplateMethods(this.requestHandler),this.interaction=new InteractionMethods(this.requestHandler,this.webhook),this.invite=new InviteMethods(this.requestHandler),this.voice=new VoiceMethods(this.requestHandler),this.bot=new BotMethods(this.requestHandler),this.auditLog=new AuditLogMethods(this.requestHandler),this.stageInstance=new StageInstanceMethods(this.requestHandler),this.autoMod=new AutoModerationMethods(this.requestHandler);}};module.exports=SnowTransfer;}});init_RequestHandler();var AuditLogMethods2=require_AuditLog(),AutoModerationMethods2=require_AutoModeration(),BotMethods2=require_Bots(),ChannelMethods2=require_Channels(),GuildAssetsMethods2=require_GuildAssets(),GuildMethods2=require_Guilds(),GuildScheduledEventMethods2=require_GuildScheduledEvent(),GuildTemplateMethods2=require_GuildTemplate(),InteractionMethods2=require_Interactions(),InviteMethods2=require_Invites(),StageInstanceMethods2=require_StageInstance(),UserMethods2=require_Users(),VoiceMethods2=require_Voice(),WebhookMethods2=require_Webhooks(),Constants2=require_Constants(),Endpoints2=require_Endpoints(),SnowTransfer2=require_SnowTransfer();
9
+ var __getOwnPropNames=Object.getOwnPropertyNames;var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+x+'" is not supported')});var __esm=(fn,res)=>function(){return fn&&(res=(0, fn[__getOwnPropNames(fn)[0]])(fn=0)),res};var __commonJS=(cb,mod)=>function(){return mod||(0, cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var require_Constants=__commonJS({"src/Constants.ts"(exports,module){var mentionRegex=/@([^<>@ ]*)/gsmu,isValidUserMentionRegex=/^[&!]?\d+$/;function replaceEveryoneMatchProcessor(_match,target){return isValidUserMentionRegex.test(target)?`@${target}`:`@\u200B${target}`}var Constants3={REST_API_VERSION:10,GET_CHANNEL_MESSAGES_MIN_RESULTS:1,GET_CHANNEL_MESSAGES_MAX_RESULTS:100,GET_GUILD_SCHEDULED_EVENT_USERS_MIN_RESULTS:1,GET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS:100,SEARCH_MEMBERS_MIN_RESULTS:1,SEARCH_MEMBERS_MAX_RESULTS:1e3,BULK_DELETE_MESSAGES_MIN:2,BULK_DELETE_MESSAGES_MAX:100,OK_STATUS_CODES:new Set([200,201,204,304]),DO_NOT_RETRY_STATUS_CODES:new Set([401,403,404,405,411,413,429]),DEFAULT_RETRY_LIMIT:3,async standardMultipartHandler(data){let form=new undici.FormData;if(data.files&&Array.isArray(data.files)&&data.files.every(f=>!!f.name&&!!f.file)){let index=0;for(let file of data.files)await Constants3.standardAddToFormHandler(form,`files[${index}]`,file.file,file.name),delete file.file,index++;}return data.data&&delete data.files,form.append("payload_json",JSON.stringify(data)),form},async standardAddToFormHandler(form,name,value,filename){var _a;if(value instanceof Buffer)form.append(name,new buffer.Blob([value]),filename);else if(value instanceof buffer.Blob||value instanceof buffer.File)form.append(name,value,filename);else if(value instanceof stream.Readable||value instanceof web.ReadableStream){let blob=await new undici.Response(value instanceof web.ReadableStream?value:stream.Readable.toWeb(value)).blob();form.set(name,blob,filename);}else throw new Error(`Don't know how to add ${((_a=value==null?void 0:value.constructor)==null?void 0:_a.name)??typeof value} to form`)},replaceEveryone(content){return content.replace(mentionRegex,replaceEveryoneMatchProcessor)}};module.exports=Constants3;}});var require_Endpoints=__commonJS({"src/Endpoints.ts"(exports,module){var Constants3=require_Constants(),Endpoints3={BASE_URL:"/api/v"+Constants3.REST_API_VERSION,BASE_HOST:"https://discord.com",CDN_URL:"https://cdn.discordapp.com",APPLICATION_COMMAND:(appID,cmdID)=>`${Endpoints3.APPLICATION_COMMANDS(appID)}/${cmdID}`,APPLICATION_COMMANDS:appID=>`/applications/${appID}/commands`,APPLICATION_GUILD_COMMANDS_PERMISSIONS:(appID,guildID)=>`${Endpoints3.APPLICATION_GUILD_COMMANDS(appID,guildID)}/permissions`,APPLICATION_GUILD_COMMAND_PERMISSIONS:(appID,guildID,cmdID)=>`${Endpoints3.APPLICATION_GUILD_COMMAND(appID,guildID,cmdID)}/permissions`,APPLICATION_GUILD_COMMAND:(appID,guildID,cmdID)=>`${Endpoints3.APPLICATION_GUILD_COMMANDS(appID,guildID)}/${cmdID}`,APPLICATION_GUILD_COMMANDS:(appID,guildID)=>`/applications/${appID}/guilds/${guildID}/commands`,ATTACHMENTS_REFRESH_URLS:"/attachments/refresh-urls",CHANNEL:chanID=>`${Endpoints3.CHANNELS}/${chanID}`,CHANNEL_ATTACHMENTS:chanID=>`${Endpoints3.CHANNEL(chanID)}/attachments`,CHANNEL_BULK_DELETE:chanID=>`${Endpoints3.CHANNEL_MESSAGES(chanID)}/bulk-delete`,CHANNEL_FOLLOWERS:chanID=>`${Endpoints3.CHANNEL(chanID)}/followers`,CHANNEL_INVITES:chanID=>`${Endpoints3.CHANNEL(chanID)}/invites`,CHANNEL_MESSAGE:(chanID,msgID)=>`${Endpoints3.CHANNEL_MESSAGES(chanID)}/${msgID}`,CHANNEL_MESSAGE_CROSSPOST:(chanID,msgID)=>`${Endpoints3.CHANNEL_MESSAGE(chanID,msgID)}/crosspost`,CHANNEL_MESSAGE_REACTION:(chanID,msgID,reaction)=>`${Endpoints3.CHANNEL_MESSAGE_REACTIONS(chanID,msgID)}/${reaction}`,CHANNEL_MESSAGE_REACTION_USER:(chanID,msgID,reaction,userID)=>`${Endpoints3.CHANNEL_MESSAGE_REACTION(chanID,msgID,reaction)}/${userID}`,CHANNEL_MESSAGE_REACTIONS:(chanID,msgID)=>`${Endpoints3.CHANNEL_MESSAGE(chanID,msgID)}/reactions`,CHANNEL_MESSAGE_THREADS:(chanID,msgID)=>`${Endpoints3.CHANNEL_MESSAGE(chanID,msgID)}/threads`,CHANNEL_MESSAGES:chanID=>`${Endpoints3.CHANNEL(chanID)}/messages`,CHANNEL_PERMISSION:(chanID,permID)=>`${Endpoints3.CHANNEL_PERMISSIONS(chanID)}/${permID}`,CHANNEL_PERMISSIONS:chanID=>`${Endpoints3.CHANNEL(chanID)}/permissions`,CHANNEL_PIN:(chanID,msgID)=>`${Endpoints3.CHANNEL_PINS(chanID)}/${msgID}`,CHANNEL_PINS:chanID=>`${Endpoints3.CHANNEL(chanID)}/pins`,CHANNEL_RECIPIENT:(chanID,userID)=>`${Endpoints3.CHANNEL(chanID)}/recipients/${userID}`,CHANNEL_THREADS:chanID=>`${Endpoints3.CHANNEL(chanID)}/threads`,CHANNEL_THREAD_MEMBER:(chanID,memberID)=>`${Endpoints3.CHANNEL_THREAD_MEMBERS(chanID)}/${memberID}`,CHANNEL_THREAD_MEMBERS:chanID=>`${Endpoints3.CHANNEL(chanID)}/thread-members`,CHANNEL_THREADS_ARCHIVED_PRIVATE:chanID=>`${Endpoints3.CHANNEL_THREADS(chanID)}/archived/private`,CHANNEL_THREADS_ARCHIVED_PRIVATE_USER:chanID=>`${Endpoints3.CHANNEL(chanID)}/users/@me/threads/archived/private`,CHANNEL_THREADS_ARCHIVED_PUBLIC:chanID=>`${Endpoints3.CHANNEL_THREADS(chanID)}/archived/public`,CHANNEL_TYPING:chanID=>`${Endpoints3.CHANNEL(chanID)}/typing`,CHANNEL_WEBHOOKS:chanID=>`${Endpoints3.CHANNEL(chanID)}/webhooks`,CHANNELS:"/channels",GATEWAY:"/gateway",GATEWAY_BOT:"/gateway/bot",GUILD:guildID=>`${Endpoints3.GUILDS}/${guildID}`,GUILD_AUDIT_LOGS:guildID=>`${Endpoints3.GUILD(guildID)}/audit-logs`,GUILD_AUTO_MOD_RULE:(guildID,ruleID)=>`${Endpoints3.GUILD_AUTO_MOD_RULES(guildID)}/${ruleID}`,GUILD_AUTO_MOD_RULES:guildID=>`${Endpoints3.GUILD(guildID)}/auto-moderation/rules`,GUILD_BAN:(guildID,memberID)=>`${Endpoints3.GUILD_BANS(guildID)}/${memberID}`,GUILD_BANS:guildID=>`${Endpoints3.GUILD(guildID)}/bans`,GUILD_CHANNELS:guildID=>`${Endpoints3.GUILD(guildID)}/channels`,GUILD_EMOJI:(guildID,emojiID)=>`${Endpoints3.GUILD_EMOJIS(guildID)}/${emojiID}`,GUILD_EMOJIS:guildID=>`${Endpoints3.GUILD(guildID)}/emojis`,GUILD_INVITES:guildID=>`${Endpoints3.GUILD(guildID)}/invites`,GUILD_INTEGRATION:(guildID,integrationID)=>`${Endpoints3.GUILD_INTEGRATIONS(guildID)}/${integrationID}`,GUILD_INTEGRATIONS:guildID=>`${Endpoints3.GUILD(guildID)}/integrations`,GUILD_MEMBER:(guildID,memberID)=>`${Endpoints3.GUILD_MEMBERS(guildID)}/${memberID}`,GUILD_MEMBER_ROLE:(guildID,memberID,roleID)=>`${Endpoints3.GUILD_MEMBER(guildID,memberID)}/roles/${roleID}`,GUILD_MEMBERS:guildID=>`${Endpoints3.GUILD(guildID)}/members`,GUILD_MEMBERS_SEARCH:guildID=>`${Endpoints3.GUILD_MEMBERS(guildID)}/search`,GUILD_PREVIEW:guildID=>`${Endpoints3.GUILD(guildID)}/preview`,GUILD_PRUNE:guildID=>`${Endpoints3.GUILD(guildID)}/prune`,GUILD_ROLE:(guildID,roleID)=>`${Endpoints3.GUILD_ROLES(guildID)}/${roleID}`,GUILD_ROLES:guildID=>`${Endpoints3.GUILD(guildID)}/roles`,GUILD_SCHEDULED_EVENTS:guildID=>`${Endpoints3.GUILD(guildID)}/scheduled-events`,GUILD_SCHEDULED_EVENT:(guildID,eventId)=>`${Endpoints3.GUILD_SCHEDULED_EVENTS(guildID)}/${eventId}`,GUILD_SCHEDULED_EVENT_USERS:(guildID,eventId)=>`${Endpoints3.GUILD_SCHEDULED_EVENT(guildID,eventId)}/users`,GUILD_STICKER:(guildID,stickerID)=>`${Endpoints3.GUILD_STICKERS(guildID)}/${stickerID}`,GUILD_STICKERS:guildID=>`${Endpoints3.GUILD(guildID)}/stickers`,GUILD_TEMPLATE:(guildID,code)=>`${Endpoints3.GUILD_TEMPLATES(guildID)}/${code}`,GUILD_THREADS_ACTIVE:guildID=>`${Endpoints3.GUILD(guildID)}/threads/active`,GUILD_TEMPLATES:guildID=>`${Endpoints3.GUILD(guildID)}/templates`,GUILD_VANITY:guildID=>`${Endpoints3.GUILD(guildID)}/vanity-url`,GUILD_VOICE_REGIONS:guildID=>`${Endpoints3.GUILD(guildID)}/regions`,GUILD_VOICE_STATE_USER:(guildID,memberID)=>`${Endpoints3.GUILD(guildID)}/voice-states/${memberID}`,GUILD_WEBHOOKS:guildID=>`${Endpoints3.GUILD(guildID)}/webhooks`,GUILD_WELCOME_SCREEN:guildID=>`${Endpoints3.GUILD(guildID)}/welcome-screen`,GUILD_WIDGET:guildID=>`${Endpoints3.GUILD(guildID)}/widget.json`,GUILD_WIDGET_SETTINGS:guildID=>`${Endpoints3.GUILD(guildID)}/widget`,GUILDS:"/guilds",INTERACTION_CALLBACK:(interactionID,token)=>`/interactions/${interactionID}/${token}/callback`,INVITES:inviteID=>`/invites/${inviteID}`,OAUTH2_APPLICATION:appID=>`/oauth2/applications/${appID}`,STAGE_INSTANCE_CHANNEL:chanID=>`${Endpoints3.STAGE_INSTANCES}/${chanID}`,STAGE_INSTANCES:"/stage-instances",STICKER:stickerID=>`/stickers/${stickerID}`,TEMPLATE:code=>`/guilds/templates/${code}`,USER:userID=>`${Endpoints3.USERS}/${userID}`,USER_APPLICATION_ROLE_CONNECTION:(userID,appID)=>`${Endpoints3.USER(userID)}/applications/${appID}/role-connection`,USER_CHANNELS:userID=>`${Endpoints3.USER(userID)}/channels`,USER_CONNECTIONS:userID=>`${Endpoints3.USER(userID)}/connections`,USER_GUILD:(userID,guildID)=>`${Endpoints3.USER_GUILDS(userID)}/${guildID}`,USER_GUILDS:userID=>`${Endpoints3.USER(userID)}/guilds`,USER_GUILD_VOICE_STATE:(guildID,userID)=>`${Endpoints3.GUILD(guildID)}/voice-states/${userID}`,USERS:"/users",VOICE_REGIONS:"/voice/regions",WEBHOOK:hookID=>`/webhooks/${hookID}`,WEBHOOK_TOKEN:(hookID,token)=>`${Endpoints3.WEBHOOK(hookID)}/${token}`,WEBHOOK_TOKEN_GITHUB:(hookID,token)=>`${Endpoints3.WEBHOOK_TOKEN(hookID,token)}/github`,WEBHOOK_TOKEN_MESSAGE:(hookID,token,msgID)=>`/webhooks/${hookID}/${token}/messages/${msgID}`,WEBHOOK_TOKEN_SLACK:(hookID,token)=>`${Endpoints3.WEBHOOK_TOKEN(hookID,token)}/slack`};module.exports=Endpoints3;}});function appendQuery(query){let count=0;for(let[key,value]of Object.entries(query))value==null?delete query[key]:count++;return count>0?`?${new URLSearchParams(query).toString()}`:""}var fs,path,crypto,Endpoints,version,Constants,routeRegex,reactionsRegex,reactionsUserRegex,webhooksRegex,isMessageEndpointRegex,isGuildChannelsRegex,disallowedBodyMethods;exports.DiscordAPIError = void 0;exports.Ratelimiter = void 0;exports.LocalBucket = void 0;exports.GlobalBucket = void 0;exports.RequestHandler = void 0;var init_RequestHandler=__esm({"src/RequestHandler.ts"(){fs=__require("fs"),path=__require("path"),crypto=__require("crypto"),Endpoints=require_Endpoints(),{version}=JSON.parse(fs.readFileSync(path.join(__dirname,"../package.json"),{encoding:"utf8"})),Constants=require_Constants(),routeRegex=/\/([a-z-]+)\/(?:\d{17,19})/g,reactionsRegex=/\/reactions\/[^/]+/g,reactionsUserRegex=/\/reactions\/:id\/[^/]+/g,webhooksRegex=/^\/webhooks\/(\d+)\/[A-Za-z0-9-_]{64,}/,isMessageEndpointRegex=/\/messages\/:id$/,isGuildChannelsRegex=/\/guilds\/\d+\/channels$/,disallowedBodyMethods=new Set(["head","get"]),exports.DiscordAPIError=class extends Error{constructor(path2,error,method,status){super();this.path=path2;this.method=method;this.name="DiscordAPIError",this.message=error.message??String(error),this.code=error.code??4e3,this.httpStatus=status;}},exports.Ratelimiter=class{constructor(){this.buckets={};this._global=!1;this.globalReset=0;this.globalResetTimeout=null;this.BucketConstructor=exports.GlobalBucket;}get global(){return this._global}set global(value){if(value&&this.globalReset!==0){this.globalResetTimeout&&clearTimeout(this.globalResetTimeout);let instance=this;this.globalResetTimeout=setTimeout(()=>{instance.global=!1;},this.globalReset).unref();}else {this.globalResetTimeout&&clearTimeout(this.globalResetTimeout),this.globalResetTimeout=null,this.globalReset=0;for(let bkt of Object.values(this.buckets))bkt.checkQueue();}this._global=value;}routify(url,method){let route=url.replace(routeRegex,function(match,p){return p==="channels"||p==="guilds"||p==="webhooks"?match:`/${p}/:id`}).replace(reactionsRegex,"/reactions/:id").replace(reactionsUserRegex,"/reactions/:id/:userID").replace(webhooksRegex,"/webhooks/$1/:token");if(method.toUpperCase()==="DELETE"&&isMessageEndpointRegex.test(route)?route=method+route:method.toUpperCase()==="GET"&&isGuildChannelsRegex.test(route)&&(route="/guilds/:id/channels"),method==="PUT"||method==="DELETE"){let index=route.indexOf("/reactions");index!==-1&&(route="MODIFY"+route.slice(0,index+10));}return route}queue(fn,url,method){var _a;let routeKey=this.routify(url,method);return (_a=this.buckets)[routeKey]??(_a[routeKey]=new this.BucketConstructor(this,routeKey)),this.buckets[routeKey].queue(fn)}},exports.LocalBucket=class{constructor(limit=5,reset=5e3,remaining){this.limit=limit;this.reset=reset;this.fnQueue=[];this.resetTimeout=null;this.remaining=remaining??limit;}queue(fn){return new Promise((res,rej)=>{let wrapFn=()=>{this.remaining--,this.resetTimeout||this.makeResetTimeout(this.reset),this.remaining!==0&&setImmediate(()=>this.checkQueue());let result;try{result=fn(this);}catch(e){return rej(e)}return res(result)};this.fnQueue.push(wrapFn),this.checkQueue();})}makeResetTimeout(durationMS){this.resetTimeout&&clearTimeout(this.resetTimeout),this.resetTimeout=setTimeout(()=>this.resetRemaining(),durationMS);}checkQueue(){if(this.fnQueue.length&&this.remaining!==0){let queuedFunc=this.fnQueue.splice(0,1)[0];queuedFunc();}}resetRemaining(){this.remaining=this.limit,this.resetTimeout&&(clearTimeout(this.resetTimeout),this.resetTimeout=null),this.fnQueue.length&&this.checkQueue();}dropQueue(){this.fnQueue.length=0;}},exports.GlobalBucket=class extends exports.LocalBucket{constructor(ratelimiter,routeKey){super(5,5e3,1);this.ratelimiter=ratelimiter;this.routeKey=routeKey;}checkQueue(){this.ratelimiter.global||super.checkQueue();}resetRemaining(){this.fnQueue.length||delete this.ratelimiter.buckets[this.routeKey],super.resetRemaining();}},exports.RequestHandler=class extends events.EventEmitter{constructor(ratelimiter,options){super();this.ratelimiter=ratelimiter;this.options={baseHost:(options==null?void 0:options.baseHost)??Endpoints.BASE_HOST,baseURL:(options==null?void 0:options.baseURL)??Endpoints.BASE_URL,bypassBuckets:(options==null?void 0:options.bypassBuckets)??!1,retryFailed:(options==null?void 0:options.retryFailed)??!1,retryLimit:(options==null?void 0:options.retryLimit)??Constants.DEFAULT_RETRY_LIMIT,headers:{"User-Agent":`Discordbot (https://github.com/DasWolke/SnowTransfer, ${version}) Node.js/${process.version}`}},options!=null&&options.token&&(this.options.headers.Authorization=options.token),this.apiURL=this.options.baseHost+Endpoints.BASE_URL,this.latency=500;}request(endpoint,params={},method,dataType="json",data,extraHeaders,retries=this.options.retryLimit){return new Promise(async(res,rej)=>{let fn=async bkt=>{let reqID=crypto.randomBytes(20).toString("hex");try{this.emit("request",reqID,{endpoint,method,dataType,data:data??{}});let before=Date.now(),request;switch(dataType){case"json":request=await this._request(endpoint,params,method,data,extraHeaders);break;case"multipart":if(!data)throw new Error("No multipart data");request=await this._multiPartRequest(endpoint,params,method,data,extraHeaders);break;default:throw new Error("Forbidden dataType. Use json or multipart or ensure multipart has FormData")}if(this.latency=Date.now()-before,bkt&&this._applyRatelimitHeaders(bkt,request.headers),request.status&&!Constants.OK_STATUS_CODES.has(request.status)&&request.status!==429){if(this.options.retryFailed&&!Constants.DO_NOT_RETRY_STATUS_CODES.has(request.status)&&retries!==0)return this.request(endpoint,params,method,dataType,data,extraHeaders,retries--).then(res).catch(rej);throw new exports.DiscordAPIError(endpoint,{message:await request.text()},method,request.status)}if(request.status===429){if(!this.ratelimiter.global){let b=await request.json();b.reset_after!==void 0?this.ratelimiter.globalReset=b.reset_after*1e3:this.ratelimiter.globalReset=1e3,b.global!==void 0&&(this.ratelimiter.global=b.global);}throw this.emit("rateLimit",{timeout:bkt?bkt.reset:0,remaining:bkt?bkt.remaining:1/0,limit:bkt?bkt.limit:1/0,method,path:endpoint,route:bkt?bkt.routeKey:this.ratelimiter.routify(endpoint,method)}),new exports.DiscordAPIError(endpoint,{message:"You're being ratelimited",code:429},method,request.status)}if(this.emit("done",reqID,request),request.body){let b;try{b=await request.json();}catch{return res(void 0)}return res(b)}else return res(void 0)}catch(error){return this.emit("requestError",reqID,error),rej(error)}};this.options.bypassBuckets?fn():this.ratelimiter.queue(fn,endpoint,method);})}_applyRatelimitHeaders(bkt,headers){let remaining=headers.get("x-ratelimit-remaining"),limit=headers.get("x-ratelimit-limit"),resetAfter=headers.get("x-ratelimit-reset-after");remaining&&(bkt.remaining=parseInt(remaining)),limit&&(bkt.limit=parseInt(limit)),resetAfter&&(bkt.reset=parseFloat(resetAfter)*1e3,bkt.makeResetTimeout(bkt.reset));}async _request(endpoint,params={},method,data,extraHeaders){let headers={...this.options.headers,...extraHeaders};typeof data!="string"&&(data!=null&&data.reason)&&(headers["X-Audit-Log-Reason"]=encodeURIComponent(data.reason),delete data.reason);let body;return disallowedBodyMethods.has(method)||(typeof data=="object"?body=JSON.stringify(data):body=String(data)),headers["Content-Type"]="application/json",undici.fetch(`${this.apiURL}${endpoint}${appendQuery(params)}`,{method:method.toUpperCase(),headers,body})}async _multiPartRequest(endpoint,params={},method,data,extraHeaders){let headers={...this.options.headers,...extraHeaders};return undici.fetch(`${this.apiURL}${endpoint}${appendQuery(params)}`,{method:method.toUpperCase(),headers,body:data})}};}});var require_AuditLog=__commonJS({"src/methods/AuditLog.ts"(exports,module){var Endpoints3=require_Endpoints(),AuditLogMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getAuditLog(guildId,options){return this.requestHandler.request(Endpoints3.GUILD_AUDIT_LOGS(guildId),options,"get","json")}};module.exports=AuditLogMethods;}});var require_AutoModeration=__commonJS({"src/methods/AutoModeration.ts"(exports,module){var Endpoints3=require_Endpoints(),AutoModerationMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getAutoModerationRules(guildId){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULES(guildId),{},"get","json")}async getAutoModerationRule(guildId,ruleId){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULE(guildId,ruleId),{},"get","json")}async createAutoModerationRule(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULES(guildId),{},"post","json",data)}async editAutoModerationRule(guildId,ruleId,data){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULE(guildId,ruleId),{},"patch","json",data)}async deleteAutoModerationRule(guildId,ruleId,reason){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULE(guildId,ruleId),{},"delete","json",{reason})}};module.exports=AutoModerationMethods;}});var require_Bots=__commonJS({"src/methods/Bots.ts"(exports,module){var Endpoints3=require_Endpoints(),BotMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}getGateway(){return this.requestHandler.request(Endpoints3.GATEWAY,{},"get","json")}getGatewayBot(){return this.requestHandler.request(Endpoints3.GATEWAY_BOT,{},"get","json")}};module.exports=BotMethods;}});var require_Channels=__commonJS({"src/methods/Channels.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),ChannelMethods=class{constructor(requestHandler,disableEveryone){this.requestHandler=requestHandler;this.disableEveryone=disableEveryone;}async getChannel(channelId){return this.requestHandler.request(Endpoints3.CHANNEL(channelId),{},"get","json")}async updateChannel(channelId,data){return this.requestHandler.request(Endpoints3.CHANNEL(channelId),{},"patch","json",data)}async deleteChannel(channelId,reason){return this.requestHandler.request(Endpoints3.CHANNEL(channelId),{},"delete","json",{reason})}async getChannelMessages(channelId,options={limit:50}){if(options.around?(delete options.before,delete options.after):options.before?(delete options.around,delete options.after):options.after&&(delete options.before,delete options.around),options.limit!==void 0&&(options.limit<Constants3.GET_CHANNEL_MESSAGES_MIN_RESULTS||options.limit>Constants3.GET_CHANNEL_MESSAGES_MAX_RESULTS))throw new RangeError(`Amount of messages that may be requested has to be between ${Constants3.GET_CHANNEL_MESSAGES_MIN_RESULTS} and ${Constants3.GET_CHANNEL_MESSAGES_MAX_RESULTS}`);return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGES(channelId),options,"get","json")}async getChannelMessage(channelId,messageId){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE(channelId,messageId),{},"get","json")}async createMessage(channelId,data,options={disableEveryone:this.disableEveryone}){if(typeof data!="string"&&!data.content&&!data.embeds&&!data.sticker_ids&&!data.components&&!data.files)throw new Error("Missing content, embeds, sticker_ids, components, or files");return typeof data=="string"&&(data={content:data}),data.content&&(options.disableEveryone??this.disableEveryone)&&(data.content=Constants3.replaceEveryone(data.content)),data.files?this.requestHandler.request(Endpoints3.CHANNEL_MESSAGES(channelId),{},"post","multipart",await Constants3.standardMultipartHandler(data)):this.requestHandler.request(Endpoints3.CHANNEL_MESSAGES(channelId),{},"post","json",data)}async createVoiceMessage(channelId,data,audioDurationSeconds,waveform=""){let{upload_url,upload_filename}=await this.requestHandler.request(Endpoints3.CHANNEL_ATTACHMENTS(channelId),{},"post","json",{files:[{id:"69420",filename:"voice-message.ogg",file_size:data.byteLength}]}).then(d=>d.attachments[0]);return await undici.fetch(upload_url,{method:"PUT",body:data}),this.requestHandler.request(Endpoints3.CHANNEL_MESSAGES(channelId),{},"post","json",{attachments:[{id:"42069",uploaded_filename:upload_filename,filename:"voice-message.ogg",duration_secs:audioDurationSeconds,waveform}],flags:8192})}async crosspostMessage(channelId,messageId){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_CROSSPOST(channelId,messageId),{},"post","json")}async createReaction(channelId,messageId,emoji){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_REACTION_USER(channelId,messageId,emoji,"@me"),{},"put","json")}async deleteReactionSelf(channelId,messageId,emoji){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_REACTION_USER(channelId,messageId,emoji,"@me"),{},"delete","json")}async deleteReaction(channelId,messageId,emoji,userId){return this.requestHandler.request(userId?Endpoints3.CHANNEL_MESSAGE_REACTION_USER(channelId,messageId,emoji,userId):Endpoints3.CHANNEL_MESSAGE_REACTION(channelId,messageId,emoji),{},"delete","json")}async getReactions(channelId,messageId,emoji,options){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_REACTION(channelId,messageId,emoji),options,"get","json")}async deleteAllReactions(channelId,messageId){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_REACTIONS(channelId,messageId),{},"delete","json")}async editMessage(channelId,messageId,data,options={disableEveryone:this.disableEveryone}){return typeof data=="string"&&(data={content:data}),data.content&&(options.disableEveryone??this.disableEveryone)&&(data.content=Constants3.replaceEveryone(data.content)),data.files?this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE(channelId,messageId),{},"patch","multipart",await Constants3.standardMultipartHandler(data)):this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE(channelId,messageId),{},"patch","json",data)}async deleteMessage(channelId,messageId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE(channelId,messageId),{},"delete","json",{reason})}async bulkDeleteMessages(channelId,messages,reason){if(messages.length<Constants3.BULK_DELETE_MESSAGES_MIN||messages.length>Constants3.BULK_DELETE_MESSAGES_MAX)throw new RangeError(`Amount of messages to be deleted has to be between ${Constants3.BULK_DELETE_MESSAGES_MIN} and ${Constants3.BULK_DELETE_MESSAGES_MAX}`);let oldestSnowflake=BigInt(Date.now()-142128e7)*BigInt(2)**BigInt(22),forbiddenMessage=messages.find(m=>BigInt(m)<oldestSnowflake);if(forbiddenMessage)throw new Error(`The message ${forbiddenMessage} is older than 2 weeks and may not be deleted using the bulk delete endpoint`);let data={messages};return reason&&Object.assign(data,{reason}),this.requestHandler.request(Endpoints3.CHANNEL_BULK_DELETE(channelId),{},"post","json",data)}async editChannelPermission(channelId,permissionId,data){return this.requestHandler.request(Endpoints3.CHANNEL_PERMISSION(channelId,permissionId),{},"put","json",data)}async getChannelInvites(channelId){return this.requestHandler.request(Endpoints3.CHANNEL_INVITES(channelId),{},"get","json")}async createChannelInvite(channelId,data={max_age:86400,max_uses:0,temporary:!1,unique:!1}){return this.requestHandler.request(Endpoints3.CHANNEL_INVITES(channelId),{},"post","json",data)}async deleteChannelPermission(channelId,permissionId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PERMISSION(channelId,permissionId),{},"delete","json",{reason})}async followAnnouncementChannel(channelId,webhookChannelId){return this.requestHandler.request(Endpoints3.CHANNEL_FOLLOWERS(channelId),{},"post","json",{webhook_channel_id:webhookChannelId})}async startChannelTyping(channelId){return this.requestHandler.request(Endpoints3.CHANNEL_TYPING(channelId),{},"post","json")}async getChannelPinnedMessages(channelId){return this.requestHandler.request(Endpoints3.CHANNEL_PINS(channelId),{},"get","json")}async addChannelPinnedMessage(channelId,messageId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PIN(channelId,messageId),{},"put","json",{reason})}async removeChannelPinnedMessage(channelId,messageId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PIN(channelId,messageId),{},"delete","json",{reason})}async createThreadWithMessage(channelId,messageId,options){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_THREADS(channelId,messageId),{},"post","json",options)}async createThreadWithoutMessage(channelId,options){return this.requestHandler.request(Endpoints3.CHANNEL_THREADS(channelId),{},"post","json",options)}async joinThread(threadId){return this.requestHandler.request(Endpoints3.CHANNEL_THREAD_MEMBER(threadId,"@me"),{},"put","json")}async addThreadMember(threadId,userId){return this.requestHandler.request(Endpoints3.CHANNEL_THREAD_MEMBER(threadId,userId),{},"put","json")}async leaveThread(threadId){return this.requestHandler.request(Endpoints3.CHANNEL_THREAD_MEMBER(threadId,"@me"),{},"delete","json")}removeThreadMember(threadId,userId){return this.requestHandler.request(Endpoints3.CHANNEL_THREAD_MEMBER(threadId,userId),{},"delete","json")}async getThreadMember(threadId,userId,withMember){return this.requestHandler.request(Endpoints3.CHANNEL_THREAD_MEMBER(threadId,userId),{with_member:withMember},"get","json")}async getThreadMembers(channelId,options){return this.requestHandler.request(Endpoints3.CHANNEL_THREAD_MEMBERS(channelId),options,"get","json")}async getChannelArchivedPublicThreads(channelId,options){return this.requestHandler.request(Endpoints3.CHANNEL_THREADS_ARCHIVED_PUBLIC(channelId),options,"get","json")}async getChannelArchivedPrivateThreads(channelId,options){return this.requestHandler.request(Endpoints3.CHANNEL_THREADS_ARCHIVED_PRIVATE(channelId),options,"get","json")}async getChannelArchivedPrivateThreadsUser(channelId,options){return this.requestHandler.request(Endpoints3.CHANNEL_THREADS_ARCHIVED_PRIVATE_USER(channelId),options,"get","json")}async refreshAttachmentURLs(attachments){return this.requestHandler.request(Endpoints3.ATTACHMENTS_REFRESH_URLS,{},"post","json",{attachment_urls:Array.isArray(attachments)?attachments:[attachments]})}};module.exports=ChannelMethods;}});var require_GuildAssets=__commonJS({"src/methods/GuildAssets.ts"(exports,module){var Constants3=require_Constants(),Endpoints3=require_Endpoints(),GuildAssetsMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getEmojis(guildId){return this.requestHandler.request(Endpoints3.GUILD_EMOJIS(guildId),{},"get","json")}async getEmoji(guildId,emojiId){return this.requestHandler.request(Endpoints3.GUILD_EMOJI(guildId,emojiId),{},"get","json")}async createEmoji(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_EMOJIS(guildId),{},"post","json",data)}async updateEmoji(guildId,emojiId,data){return this.requestHandler.request(Endpoints3.GUILD_EMOJI(guildId,emojiId),{},"patch","json",data)}async deleteEmoji(guildId,emojiId,reason){return this.requestHandler.request(Endpoints3.GUILD_EMOJI(guildId,emojiId),{},"delete","json",{reason})}async getSticker(stickerId){return this.requestHandler.request(Endpoints3.STICKER(stickerId),{},"get","json")}async getGuildStickers(guildId){return this.requestHandler.request(Endpoints3.GUILD_STICKERS(guildId),{},"get","json")}async getGuildSticker(guildId,stickerId){return this.requestHandler.request(Endpoints3.GUILD_STICKER(guildId,stickerId),{},"get","json")}async createGuildSticker(guildId,data){let form=new undici.FormData,reason=data.reason;data.reason&&delete data.reason;for(let key of Object.keys(data))await Constants3.standardAddToFormHandler(form,key,data[key]);return this.requestHandler.request(Endpoints3.GUILD_STICKERS(guildId),{},"post","multipart",form,reason?{"X-Audit-Log-Reason":reason}:void 0)}updateGuildSticker(guildId,stickerId,data){return this.requestHandler.request(Endpoints3.GUILD_STICKER(guildId,stickerId),{},"patch","json",data)}deleteGuildSticker(guildId,stickerId,reason){return this.requestHandler.request(Endpoints3.GUILD_STICKER(guildId,stickerId),{},"delete","json",{reason})}};module.exports=GuildAssetsMethods;}});var require_Guilds=__commonJS({"src/methods/Guilds.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),GuildMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async createGuild(data){return this.requestHandler.request(Endpoints3.GUILDS,{},"post","json",data)}async getGuild(guildId,withCounts){return this.requestHandler.request(Endpoints3.GUILD(guildId),{with_counts:withCounts},"get","json")}async getGuildPreview(guildId){return this.requestHandler.request(Endpoints3.GUILD_PREVIEW(guildId),{},"get","json")}async updateGuild(guildId,data){return this.requestHandler.request(Endpoints3.GUILD(guildId),{},"patch","json",data)}async deleteGuild(guildId){return this.requestHandler.request(Endpoints3.GUILD(guildId),{},"delete","json")}async getGuildChannels(guildId){return this.requestHandler.request(Endpoints3.GUILD_CHANNELS(guildId),{},"get","json")}async createGuildChannel(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_CHANNELS(guildId),{},"post","json",data)}async updateChannelPositions(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_CHANNELS(guildId),{},"patch","json",data,reason?{"X-Audit-Log-Reason":reason}:void 0)}async listActiveThreads(guildId){return this.requestHandler.request(Endpoints3.GUILD_THREADS_ACTIVE(guildId),{},"get","json")}async getGuildMember(guildId,memberId){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,memberId),{},"get","json")}async getGuildMembers(guildId,options){return this.requestHandler.request(Endpoints3.GUILD_MEMBERS(guildId),options,"get","json")}async searchGuildMembers(guildId,options){if(options.limit!==void 0&&(options.limit<Constants3.SEARCH_MEMBERS_MIN_RESULTS||options.limit>Constants3.SEARCH_MEMBERS_MAX_RESULTS))throw new RangeError(`Limit for searching guild members has to be between ${Constants3.SEARCH_MEMBERS_MIN_RESULTS} and ${Constants3.SEARCH_MEMBERS_MAX_RESULTS}`);return this.requestHandler.request(Endpoints3.GUILD_MEMBERS_SEARCH(guildId),options,"get","json")}async addGuildMember(guildId,memberId,data){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,memberId),{},"put","json",data)}async updateGuildMember(guildId,memberId,data){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,memberId),{},"patch","json",data)}async updateSelf(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,"@me"),{},"patch","json",data)}async addGuildMemberRole(guildId,memberId,roleId,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER_ROLE(guildId,memberId,roleId),{},"put","json",{reason})}async removeGuildMemberRole(guildId,memberId,roleId,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER_ROLE(guildId,memberId,roleId),{},"delete","json",{reason})}async removeGuildMember(guildId,memberId,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,memberId),{},"delete","json",{reason})}async getGuildBans(guildId,options){return this.requestHandler.request(Endpoints3.GUILD_BANS(guildId),options,"get","json")}async getGuildBan(guildId,memberId){return this.requestHandler.request(Endpoints3.GUILD_BAN(guildId,memberId),{},"get","json")}async createGuildBan(guildId,memberId,data){return this.requestHandler.request(Endpoints3.GUILD_BAN(guildId,memberId),{},"put","json",data)}async removeGuildBan(guildId,memberId,reason){return this.requestHandler.request(Endpoints3.GUILD_BAN(guildId,memberId),{},"delete","json",{reason})}async getGuildRoles(guildId){return this.requestHandler.request(Endpoints3.GUILD_ROLES(guildId),{},"get","json")}async createGuildRole(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_ROLES(guildId),{},"post","json",data)}async updateGuildRolePositions(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_ROLES(guildId),{},"patch","json",data,reason?{"X-Audit-Log-Reason":reason}:void 0)}async updateGuildRole(guildId,roleId,data){return this.requestHandler.request(Endpoints3.GUILD_ROLE(guildId,roleId),{},"patch","json",data)}async removeGuildRole(guildId,roleId,reason){return this.requestHandler.request(Endpoints3.GUILD_ROLE(guildId,roleId),{},"delete","json",{reason})}async getGuildPruneCount(guildId,options){return this.requestHandler.request(Endpoints3.GUILD_PRUNE(guildId),options,"get","json")}async startGuildPrune(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_PRUNE(guildId),{},"post","json",data)}async getGuildVoiceRegions(guildId){return this.requestHandler.request(Endpoints3.GUILD_VOICE_REGIONS(guildId),{},"get","json")}async getGuildInvites(guildId){return this.requestHandler.request(Endpoints3.GUILD_INVITES(guildId),{},"get","json")}async getGuildIntegrations(guildId){return this.requestHandler.request(Endpoints3.GUILD_INTEGRATIONS(guildId),{},"get","json")}async removeGuildIntegration(guildId,integrationId,reason){return this.requestHandler.request(Endpoints3.GUILD_INTEGRATION(guildId,integrationId),{},"delete","json",{reason})}async getGuildWidgetSettings(guildId){return this.requestHandler.request(Endpoints3.GUILD_WIDGET_SETTINGS(guildId),{},"get","json")}async updateGuildWidgetSettings(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_WIDGET_SETTINGS(guildId),{},"patch","json",data)}async getGuildWidget(guildId){return this.requestHandler.request(Endpoints3.GUILD_WIDGET(guildId),{},"get","json")}async getGuildVanityURL(guildId){return this.requestHandler.request(Endpoints3.GUILD_VANITY(guildId),{},"get","json")}async getGuildWelcomeScreen(guildId){return this.requestHandler.request(Endpoints3.GUILD_WELCOME_SCREEN(guildId),{},"get","json")}async editGuildWelcomeScreen(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_WELCOME_SCREEN(guildId),{},"patch","json",data)}updateCurrentUserVoiceState(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_VOICE_STATE_USER(guildId,"@me"),{},"patch","json",data)}updateUserVoiceState(guildId,userId,data){return this.requestHandler.request(Endpoints3.GUILD_VOICE_STATE_USER(guildId,userId),{},"patch","json",data)}};module.exports=GuildMethods;}});var require_GuildScheduledEvent=__commonJS({"src/methods/GuildScheduledEvent.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),GuildScheduledEventMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async listGuildScheduledEvents(guildId,withCounts){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENTS(guildId),{with_user_count:withCounts},"get","json")}async createGuildScheduledEvent(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENTS(guildId),{},"post","json",data)}async getGuildScheduledEvent(guildId,eventId,withCounts){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENT(guildId,eventId),{},"get","json",{with_user_count:withCounts})}async editGuildScheduledEvent(guildId,eventId,data){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENT(guildId,eventId),{},"patch","json",data)}async deleteGuildScheduledEvent(guildId,eventId){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENT(guildId,eventId),{},"delete","json")}async getGuildScheduledEventUsers(guildId,eventId,options){if((options==null?void 0:options.limit)!==void 0&&(options.limit<Constants3.GET_GUILD_SCHEDULED_EVENT_USERS_MIN_RESULTS||options.limit>Constants3.GET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS))throw new RangeError(`The maximum amount of users that may be requested has to be between ${Constants3.GET_GUILD_SCHEDULED_EVENT_USERS_MIN_RESULTS} and ${Constants3.GET_GUILD_SCHEDULED_EVENT_USERS_MAX_RESULTS}`);return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENT_USERS(guildId,eventId),options,"get","json")}};module.exports=GuildScheduledEventMethods;}});var require_GuildTemplate=__commonJS({"src/methods/GuildTemplate.ts"(exports,module){var Endpoints3=require_Endpoints(),GuildTemplateMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}getGuildTemplate(code){return this.requestHandler.request(Endpoints3.TEMPLATE(code),{},"get","json")}createGuildFromGuildTemplate(code,options){return this.requestHandler.request(Endpoints3.TEMPLATE(code),{},"post","json",options)}getGuildTemplates(guildId){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATES(guildId),{},"get","json")}createGuildTemplate(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATES(guildId),{},"post","json",data)}syncGuildTemplate(guildId,code){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATE(guildId,code),{},"put","json")}modifyGuildTemplate(guildId,code,data){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATE(guildId,code),{},"patch","json",data)}deleteGuildTemplate(guildId,code){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATE(guildId,code),{},"delete","json")}};module.exports=GuildTemplateMethods;}});var require_Interactions=__commonJS({"src/methods/Interactions.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),InteractionMethods=class{constructor(requestHandler,webhooks){this.requestHandler=requestHandler;this.webhooks=webhooks;}getApplicationCommands(appId,withLocalizations){return this.requestHandler.request(Endpoints3.APPLICATION_COMMANDS(appId),{with_localizations:withLocalizations},"get","json")}createApplicationCommand(appId,data){return this.requestHandler.request(Endpoints3.APPLICATION_COMMANDS(appId),{},"post","json",data)}getApplicationCommand(appId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_COMMAND(appId,cmdId),{},"get","json")}editApplicationCommand(appId,cmdId,data){return this.requestHandler.request(Endpoints3.APPLICATION_COMMAND(appId,cmdId),{},"patch","json",data)}deleteApplicationCommand(appId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_COMMAND(appId,cmdId),{},"delete","json")}bulkOverwriteApplicationCommands(appId,data){return this.requestHandler.request(Endpoints3.APPLICATION_COMMANDS(appId),{},"put","json",data)}getGuildApplicationCommands(appId,guildId,withLocalizations){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS(appId,guildId),{with_localizations:withLocalizations},"get","json")}createGuildApplicationCommand(appId,guildId,data){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS(appId,guildId),{},"post","json",data)}getGuildApplicationCommand(appId,guildId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND(appId,guildId,cmdId),{},"get","json")}editGuildApplicationCommand(appId,guildId,cmdId,data){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND(appId,guildId,cmdId),{},"patch","json",data)}deleteGuildApplicationCommand(appId,guildId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND(appId,guildId,cmdId),{},"delete","json")}bulkOverwriteGuildApplicationCommands(appId,guildId,data){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS(appId,guildId),{},"put","json",data)}getGuildApplicationCommandPermissions(appId,guildId,cmdId){return cmdId?this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND_PERMISSIONS(appId,guildId,cmdId),{},"get","json"):this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS_PERMISSIONS(appId,guildId),{},"get","json")}editGuildApplicationCommandPermissions(appId,guildId,cmdId,permissions){let payload={permissions};return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND_PERMISSIONS(appId,guildId,cmdId),{},"put","json",payload)}async createInteractionResponse(interactionId,token,data){return data.files?this.requestHandler.request(Endpoints3.INTERACTION_CALLBACK(interactionId,token),{},"post","multipart",await Constants3.standardMultipartHandler(data)):this.requestHandler.request(Endpoints3.INTERACTION_CALLBACK(interactionId,token),{},"post","json",data)}getOriginalInteractionResponse(appId,token){return this.webhooks.getWebhookMessage(appId,token,"@original")}editOriginalInteractionResponse(appId,token,data){return this.webhooks.editWebhookMessage(appId,token,"@original",data)}deleteOriginalInteractionResponse(appId,token){return this.webhooks.deleteWebhookMessage(appId,token,"@original")}createFollowupMessage(appId,token,data){return this.webhooks.executeWebhook(appId,token,data)}getFollowupMessage(appId,token,messageId){return this.webhooks.getWebhookMessage(appId,token,messageId)}editFollowupMessage(appId,token,messageId,data){return this.webhooks.editWebhookMessage(appId,token,messageId,data)}deleteFollowupMessage(appId,token,messageId){return this.webhooks.deleteWebhookMessage(appId,token,messageId)}};module.exports=InteractionMethods;}});var require_Invites=__commonJS({"src/methods/Invites.ts"(exports,module){var Endpoints3=require_Endpoints(),InviteMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getInvite(inviteId,options){return this.requestHandler.request(Endpoints3.INVITES(inviteId),options,"get","json")}async deleteInvite(inviteId){return this.requestHandler.request(Endpoints3.INVITES(inviteId),{},"delete","json")}};module.exports=InviteMethods;}});var require_StageInstance=__commonJS({"src/methods/StageInstance.ts"(exports,module){var Endpoints3=require_Endpoints(),StageInstanceMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async createStageInstance(data){return this.requestHandler.request(Endpoints3.STAGE_INSTANCES,{},"post","json",data)}async getStageInstance(channelId){return this.requestHandler.request(Endpoints3.STAGE_INSTANCE_CHANNEL(channelId),{},"get","json")}async editStageInstance(channelId,data){return this.requestHandler.request(Endpoints3.STAGE_INSTANCE_CHANNEL(channelId),{},"patch","json",data)}async deleteStageInstance(channelId,reason){return this.requestHandler.request(Endpoints3.STAGE_INSTANCE_CHANNEL(channelId),{},"delete","json",{reason})}};module.exports=StageInstanceMethods;}});var require_Users=__commonJS({"src/methods/Users.ts"(exports,module){var Endpoints3=require_Endpoints(),UserMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getSelf(){return this.requestHandler.request(Endpoints3.USER("@me"),{},"get","json")}async getUser(userId){return this.requestHandler.request(Endpoints3.USER(userId),{},"get","json")}async updateSelf(data){return this.requestHandler.request(Endpoints3.USER("@me"),{},"patch","json",data)}async getGuilds(options){return this.requestHandler.request(Endpoints3.USER_GUILDS("@me"),{},"get","json",options)}async leaveGuild(guildId){return this.requestHandler.request(Endpoints3.USER_GUILD("@me",guildId),{},"delete","json")}async createDirectMessageChannel(userId){return this.requestHandler.request(Endpoints3.USER_CHANNELS("@me"),{},"post","json",{recipient_id:userId})}async createGroupDirectMessageChannel(data){return this.requestHandler.request(Endpoints3.USER_CHANNELS("@me"),{},"post","json",data)}async getConnections(){return this.requestHandler.request(Endpoints3.USER_CONNECTIONS("@me"),{},"get","json")}async getApplicationRoleConnection(appId){return this.requestHandler.request(Endpoints3.USER_APPLICATION_ROLE_CONNECTION("@me",appId),{},"get","json")}async updateApplicationRoleConnection(appId,data){return this.requestHandler.request(Endpoints3.USER_APPLICATION_ROLE_CONNECTION("@me",appId),{},"put","json",data)}};module.exports=UserMethods;}});var require_Voice=__commonJS({"src/methods/Voice.ts"(exports,module){var Endpoints3=require_Endpoints(),VoiceMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getVoiceRegions(){return this.requestHandler.request(Endpoints3.VOICE_REGIONS,{},"get","json")}async getCurrentUserVoiceState(guildId){return this.requestHandler.request(Endpoints3.USER_GUILD_VOICE_STATE(guildId,"@me"),{},"get","json")}async getUserVoiceState(guildId,userId){return this.requestHandler.request(Endpoints3.USER_GUILD_VOICE_STATE(guildId,userId),{},"get","json")}};module.exports=VoiceMethods;}});var require_Webhooks=__commonJS({"src/methods/Webhooks.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),WebhookMethods=class{constructor(requestHandler,disableEveryone){this.requestHandler=requestHandler;this.disableEveryone=disableEveryone;}async createWebhook(channelId,data){return this.requestHandler.request(Endpoints3.CHANNEL_WEBHOOKS(channelId),{},"post","json",data)}async getChannelWebhooks(channelId){return this.requestHandler.request(Endpoints3.CHANNEL_WEBHOOKS(channelId),{},"get","json")}async getGuildWebhooks(guildId){return this.requestHandler.request(Endpoints3.GUILD_WEBHOOKS(guildId),{},"get","json")}async getWebhook(webhookId,token){return token?this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN(webhookId,token),{},"get","json"):this.requestHandler.request(Endpoints3.WEBHOOK(webhookId),{},"get","json")}async updateWebhook(webhookId,data,token){return token?this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN(webhookId,token),{},"patch","json",data):this.requestHandler.request(Endpoints3.WEBHOOK(webhookId),{},"patch","json",data)}async deleteWebhook(webhookId,token){return token?this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN(webhookId,token),{},"delete","json"):this.requestHandler.request(Endpoints3.WEBHOOK(webhookId),{},"delete","json")}async executeWebhook(webhookId,token,data,options){if(typeof data!="string"&&!(data!=null&&data.content)&&!(data!=null&&data.embeds)&&!(data!=null&&data.components)&&!(data!=null&&data.files))throw new Error("Missing content or embeds or components or files");return typeof data=="string"&&(data={content:data}),data.content&&((options==null?void 0:options.disableEveryone)??this.disableEveryone)&&(data.content=Constants3.replaceEveryone(data.content)),options&&delete options.disableEveryone,data.files?this.requestHandler.request(`${Endpoints3.WEBHOOK_TOKEN(webhookId,token)}`,options,"post","multipart",await Constants3.standardMultipartHandler(data)):this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN(webhookId,token),options,"post","json",data)}async executeWebhookSlack(webhookId,token,data,options){return this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN_SLACK(webhookId,token),options,"post","json",data)}async executeWebhookGitHub(webhookId,token,data,options={}){return this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN_GITHUB(webhookId,token),options,"post","json",data)}async getWebhookMessage(webhookId,token,messageId,threadId){return this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN_MESSAGE(webhookId,token,messageId),{thread_id:threadId},"get","json")}async editWebhookMessage(webhookId,token,messageId,data){let threadID;return data.thread_id&&(threadID=data.thread_id),delete data.thread_id,data.files?this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN_MESSAGE(webhookId,token,messageId),{thread_id:threadID},"patch","multipart",await Constants3.standardMultipartHandler(data)):this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN_MESSAGE(webhookId,token,messageId),{thread_id:threadID},"patch","json",data)}async deleteWebhookMessage(webhookId,token,messageId,threadId){return this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN_MESSAGE(webhookId,token,messageId),{thread_id:threadId},"delete","json")}};module.exports=WebhookMethods;}});var require_SnowTransfer=__commonJS({"src/SnowTransfer.ts"(exports$1,module){init_RequestHandler();var AuditLogMethods=require_AuditLog(),AutoModerationMethods=require_AutoModeration(),BotMethods=require_Bots(),ChannelMethods=require_Channels(),GuildAssetsMethods=require_GuildAssets(),GuildMethods=require_Guilds(),GuildScheduledEventMethods=require_GuildScheduledEvent(),GuildTemplateMethods=require_GuildTemplate(),InteractionMethods=require_Interactions(),InviteMethods=require_Invites(),StageInstanceMethods=require_StageInstance(),UserMethods=require_Users(),VoiceMethods=require_Voice(),WebhookMethods=require_Webhooks(),Endpoints3=require_Endpoints(),Constants3=require_Constants(),SnowTransfer=class{constructor(token,options){if(typeof token=="string"&&token==="")throw new Error("Missing token");token&&!token.startsWith("Bot")&&!token.startsWith("Bearer")&&(token=`Bot ${token}`),this.options={baseHost:Endpoints3.BASE_HOST,disableEveryone:!1,bypassBuckets:!1,retryRequests:!1,retryLimit:Constants3.DEFAULT_RETRY_LIMIT,...options},this.token=token,this.ratelimiter=new exports.Ratelimiter,this.requestHandler=new exports.RequestHandler(this.ratelimiter,{token:this.token,baseHost:this.options.baseHost,bypassBuckets:this.options.bypassBuckets,retryFailed:this.options.retryRequests,retryLimit:this.options.retryLimit}),this.channel=new ChannelMethods(this.requestHandler,this.options.disableEveryone),this.user=new UserMethods(this.requestHandler),this.guildAssets=new GuildAssetsMethods(this.requestHandler),this.webhook=new WebhookMethods(this.requestHandler,this.options.disableEveryone),this.guild=new GuildMethods(this.requestHandler),this.guildScheduledEvent=new GuildScheduledEventMethods(this.requestHandler),this.guildTemplate=new GuildTemplateMethods(this.requestHandler),this.interaction=new InteractionMethods(this.requestHandler,this.webhook),this.invite=new InviteMethods(this.requestHandler),this.voice=new VoiceMethods(this.requestHandler),this.bot=new BotMethods(this.requestHandler),this.auditLog=new AuditLogMethods(this.requestHandler),this.stageInstance=new StageInstanceMethods(this.requestHandler),this.autoMod=new AutoModerationMethods(this.requestHandler);}};module.exports=SnowTransfer;}});init_RequestHandler();var AuditLogMethods2=require_AuditLog(),AutoModerationMethods2=require_AutoModeration(),BotMethods2=require_Bots(),ChannelMethods2=require_Channels(),GuildAssetsMethods2=require_GuildAssets(),GuildMethods2=require_Guilds(),GuildScheduledEventMethods2=require_GuildScheduledEvent(),GuildTemplateMethods2=require_GuildTemplate(),InteractionMethods2=require_Interactions(),InviteMethods2=require_Invites(),StageInstanceMethods2=require_StageInstance(),UserMethods2=require_Users(),VoiceMethods2=require_Voice(),WebhookMethods2=require_Webhooks(),Constants2=require_Constants(),Endpoints2=require_Endpoints(),SnowTransfer2=require_SnowTransfer();
10
10
 
11
11
  exports.AuditLogMethods = AuditLogMethods2;
12
12
  exports.AutoModerationMethods = AutoModerationMethods2;
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/Bots.ts","../src/methods/Channels.ts","../src/methods/GuildAssets.ts","../src/methods/Guilds.ts","../src/methods/GuildScheduledEvent.ts","../src/methods/GuildTemplate.ts","../src/methods/Interactions.ts","../src/methods/Invites.ts","../src/methods/StageInstance.ts","../src/methods/Users.ts","../src/methods/Voice.ts","../src/methods/Webhooks.ts","../src/SnowTransfer.ts","../src/index.ts"],"names":["Constants","FormData","Blob","File","ReadableStream","Readable","Endpoints","DiscordAPIError","Ratelimiter","LocalBucket","GlobalBucket","RequestHandler","path","EventEmitter","fetch","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 { FormData } from \"undici\";\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\tstandardMultipartHandler(data: { files: Array<{ name: string; file: Buffer | Blob | File | Readable | ReadableStream }>; data?: any; }): 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\tConstants.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\tstandardAddToFormHandler(form: FormData, name: string, value: Buffer | Blob | File | Readable | ReadableStream, filename?: string) {\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 {\r\n\r\n\t\t\tform.set(name, {\r\n\t\t\t\t[Symbol.toStringTag]: \"File\",\r\n\t\t\t\tname: name,\r\n\t\t\t\tstream: () => value instanceof ReadableStream ? Readable.fromWeb(value) : value,\r\n\t\t\t}, filename);\r\n\t\t}\r\n\t},\r\n\treplaceEveryone(content: string): string {\r\n\t\treturn content.replace(mentionRegex, replaceEveryoneMatchProcessor)\r\n\t}\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_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\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\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 { fetch, FormData, Headers, Response } from \"undici\";\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\n\r\nconst routeRegex = /\\/([a-z-]+)\\/(?:\\d{17,19})/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\"]);\r\n\r\n\r\n\r\n\r\nexport class DiscordAPIError extends Error {\r\n\tpublic code: number;\r\n\tpublic httpStatus: number;\r\n\r\n\tpublic constructor(public path: string, error: { message?: string; code?: number; }, public method: HTTPMethod, status: number) {\r\n\t\tsuper();\r\n\t\tthis.name = \"DiscordAPIError\";\r\n\t\tthis.message = error.message ?? String(error);\r\n\t\tthis.code = error.code ?? 4000;\r\n\t\tthis.httpStatus = status;\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: { [routeKey: string]: InstanceType<B>; } = {};\r\n\r\n\r\n\r\n\tprivate _global = false;\r\n\r\n\r\n\r\n\tpublic globalReset = 0;\r\n\r\n\r\n\r\n\tpublic globalResetTimeout: NodeJS.Timeout | null = null;\r\n\r\n\r\n\r\n\tpublic BucketConstructor = GlobalBucket as B;\r\n\r\n\r\n\r\n\r\n\tpublic get global() {\r\n\t\treturn this._global;\r\n\t}\r\n\r\n\r\n\r\n\r\n\tpublic set global(value) {\r\n\t\tif (value && this.globalReset !== 0) {\r\n\t\t\tif (this.globalResetTimeout) clearTimeout(this.globalResetTimeout);\r\n\r\n\t\t\tconst instance = this;\r\n\t\t\tthis.globalResetTimeout = setTimeout(() => {\r\n\t\t\t\tinstance.global = false;\r\n\t\t\t}, this.globalReset).unref();\r\n\t\t} else {\r\n\t\t\tif (this.globalResetTimeout) clearTimeout(this.globalResetTimeout);\r\n\t\t\tthis.globalResetTimeout = null;\r\n\t\t\tthis.globalReset = 0;\r\n\t\t\tfor (const bkt of Object.values(this.buckets)) {\r\n\t\t\t\tbkt.checkQueue();\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis._global = value;\r\n\t}\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.toUpperCase() === \"DELETE\" && isMessageEndpointRegex.test(route)) route = method + route;\r\n\t\telse if (method.toUpperCase() === \"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\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\t\tthis.buckets[routeKey] ??= new this.BucketConstructor(this, routeKey) as InstanceType<B>;\r\n\t\treturn this.buckets[routeKey].queue(fn);\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 remaining: number;\r\n\r\n\r\n\r\n\tpublic fnQueue: Array<() => any> = [];\r\n\r\n\r\n\r\n\tpublic 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 queue<T>(fn: (bucket: this) => T): Promise<T> {\r\n\t\treturn new Promise((res, rej) => {\r\n\t\t\tconst wrapFn = () => {\r\n\t\t\t\tthis.remaining--;\r\n\t\t\t\tif (!this.resetTimeout) this.makeResetTimeout(this.reset);\r\n\t\t\t\tif (this.remaining !== 0) setImmediate(() => this.checkQueue());\r\n\t\t\t\tlet result;\r\n\t\t\t\ttry {\r\n\t\t\t\t\tresult = fn(this);\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\treturn rej(e as Error);\r\n\t\t\t\t}\r\n\t\t\t\treturn res(result);\r\n\t\t\t};\r\n\t\t\tthis.fnQueue.push(wrapFn);\r\n\t\t\tthis.checkQueue();\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic makeResetTimeout(durationMS: number): void {\r\n\t\tif (this.resetTimeout) clearTimeout(this.resetTimeout);\r\n\t\tthis.resetTimeout = setTimeout(() => this.resetRemaining(), durationMS);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic checkQueue(): void {\r\n\t\tif (this.fnQueue.length && this.remaining !== 0) {\r\n\t\t\tconst queuedFunc = this.fnQueue.splice(0, 1)[0];\r\n\t\t\tqueuedFunc();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic resetRemaining(): void {\r\n\t\tthis.remaining = this.limit;\r\n\t\tif (this.resetTimeout) {\r\n\t\t\tclearTimeout(this.resetTimeout);\r\n\t\t\tthis.resetTimeout = null;\r\n\t\t}\r\n\t\tif (this.fnQueue.length) this.checkQueue();\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic dropQueue(): void {\r\n\t\tthis.fnQueue.length = 0;\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 ratelimiter: Ratelimiter, public routeKey: string) {\r\n\t\tsuper(5, 5000, 1);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic checkQueue(): void {\r\n\t\tif (this.ratelimiter.global) return;\r\n\t\tsuper.checkQueue();\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic resetRemaining(): void {\r\n\t\tif (!this.fnQueue.length) delete this.ratelimiter.buckets[this.routeKey];\r\n\t\tsuper.resetRemaining();\r\n\t}\r\n}\r\n\r\nexport type HandlerEvents = {\r\n\trequest: [string, { endpoint: string, method: HTTPMethod, dataType: \"json\" | \"multipart\", data: any; }];\r\n\tdone: [string, Response];\r\n\trequestError: [string, Error];\r\n\trateLimit: [{ timeout: number; remaining: number; limit: number; method: HTTPMethod; 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<T extends \"json\" | \"multipart\">(endpoint: string, params: Record<string, any> = {}, method: HTTPMethod, dataType: T = \"json\" as T, data?: T extends \"json\" ? any : FormData, extraHeaders?: Record<string, string>, retries = this.options.retryLimit): Promise<any> {\r\n\r\n\t\treturn new Promise(async (res, rej) => {\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\tthis.emit(\"request\", reqID, { endpoint, method, dataType, data: data ?? {} });\r\n\r\n\t\t\t\t\tconst before = Date.now();\r\n\r\n\t\t\t\t\tlet request: Response;\r\n\t\t\t\t\tswitch (dataType) {\r\n\t\t\t\t\tcase \"json\":\r\n\t\t\t\t\t\trequest = 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\trequest = 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, request.headers);\r\n\r\n\t\t\t\t\tif (request.status && !Constants.OK_STATUS_CODES.has(request.status) && request.status !== 429) {\r\n\t\t\t\t\t\tif (this.options.retryFailed && !Constants.DO_NOT_RETRY_STATUS_CODES.has(request.status) && retries !== 0) return this.request(endpoint, params, method, dataType, data, extraHeaders, retries--).then(res).catch(rej);\r\n\t\t\t\t\t\tthrow new DiscordAPIError(\r\n\t\t\t\t\t\t\tendpoint,\r\n\t\t\t\t\t\t\t{ message: await request.text() },\r\n\t\t\t\t\t\t\tmethod,\r\n\t\t\t\t\t\t\trequest.status\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (request.status === 429) {\r\n\t\t\t\t\t\tif (!this.ratelimiter.global) {\r\n\t\t\t\t\t\t\tconst b = await request.json() as any;\r\n\t\t\t\t\t\t\tif (b.reset_after !== undefined) this.ratelimiter.globalReset = b.reset_after * 1000;\r\n\t\t\t\t\t\t\telse this.ratelimiter.globalReset = 1000;\r\n\t\t\t\t\t\t\tif (b.global !== undefined) this.ratelimiter.global = b.global;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.emit(\"rateLimit\", {\r\n\t\t\t\t\t\t\ttimeout: bkt ? bkt.reset : 0,\r\n\t\t\t\t\t\t\tremaining: bkt ? bkt.remaining : Infinity,\r\n\t\t\t\t\t\t\tlimit: bkt ? bkt.limit : Infinity,\r\n\t\t\t\t\t\t\tmethod: method,\r\n\t\t\t\t\t\t\tpath: endpoint,\r\n\t\t\t\t\t\t\troute: bkt ? bkt.routeKey : this.ratelimiter.routify(endpoint, method)\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthrow new DiscordAPIError(endpoint, { message: \"You're being ratelimited\", code: 429 }, method, request.status);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.emit(\"done\", reqID, request);\r\n\r\n\t\t\t\t\tif (request.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 request.json();\r\n\t\t\t\t\t\t} catch {\r\n\t\t\t\t\t\t\treturn res(undefined);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn res(b);\r\n\t\t\t\t\t} else return res(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 rej(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);\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} 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 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 getGatewayBot(): Promise<RESTGetAPIGatewayBotResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GATEWAY_BOT, {}, \"get\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = BotMethods;\r\n","import { fetch } from \"undici\";\r\n\r\nimport type { RequestHandler as RH, RESTPostAPIAttachmentsRefreshURLsResult } from \"../RequestHandler\";\r\n\r\nimport Endpoints = require(\"../Endpoints\");\r\nimport Constants = require(\"../Constants\");\r\n\r\nimport type {\r\n\tAPITextBasedChannel,\r\n\tAPIThreadChannel,\r\n\tChannelType,\r\n\tRESTDeleteAPIChannelAllMessageReactionsResult,\r\n\tRESTDeleteAPIChannelMessageReactionResult,\r\n\tRESTDeleteAPIChannelMessageResult,\r\n\tRESTDeleteAPIChannelMessageUserReactionResult,\r\n\tRESTDeleteAPIChannelPermissionResult,\r\n\tRESTDeleteAPIChannelPinResult,\r\n\tRESTDeleteAPIChannelResult,\r\n\tRESTDeleteAPIChannelThreadMembersResult,\r\n\tRESTGetAPIChannelInvitesResult,\r\n\tRESTGetAPIChannelMessageReactionUsersQuery,\r\n\tRESTGetAPIChannelMessageReactionUsersResult,\r\n\tRESTGetAPIChannelMessageResult,\r\n\tRESTGetAPIChannelMessagesQuery,\r\n\tRESTGetAPIChannelMessagesResult,\r\n\tRESTGetAPIChannelPinsResult,\r\n\tRESTGetAPIChannelResult,\r\n\tRESTGetAPIChannelThreadMemberResult,\r\n\tRESTGetAPIChannelThreadMembersQuery,\r\n\tRESTGetAPIChannelThreadMembersResult,\r\n\tRESTGetAPIChannelThreadsArchivedPrivateResult,\r\n\tRESTGetAPIChannelThreadsArchivedPublicResult,\r\n\tRESTGetAPIChannelThreadsArchivedQuery,\r\n\tRESTGetAPIChannelUsersThreadsArchivedResult,\r\n\tRESTPatchAPIChannelJSONBody,\r\n\tRESTPatchAPIChannelMessageJSONBody,\r\n\tRESTPatchAPIChannelMessageResult,\r\n\tRESTPatchAPIChannelResult,\r\n\tRESTPostAPIChannelFollowersResult,\r\n\tRESTPostAPIChannelInviteJSONBody,\r\n\tRESTPostAPIChannelInviteResult,\r\n\tRESTPostAPIChannelMessageCrosspostResult,\r\n\tRESTPostAPIChannelMessageJSONBody,\r\n\tRESTPostAPIChannelMessageResult,\r\n\tRESTPostAPIChannelMessagesBulkDeleteResult,\r\n\tRESTPostAPIChannelMessagesThreadsJSONBody,\r\n\tRESTPostAPIChannelMessagesThreadsResult,\r\n\tRESTPostAPIChannelThreadsJSONBody,\r\n\tRESTPostAPIChannelTypingResult,\r\n\tRESTPutAPIChannelMessageReactionResult,\r\n\tRESTPutAPIChannelPermissionJSONBody,\r\n\tRESTPutAPIChannelPermissionResult,\r\n\tRESTPutAPIChannelPinResult,\r\n\tRESTPutAPIChannelThreadMembersResult\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 disableEveryone: boolean) {}\r\n\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.disableEveryone }): Promise<RESTPostAPIChannelMessageResult> {\r\n\t\tif (typeof data !== \"string\" && !data.content && !data.embeds && !data.sticker_ids && !data.components && !data.files) throw new Error(\"Missing content, embeds, sticker_ids, components, or files\");\r\n\t\tif (typeof data === \"string\") data = { content: data };\r\n\r\n\r\n\t\tif (data.content && (options.disableEveryone ?? this.disableEveryone)) data.content = Constants.replaceEveryone(data.content);\r\n\r\n\t\tif (data.files) return this.requestHandler.request(Endpoints.CHANNEL_MESSAGES(channelId), {}, \"post\", \"multipart\", 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.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.disableEveryone)) data.content = Constants.replaceEveryone(data.content);\r\n\r\n\t\tif (data.files) return this.requestHandler.request(Endpoints.CHANNEL_MESSAGE(channelId, messageId), {}, \"patch\", \"multipart\", 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 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\nexport = ChannelMethods;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { FormData } from \"undici\";\r\n\r\nimport 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\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} 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 GuildAssetsMethods {\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 getEmojis(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 getEmoji(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 createEmoji(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 updateEmoji(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 deleteEmoji(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 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\tConstants.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 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 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\nexport = GuildAssetsMethods;\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 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 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 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 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 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 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 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 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 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 WHM = require(\"./Webhooks\");\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPIInteractionFollowupResult,\r\n\tRESTDeleteAPIInteractionOriginalResponseResult,\r\n\tRESTGetAPIApplicationCommandPermissionsResult,\r\n\tRESTGetAPIApplicationCommandResult,\r\n\tRESTGetAPIApplicationCommandsResult,\r\n\tRESTGetAPIApplicationGuildCommandResult,\r\n\tRESTGetAPIApplicationGuildCommandsResult,\r\n\tRESTGetAPIInteractionFollowupResult,\r\n\tRESTGetAPIInteractionOriginalResponseResult,\r\n\tRESTPatchAPIApplicationCommandJSONBody,\r\n\tRESTPatchAPIApplicationCommandResult,\r\n\tRESTPatchAPIApplicationGuildCommandJSONBody,\r\n\tRESTPatchAPIApplicationGuildCommandResult,\r\n\tRESTPatchAPIInteractionFollowupJSONBody,\r\n\tRESTPatchAPIInteractionFollowupResult,\r\n\tRESTPatchAPIInteractionOriginalResponseJSONBody,\r\n\tRESTPatchAPIInteractionOriginalResponseResult,\r\n\tRESTPostAPIApplicationCommandsJSONBody,\r\n\tRESTPostAPIApplicationCommandsResult,\r\n\tRESTPostAPIApplicationGuildCommandsJSONBody,\r\n\tRESTPostAPIApplicationGuildCommandsResult,\r\n\tRESTPostAPIInteractionCallbackJSONBody,\r\n\tRESTPostAPIInteractionFollowupJSONBody,\r\n\tRESTPostAPIInteractionFollowupResult,\r\n\tRESTPutAPIApplicationCommandPermissionsJSONBody,\r\n\tRESTPutAPIApplicationCommandPermissionsResult,\r\n\tRESTPutAPIApplicationCommandsJSONBody,\r\n\tRESTPutAPIApplicationCommandsResult,\r\n\tRESTPutAPIApplicationGuildCommandsJSONBody,\r\n\tRESTPutAPIApplicationGuildCommandsResult\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) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic 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 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 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 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 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 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 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 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 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 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 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 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 getGuildApplicationCommandPermissions(appId: string, guildId: string): Promise<Array<RESTGetAPIApplicationCommandPermissionsResult>>;\r\n\tpublic getGuildApplicationCommandPermissions(appId: string, guildId: string, cmdId: string): Promise<RESTGetAPIApplicationCommandPermissionsResult>;\r\n\tpublic 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 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 createInteractionResponse(interactionId: string, token: string, data: RESTPostAPIInteractionCallbackJSONBody & { files?: Array<{ name: string; file: Buffer | Readable | ReadableStream; }> }): Promise<void> {\r\n\t\tif (data.files) return this.requestHandler.request(Endpoints.INTERACTION_CALLBACK(interactionId, token), {}, \"post\", \"multipart\", 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 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 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 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 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 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 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 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 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\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 disableEveryone: boolean) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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) throw new Error(\"Missing content or embeds or components or files\");\r\n\t\tif (typeof data === \"string\") data = { content: data };\r\n\r\n\r\n\t\tif (data.content && (options?.disableEveryone ?? this.disableEveryone)) data.content = Constants.replaceEveryone(data.content);\r\n\t\tif (options) delete options.disableEveryone;\r\n\r\n\t\tif (data.files) return this.requestHandler.request(`${Endpoints.WEBHOOK_TOKEN(webhookId, token)}`, options, \"post\", \"multipart\", 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\tif (data.files) return this.requestHandler.request(Endpoints.WEBHOOK_TOKEN_MESSAGE(webhookId, token, messageId), { thread_id: threadID }, \"patch\", \"multipart\", 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 { Ratelimiter, RequestHandler } from \"./RequestHandler\";\r\nimport AuditLogMethods = require(\"./methods/AuditLog\");\r\nimport AutoModerationMethods = require(\"./methods/AutoModeration\");\r\nimport BotMethods = require(\"./methods/Bots\");\r\nimport ChannelMethods = require(\"./methods/Channels\");\r\nimport GuildAssetsMethods = require(\"./methods/GuildAssets\");\r\nimport GuildMethods = require(\"./methods/Guilds\");\r\nimport GuildScheduledEventMethods = require(\"./methods/GuildScheduledEvent\");\r\nimport GuildTemplateMethods = require(\"./methods/GuildTemplate\");\r\nimport InteractionMethods = require(\"./methods/Interactions\");\r\nimport InviteMethods = require(\"./methods/Invites\");\r\nimport StageInstanceMethods = require(\"./methods/StageInstance\");\r\nimport UserMethods = require(\"./methods/Users\");\r\nimport VoiceMethods = require(\"./methods/Voice\");\r\nimport WebhookMethods = require(\"./methods/Webhooks\");\r\nimport Endpoints = require(\"./Endpoints\");\r\nimport Constants = require(\"./Constants\");\r\n\r\n\r\n\r\n\r\nclass SnowTransfer {\r\n\r\n\tpublic options: {\r\n\r\n\t\tbaseHost: string;\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\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 guildAssets: GuildAssetsMethods;\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 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, 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.disableEveryone);\r\n\t\tthis.user = new UserMethods(this.requestHandler);\r\n\t\tthis.guildAssets = new GuildAssetsMethods(this.requestHandler);\r\n\t\tthis.webhook = new WebhookMethods(this.requestHandler, this.options.disableEveryone);\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);\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}\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/Bots\");\r\nimport ChannelMethods2 = require(\"./methods/Channels\");\r\nimport GuildAssetsMethods2 = require(\"./methods/GuildAssets\");\r\nimport GuildMethods2 = require(\"./methods/Guilds\");\r\nimport GuildScheduledEventMethods2 = require(\"./methods/GuildScheduledEvent\");\r\nimport GuildTemplateMethods2 = require(\"./methods/GuildTemplate\");\r\nimport InteractionMethods2 = require(\"./methods/Interactions\");\r\nimport InviteMethods2 = require(\"./methods/Invites\");\r\nimport StageInstanceMethods2 = require(\"./methods/StageInstance\");\r\nimport UserMethods2 = require(\"./methods/Users\");\r\nimport VoiceMethods2 = require(\"./methods/Voice\");\r\nimport WebhookMethods2 = require(\"./methods/Webhooks\");\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\tDiscordAPIError as DiscordAPIError2\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\tGuildAssetsMethods2 as GuildAssetsMethods,\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\tStageInstanceMethods2 as StageInstanceMethods,\r\n\tUserMethods2 as UserMethods,\r\n\tVoiceMethods2 as VoiceMethods,\r\n\tWebhookMethods2 as WebhookMethods,\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\r\n\ttype HTTPMethod,\r\n\ttype HandlerEvents,\r\n\ttype RESTPostAPIAttachmentsRefreshURLsResult\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/Bots.ts","../src/methods/Channels.ts","../src/methods/GuildAssets.ts","../src/methods/Guilds.ts","../src/methods/GuildScheduledEvent.ts","../src/methods/GuildTemplate.ts","../src/methods/Interactions.ts","../src/methods/Invites.ts","../src/methods/StageInstance.ts","../src/methods/Users.ts","../src/methods/Voice.ts","../src/methods/Webhooks.ts","../src/SnowTransfer.ts","../src/index.ts"],"names":["Constants","FormData","Blob","File","Readable","ReadableStream","Response","Endpoints","DiscordAPIError","Ratelimiter","LocalBucket","GlobalBucket","RequestHandler","path","EventEmitter","fetch","exports"],"mappings":";;;;;;;;8gBAAA,qEAKA,IAAM,YAAA,CAAe,kBACf,uBAA0B,CAAA,YAAA,CAEhC,SAAS,6BAAA,CAA8B,MAAgB,CAAA,MAAA,CAAwB,CAC9E,OAAI,uBAAA,CAAwB,KAAK,MAAM,CAAA,CAAU,IAAI,MAAM,CAAA,CAAA,CAC/C,UAAU,MAAM,CAAA,CAC7B,CAEA,IAAMA,UAAAA,CAAY,CACjB,gBAAkB,CAAA,EAAA,CAClB,iCAAkC,CAClC,CAAA,gCAAA,CAAkC,GAClC,CAAA,2CAAA,CAA6C,CAC7C,CAAA,2CAAA,CAA6C,IAC7C,0BAA4B,CAAA,CAAA,CAC5B,2BAA4B,GAC5B,CAAA,wBAAA,CAA0B,EAC1B,wBAA0B,CAAA,GAAA,CAC1B,gBAAiB,IAAI,GAAA,CAAI,CAAC,GAAK,CAAA,GAAA,CAAK,IAAK,GAAG,CAAC,EAC7C,yBAA2B,CAAA,IAAI,GAAI,CAAA,CAAC,GAAK,CAAA,GAAA,CAAK,IAAK,GAAK,CAAA,GAAA,CAAK,IAAK,GAAG,CAAC,EACtE,mBAAqB,CAAA,CAAA,CACrB,MAAM,wBAAA,CAAyB,IAAkI,CAAA,CAChK,IAAM,IAAO,CAAA,IAAIC,gBAEjB,GAAI,IAAA,CAAK,OAAS,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,KAAK,CAAK,EAAA,IAAA,CAAK,MAAM,KAAM,CAAA,CAAA,EAAK,CAAC,CAAC,CAAA,CAAE,MAAQ,CAAC,CAAC,EAAE,IAAI,CAAA,CAAG,CAC3F,IAAI,KAAA,CAAQ,EACZ,IAAW,IAAA,IAAA,IAAQ,KAAK,KACvB,CAAA,MAAMD,UAAU,CAAA,wBAAA,CAAyB,IAAM,CAAA,CAAA,MAAA,EAAS,KAAK,CAAK,CAAA,CAAA,CAAA,IAAA,CAAK,KAAM,IAAK,CAAA,IAAI,EAGtF,OAAO,IAAA,CAAK,IACZ,CAAA,KAAA,GAEF,CAGA,OAAI,KAAK,IAAM,EAAA,OAAO,KAAK,KAC3B,CAAA,IAAA,CAAK,OAAO,cAAgB,CAAA,IAAA,CAAK,SAAU,CAAA,IAAI,CAAC,CAAA,CACzC,IACR,CACA,CAAA,MAAM,yBAAyB,IAAgB,CAAA,IAAA,CAAc,MAAyD,QAAkC,CAAA,CA7CzJ,OA8CE,GAAI,KAAA,YAAiB,OAAQ,IAAK,CAAA,MAAA,CAAO,KAAM,IAAIE,WAAA,CAAK,CAAC,KAAK,CAAC,CAAG,CAAA,QAAQ,CACjE,CAAA,KAAA,GAAA,KAAA,YAAiBA,aAAQ,KAAiB,YAAAC,WAAA,CAAM,KAAK,MAAO,CAAA,IAAA,CAAM,MAAO,QAAQ,CAAA,CAAA,KAAA,GACjF,KAAiB,YAAAC,eAAA,EAAY,KAAiB,YAAAC,kBAAA,CAAgB,CACtE,IAAM,IAAA,CAAO,MAAM,IAAIC,eAAA,CAAS,iBAAiBD,kBAAiB,CAAA,KAAA,CAAQD,eAAS,CAAA,KAAA,CAAM,KAAK,CAAC,EAAE,IAAK,EAAA,CACtG,KAAK,GAAI,CAAA,IAAA,CAAM,KAAM,QAAQ,EAC9B,MAAa,MAAA,IAAI,MAAM,CAAyB,sBAAA,EAAA,CAAA,CAAA,EAAA,CAAA,KAAA,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,KAAA,CAAO,cAAP,IAAoB,CAAA,KAAA,CAAA,CAAA,EAAA,CAAA,IAAA,GAAQ,OAAO,KAAK,CAAA,QAAA,CAAU,CACnG,CAAA,CACA,eAAgB,CAAA,OAAA,CAAyB,CACxC,OAAO,OAAA,CAAQ,QAAQ,YAAc,CAAA,6BAA6B,CACnE,CACD,CAAA,CAEA,MAASJ,CAAAA,OAAAA,CAAAA,WAAAA,CAAAA,CAAAA,CAAAA,CC1DT,IAEA,iBAAA,CAAA,UAAA,CAAA,CAAA,kBAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA,IAAOA,WAAY,iBAObO,EAAAA,CAAAA,UAAAA,CAAY,CACjB,QAAU,CAAA,QAAA,CAAWP,WAAU,gBAC/B,CAAA,SAAA,CAAW,qBACX,CAAA,OAAA,CAAS,4BAET,CAAA,mBAAA,CAAqB,CAAC,KAAe,CAAA,KAAA,GAAkB,GAAGO,UAAU,CAAA,oBAAA,CAAqB,KAAK,CAAC,CAAA,CAAA,EAAI,KAAK,CACxG,CAAA,CAAA,oBAAA,CAAuB,OAAkB,CAAiB,cAAA,EAAA,KAAK,YAC/D,sCAAwC,CAAA,CAAC,MAAe,OAAoB,GAAA,CAAA,EAAGA,UAAU,CAAA,0BAAA,CAA2B,KAAO,CAAA,OAAO,CAAC,CACnI,YAAA,CAAA,CAAA,qCAAA,CAAuC,CAAC,KAAe,CAAA,OAAA,CAAiB,QAAkB,CAAGA,EAAAA,UAAAA,CAAU,yBAA0B,CAAA,KAAA,CAAO,OAAS,CAAA,KAAK,CAAC,CACvJ,YAAA,CAAA,CAAA,yBAAA,CAA2B,CAAC,KAAe,CAAA,OAAA,CAAiB,QAAkB,CAAGA,EAAAA,UAAAA,CAAU,0BAA2B,CAAA,KAAA,CAAO,OAAO,CAAC,IAAI,KAAK,CAAA,CAAA,CAC9I,2BAA4B,CAAC,KAAA,CAAe,UAAoB,CAAiB,cAAA,EAAA,KAAK,WAAW,OAAO,CAAA,SAAA,CAAA,CACxG,yBAA0B,2BAC1B,CAAA,OAAA,CAAU,QAAmB,CAAGA,EAAAA,UAAAA,CAAU,QAAQ,CAAI,CAAA,EAAA,MAAM,CAC5D,CAAA,CAAA,mBAAA,CAAsB,MAAmB,EAAA,CAAA,EAAGA,WAAU,OAAQ,CAAA,MAAM,CAAC,CACrE,YAAA,CAAA,CAAA,mBAAA,CAAsB,QAAmB,CAAGA,EAAAA,UAAAA,CAAU,gBAAiB,CAAA,MAAM,CAAC,CAAA,YAAA,CAAA,CAC9E,kBAAoB,MAAmB,EAAA,CAAA,EAAGA,WAAU,OAAQ,CAAA,MAAM,CAAC,CACnE,UAAA,CAAA,CAAA,eAAA,CAAkB,MAAmB,EAAA,CAAA,EAAGA,UAAU,CAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,QAAA,CAAA,CACjE,gBAAiB,CAAC,MAAA,CAAgB,QAAkB,CAAGA,EAAAA,UAAAA,CAAU,iBAAiB,MAAM,CAAC,IAAI,KAAK,CAAA,CAAA,CAClG,0BAA2B,CAAC,MAAA,CAAgB,QAAkB,CAAGA,EAAAA,UAAAA,CAAU,eAAgB,CAAA,MAAA,CAAQ,KAAK,CAAC,aACzG,wBAA0B,CAAA,CAAC,OAAgB,KAAe,CAAA,QAAA,GAAqB,GAAGA,UAAU,CAAA,yBAAA,CAA0B,MAAQ,CAAA,KAAK,CAAC,CAAA,CAAA,EAAI,QAAQ,CAChJ,CAAA,CAAA,6BAAA,CAA+B,CAAC,MAAgB,CAAA,KAAA,CAAe,SAAkB,MAAmB,GAAA,CAAA,EAAGA,UAAU,CAAA,wBAAA,CAAyB,MAAQ,CAAA,KAAA,CAAO,QAAQ,CAAC,CAAA,CAAA,EAAI,MAAM,CAC5K,CAAA,CAAA,yBAAA,CAA2B,CAAC,MAAgB,CAAA,KAAA,GAAkB,GAAGA,UAAU,CAAA,eAAA,CAAgB,OAAQ,KAAK,CAAC,aACzG,uBAAyB,CAAA,CAAC,OAAgB,KAAkB,GAAA,CAAA,EAAGA,UAAU,CAAA,eAAA,CAAgB,MAAQ,CAAA,KAAK,CAAC,CACvG,QAAA,CAAA,CAAA,gBAAA,CAAmB,QAAmB,CAAGA,EAAAA,UAAAA,CAAU,QAAQ,MAAM,CAAC,YAClE,kBAAoB,CAAA,CAAC,OAAgB,MAAmB,GAAA,CAAA,EAAGA,WAAU,mBAAoB,CAAA,MAAM,CAAC,CAAI,CAAA,EAAA,MAAM,CAC1G,CAAA,CAAA,mBAAA,CAAsB,MAAmB,EAAA,CAAA,EAAGA,WAAU,OAAQ,CAAA,MAAM,CAAC,CACrE,YAAA,CAAA,CAAA,WAAA,CAAa,CAAC,MAAgB,CAAA,KAAA,GAAkB,GAAGA,UAAU,CAAA,YAAA,CAAa,MAAM,CAAC,CAAA,CAAA,EAAI,KAAK,CAC1F,CAAA,CAAA,YAAA,CAAe,QAAmB,CAAGA,EAAAA,UAAAA,CAAU,OAAQ,CAAA,MAAM,CAAC,CAAA,KAAA,CAAA,CAC9D,kBAAmB,CAAC,MAAA,CAAgB,SAAmB,CAAGA,EAAAA,UAAAA,CAAU,QAAQ,MAAM,CAAC,CAAe,YAAA,EAAA,MAAM,CACxG,CAAA,CAAA,eAAA,CAAkB,QAAmB,CAAGA,EAAAA,UAAAA,CAAU,QAAQ,MAAM,CAAC,WACjE,qBAAuB,CAAA,CAAC,MAAgB,CAAA,QAAA,GAAqB,CAAGA,EAAAA,UAAAA,CAAU,uBAAuB,MAAM,CAAC,IAAI,QAAQ,CAAA,CAAA,CACpH,uBAAyB,MAAmB,EAAA,CAAA,EAAGA,WAAU,OAAQ,CAAA,MAAM,CAAC,CACxE,eAAA,CAAA,CAAA,gCAAA,CAAmC,QAAmB,CAAGA,EAAAA,UAAAA,CAAU,gBAAgB,MAAM,CAAC,CAC1F,iBAAA,CAAA,CAAA,qCAAA,CAAwC,MAAmB,EAAA,CAAA,EAAGA,WAAU,OAAQ,CAAA,MAAM,CAAC,CACvF,mCAAA,CAAA,CAAA,+BAAA,CAAkC,QAAmB,CAAGA,EAAAA,UAAAA,CAAU,eAAgB,CAAA,MAAM,CAAC,CAAA,gBAAA,CAAA,CACzF,eAAiB,MAAmB,EAAA,CAAA,EAAGA,WAAU,OAAQ,CAAA,MAAM,CAAC,CAChE,OAAA,CAAA,CAAA,gBAAA,CAAmB,MAAmB,EAAA,CAAA,EAAGA,UAAU,CAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,SAAA,CAAA,CAClE,SAAU,WACV,CAAA,OAAA,CAAS,WACT,WAAa,CAAA,cAAA,CACb,MAAQ,OAAoB,EAAA,CAAA,EAAGA,WAAU,MAAM,CAAA,CAAA,EAAI,OAAO,CAC1D,CAAA,CAAA,gBAAA,CAAmB,SAAoB,CAAGA,EAAAA,UAAAA,CAAU,KAAM,CAAA,OAAO,CAAC,CAAA,WAAA,CAAA,CAClE,oBAAqB,CAAC,OAAA,CAAiB,SAAmB,CAAGA,EAAAA,UAAAA,CAAU,qBAAqB,OAAO,CAAC,CAAI,CAAA,EAAA,MAAM,CAC9G,CAAA,CAAA,oBAAA,CAAuB,SAAoB,CAAGA,EAAAA,UAAAA,CAAU,MAAM,OAAO,CAAC,yBACtE,SAAW,CAAA,CAAC,OAAiB,CAAA,QAAA,GAAqB,CAAGA,EAAAA,UAAAA,CAAU,WAAW,OAAO,CAAC,IAAI,QAAQ,CAAA,CAAA,CAC9F,WAAa,OAAoB,EAAA,CAAA,EAAGA,WAAU,KAAM,CAAA,OAAO,CAAC,CAC5D,KAAA,CAAA,CAAA,cAAA,CAAiB,SAAoB,CAAGA,EAAAA,UAAAA,CAAU,MAAM,OAAO,CAAC,CAChE,SAAA,CAAA,CAAA,WAAA,CAAa,CAAC,OAAA,CAAiB,UAAoB,CAAGA,EAAAA,UAAAA,CAAU,aAAa,OAAO,CAAC,IAAI,OAAO,CAAA,CAAA,CAChG,YAAe,CAAA,OAAA,EAAoB,CAAGA,EAAAA,UAAAA,CAAU,MAAM,OAAO,CAAC,UAC9D,aAAgB,CAAA,OAAA,EAAoB,GAAGA,UAAU,CAAA,KAAA,CAAM,OAAO,CAAC,CAC/D,QAAA,CAAA,CAAA,iBAAA,CAAmB,CAAC,OAAiB,CAAA,aAAA,GAA0B,GAAGA,UAAU,CAAA,kBAAA,CAAmB,OAAO,CAAC,CAAA,CAAA,EAAI,aAAa,CACxH,CAAA,CAAA,kBAAA,CAAqB,SAAoB,CAAGA,EAAAA,UAAAA,CAAU,MAAM,OAAO,CAAC,gBACpE,YAAc,CAAA,CAAC,OAAiB,CAAA,QAAA,GAAqB,CAAGA,EAAAA,UAAAA,CAAU,cAAc,OAAO,CAAC,IAAI,QAAQ,CAAA,CAAA,CACpG,kBAAmB,CAAC,OAAA,CAAiB,QAAkB,CAAA,MAAA,GAAmB,CAAGA,EAAAA,UAAAA,CAAU,aAAa,OAAS,CAAA,QAAQ,CAAC,CAAU,OAAA,EAAA,MAAM,GACtI,aAAgB,CAAA,OAAA,EAAoB,CAAGA,EAAAA,UAAAA,CAAU,KAAM,CAAA,OAAO,CAAC,CAC/D,QAAA,CAAA,CAAA,oBAAA,CAAuB,SAAoB,CAAGA,EAAAA,UAAAA,CAAU,cAAc,OAAO,CAAC,UAC9E,aAAgB,CAAA,OAAA,EAAoB,GAAGA,UAAU,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,QAAA,CAAA,CAC/D,YAAc,OAAoB,EAAA,CAAA,EAAGA,UAAU,CAAA,KAAA,CAAM,OAAO,CAAC,SAC7D,UAAY,CAAA,CAAC,QAAiB,MAAmB,GAAA,CAAA,EAAGA,WAAU,WAAY,CAAA,OAAO,CAAC,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,CAC5F,YAAc,OAAoB,EAAA,CAAA,EAAGA,WAAU,KAAM,CAAA,OAAO,CAAC,CAC7D,MAAA,CAAA,CAAA,sBAAA,CAAyB,OAAoB,EAAA,CAAA,EAAGA,UAAU,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,iBAAA,CAAA,CACxE,sBAAuB,CAAC,OAAA,CAAiB,UAAoB,CAAGA,EAAAA,UAAAA,CAAU,uBAAuB,OAAO,CAAC,IAAI,OAAO,CAAA,CAAA,CACpH,4BAA6B,CAAC,OAAA,CAAiB,UAAoB,CAAGA,EAAAA,UAAAA,CAAU,qBAAsB,CAAA,OAAA,CAAS,OAAO,CAAC,SACvH,aAAe,CAAA,CAAC,QAAiB,SAAsB,GAAA,CAAA,EAAGA,WAAU,cAAe,CAAA,OAAO,CAAC,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA,CACxG,eAAiB,OAAoB,EAAA,CAAA,EAAGA,WAAU,KAAM,CAAA,OAAO,CAAC,CAChE,SAAA,CAAA,CAAA,cAAA,CAAgB,CAAC,OAAA,CAAiB,IAAiB,GAAA,CAAA,EAAGA,WAAU,eAAgB,CAAA,OAAO,CAAC,CAAI,CAAA,EAAA,IAAI,GAChG,oBAAuB,CAAA,OAAA,EAAoB,GAAGA,UAAU,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,eAAA,CAAA,CACtE,gBAAkB,OAAoB,EAAA,CAAA,EAAGA,WAAU,KAAM,CAAA,OAAO,CAAC,CAAA,UAAA,CAAA,CACjE,YAAe,CAAA,OAAA,EAAoB,GAAGA,UAAU,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,WAAA,CAAA,CAC9D,oBAAsB,OAAoB,EAAA,CAAA,EAAGA,WAAU,KAAM,CAAA,OAAO,CAAC,CACrE,QAAA,CAAA,CAAA,sBAAA,CAAwB,CAAC,OAAiB,CAAA,QAAA,GAAqB,GAAGA,UAAU,CAAA,KAAA,CAAM,OAAO,CAAC,CAAiB,cAAA,EAAA,QAAQ,GACnH,cAAiB,CAAA,OAAA,EAAoB,GAAGA,UAAU,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,SAAA,CAAA,CAChE,qBAAuB,OAAoB,EAAA,CAAA,EAAGA,WAAU,KAAM,CAAA,OAAO,CAAC,CACtE,eAAA,CAAA,CAAA,YAAA,CAAe,SAAoB,CAAGA,EAAAA,UAAAA,CAAU,KAAM,CAAA,OAAO,CAAC,CAAA,YAAA,CAAA,CAC9D,sBAAwB,OAAoB,EAAA,CAAA,EAAGA,WAAU,KAAM,CAAA,OAAO,CAAC,CACvE,OAAA,CAAA,CAAA,MAAA,CAAQ,SACR,CAAA,oBAAA,CAAsB,CAAC,aAAA,CAAuB,QAAkB,CAAiB,cAAA,EAAA,aAAa,IAAI,KAAK,CAAA,SAAA,CAAA,CACvG,QAAU,QAAqB,EAAA,CAAA,SAAA,EAAY,QAAQ,CAAA,CAAA,CACnD,kBAAqB,CAAA,KAAA,EAAkB,wBAAwB,KAAK,CAAA,CAAA,CACpE,uBAAyB,MAAmB,EAAA,CAAA,EAAGA,WAAU,eAAe,CAAA,CAAA,EAAI,MAAM,CAClF,CAAA,CAAA,eAAA,CAAiB,mBACjB,OAAU,CAAA,SAAA,EAAsB,aAAa,SAAS,CAAA,CAAA,CACtD,SAAW,IAAiB,EAAA,CAAA,kBAAA,EAAqB,IAAI,CAAA,CAAA,CACrD,IAAO,CAAA,MAAA,EAAmB,GAAGA,UAAU,CAAA,KAAK,IAAI,MAAM,CAAA,CAAA,CACtD,iCAAkC,CAAC,MAAA,CAAgB,KAAkB,GAAA,CAAA,EAAGA,UAAU,CAAA,IAAA,CAAK,MAAM,CAAC,CAAA,cAAA,EAAiB,KAAK,CACpH,gBAAA,CAAA,CAAA,aAAA,CAAgB,QAAmB,CAAGA,EAAAA,UAAAA,CAAU,IAAK,CAAA,MAAM,CAAC,CAAA,SAAA,CAAA,CAC5D,iBAAmB,MAAmB,EAAA,CAAA,EAAGA,WAAU,IAAK,CAAA,MAAM,CAAC,CAC/D,YAAA,CAAA,CAAA,UAAA,CAAY,CAAC,MAAgB,CAAA,OAAA,GAAoB,GAAGA,UAAU,CAAA,WAAA,CAAY,MAAM,CAAC,CAAA,CAAA,EAAI,OAAO,CAC5F,CAAA,CAAA,WAAA,CAAc,MAAmB,EAAA,CAAA,EAAGA,UAAU,CAAA,IAAA,CAAK,MAAM,CAAC,CAAA,OAAA,CAAA,CAC1D,uBAAwB,CAAC,OAAA,CAAiB,SAAmB,CAAGA,EAAAA,UAAAA,CAAU,KAAM,CAAA,OAAO,CAAC,CAAA,cAAA,EAAiB,MAAM,CAC/G,CAAA,CAAA,KAAA,CAAO,SACP,aAAe,CAAA,gBAAA,CACf,QAAU,MAAmB,EAAA,CAAA,UAAA,EAAa,MAAM,CAAA,CAAA,CAChD,aAAe,CAAA,CAAC,OAAgB,KAAkB,GAAA,CAAA,EAAGA,WAAU,OAAQ,CAAA,MAAM,CAAC,CAAI,CAAA,EAAA,KAAK,GACvF,oBAAsB,CAAA,CAAC,OAAgB,KAAkB,GAAA,CAAA,EAAGA,WAAU,aAAc,CAAA,MAAA,CAAQ,KAAK,CAAC,CAAA,OAAA,CAAA,CAClG,qBAAuB,CAAA,CAAC,MAAgB,CAAA,KAAA,CAAe,QAAkB,CAAa,UAAA,EAAA,MAAM,IAAI,KAAK,CAAA,UAAA,EAAa,KAAK,CACvH,CAAA,CAAA,mBAAA,CAAqB,CAAC,MAAA,CAAgB,KAAkB,GAAA,CAAA,EAAGA,WAAU,aAAc,CAAA,MAAA,CAAQ,KAAK,CAAC,CAAA,MAAA,CAClG,EAEA,MAASA,CAAAA,OAAAA,CAAAA,WAAAA,CAAAA,CAAAA,CAAAA,CCqYT,SAAS,YAAY,KAAoC,CAAA,CACxD,IAAI,KAAQ,CAAA,CAAA,CACZ,OAAW,CAAC,GAAA,CAAK,KAAK,CAAK,GAAA,MAAA,CAAO,QAAQ,KAAK,CAAA,CAC1C,OAAS,IAAW,CAAA,OAAO,KAAM,CAAA,GAAG,CACnC,CAAA,KAAA,EAAA,CAGN,OAAO,KAAQ,CAAA,CAAA,CAAI,IAAI,IAAI,eAAA,CAAgB,KAAK,CAAE,CAAA,QAAA,EAAU,CAAA,CAAA,CAAK,EAClE,KAvfO,EACA,CAAA,IAAA,CAEA,OAIA,SACC,CAAA,OAAA,CACD,UAYD,UACA,CAAA,cAAA,CACA,kBACA,CAAA,aAAA,CACA,sBACA,CAAA,oBAAA,CAEA,sBAKOC,gCAkBA,CAAAC,4BAAA,CA6FAC,6BAiGAC,6BAwDA,CAAAC,+BAAA,KA3Sb,qDAEO,EAAK,CAAA,SAAA,CAAQ,MACb,IAAO,CAAA,SAAA,CAAQ,QAEf,MAAS,CAAA,SAAA,CAAQ,UAIjB,SAAY,CAAA,iBAAA,EAAA,CACb,CAAE,OAAY,CAAA,CAAA,IAAA,CAAK,KAAM,CAAA,EAAA,CAAG,YAAa,CAAA,IAAA,CAAK,KAAK,SAAW,CAAA,iBAAiB,EAAG,CAAE,QAAA,CAAU,MAAO,CAAC,CAAC,CACtG,CAAA,SAAA,CAAY,iBAYb,EAAA,CAAA,UAAA,CAAa,8BACb,cAAiB,CAAA,qBAAA,CACjB,mBAAqB,0BACrB,CAAA,aAAA,CAAgB,yCAChB,sBAAyB,CAAA,kBAAA,CACzB,oBAAuB,CAAA,0BAAA,CAEvB,qBAAwB,CAAA,IAAI,IAAI,CAAC,MAAA,CAAQ,KAAK,CAAC,CAAA,CAKxCJ,wBAAN,cAA8B,KAAM,CAInC,WAAmBK,CAAAA,KAAAA,CAAc,MAAoD,MAAoB,CAAA,MAAA,CAAgB,CAC/H,KAAM,EAAA,CADmB,UAAAA,KAAkE,CAAA,IAAA,CAAA,MAAA,CAAA,MAAA,CAE3F,IAAK,CAAA,IAAA,CAAO,iBACZ,CAAA,IAAA,CAAK,QAAU,KAAM,CAAA,OAAA,EAAW,OAAO,KAAK,CAAA,CAC5C,KAAK,IAAO,CAAA,KAAA,CAAM,IAAQ,EAAA,GAAA,CAC1B,IAAK,CAAA,UAAA,CAAa,OACnB,CACD,CAAA,CAOaJ,oBAAN,KAAuE,CAAvE,cAIN,IAAO,CAAA,OAAA,CAAoD,EAAC,CAI5D,IAAQ,CAAA,OAAA,CAAU,GAIlB,IAAO,CAAA,WAAA,CAAc,EAIrB,IAAO,CAAA,kBAAA,CAA4C,KAInD,IAAO,CAAA,iBAAA,CAAoBE,sBAK3B,IAAW,MAAA,EAAS,CACnB,OAAO,IAAA,CAAK,OACb,CAKA,IAAW,OAAO,KAAO,CAAA,CACxB,GAAI,KAAA,EAAS,IAAK,CAAA,WAAA,GAAgB,EAAG,CAChC,IAAA,CAAK,oBAAoB,YAAa,CAAA,IAAA,CAAK,kBAAkB,CAEjE,CAAA,IAAM,QAAW,CAAA,IAAA,CACjB,IAAK,CAAA,kBAAA,CAAqB,WAAW,IAAM,CAC1C,SAAS,MAAS,CAAA,CAAA,EACnB,EAAG,IAAK,CAAA,WAAW,CAAE,CAAA,KAAA,GACtB,CAAA,KAAO,CACF,IAAK,CAAA,kBAAA,EAAoB,aAAa,IAAK,CAAA,kBAAkB,EACjE,IAAK,CAAA,kBAAA,CAAqB,KAC1B,IAAK,CAAA,WAAA,CAAc,EACnB,IAAW,IAAA,GAAA,IAAO,OAAO,MAAO,CAAA,IAAA,CAAK,OAAO,CAC3C,CAAA,GAAA,CAAI,UAAW,GAEjB,CACA,IAAA,CAAK,QAAU,MAChB,CAUO,QAAQ,GAAa,CAAA,MAAA,CAAwB,CACnD,IAAI,KAAA,CAAQ,GAAI,CAAA,OAAA,CAAQ,UAAY,CAAA,SAAU,MAAO,CAAW,CAAA,CAC/D,OAAO,CAAM,GAAA,UAAA,EAAc,IAAM,QAAY,EAAA,CAAA,GAAM,UAAa,CAAA,KAAA,CAAQ,CAAI,CAAA,EAAA,CAAC,MAC9E,CAAC,CAAA,CAAE,QAAQ,cAAgB,CAAA,gBAAgB,EAAE,OAAQ,CAAA,kBAAA,CAAoB,wBAAwB,CAAE,CAAA,OAAA,CAAQ,cAAe,qBAAqB,CAAA,CAK/I,GAHI,MAAO,CAAA,WAAA,KAAkB,QAAY,EAAA,sBAAA,CAAuB,IAAK,CAAA,KAAK,CAAG,CAAA,KAAA,CAAQ,OAAS,KACrF,CAAA,MAAA,CAAO,aAAkB,GAAA,KAAA,EAAS,qBAAqB,IAAK,CAAA,KAAK,CAAG,GAAA,KAAA,CAAQ,sBAEjF,CAAA,CAAA,MAAA,GAAW,OAAS,MAAW,GAAA,QAAA,CAAU,CAC5C,IAAM,KAAA,CAAQ,MAAM,OAAQ,CAAA,YAAY,CACpC,CAAA,KAAA,GAAU,CAAI,CAAA,GAAA,KAAA,CAAQ,SAAW,KAAM,CAAA,KAAA,CAAM,EAAG,KAAQ,CAAA,EAAE,GAC/D,CACA,OAAO,KACR,CASO,KAAA,CAAS,GAAoC,GAAa,CAAA,MAAA,CAA4B,CAtI9F,IAuIE,EAAA,CAAA,IAAM,SAAW,IAAK,CAAA,OAAA,CAAQ,GAAK,CAAA,MAAM,CACzC,CAAA,OAAA,CAAA,EAAA,CAAA,IAAA,CAAK,SAAL,QAA2B,CAAA,GAAA,EAAA,CAAA,QAAA,CAAA,CAAA,IAAI,KAAK,iBAAkB,CAAA,IAAA,CAAM,QAAQ,CAC7D,CAAA,CAAA,IAAA,CAAK,OAAQ,CAAA,QAAQ,CAAE,CAAA,KAAA,CAAM,EAAE,CACvC,CACD,EAOaD,mBAAN,CAAA,KAAkB,CAoBjB,WAAmB,CAAA,KAAA,CAAQ,CAAU,CAAA,KAAA,CAAQ,GAAM,CAAA,SAAA,CAAoB,CAApD,IAAkB,CAAA,KAAA,CAAA,KAAA,CAAA,IAAA,CAAA,KAAA,CAAA,KAAA,CAZ5C,KAAO,OAA4B,CAAA,GAInC,IAAO,CAAA,YAAA,CAAsC,KAS5C,IAAK,CAAA,SAAA,CAAY,WAAa,MAC/B,CAQO,MAAS,EAAqC,CAAA,CACpD,OAAO,IAAI,OAAA,CAAQ,CAAC,GAAA,CAAK,GAAQ,GAAA,CAChC,IAAM,MAAS,CAAA,IAAM,CACpB,IAAK,CAAA,SAAA,EAAA,CACA,KAAK,YAAc,EAAA,IAAA,CAAK,gBAAiB,CAAA,IAAA,CAAK,KAAK,CAAA,CACpD,KAAK,SAAc,GAAA,CAAA,EAAG,aAAa,IAAM,IAAA,CAAK,YAAY,CAAA,CAC9D,IAAI,MAAA,CACJ,GAAI,CACH,OAAS,EAAG,CAAA,IAAI,EACjB,CAAS,MAAA,CAAA,CAAG,CACX,OAAO,GAAA,CAAI,CAAU,CACtB,CACA,OAAO,GAAI,CAAA,MAAM,CAClB,CACA,CAAA,IAAA,CAAK,QAAQ,IAAK,CAAA,MAAM,CACxB,CAAA,IAAA,CAAK,UAAW,GACjB,CAAC,CACF,CAOO,iBAAiB,UAA0B,CAAA,CAC7C,KAAK,YAAc,EAAA,YAAA,CAAa,IAAK,CAAA,YAAY,CACrD,CAAA,IAAA,CAAK,aAAe,UAAW,CAAA,IAAM,KAAK,cAAe,EAAA,CAAG,UAAU,EACvE,CAMO,UAAmB,EAAA,CACzB,GAAI,IAAA,CAAK,QAAQ,MAAU,EAAA,IAAA,CAAK,YAAc,CAAG,CAAA,CAChD,IAAM,UAAa,CAAA,IAAA,CAAK,QAAQ,MAAO,CAAA,CAAA,CAAG,CAAC,CAAE,CAAA,CAAC,EAC9C,UAAW,GACZ,CACD,CAMO,cAAA,EAAuB,CAC7B,IAAA,CAAK,SAAY,CAAA,IAAA,CAAK,MAClB,IAAK,CAAA,YAAA,GACR,aAAa,IAAK,CAAA,YAAY,EAC9B,IAAK,CAAA,YAAA,CAAe,IAEjB,CAAA,CAAA,IAAA,CAAK,OAAQ,CAAA,MAAA,EAAQ,KAAK,UAAW,GAC1C,CAMO,SAAkB,EAAA,CACxB,KAAK,OAAQ,CAAA,MAAA,CAAS,EACvB,CACD,CAOa,CAAAC,oBAAA,CAAN,cAA2BD,mBAAY,CAMtC,YAAmB,WAAiC,CAAA,QAAA,CAAkB,CAC5E,KAAM,CAAA,CAAA,CAAG,IAAM,CAAC,CAAA,CADS,6BAAiC,IAE3D,CAAA,QAAA,CAAA,SAAA,CAMO,YAAmB,CACrB,IAAA,CAAK,YAAY,MACrB,EAAA,KAAA,CAAM,UAAW,GAClB,CAMO,cAAA,EAAuB,CACxB,IAAK,CAAA,OAAA,CAAQ,QAAQ,OAAO,IAAA,CAAK,YAAY,OAAQ,CAAA,IAAA,CAAK,QAAQ,CAAA,CACvE,KAAM,CAAA,cAAA,GACP,CACD,CAAA,CA6BaE,uBAAN,cAA6BE,mBAAa,CAsBzC,WAAmB,CAAA,WAAA,CAA0B,OAAqF,CAAA,CACxI,KAAM,EAAA,CADmB,6BAGzB,IAAK,CAAA,OAAA,CAAU,CACd,QAAU,CAAA,CAAA,OAAA,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,OAAA,CAAS,WAAY,SAAU,CAAA,SAAA,CACzC,SAAS,OAAS,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,OAAA,CAAA,OAAA,GAAW,UAAU,QACvC,CAAA,aAAA,CAAA,CAAe,6BAAS,aAAiB,GAAA,CAAA,CAAA,CACzC,aAAa,OAAS,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,OAAA,CAAA,WAAA,GAAe,CACrC,CAAA,CAAA,UAAA,CAAA,CAAY,OAAS,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,OAAA,CAAA,UAAA,GAAc,UAAU,mBAC7C,CAAA,OAAA,CAAS,CACR,YAAc,CAAA,CAAA,sDAAA,EAAyD,OAAO,CAAa,UAAA,EAAA,OAAA,CAAQ,OAAO,CAC3G,CAAA,CACD,EACI,OAAS,EAAA,IAAA,EAAA,OAAA,CAAA,KAAA,GAAO,KAAK,OAAQ,CAAA,OAAA,CAAQ,cAAgB,OAAQ,CAAA,KAAA,CAAA,CAEjE,IAAK,CAAA,MAAA,CAAS,IAAK,CAAA,OAAA,CAAQ,SAAW,SAAU,CAAA,QAAA,CAChD,KAAK,OAAU,CAAA,IAChB,CAYO,OAAwC,CAAA,QAAA,CAAkB,OAA8B,EAAC,CAAG,OAAoB,QAAc,CAAA,MAAA,CAAa,KAA0C,YAAuC,CAAA,OAAA,CAAU,KAAK,OAAQ,CAAA,UAAA,CAA0B,CAEnR,OAAO,IAAI,OAAA,CAAQ,MAAO,GAAK,CAAA,GAAA,GAAQ,CACtC,IAAM,EAAA,CAAK,MAAO,GAAmC,EAAA,CACpD,IAAM,KAAA,CAAQ,MAAO,CAAA,WAAA,CAAY,EAAE,CAAE,CAAA,QAAA,CAAS,KAAK,CACnD,CAAA,GAAI,CACH,IAAK,CAAA,IAAA,CAAK,SAAW,CAAA,KAAA,CAAO,CAAE,QAAA,CAAU,OAAQ,QAAU,CAAA,IAAA,CAAM,MAAQ,EAAG,CAAC,CAE5E,CAAA,IAAM,OAAS,IAAK,CAAA,GAAA,GAEhB,OACJ,CAAA,OAAQ,UACR,IAAK,OACJ,OAAU,CAAA,MAAM,IAAK,CAAA,QAAA,CAAS,QAAU,CAAA,MAAA,CAAQ,OAAQ,IAAM,CAAA,YAAY,EAC1E,MACD,IAAK,YACJ,GAAI,CAAC,IAAM,CAAA,MAAM,IAAI,KAAA,CAAM,mBAAmB,CAC9C,CAAA,OAAA,CAAU,MAAM,IAAK,CAAA,iBAAA,CAAkB,SAAU,MAAQ,CAAA,MAAA,CAAQ,IAAM,CAAA,YAAY,CACnF,CAAA,MACD,QACC,MAAM,IAAI,MAAM,4EAA4E,CAC7F,CAMA,GAJA,IAAA,CAAK,QAAU,IAAK,CAAA,GAAA,GAAQ,MAExB,CAAA,GAAA,EAAK,KAAK,sBAAuB,CAAA,GAAA,CAAK,QAAQ,OAAO,CAAA,CAErD,OAAQ,CAAA,MAAA,EAAU,CAAC,SAAA,CAAU,gBAAgB,GAAI,CAAA,OAAA,CAAQ,MAAM,CAAK,EAAA,OAAA,CAAQ,SAAW,GAAK,CAAA,CAC/F,GAAI,IAAA,CAAK,OAAQ,CAAA,WAAA,EAAe,CAAC,SAAU,CAAA,yBAAA,CAA0B,IAAI,OAAQ,CAAA,MAAM,GAAK,OAAY,GAAA,CAAA,CAAG,OAAO,IAAA,CAAK,OAAQ,CAAA,QAAA,CAAU,OAAQ,MAAQ,CAAA,QAAA,CAAU,KAAM,YAAc,CAAA,OAAA,EAAS,EAAE,IAAK,CAAA,GAAG,EAAE,KAAM,CAAA,GAAG,EACrN,MAAM,IAAIN,wBACT,QACA,CAAA,CAAE,QAAS,MAAM,OAAA,CAAQ,IAAK,EAAE,CAChC,CAAA,MAAA,CACA,QAAQ,MACT,CACD,CAEA,GAAI,OAAA,CAAQ,SAAW,GAAK,CAAA,CAC3B,GAAI,CAAC,IAAK,CAAA,WAAA,CAAY,OAAQ,CAC7B,IAAM,EAAI,MAAM,OAAA,CAAQ,MACpB,CAAA,CAAA,CAAE,WAAgB,GAAA,KAAA,CAAA,CAAW,IAAK,CAAA,WAAA,CAAY,YAAc,CAAE,CAAA,WAAA,CAAc,IAC3E,IAAK,CAAA,WAAA,CAAY,YAAc,GAChC,CAAA,CAAA,CAAE,SAAW,KAAW,CAAA,GAAA,IAAA,CAAK,YAAY,MAAS,CAAA,CAAA,CAAE,QACzD,CACA,MAAA,IAAA,CAAK,KAAK,WAAa,CAAA,CACtB,OAAS,CAAA,GAAA,CAAM,GAAI,CAAA,KAAA,CAAQ,EAC3B,SAAW,CAAA,GAAA,CAAM,IAAI,SAAY,CAAA,CAAA,CAAA,CAAA,CACjC,MAAO,GAAM,CAAA,GAAA,CAAI,KAAQ,CAAA,CAAA,CAAA,CAAA,CACzB,MACA,CAAA,IAAA,CAAM,SACN,KAAO,CAAA,GAAA,CAAM,IAAI,QAAW,CAAA,IAAA,CAAK,YAAY,OAAQ,CAAA,QAAA,CAAU,MAAM,CACtE,CAAC,CAAA,CACK,IAAIA,uBAAgB,CAAA,QAAA,CAAU,CAAE,OAAS,CAAA,0BAAA,CAA4B,KAAM,GAAI,CAAA,CAAG,OAAQ,OAAQ,CAAA,MAAM,CAC/G,CAIA,GAFA,KAAK,IAAK,CAAA,MAAA,CAAQ,MAAO,OAAO,CAAA,CAE5B,OAAQ,CAAA,IAAA,CAAM,CACjB,IAAI,EACJ,GAAI,CACH,EAAI,MAAM,OAAA,CAAQ,OACnB,CAAA,KAAQ,CACP,OAAO,GAAI,CAAA,KAAA,CAAS,CACrB,CACA,OAAO,IAAI,CAAC,CACb,MAAc,OAAA,GAAA,CAAI,KAAS,CAAA,CAC5B,CAAS,MAAA,KAAA,CAAO,CAEf,OAAK,IAAA,CAAA,IAAA,CAAK,eAAgB,KAAO,CAAA,KAAK,EAC/B,GAAI,CAAA,KAAc,CAC1B,CACD,CAAA,CAEI,KAAK,OAAQ,CAAA,aAAA,CAAe,IAC3B,CAAA,IAAA,CAAK,YAAY,KAAM,CAAA,EAAA,CAAI,QAAU,CAAA,MAAM,EACjD,CAAC,CACF,CAQQ,sBAAA,CAAuB,IAAmB,OAAwB,CAAA,CACzE,IAAM,SAAY,CAAA,OAAA,CAAQ,GAAI,CAAA,uBAAuB,CAC/C,CAAA,KAAA,CAAQ,QAAQ,GAAI,CAAA,mBAAmB,EACvC,UAAa,CAAA,OAAA,CAAQ,IAAI,yBAAyB,CAAA,CAEpD,SAAW,GAAA,GAAA,CAAI,SAAY,CAAA,QAAA,CAAS,SAAS,CAC7C,CAAA,CAAA,KAAA,GAAO,IAAI,KAAQ,CAAA,QAAA,CAAS,KAAK,CACjC,CAAA,CAAA,UAAA,GACH,IAAI,KAAQ,CAAA,UAAA,CAAW,UAAU,CAAI,CAAA,GAAA,CACrC,IAAI,gBAAiB,CAAA,GAAA,CAAI,KAAK,CAEhC,EAAA,CAUA,MAAc,QAAA,CAAS,QAAkB,CAAA,MAAA,CAA8B,EAAI,CAAA,MAAA,CAAoB,KAAY,YAA0D,CAAA,CACpK,IAAM,OAAU,CAAA,CAAE,GAAG,IAAK,CAAA,OAAA,CAAQ,QAAS,GAAG,YAAa,EACvD,OAAO,IAAA,EAAS,WAAY,IAAM,EAAA,IAAA,EAAA,IAAA,CAAA,MAAA,CAAA,GACrC,OAAQ,CAAA,oBAAoB,CAAI,CAAA,kBAAA,CAAmB,KAAK,MAAM,CAAA,CAC9D,OAAO,IAAK,CAAA,MAAA,CAAA,CAGb,IAAI,IACJ,CAAA,OAAK,sBAAsB,GAAI,CAAA,MAAM,IAChC,OAAO,IAAA,EAAS,SAAU,IAAO,CAAA,IAAA,CAAK,UAAU,IAAI,CAAA,CACnD,IAAO,CAAA,MAAA,CAAO,IAAI,CAAA,CAAA,CAGxB,QAAQ,cAAc,CAAA,CAAI,mBAEnBO,YAAM,CAAA,CAAA,EAAG,KAAK,MAAM,CAAA,EAAG,QAAQ,CAAA,EAAG,WAAY,CAAA,MAAM,CAAC,CAAI,CAAA,CAAA,CAC/D,OAAQ,MAAO,CAAA,WAAA,GACf,OACA,CAAA,IACD,CAAC,CACF,CAWA,MAAc,kBAAkB,QAAkB,CAAA,MAAA,CAA8B,EAAI,CAAA,MAAA,CAAoB,KAAgB,YAA0D,CAAA,CACjL,IAAM,OAAU,CAAA,CAAE,GAAG,IAAK,CAAA,OAAA,CAAQ,QAAS,GAAG,YAAa,EAE3D,OAAOA,YAAA,CAAM,CAAG,EAAA,IAAA,CAAK,MAAM,CAAA,EAAG,QAAQ,CAAG,EAAA,WAAA,CAAY,MAAM,CAAC,CAAA,CAAA,CAAI,CAC/D,MAAQ,CAAA,MAAA,CAAO,WAAY,EAAA,CAC3B,OACA,CAAA,IAAA,CAAM,IACP,CAAC,CACF,CACD,EC/eA,CAAA,CAAA,EAAA,IAAA,gBAAA,CAAA,UAAA,CAAA,CAAA,yBAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA,IAAOR,WAAY,iBAab,EAAA,CAAA,eAAA,CAAN,KAAsB,CASd,WAAmB,CAAA,cAAA,CAAoB,CAApB,IAAqB,CAAA,cAAA,CAAA,eAAA,CAsB/C,MAAa,WAAY,CAAA,OAAA,CAAiB,QAAsE,CAC/G,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,gBAAiB,CAAA,OAAO,EAAG,OAAS,CAAA,KAAA,CAAO,MAAM,CAC/F,CACD,CAEA,CAAA,MAAA,CAAA,OAAA,CAAS,gBCjDT,CAAA,CAAA,CAAA,CAAA,IAAA,sBAAA,CAAA,UAAA,CAAA,CAAA,+BAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA,IAAOA,WAAY,iBAiBb,EAAA,CAAA,qBAAA,CAAN,KAA4B,CASpB,WAAA,CAAmB,eAAoB,CAApB,IAAA,CAAA,cAAA,CAAA,eAAqB,CAiB/C,MAAa,sBAAuB,CAAA,OAAA,CAA+D,CAClG,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,qBAAqB,OAAO,CAAA,CAAG,EAAC,CAAG,KAAO,CAAA,MAAM,CAC9F,CAkBA,MAAa,sBAAsB,OAAiB,CAAA,MAAA,CAA6D,CAChH,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,oBAAoB,OAAS,CAAA,MAAM,EAAG,EAAC,CAAG,MAAO,MAAM,CACrG,CA8BA,MAAa,wBAAyB,CAAA,OAAA,CAAiB,KAAiH,CACvK,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,oBAAqB,CAAA,OAAO,CAAG,CAAA,EAAI,CAAA,MAAA,CAAQ,OAAQ,IAAI,CACrG,CAwBA,MAAa,sBAAA,CAAuB,QAAiB,MAAgB,CAAA,IAAA,CAAmH,CACvL,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,mBAAA,CAAoB,QAAS,MAAM,CAAA,CAAG,EAAI,CAAA,OAAA,CAAS,OAAQ,IAAI,CAC7G,CAkBA,MAAa,wBAAA,CAAyB,QAAiB,MAAgB,CAAA,MAAA,CAAiE,CACvI,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,mBAAA,CAAoB,QAAS,MAAM,CAAA,CAAG,EAAI,CAAA,QAAA,CAAU,OAAQ,CAAE,MAAO,CAAC,CACpH,CACD,CAAA,CAEA,eAAS,sBClJT,CAAA,CAAA,CAAA,CAAA,IAAA,YAAA,CAAA,UAAA,CAAA,CAAA,qBAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA,IAAOA,WAAY,iBAab,EAAA,CAAA,UAAA,CAAN,KAAiB,CAST,WAAA,CAAmB,cAAoB,CAAA,CAApB,IAAqB,CAAA,cAAA,CAAA,eAAA,CAYxC,YAA+C,CACrD,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,OAAS,CAAA,GAAI,KAAO,CAAA,MAAM,CACxE,CAYO,aAAA,EAAqD,CAC3D,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,WAAa,CAAA,EAAI,CAAA,KAAA,CAAO,MAAM,CAC5E,CACD,EAEA,MAAS,CAAA,OAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CCrDT,IAAA,gBAAA,CAAA,UAAA,CAAA,CAAA,yBAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAIA,IAAOA,UAAAA,CAAY,oBACZP,UAAY,CAAA,iBAAA,EAAA,CA0Db,eAAN,KAAqB,CAUb,YAAmB,cAA2B,CAAA,eAAA,CAA0B,CAArD,IAAA,CAAA,cAAA,CAAA,cAAA,CAA2B,IAA2B,CAAA,eAAA,CAAA,gBAAA,CAYhF,MAAa,UAAW,CAAA,SAAA,CAAqD,CAC5E,OAAO,IAAA,CAAK,eAAe,OAAQO,CAAAA,UAAAA,CAAU,QAAQ,SAAS,CAAA,CAAG,EAAI,CAAA,KAAA,CAAO,MAAM,CACnF,CA2BA,MAAa,aAAc,CAAA,SAAA,CAAmB,IAA8F,CAAA,CAC3I,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,QAAQ,SAAS,CAAA,CAAG,EAAI,CAAA,OAAA,CAAS,MAAQ,CAAA,IAAI,CAC3F,CA2BA,MAAa,aAAc,CAAA,SAAA,CAAmB,OAAsD,CACnG,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,OAAA,CAAQ,SAAS,CAAA,CAAG,EAAI,CAAA,QAAA,CAAU,OAAQ,CAAE,MAAO,CAAC,CAClG,CAsBA,MAAa,kBAAmB,CAAA,SAAA,CAAmB,QAA0C,CAAE,KAAA,CAAO,EAAG,CAA6C,CAAA,CAWrJ,GAVI,OAAQ,CAAA,MAAA,EACX,OAAO,OAAA,CAAQ,MACf,CAAA,OAAO,QAAQ,KACL,EAAA,OAAA,CAAQ,QAClB,OAAO,OAAA,CAAQ,OACf,OAAO,OAAA,CAAQ,OACL,OAAQ,CAAA,KAAA,GAClB,OAAO,OAAQ,CAAA,MAAA,CACf,OAAO,OAAQ,CAAA,MAAA,CAAA,CAEZ,QAAQ,KAAU,GAAA,KAAA,CAAA,GAAc,OAAQ,CAAA,KAAA,CAAQP,UAAU,CAAA,gCAAA,EAAoC,QAAQ,KAAQA,CAAAA,UAAAA,CAAU,kCAAmC,MAAM,IAAI,WAAW,CAA8DA,2DAAAA,EAAAA,UAAAA,CAAU,gCAAgC,CAAQA,KAAAA,EAAAA,UAAAA,CAAU,gCAAgC,CAAE,CAAA,CAAA,CAChV,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQO,UAAU,CAAA,gBAAA,CAAiB,SAAS,CAAA,CAAG,OAAS,CAAA,KAAA,CAAO,MAAM,CACjG,CAmBA,MAAa,iBAAkB,CAAA,SAAA,CAAmB,UAA4D,CAC7G,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,gBAAgB,SAAW,CAAA,SAAS,EAAG,EAAC,CAAG,MAAO,MAAM,CACtG,CA8CA,MAAa,aAAc,CAAA,SAAA,CAAmB,KAAmI,OAA0C,CAAA,CAAE,gBAAiB,IAAK,CAAA,eAAgB,EAA6C,CAC/S,GAAI,OAAO,IAAS,EAAA,QAAA,EAAY,CAAC,IAAK,CAAA,OAAA,EAAW,CAAC,IAAK,CAAA,MAAA,EAAU,CAAC,IAAK,CAAA,WAAA,EAAe,CAAC,IAAA,CAAK,UAAc,EAAA,CAAC,KAAK,KAAO,CAAA,MAAM,IAAI,KAAM,CAAA,4DAA4D,EAMnM,OALI,OAAO,IAAS,EAAA,QAAA,GAAU,IAAO,CAAA,CAAE,QAAS,IAAK,CAAA,CAAA,CAGjD,KAAK,OAAY,GAAA,OAAA,CAAQ,iBAAmB,IAAK,CAAA,eAAA,CAAA,GAAkB,IAAK,CAAA,OAAA,CAAUP,UAAU,CAAA,eAAA,CAAgB,KAAK,OAAO,CAAA,CAAA,CAExH,KAAK,KAAc,CAAA,IAAA,CAAK,eAAe,OAAQO,CAAAA,UAAAA,CAAU,iBAAiB,SAAS,CAAA,CAAG,EAAI,CAAA,MAAA,CAAQ,YAAa,MAAMP,UAAAA,CAAU,yBAAyB,IAAqE,CAAC,CACtN,CAAA,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQO,WAAU,gBAAiB,CAAA,SAAS,EAAG,EAAC,CAAG,OAAQ,MAAQ,CAAA,IAAI,CACxG,CA0BA,MAAa,kBAAA,CAAmB,UAAmB,IAAc,CAAA,oBAAA,CAA8B,SAAW,EAA8C,CAAA,CAEvJ,GAAM,CAAE,UAAA,CAAY,eAAgB,CAAA,CAAI,MAAM,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,oBAAoB,SAAS,CAAA,CAAG,EAAI,CAAA,MAAA,CAAQ,OAAQ,CACvI,KAAA,CAAO,CAAC,CACP,EAAA,CAAI,QACJ,QAAU,CAAA,mBAAA,CACV,UAAW,IAAK,CAAA,UACjB,CAAC,CACF,CAAC,CAAA,CAAE,KAAK,CAAK,EAAA,CAAA,CAAE,YAAY,CAAC,CAAC,EAG7B,OAAMQ,MAAAA,YAAAA,CAAM,UAAY,CAAA,CAAE,MAAQ,CAAA,KAAA,CAAO,KAAM,IAAK,CAAC,EAG9C,IAAK,CAAA,cAAA,CAAe,QAAQR,UAAU,CAAA,gBAAA,CAAiB,SAAS,CAAA,CAAG,EAAC,CAAG,OAAQ,MAAQ,CAAA,CAC7F,YAAa,CAAC,CACb,GAAI,OACJ,CAAA,iBAAA,CAAmB,gBACnB,QAAU,CAAA,mBAAA,CACV,cAAe,oBACf,CAAA,QACD,CAAC,CACD,CAAA,KAAA,CAAO,IACR,CAAC,CACF,CAoBA,MAAa,gBAAiB,CAAA,SAAA,CAAmB,UAAsE,CACtH,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,yBAA0B,CAAA,SAAA,CAAW,SAAS,CAAA,CAAG,EAAC,CAAG,OAAQ,MAAM,CACjH,CA4BA,MAAa,cAAA,CAAe,UAAmB,SAAmB,CAAA,KAAA,CAAgE,CACjI,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,6BAAA,CAA8B,UAAW,SAAW,CAAA,KAAA,CAAO,KAAK,CAAG,CAAA,GAAI,KAAO,CAAA,MAAM,CAClI,CAyBA,MAAa,mBAAmB,SAAmB,CAAA,SAAA,CAAmB,MAAuE,CAC5I,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,8BAA8B,SAAW,CAAA,SAAA,CAAW,MAAO,KAAK,CAAA,CAAG,EAAI,CAAA,QAAA,CAAU,MAAM,CACrI,CA8BA,MAAa,eAAe,SAAmB,CAAA,SAAA,CAAmB,MAAe,MAAqH,CAAA,CACrM,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQ,CAAA,MAAA,CAASA,UAAU,CAAA,6BAAA,CAA8B,UAAW,SAAW,CAAA,KAAA,CAAO,MAAM,CAAIA,CAAAA,UAAAA,CAAU,yBAAyB,SAAW,CAAA,SAAA,CAAW,KAAK,CAAG,CAAA,GAAI,QAAU,CAAA,MAAM,CACjN,CAqBA,MAAa,aAAa,SAAmB,CAAA,SAAA,CAAmB,KAAe,CAAA,OAAA,CAA4G,CAC1L,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,wBAAyB,CAAA,SAAA,CAAW,UAAW,KAAK,CAAA,CAAG,OAAS,CAAA,KAAA,CAAO,MAAM,CAC3H,CAmBA,MAAa,kBAAA,CAAmB,UAAmB,SAA2E,CAAA,CAC7H,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,yBAA0B,CAAA,SAAA,CAAW,SAAS,CAAG,CAAA,GAAI,QAAU,CAAA,MAAM,CACnH,CAuBA,MAAa,YAAY,SAAmB,CAAA,SAAA,CAAmB,KAAoI,OAA0C,CAAA,CAAE,gBAAiB,IAAK,CAAA,eAAgB,EAA8C,CAMlU,OALI,OAAO,IAAA,EAAS,QAAU,GAAA,IAAA,CAAO,CAAE,OAAS,CAAA,IAAK,GAGjD,IAAK,CAAA,OAAA,GAAY,QAAQ,eAAmB,EAAA,IAAA,CAAK,eAAkB,CAAA,GAAA,IAAA,CAAK,OAAUP,CAAAA,UAAAA,CAAU,gBAAgB,IAAK,CAAA,OAAO,GAExH,IAAK,CAAA,KAAA,CAAc,KAAK,cAAe,CAAA,OAAA,CAAQO,UAAU,CAAA,eAAA,CAAgB,SAAW,CAAA,SAAS,EAAG,EAAC,CAAG,QAAS,WAAa,CAAA,MAAMP,WAAU,wBAAyB,CAAA,IAAqE,CAAC,CACjO,CAAA,IAAA,CAAK,eAAe,OAAQO,CAAAA,UAAAA,CAAU,gBAAgB,SAAW,CAAA,SAAS,EAAG,EAAC,CAAG,OAAS,CAAA,MAAA,CAAQ,IAAI,CACnH,CAoBA,MAAa,aAAA,CAAc,UAAmB,SAAmB,CAAA,MAAA,CAA6D,CAC7H,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,eAAA,CAAgB,UAAW,SAAS,CAAA,CAAG,EAAI,CAAA,QAAA,CAAU,OAAQ,CAAE,MAAO,CAAC,CACrH,CAoBA,MAAa,mBAAmB,SAAmB,CAAA,QAAA,CAAyB,OAAsE,CACjJ,GAAI,SAAS,MAASP,CAAAA,UAAAA,CAAU,0BAA4B,QAAS,CAAA,MAAA,CAASA,WAAU,wBAA0B,CAAA,MAAM,IAAI,UAAW,CAAA,CAAA,mDAAA,EAAsDA,WAAU,wBAAwB,CAAA,KAAA,EAAQA,UAAU,CAAA,wBAAwB,CAAE,CAAA,CAAA,CAE3Q,IAAM,eAAkB,CAAA,MAAA,CAAO,KAAK,GAAI,EAAA,CAAI,QAAa,CAAK,CAAA,MAAA,CAAO,CAAC,CAAA,EAAK,MAAO,CAAA,EAAE,EAC9E,gBAAmB,CAAA,QAAA,CAAS,KAAK,CAAK,EAAA,MAAA,CAAO,CAAC,CAAI,CAAA,eAAe,CACvE,CAAA,GAAI,gBAAkB,CAAA,MAAM,IAAI,KAAM,CAAA,CAAA,YAAA,EAAe,gBAAgB,CAA8E,4EAAA,CAAA,CAAA,CACnJ,IAAM,IAAO,CAAA,CAAE,QAAS,CACxB,CAAA,OAAI,QAAQ,MAAO,CAAA,MAAA,CAAO,KAAM,CAAE,MAAO,CAAC,CACnC,CAAA,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQO,UAAU,CAAA,mBAAA,CAAoB,SAAS,CAAG,CAAA,GAAI,MAAQ,CAAA,MAAA,CAAQ,IAAI,CACtG,CAsBA,MAAa,qBAAA,CAAsB,SAAmB,CAAA,YAAA,CAAsB,KAA8G,CACzL,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,kBAAmB,CAAA,SAAA,CAAW,YAAY,CAAA,CAAG,EAAC,CAAG,MAAO,MAAQ,CAAA,IAAI,CAClH,CAiBA,MAAa,kBAAkB,SAA4D,CAAA,CAC1F,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,eAAA,CAAgB,SAAS,CAAG,CAAA,GAAI,KAAO,CAAA,MAAM,CAC3F,CAqBA,MAAa,mBAAA,CAAoB,UAAmB,IAAgE,CAAA,CAAE,QAAS,KAAO,CAAA,QAAA,CAAU,EAAG,SAAW,CAAA,CAAA,CAAA,CAAO,MAAQ,CAAA,CAAA,CAAM,CAA4C,CAAA,CAC9N,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,eAAA,CAAgB,SAAS,CAAG,CAAA,EAAI,CAAA,MAAA,CAAQ,MAAQ,CAAA,IAAI,CAClG,CAsBA,MAAa,wBAAwB,SAAmB,CAAA,YAAA,CAAsB,OAAgE,CAC7I,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,kBAAmB,CAAA,SAAA,CAAW,YAAY,CAAG,CAAA,GAAI,QAAU,CAAA,MAAA,CAAQ,CAAE,MAAO,CAAC,CAC3H,CAkBA,MAAa,yBAAA,CAA0B,UAAmB,gBAAsE,CAAA,CAC/H,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,iBAAkB,CAAA,SAAS,EAAG,EAAC,CAAG,OAAQ,MAAQ,CAAA,CAAE,mBAAoB,gBAAiB,CAAC,CACxI,CAoBA,MAAa,kBAAA,CAAmB,UAA4D,CAC3F,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,cAAe,CAAA,SAAS,EAAG,EAAC,CAAG,OAAQ,MAAM,CAC3F,CAiBA,MAAa,wBAAA,CAAyB,UAAyD,CAC9F,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,aAAa,SAAS,CAAA,CAAG,EAAI,CAAA,KAAA,CAAO,MAAM,CACxF,CAqBA,MAAa,uBAAA,CAAwB,SAAmB,CAAA,SAAA,CAAmB,OAAsD,CAChI,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,WAAY,CAAA,SAAA,CAAW,SAAS,CAAA,CAAG,EAAC,CAAG,MAAO,MAAQ,CAAA,CAAE,MAAO,CAAC,CAC9G,CAqBA,MAAa,0BAAA,CAA2B,UAAmB,SAAmB,CAAA,MAAA,CAAyD,CACtI,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,YAAY,SAAW,CAAA,SAAS,CAAG,CAAA,EAAI,CAAA,QAAA,CAAU,OAAQ,CAAE,MAAO,CAAC,CACjH,CAoBA,MAAa,uBAAwB,CAAA,SAAA,CAAmB,SAAmB,CAAA,OAAA,CAA6H,CACvM,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,uBAAwB,CAAA,SAAA,CAAW,SAAS,CAAG,CAAA,EAAI,CAAA,MAAA,CAAQ,MAAQ,CAAA,OAAO,CACxH,CAuBA,MAAa,2BAA2B,SAAmB,CAAA,OAAA,CAAwL,CAClP,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,gBAAgB,SAAS,CAAA,CAAG,EAAI,CAAA,MAAA,CAAQ,OAAQ,OAAO,CACrG,CAgBA,MAAa,UAAW,CAAA,QAAA,CAAiE,CACxF,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,sBAAsB,QAAU,CAAA,KAAK,EAAG,EAAC,CAAG,MAAO,MAAM,CACvG,CAoBA,MAAa,eAAA,CAAgB,SAAkB,MAA+D,CAAA,CAC7G,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,qBAAsB,CAAA,QAAA,CAAU,MAAM,CAAG,CAAA,GAAI,KAAO,CAAA,MAAM,CACxG,CAYA,MAAa,YAAY,QAAoE,CAAA,CAC5F,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,qBAAA,CAAsB,QAAU,CAAA,KAAK,CAAG,CAAA,GAAI,QAAU,CAAA,MAAM,CAC1G,CAiBO,kBAAA,CAAmB,SAAkB,MAAkE,CAAA,CAC7G,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,qBAAsB,CAAA,QAAA,CAAU,MAAM,CAAG,CAAA,GAAI,QAAU,CAAA,MAAM,CAC3G,CAkBA,MAAa,eAAA,CAAgB,SAAkB,MAAgB,CAAA,UAAA,CAAoE,CAClI,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,sBAAsB,QAAU,CAAA,MAAM,EAAG,CAAE,WAAA,CAAa,UAAW,CAAG,CAAA,KAAA,CAAO,MAAM,CACjI,CAqBA,MAAa,gBAAA,CAAiB,SAAmB,CAAA,OAAA,CAA8F,CAC9I,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,uBAAuB,SAAS,CAAA,CAAG,OAAS,CAAA,KAAA,CAAO,MAAM,CACvG,CAkBA,MAAa,+BAAA,CAAgC,UAAmB,OAAwG,CAAA,CACvK,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,+BAAgC,CAAA,SAAS,EAAG,OAAS,CAAA,KAAA,CAAO,MAAM,CAChH,CAqBA,MAAa,gCAAiC,CAAA,SAAA,CAAmB,QAAyG,CACzK,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,gCAAiC,CAAA,SAAS,EAAG,OAAS,CAAA,KAAA,CAAO,MAAM,CACjH,CAmBA,MAAa,qCAAqC,SAAmB,CAAA,OAAA,CAAuG,CAC3K,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,qCAAsC,CAAA,SAAS,CAAG,CAAA,OAAA,CAAS,MAAO,MAAM,CACtH,CAYA,MAAa,qBAAA,CAAsB,YAAuF,CACzH,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,yBAA0B,EAAC,CAAG,OAAQ,MAAQ,CAAA,CAC1F,gBAAiB,KAAM,CAAA,OAAA,CAAQ,WAAW,CAAI,CAAA,WAAA,CAAc,CAAC,WAAW,CACzE,CAAC,CACF,CACD,EAEA,MAAS,CAAA,OAAA,CAAA,eAAA,CAAA,CAAA,CAAA,CC19BT,iFAEA,IAAOP,UAAAA,CAAY,oBACZO,UAAY,CAAA,iBAAA,EAAA,CA+Bb,mBAAN,KAAyB,CASjB,WAAmB,CAAA,cAAA,CAAoB,CAApB,IAAA,CAAA,cAAA,CAAA,eAAqB,CAY/C,MAAa,SAAA,CAAU,QAAuD,CAC7E,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,YAAA,CAAa,OAAO,CAAA,CAAG,EAAI,CAAA,KAAA,CAAO,MAAM,CACtF,CAaA,MAAa,QAAS,CAAA,OAAA,CAAiB,QAAsD,CAC5F,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,WAAY,CAAA,OAAA,CAAS,OAAO,CAAG,CAAA,EAAI,CAAA,KAAA,CAAO,MAAM,CAC9F,CAuBA,MAAa,WAAA,CAAY,QAAiB,IAAkG,CAAA,CAC3I,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,YAAa,CAAA,OAAO,EAAG,EAAC,CAAG,OAAQ,MAAQ,CAAA,IAAI,CAC7F,CAsBA,MAAa,WAAY,CAAA,OAAA,CAAiB,OAAiB,CAAA,IAAA,CAAoG,CAC9J,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,YAAY,OAAS,CAAA,OAAO,EAAG,EAAC,CAAG,QAAS,MAAQ,CAAA,IAAI,CACtG,CAmBA,MAAa,YAAY,OAAiB,CAAA,OAAA,CAAiB,MAAyD,CAAA,CACnH,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,YAAY,OAAS,CAAA,OAAO,EAAG,EAAC,CAAG,QAAU,CAAA,MAAA,CAAQ,CAAE,MAAO,CAAC,CAC7G,CAYA,MAAa,UAAW,CAAA,SAAA,CAAqD,CAC5E,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,OAAA,CAAQ,SAAS,CAAG,CAAA,GAAI,KAAO,CAAA,MAAM,CACnF,CAgBA,MAAa,iBAAiB,OAAyD,CAAA,CACtF,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,cAAA,CAAe,OAAO,CAAG,CAAA,EAAI,CAAA,KAAA,CAAO,MAAM,CACxF,CAiBA,MAAa,eAAA,CAAgB,QAAiB,SAA0D,CAAA,CACvG,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,aAAc,CAAA,OAAA,CAAS,SAAS,CAAG,CAAA,GAAI,KAAO,CAAA,MAAM,CAClG,CA6BA,MAAa,kBAAmB,CAAA,OAAA,CAAiB,IAAkK,CAAA,CAClN,IAAM,IAAO,CAAA,IAAIN,gBACX,MAAS,CAAA,IAAA,CAAK,OAChB,IAAK,CAAA,MAAA,EAAQ,OAAO,IAAK,CAAA,MAAA,CAE7B,QAAW,GAAO,IAAA,MAAA,CAAO,KAAK,IAAI,CAAA,CACjC,MAAMD,UAAU,CAAA,wBAAA,CAAyB,IAAM,CAAA,GAAA,CAAK,IAAK,CAAA,GAAG,CAAC,CAG9D,CAAA,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQO,WAAU,cAAe,CAAA,OAAO,EAAG,EAAC,CAAG,OAAQ,WAAa,CAAA,IAAA,CAAM,OAAS,CAAE,oBAAA,CAAsB,MAAO,CAAI,CAAA,KAAA,CAAS,CAC3J,CAmBO,kBAAmB,CAAA,OAAA,CAAiB,UAAmB,IAAwG,CAAA,CACrK,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,aAAA,CAAc,QAAS,SAAS,CAAA,CAAG,EAAI,CAAA,OAAA,CAAS,OAAQ,IAAI,CAC1G,CAmBO,kBAAmB,CAAA,OAAA,CAAiB,SAAmB,CAAA,MAAA,CAA2D,CACxH,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,aAAc,CAAA,OAAA,CAAS,SAAS,CAAG,CAAA,EAAI,CAAA,QAAA,CAAU,MAAQ,CAAA,CAAE,MAAO,CAAC,CACjH,CACD,CAEA,CAAA,MAAA,CAAA,OAAA,CAAS,uBCrRT,IAAOA,cAAAA,CAAAA,UAAAA,CAAAA,CAAAA,uBAAAA,CAAAA,OAAAA,CAAAA,MAAAA,CAAAA,CAAAA,IAAAA,UAAAA,CAAY,iBACZP,EAAAA,CAAAA,UAAAA,CAAY,iBAwEb,EAAA,CAAA,YAAA,CAAN,KAAmB,CASX,WAAA,CAAmB,eAAoB,CAApB,IAAA,CAAA,cAAA,CAAA,eAAqB,CAiB/C,MAAa,WAAA,CAAY,KAAmE,CAC3F,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQO,WAAU,MAAQ,CAAA,GAAI,MAAQ,CAAA,MAAA,CAAQ,IAAI,CAC9E,CAeA,MAAa,SAAS,OAAiB,CAAA,UAAA,CAAsD,CAC5F,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,KAAM,CAAA,OAAO,CAAG,CAAA,CAAE,YAAa,UAAW,CAAA,CAAG,MAAO,MAAM,CACxG,CAYA,MAAa,eAAA,CAAgB,OAAwD,CAAA,CACpF,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,cAAc,OAAO,CAAA,CAAG,EAAI,CAAA,KAAA,CAAO,MAAM,CACvF,CAqBA,MAAa,WAAY,CAAA,OAAA,CAAiB,KAAmE,CAC5G,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,KAAA,CAAM,OAAO,CAAA,CAAG,EAAI,CAAA,OAAA,CAAS,OAAQ,IAAI,CACvF,CAgBA,MAAa,WAAA,CAAY,OAAoD,CAAA,CAC5E,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,MAAM,OAAO,CAAA,CAAG,EAAI,CAAA,QAAA,CAAU,MAAM,CAClF,CAcA,MAAa,iBAAiB,OAAyD,CAAA,CACtF,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,cAAA,CAAe,OAAO,CAAG,CAAA,GAAI,KAAO,CAAA,MAAM,CACxF,CAyBA,MAAa,mBAAmB,OAAiB,CAAA,IAAA,CAA+E,CAC/H,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,cAAA,CAAe,OAAO,CAAG,CAAA,GAAI,MAAQ,CAAA,MAAA,CAAQ,IAAI,CAC/F,CAmBA,MAAa,uBAAuB,OAAiB,CAAA,IAAA,CAAiD,OAAmE,CACxK,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,cAAA,CAAe,OAAO,CAAA,CAAG,EAAI,CAAA,OAAA,CAAS,OAAQ,IAAM,CAAA,MAAA,CAAS,CAAE,oBAAsB,CAAA,MAAO,EAAI,KAAS,CAAA,CACvJ,CAYA,MAAa,iBAAA,CAAkB,QAAwD,CACtF,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,oBAAA,CAAqB,OAAO,CAAA,CAAG,EAAI,CAAA,KAAA,CAAO,MAAM,CAC9F,CAeA,MAAa,cAAe,CAAA,OAAA,CAAiB,QAAwD,CAAA,CACpG,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,aAAa,OAAS,CAAA,QAAQ,EAAG,EAAC,CAAG,KAAO,CAAA,MAAM,CAChG,CAoBA,MAAa,eAAgB,CAAA,OAAA,CAAiB,QAA8E,CAC3H,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,aAAc,CAAA,OAAO,EAAG,OAAS,CAAA,KAAA,CAAO,MAAM,CAC5F,CAcA,MAAa,kBAAmB,CAAA,OAAA,CAAiB,OAAyF,CAAA,CACzI,GAAI,OAAA,CAAQ,QAAU,KAAc,CAAA,GAAA,OAAA,CAAQ,MAAQP,UAAU,CAAA,0BAAA,EAA8B,QAAQ,KAAQA,CAAAA,UAAAA,CAAU,0BAA6B,CAAA,CAAA,MAAM,IAAI,UAAA,CAAW,uDAAuDA,UAAU,CAAA,0BAA0B,QAAQA,UAAU,CAAA,0BAA0B,EAAE,CACjT,CAAA,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQO,CAAAA,UAAAA,CAAU,qBAAqB,OAAO,CAAA,CAAG,QAAS,KAAO,CAAA,MAAM,CACnG,CA4BA,MAAa,eAAe,OAAiB,CAAA,QAAA,CAAkB,KAA2E,CACzI,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,YAAa,CAAA,OAAA,CAAS,QAAQ,CAAA,CAAG,EAAC,CAAG,MAAO,MAAQ,CAAA,IAAI,CACtG,CA4BA,MAAa,kBAAkB,OAAiB,CAAA,QAAA,CAAkB,IAA+E,CAAA,CAChJ,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,aAAa,OAAS,CAAA,QAAQ,EAAG,EAAC,CAAG,OAAS,CAAA,MAAA,CAAQ,IAAI,CACxG,CAqBA,MAAa,UAAA,CAAW,QAAiB,IAA8F,CAAA,CACtI,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,YAAA,CAAa,QAAS,KAAK,CAAA,CAAG,EAAI,CAAA,OAAA,CAAS,OAAQ,IAAI,CACrG,CAoBA,MAAa,kBAAmB,CAAA,OAAA,CAAiB,SAAkB,MAAgB,CAAA,MAAA,CAA2D,CAC7I,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,kBAAkB,OAAS,CAAA,QAAA,CAAU,MAAM,CAAG,CAAA,GAAI,KAAO,CAAA,MAAA,CAAQ,CAAE,MAAO,CAAC,CACzH,CAoBA,MAAa,qBAAA,CAAsB,QAAiB,QAAkB,CAAA,MAAA,CAAgB,OAA8D,CACnJ,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,iBAAkB,CAAA,OAAA,CAAS,SAAU,MAAM,CAAA,CAAG,EAAI,CAAA,QAAA,CAAU,OAAQ,CAAE,MAAO,CAAC,CAC5H,CAmBA,MAAa,kBAAkB,OAAiB,CAAA,QAAA,CAAkB,OAA0D,CAC3H,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,YAAA,CAAa,OAAS,CAAA,QAAQ,EAAG,EAAC,CAAG,SAAU,MAAQ,CAAA,CAAE,MAAO,CAAC,CAC/G,CAiBA,MAAa,YAAa,CAAA,OAAA,CAAiB,QAAwE,CAClH,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,UAAW,CAAA,OAAO,EAAG,OAAS,CAAA,KAAA,CAAO,MAAM,CACzF,CAmBA,MAAa,WAAY,CAAA,OAAA,CAAiB,SAAqD,CAC9F,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,UAAU,OAAS,CAAA,QAAQ,EAAG,EAAC,CAAG,MAAO,MAAM,CAC7F,CAuBA,MAAa,cAAe,CAAA,OAAA,CAAiB,SAAkB,IAA6F,CAAA,CAC3J,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,SAAA,CAAU,OAAS,CAAA,QAAQ,CAAG,CAAA,GAAI,KAAO,CAAA,MAAA,CAAQ,IAAI,CACnG,CAmBA,MAAa,cAAe,CAAA,OAAA,CAAiB,SAAkB,MAAuD,CAAA,CACrH,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,SAAA,CAAU,QAAS,QAAQ,CAAA,CAAG,EAAC,CAAG,QAAU,CAAA,MAAA,CAAQ,CAAE,MAAO,CAAC,CAC5G,CAgBA,MAAa,cAAc,OAAsD,CAAA,CAChF,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,WAAY,CAAA,OAAO,EAAG,EAAC,CAAG,MAAO,MAAM,CACrF,CAsBA,MAAa,eAAgB,CAAA,OAAA,CAAiB,KAAiG,CAC9I,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,WAAY,CAAA,OAAO,EAAG,EAAC,CAAG,OAAQ,MAAQ,CAAA,IAAI,CAC5F,CAkBA,MAAa,yBAAyB,OAAiB,CAAA,IAAA,CAA8C,MAAgE,CAAA,CACpK,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,YAAY,OAAO,CAAA,CAAG,EAAI,CAAA,OAAA,CAAS,MAAQ,CAAA,IAAA,CAAM,MAAS,CAAA,CAAE,qBAAsB,MAAO,CAAA,CAAI,MAAS,CACpJ,CAqBA,MAAa,eAAgB,CAAA,OAAA,CAAiB,MAAgB,CAAA,IAAA,CAA2E,CACxI,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,UAAW,CAAA,OAAA,CAAS,MAAM,CAAG,CAAA,GAAI,OAAS,CAAA,MAAA,CAAQ,IAAI,CACpG,CAmBA,MAAa,eAAgB,CAAA,OAAA,CAAiB,OAAgB,MAAwD,CAAA,CACrH,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,UAAW,CAAA,OAAA,CAAS,MAAM,CAAG,CAAA,GAAI,QAAU,CAAA,MAAA,CAAQ,CAAE,MAAO,CAAC,CAC3G,CAiBA,MAAa,kBAAA,CAAmB,QAAiB,OAAoF,CAAA,CACpI,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,WAAY,CAAA,OAAO,EAAG,OAAS,CAAA,KAAA,CAAO,MAAM,CAC1F,CAmBA,MAAa,eAAgB,CAAA,OAAA,CAAiB,KAAkG,CAC/I,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,WAAY,CAAA,OAAO,EAAG,EAAC,CAAG,MAAQ,CAAA,MAAA,CAAQ,IAAI,CAC5F,CAYA,MAAa,oBAAA,CAAqB,QAA6D,CAC9F,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,mBAAA,CAAoB,OAAO,CAAA,CAAG,EAAI,CAAA,KAAA,CAAO,MAAM,CAC7F,CAgBA,MAAa,eAAgB,CAAA,OAAA,CAAwD,CACpF,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,aAAA,CAAc,OAAO,CAAG,CAAA,GAAI,KAAO,CAAA,MAAM,CACvF,CAgBA,MAAa,qBAAqB,OAA6D,CAAA,CAC9F,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,kBAAA,CAAmB,OAAO,CAAA,CAAG,EAAC,CAAG,MAAO,MAAM,CAC5F,CAkBA,MAAa,sBAAA,CAAuB,QAAiB,aAAuB,CAAA,MAAA,CAA+D,CAC1I,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,iBAAA,CAAkB,QAAS,aAAa,CAAA,CAAG,EAAI,CAAA,QAAA,CAAU,MAAQ,CAAA,CAAE,MAAO,CAAC,CACzH,CAgBA,MAAa,uBAAuB,OAA+D,CAAA,CAClG,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,qBAAA,CAAsB,OAAO,CAAG,CAAA,GAAI,KAAO,CAAA,MAAM,CAC/F,CAkBA,MAAa,yBAA0B,CAAA,OAAA,CAAiB,IAA8H,CAAA,CACrL,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,qBAAA,CAAsB,OAAO,CAAG,CAAA,EAAI,CAAA,OAAA,CAAS,MAAQ,CAAA,IAAI,CACvG,CAYA,MAAa,eAAe,OAA0C,CAAA,CACrE,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,YAAa,CAAA,OAAO,EAAG,EAAC,CAAG,MAAO,MAAM,CACtF,CAgBA,MAAa,iBAAA,CAAkB,QAA0D,CACxF,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,YAAa,CAAA,OAAO,EAAG,EAAC,CAAG,KAAO,CAAA,MAAM,CACtF,CAgBA,MAAa,qBAAsB,CAAA,OAAA,CAA8D,CAChG,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,oBAAqB,CAAA,OAAO,CAAG,CAAA,GAAI,KAAO,CAAA,MAAM,CAC9F,CAkBA,MAAa,uBAAuB,OAAiB,CAAA,IAAA,CAAoH,CACxK,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,oBAAA,CAAqB,OAAO,CAAG,CAAA,GAAI,OAAS,CAAA,MAAA,CAAQ,IAAI,CACtG,CAmBO,4BAA4B,OAAiB,CAAA,IAAA,CAAiH,CACpK,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,sBAAuB,CAAA,OAAA,CAAS,KAAK,CAAA,CAAG,EAAI,CAAA,OAAA,CAAS,OAAQ,IAAI,CAC/G,CAmBO,oBAAqB,CAAA,OAAA,CAAiB,MAAgB,CAAA,IAAA,CAA+F,CAC3J,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,sBAAuB,CAAA,OAAA,CAAS,MAAM,CAAG,CAAA,EAAI,CAAA,OAAA,CAAS,MAAQ,CAAA,IAAI,CAChH,CACD,CAAA,CAEA,eAAS,aC94BT,CAAA,CAAA,CAAA,CAAA,IAAA,2BAAA,CAAA,UAAA,CAAA,CAAA,oCAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA,IAAOA,WAAY,iBACZP,EAAAA,CAAAA,UAAAA,CAAY,oBAoBb,0BAAN,CAAA,KAAiC,CASzB,WAAmB,CAAA,cAAA,CAAoB,CAApB,IAAqB,CAAA,cAAA,CAAA,eAAA,CAa/C,MAAa,wBAAyB,CAAA,OAAA,CAAiB,UAAqE,CAAA,CAC3H,OAAO,IAAA,CAAK,eAAe,OAAQO,CAAAA,UAAAA,CAAU,uBAAuB,OAAO,CAAA,CAAG,CAAE,eAAiB,CAAA,UAAW,CAAG,CAAA,KAAA,CAAO,MAAM,CAC7H,CA4BA,MAAa,yBAAA,CAA0B,QAAiB,IAA6F,CAAA,CACpJ,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,sBAAuB,CAAA,OAAO,EAAG,EAAC,CAAG,OAAQ,MAAQ,CAAA,IAAI,CACvG,CAkBA,MAAa,uBAAuB,OAAiB,CAAA,OAAA,CAAiB,WAAoE,CACzI,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,qBAAsB,CAAA,OAAA,CAAS,OAAO,CAAA,CAAG,EAAC,CAAG,MAAO,MAAQ,CAAA,CAAE,gBAAiB,UAAW,CAAC,CACzI,CAwBA,MAAa,uBAAwB,CAAA,OAAA,CAAiB,OAAiB,CAAA,IAAA,CAA+F,CACrK,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,sBAAsB,OAAS,CAAA,OAAO,CAAG,CAAA,EAAI,CAAA,OAAA,CAAS,OAAQ,IAAI,CAChH,CAsBA,MAAa,yBAAA,CAA0B,QAAiB,OAAkE,CAAA,CACzH,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,qBAAA,CAAsB,QAAS,OAAO,CAAA,CAAG,EAAI,CAAA,QAAA,CAAU,MAAM,CAC3G,CAkBA,MAAa,4BAA4B,OAAiB,CAAA,OAAA,CAAiB,QAAsG,CAChL,GAAA,CAAI,6BAAS,KAAU,IAAA,KAAA,CAAA,GAAc,OAAQ,CAAA,KAAA,CAAQP,UAAU,CAAA,2CAAA,EAA+C,QAAQ,KAAQA,CAAAA,UAAAA,CAAU,6CAA8C,MAAM,IAAI,WAAW,CAAuEA,oEAAAA,EAAAA,UAAAA,CAAU,2CAA2C,CAAA,KAAA,EAAQA,UAAU,CAAA,2CAA2C,EAAE,CACtY,CAAA,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQO,WAAU,2BAA4B,CAAA,OAAA,CAAS,OAAO,CAAG,CAAA,OAAA,CAAS,MAAO,MAAM,CACnH,CACD,CAEA,CAAA,MAAA,CAAA,OAAA,CAAS,+BCzKT,IAAOA,qBAAAA,CAAAA,UAAAA,CAAAA,CAAAA,8BAAAA,CAAAA,OAAAA,CAAAA,MAAAA,CAAAA,CAAAA,IAAAA,UAAAA,CAAY,iBAqBb,EAAA,CAAA,oBAAA,CAAN,KAA2B,CASnB,YAAmB,cAAoB,CAAA,CAApB,mCAAqB,CAYxC,gBAAA,CAAiB,KAAiD,CACxE,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,SAAS,IAAI,CAAA,CAAG,EAAI,CAAA,KAAA,CAAO,MAAM,CAC/E,CAaO,4BAA6B,CAAA,IAAA,CAAc,OAAgG,CAAA,CACjJ,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,QAAA,CAAS,IAAI,CAAG,CAAA,GAAI,MAAQ,CAAA,MAAA,CAAQ,OAAO,CACzF,CAgBO,kBAAkB,OAA0D,CAAA,CAClF,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,eAAgB,CAAA,OAAO,EAAG,EAAC,CAAG,MAAO,MAAM,CACzF,CAiBO,mBAAoB,CAAA,OAAA,CAAiB,IAAmF,CAAA,CAC9H,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,gBAAgB,OAAO,CAAA,CAAG,EAAI,CAAA,MAAA,CAAQ,MAAQ,CAAA,IAAI,CAChG,CAiBO,kBAAkB,OAAiB,CAAA,IAAA,CAA0D,CACnG,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,eAAe,OAAS,CAAA,IAAI,EAAG,EAAC,CAAG,MAAO,MAAM,CAC9F,CAkBO,mBAAoB,CAAA,OAAA,CAAiB,IAAc,CAAA,IAAA,CAAmF,CAC5I,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,cAAe,CAAA,OAAA,CAAS,IAAI,CAAG,CAAA,GAAI,OAAS,CAAA,MAAA,CAAQ,IAAI,CACtG,CAiBO,oBAAoB,OAAiB,CAAA,IAAA,CAAyD,CACpG,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,cAAA,CAAe,QAAS,IAAI,CAAA,CAAG,EAAI,CAAA,QAAA,CAAU,MAAM,CACjG,CACD,EAEA,MAAS,CAAA,OAAA,CAAA,qBAAA,CAAA,CAAA,CAAA,CC7JT,uFAAOA,UAAY,CAAA,iBAAA,EAAA,CACZP,WAAY,iBA6Cb,EAAA,CAAA,kBAAA,CAAN,KAAyB,CAUjB,WAAA,CAAmB,cAA2B,CAAA,QAAA,CAAe,CAA1C,IAAA,CAAA,cAAA,CAAA,cAAA,CAA2B,uBAAgB,CAa9D,sBAAA,CAAuB,MAAe,iBAA2E,CAAA,CACvH,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQO,CAAAA,UAAAA,CAAU,oBAAqB,CAAA,KAAK,EAAG,CAAE,kBAAA,CAAoB,iBAAkB,CAAG,CAAA,KAAA,CAAO,MAAM,CACnI,CAaO,wBAAyB,CAAA,KAAA,CAAe,IAA6F,CAAA,CAC3I,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,oBAAA,CAAqB,KAAK,CAAG,CAAA,GAAI,MAAQ,CAAA,MAAA,CAAQ,IAAI,CACnG,CAaO,sBAAsB,KAAe,CAAA,KAAA,CAA4D,CACvG,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,mBAAA,CAAoB,MAAO,KAAK,CAAA,CAAG,EAAI,CAAA,KAAA,CAAO,MAAM,CAClG,CAcO,sBAAuB,CAAA,KAAA,CAAe,KAAe,CAAA,IAAA,CAA6F,CACxJ,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,oBAAoB,KAAO,CAAA,KAAK,CAAG,CAAA,EAAI,CAAA,OAAA,CAAS,OAAQ,IAAI,CAC1G,CAaO,wBAAyB,CAAA,KAAA,CAAe,MAA+B,CAC7E,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,mBAAoB,CAAA,KAAA,CAAO,KAAK,CAAG,CAAA,GAAI,QAAU,CAAA,MAAM,CACrG,CAcO,gCAAiC,CAAA,KAAA,CAAe,KAA2F,CACjJ,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,oBAAqB,CAAA,KAAK,CAAG,CAAA,EAAI,CAAA,KAAA,CAAO,OAAQ,IAAI,CAClG,CAcO,2BAA4B,CAAA,KAAA,CAAe,QAAiB,iBAAgF,CAAA,CAClJ,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,0BAA2B,CAAA,KAAA,CAAO,OAAO,CAAG,CAAA,CAAE,mBAAoB,iBAAkB,CAAA,CAAG,MAAO,MAAM,CAClJ,CAcO,6BAA8B,CAAA,KAAA,CAAe,QAAiB,IAAuG,CAAA,CAC3K,OAAO,IAAK,CAAA,cAAA,CAAe,OAAQA,CAAAA,UAAAA,CAAU,0BAA2B,CAAA,KAAA,CAAO,OAAO,CAAG,CAAA,GAAI,MAAQ,CAAA,MAAA,CAAQ,IAAI,CAClH,CAcO,0BAA2B,CAAA,KAAA,CAAe,OAAiB,CAAA,KAAA,CAAiE,CAClI,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,0BAA0B,KAAO,CAAA,OAAA,CAAS,KAAK,CAAA,CAAG,EAAC,CAAG,MAAO,MAAM,CACjH,CAeO,2BAA4B,CAAA,KAAA,CAAe,QAAiB,KAAe,CAAA,IAAA,CAAuG,CACxL,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,0BAA0B,KAAO,CAAA,OAAA,CAAS,KAAK,CAAG,CAAA,EAAI,CAAA,OAAA,CAAS,MAAQ,CAAA,IAAI,CACzH,CAcO,6BAAA,CAA8B,MAAe,OAAiB,CAAA,KAAA,CAA+B,CACnG,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,yBAAA,CAA0B,MAAO,OAAS,CAAA,KAAK,EAAG,EAAC,CAAG,SAAU,MAAM,CACpH,CAcO,qCAAA,CAAsC,KAAe,CAAA,OAAA,CAAiB,KAAqG,CACjL,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,0BAA2B,CAAA,KAAA,CAAO,OAAO,CAAG,CAAA,GAAI,KAAO,CAAA,MAAA,CAAQ,IAAI,CACjH,CAsBO,sCAAsC,KAAe,CAAA,OAAA,CAAiB,KAA+H,CAAA,CAC3M,OAAI,KAAA,CAAc,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,qCAAsC,CAAA,KAAA,CAAO,QAAS,KAAK,CAAA,CAAG,EAAC,CAAG,KAAO,CAAA,MAAM,EAChI,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,sCAAA,CAAuC,MAAO,OAAO,CAAA,CAAG,EAAC,CAAG,KAAO,CAAA,MAAM,CACvH,CAeO,sCAAA,CAAuC,MAAe,OAAiB,CAAA,KAAA,CAAe,YAAqI,CACjO,IAAM,QAAU,CAAE,WAAyB,EAC3C,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,sCAAsC,KAAO,CAAA,OAAA,CAAS,KAAK,CAAA,CAAG,EAAC,CAAG,MAAO,MAAQ,CAAA,OAAO,CACtI,CAmBA,MAAa,0BAA0B,aAAuB,CAAA,KAAA,CAAe,IAA8I,CAAA,CAC1N,OAAI,IAAA,CAAK,MAAc,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,oBAAA,CAAqB,cAAe,KAAK,CAAA,CAAG,EAAC,CAAG,MAAQ,CAAA,WAAA,CAAa,MAAMP,UAAU,CAAA,wBAAA,CAAyB,IAAqE,CAAC,CAAA,CACrO,KAAK,cAAe,CAAA,OAAA,CAAQO,WAAU,oBAAqB,CAAA,aAAA,CAAe,KAAK,CAAG,CAAA,GAAI,MAAQ,CAAA,MAAA,CAAQ,IAAI,CACvH,CAaO,8BAA+B,CAAA,KAAA,CAAe,KAAqE,CAAA,CACzH,OAAO,IAAK,CAAA,QAAA,CAAS,kBAAkB,KAAO,CAAA,KAAA,CAAO,WAAW,CACjE,CAcO,gCAAgC,KAAe,CAAA,KAAA,CAAe,KAA+L,CACnQ,OAAO,KAAK,QAAS,CAAA,kBAAA,CAAmB,MAAO,KAAO,CAAA,WAAA,CAAa,IAAI,CACxE,CAaO,iCAAA,CAAkC,MAAe,KAAwE,CAAA,CAC/H,OAAO,IAAK,CAAA,QAAA,CAAS,qBAAqB,KAAO,CAAA,KAAA,CAAO,WAAW,CACpE,CAcO,sBAAsB,KAAe,CAAA,KAAA,CAAe,KAA8K,CAExO,OAAO,KAAK,QAAS,CAAA,cAAA,CAAe,KAAO,CAAA,KAAA,CAAO,IAAI,CACvD,CAcO,kBAAmB,CAAA,KAAA,CAAe,MAAe,SAAiE,CAAA,CACxH,OAAO,IAAK,CAAA,QAAA,CAAS,iBAAkB,CAAA,KAAA,CAAO,KAAO,CAAA,SAAS,CAC/D,CAeO,mBAAA,CAAoB,MAAe,KAAe,CAAA,SAAA,CAAmB,KAAgL,CAC3P,OAAO,IAAK,CAAA,QAAA,CAAS,kBAAmB,CAAA,KAAA,CAAO,MAAO,SAAW,CAAA,IAAI,CACtE,CAcO,qBAAA,CAAsB,MAAe,KAAe,CAAA,SAAA,CAAoE,CAC9H,OAAO,IAAA,CAAK,SAAS,oBAAqB,CAAA,KAAA,CAAO,MAAO,SAAS,CAClE,CACD,CAEA,CAAA,MAAA,CAAA,OAAA,CAAS,mBCzaT,CAAA,CAAA,CAAA,CAAA,IAAA,eAAA,CAAA,UAAA,CAAA,CAAA,wBAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA,IAAOA,UAAY,CAAA,iBAAA,EAAA,CAcb,cAAN,KAAoB,CASZ,YAAmB,cAAoB,CAAA,CAApB,mCAAqB,CAc/C,MAAa,SAAU,CAAA,QAAA,CAAkB,OAAkE,CAAA,CAC1G,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,OAAA,CAAQ,QAAQ,CAAG,CAAA,OAAA,CAAS,KAAO,CAAA,MAAM,CACvF,CAiBA,MAAa,YAAa,CAAA,QAAA,CAAsD,CAC/E,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,QAAQ,QAAQ,CAAA,CAAG,EAAI,CAAA,QAAA,CAAU,MAAM,CACrF,CACD,EAEA,MAAS,CAAA,OAAA,CAAA,cAAA,CAAA,CAAA,CAAA,CC7DT,IAAOA,qBAAAA,CAAAA,UAAAA,CAAAA,CAAAA,8BAAAA,CAAAA,OAAAA,CAAAA,MAAAA,CAAAA,CAAAA,IAAAA,UAAAA,CAAY,iBAiBb,EAAA,CAAA,oBAAA,CAAN,KAA2B,CASnB,WAAA,CAAmB,eAAoB,CAApB,IAAA,CAAA,cAAA,CAAA,eAAqB,CAmB/C,MAAa,mBAAA,CAAoB,IAAwG,CAAA,CACxI,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,gBAAiB,EAAC,CAAG,OAAQ,MAAQ,CAAA,IAAI,CACvF,CAYA,MAAa,gBAAA,CAAiB,UAA2D,CACxF,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,sBAAuB,CAAA,SAAS,EAAG,EAAC,CAAG,MAAO,MAAM,CAClG,CAmBA,MAAa,iBAAA,CAAkB,UAAmB,IAA0G,CAAA,CAC3J,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,sBAAuB,CAAA,SAAS,EAAG,EAAC,CAAG,QAAS,MAAQ,CAAA,IAAI,CAC1G,CAmBA,MAAa,mBAAA,CAAoB,UAAmB,MAA4D,CAAA,CAC/G,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,sBAAA,CAAuB,SAAS,CAAA,CAAG,EAAC,CAAG,SAAU,MAAQ,CAAA,CAAE,MAAO,CAAC,CACjH,CACD,CAEA,CAAA,MAAA,CAAA,OAAA,CAAS,yBC1GT,IAAOA,aAAAA,CAAAA,UAAAA,CAAAA,CAAAA,sBAAAA,CAAAA,OAAAA,CAAAA,MAAAA,CAAAA,CAAAA,IAAAA,UAAAA,CAAY,oBAuBb,WAAN,CAAA,KAAkB,CASV,WAAmB,CAAA,cAAA,CAAoB,CAApB,IAAqB,CAAA,cAAA,CAAA,eAAA,CAgB/C,MAAa,OAAA,EAAgD,CAC5D,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,IAAK,CAAA,KAAK,EAAG,EAAC,CAAG,KAAO,CAAA,MAAM,CAC5E,CAYA,MAAa,OAAQ,CAAA,MAAA,CAA+C,CACnE,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,IAAK,CAAA,MAAM,CAAG,CAAA,GAAI,KAAO,CAAA,MAAM,CAC7E,CAiBA,MAAa,WAAW,IAA+E,CAAA,CACtG,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,IAAA,CAAK,KAAK,CAAG,CAAA,GAAI,OAAS,CAAA,MAAA,CAAQ,IAAI,CACpF,CAYA,MAAa,UAAU,OAAwF,CAAA,CAC9G,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,WAAA,CAAY,KAAK,CAAA,CAAG,EAAC,CAAG,MAAO,MAAQ,CAAA,OAAO,CAC5F,CAYA,MAAa,WAAW,OAA+D,CAAA,CACtF,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,UAAW,CAAA,KAAA,CAAO,OAAO,CAAG,CAAA,GAAI,QAAU,CAAA,MAAM,CAC9F,CAgBA,MAAa,2BAA2B,MAAsE,CAAA,CAC7G,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,aAAA,CAAc,KAAK,CAAA,CAAG,EAAC,CAAG,OAAQ,MAAQ,CAAA,CAAE,aAAc,MAAO,CAAC,CAChH,CAkBA,MAAa,+BAAgC,CAAA,IAAA,CAAoI,CAChL,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,aAAc,CAAA,KAAK,EAAG,EAAC,CAAG,MAAQ,CAAA,MAAA,CAAQ,IAAI,CAC5F,CAgBA,MAAa,cAAA,EAAkE,CAC9E,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,iBAAiB,KAAK,CAAA,CAAG,EAAI,CAAA,KAAA,CAAO,MAAM,CACxF,CAiBA,MAAa,4BAA6B,CAAA,KAAA,CAA8E,CACvH,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,gCAAA,CAAiC,MAAO,KAAK,CAAA,CAAG,EAAI,CAAA,KAAA,CAAO,MAAM,CAC/G,CAiBA,MAAa,+BAAgC,CAAA,KAAA,CAAe,KAA6H,CACxL,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,gCAAA,CAAiC,KAAO,CAAA,KAAK,EAAG,EAAC,CAAG,MAAO,MAAQ,CAAA,IAAI,CACrH,CACD,CAAA,CAEA,eAAS,YChNT,CAAA,CAAA,CAAA,CAAA,IAAA,aAAA,CAAA,UAAA,CAAA,CAAA,sBAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA,IAAOA,WAAY,iBAUb,EAAA,CAAA,YAAA,CAAN,KAAmB,CASX,WAAA,CAAmB,eAAoB,CAApB,IAAA,CAAA,cAAA,CAAA,eAAqB,CAW/C,MAAa,eAAyD,EAAA,CACrE,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,aAAA,CAAe,EAAI,CAAA,KAAA,CAAO,MAAM,CAC9E,CAQA,MAAa,yBAAyB,OAAyC,CAAA,CAC9E,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,sBAAA,CAAuB,OAAS,CAAA,KAAK,CAAG,CAAA,GAAI,KAAO,CAAA,MAAM,CACvG,CASA,MAAa,kBAAkB,OAAiB,CAAA,MAAA,CAAwC,CACvF,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,uBAAuB,OAAS,CAAA,MAAM,EAAG,EAAC,CAAG,KAAO,CAAA,MAAM,CACxG,CACD,EAEA,MAAS,CAAA,OAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CCxDT,+EAAOA,UAAY,CAAA,iBAAA,EAAA,CACZP,WAAY,iBAsCb,EAAA,CAAA,cAAA,CAAN,KAAqB,CAUb,WAAmB,CAAA,cAAA,CAA2B,gBAA0B,CAArD,IAAA,CAAA,cAAA,CAAA,cAAA,CAA2B,qCAA2B,CAqBhF,MAAa,cAAc,SAAmB,CAAA,IAAA,CAAmF,CAChI,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQO,UAAU,CAAA,gBAAA,CAAiB,SAAS,CAAG,CAAA,GAAI,MAAQ,CAAA,MAAA,CAAQ,IAAI,CACnG,CAiBA,MAAa,kBAAmB,CAAA,SAAA,CAA6D,CAC5F,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,gBAAiB,CAAA,SAAS,CAAG,CAAA,GAAI,KAAO,CAAA,MAAM,CAC5F,CAiBA,MAAa,iBAAiB,OAAyD,CAAA,CACtF,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,cAAe,CAAA,OAAO,EAAG,EAAC,CAAG,MAAO,MAAM,CACxF,CAkBA,MAAa,UAAW,CAAA,SAAA,CAAmB,MAAkD,CAC5F,OAAI,MAAc,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,aAAA,CAAc,UAAW,KAAK,CAAA,CAAG,EAAI,CAAA,KAAA,CAAO,MAAM,CACnG,CAAA,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,OAAQ,CAAA,SAAS,CAAG,CAAA,GAAI,KAAO,CAAA,MAAM,CACnF,CAwBA,MAAa,cAAc,SAAmB,CAAA,IAAA,CAAmG,KAAyF,CAAA,CACzO,OAAI,KAAA,CAAc,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,aAAc,CAAA,SAAA,CAAW,KAAK,CAAG,CAAA,EAAI,CAAA,OAAA,CAAS,MAAQ,CAAA,IAAI,EAC3G,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,OAAA,CAAQ,SAAS,CAAG,CAAA,GAAI,OAAS,CAAA,MAAA,CAAQ,IAAI,CAC3F,CAkBA,MAAa,aAAc,CAAA,SAAA,CAAmB,MAAqD,CAClG,OAAI,KAAc,CAAA,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,aAAc,CAAA,SAAA,CAAW,KAAK,CAAG,CAAA,GAAI,QAAU,CAAA,MAAM,CACtG,CAAA,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,OAAQ,CAAA,SAAS,EAAG,EAAC,CAAG,SAAU,MAAM,CACtF,CAkBA,MAAa,cAAe,CAAA,SAAA,CAAmB,MAAe,IAA4H,CAAA,OAAA,CAAiK,CAC1V,GAAI,OAAO,MAAS,QAAY,EAAA,EAAC,iBAAM,OAAW,CAAA,EAAA,EAAC,iBAAM,MAAU,CAAA,EAAA,EAAC,iBAAM,UAAc,CAAA,EAAA,EAAC,iBAAM,KAAO,CAAA,CAAA,MAAM,IAAI,KAAA,CAAM,kDAAkD,CAAA,CAOxK,OANI,OAAO,IAAA,EAAS,WAAU,IAAO,CAAA,CAAE,QAAS,IAAK,CAAA,CAAA,CAGjD,IAAK,CAAA,OAAA,GAAA,CAAY,OAAS,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,OAAA,CAAA,eAAA,GAAmB,KAAK,eAAkB,CAAA,GAAA,IAAA,CAAK,QAAUP,UAAU,CAAA,eAAA,CAAgB,KAAK,OAAO,CAAA,CAAA,CACzH,OAAS,EAAA,OAAO,OAAQ,CAAA,eAAA,CAExB,KAAK,KAAc,CAAA,IAAA,CAAK,eAAe,OAAQ,CAAA,CAAA,EAAGO,WAAU,aAAc,CAAA,SAAA,CAAW,KAAK,CAAC,CAAA,CAAA,CAAI,QAAS,MAAQ,CAAA,WAAA,CAAa,MAAMP,UAAU,CAAA,wBAAA,CAAyB,IAAqE,CAAC,CAAA,CACpO,IAAK,CAAA,cAAA,CAAe,OAAQO,CAAAA,UAAAA,CAAU,cAAc,SAAW,CAAA,KAAK,EAAG,OAAS,CAAA,MAAA,CAAQ,OAAQ,IAAI,CACjH,CAiBA,MAAa,mBAAoB,CAAA,SAAA,CAAmB,MAAe,IAAW,CAAA,OAAA,CAA+I,CAC5N,OAAO,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,mBAAoB,CAAA,SAAA,CAAW,KAAK,CAAA,CAAG,QAAS,MAAQ,CAAA,MAAA,CAAQ,IAAI,CAClH,CAaA,MAAa,oBAAqB,CAAA,SAAA,CAAmB,MAAe,IAAW,CAAA,OAAA,CAAkD,EAAoG,CAAA,CACpO,OAAO,IAAK,CAAA,cAAA,CAAe,QAAQA,UAAU,CAAA,oBAAA,CAAqB,SAAW,CAAA,KAAK,CAAG,CAAA,OAAA,CAAS,OAAQ,MAAQ,CAAA,IAAI,CACnH,CAWA,MAAa,kBAAkB,SAAmB,CAAA,KAAA,CAAe,SAAmB,CAAA,QAAA,CAAqE,CACxJ,OAAO,KAAK,cAAe,CAAA,OAAA,CAAQA,WAAU,qBAAsB,CAAA,SAAA,CAAW,MAAO,SAAS,CAAA,CAAG,CAAE,SAAA,CAAW,QAAS,CAAA,CAAG,MAAO,MAAM,CACxI,CAeA,MAAa,kBAAA,CAAmB,UAAmB,KAAe,CAAA,SAAA,CAAmB,KAA4M,CAChS,IAAI,SAIJ,OAHI,IAAA,CAAK,YAAW,QAAW,CAAA,IAAA,CAAK,WACpC,OAAO,IAAA,CAAK,SAER,CAAA,IAAA,CAAK,KAAc,CAAA,IAAA,CAAK,eAAe,OAAQA,CAAAA,UAAAA,CAAU,sBAAsB,SAAW,CAAA,KAAA,CAAO,SAAS,CAAG,CAAA,CAAE,SAAW,CAAA,QAAS,CAAG,CAAA,OAAA,CAAS,YAAa,MAAMP,UAAAA,CAAU,yBAAyB,IAAqE,CAAC,EACnQ,IAAK,CAAA,cAAA,CAAe,OAAQO,CAAAA,UAAAA,CAAU,qBAAsB,CAAA,SAAA,CAAW,MAAO,SAAS,CAAA,CAAG,CAAE,SAAW,CAAA,QAAS,EAAG,OAAS,CAAA,MAAA,CAAQ,IAAI,CACrJ,CAWA,MAAa,oBAAqB,CAAA,SAAA,CAAmB,MAAe,SAAmB,CAAA,QAAA,CAAwE,CAC9J,OAAO,IAAA,CAAK,cAAe,CAAA,OAAA,CAAQA,UAAU,CAAA,qBAAA,CAAsB,UAAW,KAAO,CAAA,SAAS,EAAG,CAAE,SAAA,CAAW,QAAS,CAAG,CAAA,QAAA,CAAU,MAAM,CAC3I,CACD,CAAA,CAEA,eAAS,eCpST,CAAA,CAAA,CAAA,CAAA,IAAA,oBAAA,CAAA,UAAA,CAAA,CAAA,qBAAA,CAAAS,SAAA,CAAA,MAAA,CAAA,CAAA,mBAAA,EAAA,CACA,IAAO,eAAkB,CAAA,gBAAA,EAAA,CAClB,sBAAwB,sBACxB,EAAA,CAAA,UAAA,CAAa,YACb,EAAA,CAAA,cAAA,CAAiB,gBACjB,EAAA,CAAA,kBAAA,CAAqB,sBACrB,YAAe,CAAA,cAAA,EAAA,CACf,2BAA6B,2BAC7B,EAAA,CAAA,oBAAA,CAAuB,wBACvB,kBAAqB,CAAA,oBAAA,EAAA,CACrB,cAAgB,eAChB,EAAA,CAAA,oBAAA,CAAuB,wBACvB,WAAc,CAAA,aAAA,EAAA,CACd,aAAe,aACf,EAAA,CAAA,cAAA,CAAiB,mBACjBT,UAAY,CAAA,iBAAA,EAAA,CACZP,UAAY,CAAA,iBAAA,EAAA,CAKb,YAAN,CAAA,KAAmB,CAsDX,WAAY,CAAA,KAAA,CAAgB,QAA4C,CAC9E,GAAI,OAAO,KAAU,EAAA,QAAA,EAAY,KAAU,GAAA,EAAA,CAAI,MAAM,IAAI,MAAM,eAAe,CAAA,CAC1E,OAAU,CAAC,KAAA,CAAM,WAAW,KAAK,CAAA,EAAK,CAAC,KAAA,CAAM,UAAW,CAAA,QAAQ,IAAI,KAAQ,CAAA,CAAA,IAAA,EAAO,KAAK,CAC5F,CAAA,CAAA,CAAA,IAAA,CAAK,QAAU,CAAE,QAAA,CAAUO,WAAU,SAAW,CAAA,eAAA,CAAiB,GAAO,aAAe,CAAA,CAAA,CAAA,CAAO,cAAe,CAAO,CAAA,CAAA,UAAA,CAAYP,WAAU,mBAAqB,CAAA,GAAG,OAAQ,CAAA,CAC1K,IAAK,CAAA,KAAA,CAAQ,MACb,IAAK,CAAA,WAAA,CAAc,IAAIS,mBACvB,CAAA,IAAA,CAAK,eAAiB,IAAIG,sBAAA,CAAe,IAAK,CAAA,WAAA,CAAa,CAC1D,KAAA,CAAO,KAAK,KACZ,CAAA,QAAA,CAAU,KAAK,OAAQ,CAAA,QAAA,CACvB,cAAe,IAAK,CAAA,OAAA,CAAQ,aAC5B,CAAA,WAAA,CAAa,IAAK,CAAA,OAAA,CAAQ,cAC1B,UAAY,CAAA,IAAA,CAAK,QAAQ,UAC1B,CAAC,EACD,IAAK,CAAA,OAAA,CAAU,IAAI,cAAe,CAAA,IAAA,CAAK,eAAgB,IAAK,CAAA,OAAA,CAAQ,eAAe,CACnF,CAAA,IAAA,CAAK,KAAO,IAAI,WAAA,CAAY,IAAK,CAAA,cAAc,CAC/C,CAAA,IAAA,CAAK,YAAc,IAAI,kBAAA,CAAmB,KAAK,cAAc,CAAA,CAC7D,KAAK,OAAU,CAAA,IAAI,cAAe,CAAA,IAAA,CAAK,cAAgB,CAAA,IAAA,CAAK,QAAQ,eAAe,CAAA,CACnF,KAAK,KAAQ,CAAA,IAAI,aAAa,IAAK,CAAA,cAAc,CACjD,CAAA,IAAA,CAAK,mBAAsB,CAAA,IAAI,2BAA2B,IAAK,CAAA,cAAc,EAC7E,IAAK,CAAA,aAAA,CAAgB,IAAI,oBAAqB,CAAA,IAAA,CAAK,cAAc,CACjE,CAAA,IAAA,CAAK,YAAc,IAAI,kBAAA,CAAmB,KAAK,cAAgB,CAAA,IAAA,CAAK,OAAO,CAC3E,CAAA,IAAA,CAAK,MAAS,CAAA,IAAI,aAAc,CAAA,IAAA,CAAK,cAAc,CACnD,CAAA,IAAA,CAAK,MAAQ,IAAI,YAAA,CAAa,KAAK,cAAc,CAAA,CACjD,IAAK,CAAA,GAAA,CAAM,IAAI,UAAA,CAAW,KAAK,cAAc,CAAA,CAC7C,KAAK,QAAW,CAAA,IAAI,gBAAgB,IAAK,CAAA,cAAc,CACvD,CAAA,IAAA,CAAK,aAAgB,CAAA,IAAI,qBAAqB,IAAK,CAAA,cAAc,EACjE,IAAK,CAAA,OAAA,CAAU,IAAI,qBAAsB,CAAA,IAAA,CAAK,cAAc,EAC7D,CACD,EAEA,MAAS,CAAA,OAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CCvFT,sBAlBO,IAAA,gBAAA,CAAmB,mBACnB,sBAAyB,CAAA,sBAAA,EAAA,CACzB,WAAc,CAAA,YAAA,EAAA,CACd,eAAkB,CAAA,gBAAA,EAAA,CAClB,oBAAsB,mBACtB,EAAA,CAAA,aAAA,CAAgB,iBAChB,2BAA8B,CAAA,2BAAA,EAAA,CAC9B,sBAAwB,qBACxB,EAAA,CAAA,mBAAA,CAAsB,oBACtB,EAAA,CAAA,cAAA,CAAiB,eACjB,EAAA,CAAA,qBAAA,CAAwB,wBACxB,YAAe,CAAA,aAAA,EAAA,CACf,cAAgB,aAChB,EAAA,CAAA,eAAA,CAAkB,mBAElB,UAAa,CAAA,iBAAA,EAAA,CACb,UAAa,CAAA,iBAAA,EAAA,CACb,aAAgB,CAAA,oBAAA","file":"index.js","sourcesContent":["import { Blob, File } from \"buffer\";\r\nimport { Readable } from \"stream\";\r\nimport { ReadableStream } from \"stream/web\";\r\nimport { FormData, Response } from \"undici\";\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\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(content: string): string {\r\n\t\treturn content.replace(mentionRegex, replaceEveryoneMatchProcessor);\r\n\t}\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_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\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\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 { fetch, FormData, Headers, Response } from \"undici\";\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\n\r\nconst routeRegex = /\\/([a-z-]+)\\/(?:\\d{17,19})/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\"]);\r\n\r\n\r\n\r\n\r\nexport class DiscordAPIError extends Error {\r\n\tpublic code: number;\r\n\tpublic httpStatus: number;\r\n\r\n\tpublic constructor(public path: string, error: { message?: string; code?: number; }, public method: HTTPMethod, status: number) {\r\n\t\tsuper();\r\n\t\tthis.name = \"DiscordAPIError\";\r\n\t\tthis.message = error.message ?? String(error);\r\n\t\tthis.code = error.code ?? 4000;\r\n\t\tthis.httpStatus = status;\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: { [routeKey: string]: InstanceType<B>; } = {};\r\n\r\n\r\n\r\n\tprivate _global = false;\r\n\r\n\r\n\r\n\tpublic globalReset = 0;\r\n\r\n\r\n\r\n\tpublic globalResetTimeout: NodeJS.Timeout | null = null;\r\n\r\n\r\n\r\n\tpublic BucketConstructor = GlobalBucket as B;\r\n\r\n\r\n\r\n\r\n\tpublic get global() {\r\n\t\treturn this._global;\r\n\t}\r\n\r\n\r\n\r\n\r\n\tpublic set global(value) {\r\n\t\tif (value && this.globalReset !== 0) {\r\n\t\t\tif (this.globalResetTimeout) clearTimeout(this.globalResetTimeout);\r\n\r\n\t\t\tconst instance = this;\r\n\t\t\tthis.globalResetTimeout = setTimeout(() => {\r\n\t\t\t\tinstance.global = false;\r\n\t\t\t}, this.globalReset).unref();\r\n\t\t} else {\r\n\t\t\tif (this.globalResetTimeout) clearTimeout(this.globalResetTimeout);\r\n\t\t\tthis.globalResetTimeout = null;\r\n\t\t\tthis.globalReset = 0;\r\n\t\t\tfor (const bkt of Object.values(this.buckets)) {\r\n\t\t\t\tbkt.checkQueue();\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis._global = value;\r\n\t}\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.toUpperCase() === \"DELETE\" && isMessageEndpointRegex.test(route)) route = method + route;\r\n\t\telse if (method.toUpperCase() === \"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\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\t\tthis.buckets[routeKey] ??= new this.BucketConstructor(this, routeKey) as InstanceType<B>;\r\n\t\treturn this.buckets[routeKey].queue(fn);\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 remaining: number;\r\n\r\n\r\n\r\n\tpublic fnQueue: Array<() => any> = [];\r\n\r\n\r\n\r\n\tpublic 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 queue<T>(fn: (bucket: this) => T): Promise<T> {\r\n\t\treturn new Promise((res, rej) => {\r\n\t\t\tconst wrapFn = () => {\r\n\t\t\t\tthis.remaining--;\r\n\t\t\t\tif (!this.resetTimeout) this.makeResetTimeout(this.reset);\r\n\t\t\t\tif (this.remaining !== 0) setImmediate(() => this.checkQueue());\r\n\t\t\t\tlet result;\r\n\t\t\t\ttry {\r\n\t\t\t\t\tresult = fn(this);\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\treturn rej(e as Error);\r\n\t\t\t\t}\r\n\t\t\t\treturn res(result);\r\n\t\t\t};\r\n\t\t\tthis.fnQueue.push(wrapFn);\r\n\t\t\tthis.checkQueue();\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic makeResetTimeout(durationMS: number): void {\r\n\t\tif (this.resetTimeout) clearTimeout(this.resetTimeout);\r\n\t\tthis.resetTimeout = setTimeout(() => this.resetRemaining(), durationMS);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic checkQueue(): void {\r\n\t\tif (this.fnQueue.length && this.remaining !== 0) {\r\n\t\t\tconst queuedFunc = this.fnQueue.splice(0, 1)[0];\r\n\t\t\tqueuedFunc();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic resetRemaining(): void {\r\n\t\tthis.remaining = this.limit;\r\n\t\tif (this.resetTimeout) {\r\n\t\t\tclearTimeout(this.resetTimeout);\r\n\t\t\tthis.resetTimeout = null;\r\n\t\t}\r\n\t\tif (this.fnQueue.length) this.checkQueue();\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic dropQueue(): void {\r\n\t\tthis.fnQueue.length = 0;\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 ratelimiter: Ratelimiter, public routeKey: string) {\r\n\t\tsuper(5, 5000, 1);\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic checkQueue(): void {\r\n\t\tif (this.ratelimiter.global) return;\r\n\t\tsuper.checkQueue();\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tpublic resetRemaining(): void {\r\n\t\tif (!this.fnQueue.length) delete this.ratelimiter.buckets[this.routeKey];\r\n\t\tsuper.resetRemaining();\r\n\t}\r\n}\r\n\r\nexport type HandlerEvents = {\r\n\trequest: [string, { endpoint: string, method: HTTPMethod, dataType: \"json\" | \"multipart\", data: any; }];\r\n\tdone: [string, Response];\r\n\trequestError: [string, Error];\r\n\trateLimit: [{ timeout: number; remaining: number; limit: number; method: HTTPMethod; 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<T extends \"json\" | \"multipart\">(endpoint: string, params: Record<string, any> = {}, method: HTTPMethod, dataType: T = \"json\" as T, data?: T extends \"json\" ? any : FormData, extraHeaders?: Record<string, string>, retries = this.options.retryLimit): Promise<any> {\r\n\r\n\t\treturn new Promise(async (res, rej) => {\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\tthis.emit(\"request\", reqID, { endpoint, method, dataType, data: data ?? {} });\r\n\r\n\t\t\t\t\tconst before = Date.now();\r\n\r\n\t\t\t\t\tlet request: Response;\r\n\t\t\t\t\tswitch (dataType) {\r\n\t\t\t\t\tcase \"json\":\r\n\t\t\t\t\t\trequest = 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\trequest = 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, request.headers);\r\n\r\n\t\t\t\t\tif (request.status && !Constants.OK_STATUS_CODES.has(request.status) && request.status !== 429) {\r\n\t\t\t\t\t\tif (this.options.retryFailed && !Constants.DO_NOT_RETRY_STATUS_CODES.has(request.status) && retries !== 0) return this.request(endpoint, params, method, dataType, data, extraHeaders, retries--).then(res).catch(rej);\r\n\t\t\t\t\t\tthrow new DiscordAPIError(\r\n\t\t\t\t\t\t\tendpoint,\r\n\t\t\t\t\t\t\t{ message: await request.text() },\r\n\t\t\t\t\t\t\tmethod,\r\n\t\t\t\t\t\t\trequest.status\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (request.status === 429) {\r\n\t\t\t\t\t\tif (!this.ratelimiter.global) {\r\n\t\t\t\t\t\t\tconst b = await request.json() as any;\r\n\t\t\t\t\t\t\tif (b.reset_after !== undefined) this.ratelimiter.globalReset = b.reset_after * 1000;\r\n\t\t\t\t\t\t\telse this.ratelimiter.globalReset = 1000;\r\n\t\t\t\t\t\t\tif (b.global !== undefined) this.ratelimiter.global = b.global;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.emit(\"rateLimit\", {\r\n\t\t\t\t\t\t\ttimeout: bkt ? bkt.reset : 0,\r\n\t\t\t\t\t\t\tremaining: bkt ? bkt.remaining : Infinity,\r\n\t\t\t\t\t\t\tlimit: bkt ? bkt.limit : Infinity,\r\n\t\t\t\t\t\t\tmethod: method,\r\n\t\t\t\t\t\t\tpath: endpoint,\r\n\t\t\t\t\t\t\troute: bkt ? bkt.routeKey : this.ratelimiter.routify(endpoint, method)\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthrow new DiscordAPIError(endpoint, { message: \"You're being ratelimited\", code: 429 }, method, request.status);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.emit(\"done\", reqID, request);\r\n\r\n\t\t\t\t\tif (request.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 request.json();\r\n\t\t\t\t\t\t} catch {\r\n\t\t\t\t\t\t\treturn res(undefined);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn res(b);\r\n\t\t\t\t\t} else return res(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 rej(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);\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} 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 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 getGatewayBot(): Promise<RESTGetAPIGatewayBotResult> {\r\n\t\treturn this.requestHandler.request(Endpoints.GATEWAY_BOT, {}, \"get\", \"json\");\r\n\t}\r\n}\r\n\r\nexport = BotMethods;\r\n","import { fetch } from \"undici\";\r\n\r\nimport type { RequestHandler as RH, RESTPostAPIAttachmentsRefreshURLsResult } from \"../RequestHandler\";\r\n\r\nimport Endpoints = require(\"../Endpoints\");\r\nimport Constants = require(\"../Constants\");\r\n\r\nimport type {\r\n\tAPITextBasedChannel,\r\n\tAPIThreadChannel,\r\n\tChannelType,\r\n\tRESTDeleteAPIChannelAllMessageReactionsResult,\r\n\tRESTDeleteAPIChannelMessageReactionResult,\r\n\tRESTDeleteAPIChannelMessageResult,\r\n\tRESTDeleteAPIChannelMessageUserReactionResult,\r\n\tRESTDeleteAPIChannelPermissionResult,\r\n\tRESTDeleteAPIChannelPinResult,\r\n\tRESTDeleteAPIChannelResult,\r\n\tRESTDeleteAPIChannelThreadMembersResult,\r\n\tRESTGetAPIChannelInvitesResult,\r\n\tRESTGetAPIChannelMessageReactionUsersQuery,\r\n\tRESTGetAPIChannelMessageReactionUsersResult,\r\n\tRESTGetAPIChannelMessageResult,\r\n\tRESTGetAPIChannelMessagesQuery,\r\n\tRESTGetAPIChannelMessagesResult,\r\n\tRESTGetAPIChannelPinsResult,\r\n\tRESTGetAPIChannelResult,\r\n\tRESTGetAPIChannelThreadMemberResult,\r\n\tRESTGetAPIChannelThreadMembersQuery,\r\n\tRESTGetAPIChannelThreadMembersResult,\r\n\tRESTGetAPIChannelThreadsArchivedPrivateResult,\r\n\tRESTGetAPIChannelThreadsArchivedPublicResult,\r\n\tRESTGetAPIChannelThreadsArchivedQuery,\r\n\tRESTGetAPIChannelUsersThreadsArchivedResult,\r\n\tRESTPatchAPIChannelJSONBody,\r\n\tRESTPatchAPIChannelMessageJSONBody,\r\n\tRESTPatchAPIChannelMessageResult,\r\n\tRESTPatchAPIChannelResult,\r\n\tRESTPostAPIChannelFollowersResult,\r\n\tRESTPostAPIChannelInviteJSONBody,\r\n\tRESTPostAPIChannelInviteResult,\r\n\tRESTPostAPIChannelMessageCrosspostResult,\r\n\tRESTPostAPIChannelMessageJSONBody,\r\n\tRESTPostAPIChannelMessageResult,\r\n\tRESTPostAPIChannelMessagesBulkDeleteResult,\r\n\tRESTPostAPIChannelMessagesThreadsJSONBody,\r\n\tRESTPostAPIChannelMessagesThreadsResult,\r\n\tRESTPostAPIChannelThreadsJSONBody,\r\n\tRESTPostAPIChannelTypingResult,\r\n\tRESTPutAPIChannelMessageReactionResult,\r\n\tRESTPutAPIChannelPermissionJSONBody,\r\n\tRESTPutAPIChannelPermissionResult,\r\n\tRESTPutAPIChannelPinResult,\r\n\tRESTPutAPIChannelThreadMembersResult\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 disableEveryone: boolean) {}\r\n\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.disableEveryone }): Promise<RESTPostAPIChannelMessageResult> {\r\n\t\tif (typeof data !== \"string\" && !data.content && !data.embeds && !data.sticker_ids && !data.components && !data.files) throw new Error(\"Missing content, embeds, sticker_ids, components, or files\");\r\n\t\tif (typeof data === \"string\") data = { content: data };\r\n\r\n\r\n\t\tif (data.content && (options.disableEveryone ?? this.disableEveryone)) data.content = Constants.replaceEveryone(data.content);\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.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.disableEveryone)) data.content = Constants.replaceEveryone(data.content);\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 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\nexport = ChannelMethods;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { FormData } from \"undici\";\r\n\r\nimport 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\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} 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 GuildAssetsMethods {\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 getEmojis(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 getEmoji(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 createEmoji(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 updateEmoji(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 deleteEmoji(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 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 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\nexport = GuildAssetsMethods;\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 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 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 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 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 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 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 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 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 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 WHM = require(\"./Webhooks\");\r\nimport type { RequestHandler as RH } from \"../RequestHandler\";\r\n\r\nimport type {\r\n\tRESTDeleteAPIInteractionFollowupResult,\r\n\tRESTDeleteAPIInteractionOriginalResponseResult,\r\n\tRESTGetAPIApplicationCommandPermissionsResult,\r\n\tRESTGetAPIApplicationCommandResult,\r\n\tRESTGetAPIApplicationCommandsResult,\r\n\tRESTGetAPIApplicationGuildCommandResult,\r\n\tRESTGetAPIApplicationGuildCommandsResult,\r\n\tRESTGetAPIInteractionFollowupResult,\r\n\tRESTGetAPIInteractionOriginalResponseResult,\r\n\tRESTPatchAPIApplicationCommandJSONBody,\r\n\tRESTPatchAPIApplicationCommandResult,\r\n\tRESTPatchAPIApplicationGuildCommandJSONBody,\r\n\tRESTPatchAPIApplicationGuildCommandResult,\r\n\tRESTPatchAPIInteractionFollowupJSONBody,\r\n\tRESTPatchAPIInteractionFollowupResult,\r\n\tRESTPatchAPIInteractionOriginalResponseJSONBody,\r\n\tRESTPatchAPIInteractionOriginalResponseResult,\r\n\tRESTPostAPIApplicationCommandsJSONBody,\r\n\tRESTPostAPIApplicationCommandsResult,\r\n\tRESTPostAPIApplicationGuildCommandsJSONBody,\r\n\tRESTPostAPIApplicationGuildCommandsResult,\r\n\tRESTPostAPIInteractionCallbackJSONBody,\r\n\tRESTPostAPIInteractionFollowupJSONBody,\r\n\tRESTPostAPIInteractionFollowupResult,\r\n\tRESTPutAPIApplicationCommandPermissionsJSONBody,\r\n\tRESTPutAPIApplicationCommandPermissionsResult,\r\n\tRESTPutAPIApplicationCommandsJSONBody,\r\n\tRESTPutAPIApplicationCommandsResult,\r\n\tRESTPutAPIApplicationGuildCommandsJSONBody,\r\n\tRESTPutAPIApplicationGuildCommandsResult\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) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\tpublic 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 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 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 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 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 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 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 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 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 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 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 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 getGuildApplicationCommandPermissions(appId: string, guildId: string): Promise<Array<RESTGetAPIApplicationCommandPermissionsResult>>;\r\n\tpublic getGuildApplicationCommandPermissions(appId: string, guildId: string, cmdId: string): Promise<RESTGetAPIApplicationCommandPermissionsResult>;\r\n\tpublic 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 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 (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 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 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 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 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 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 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 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 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\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 disableEveryone: boolean) {}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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) throw new Error(\"Missing content or embeds or components or files\");\r\n\t\tif (typeof data === \"string\") data = { content: data };\r\n\r\n\r\n\t\tif (data.content && (options?.disableEveryone ?? this.disableEveryone)) data.content = Constants.replaceEveryone(data.content);\r\n\t\tif (options) delete options.disableEveryone;\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\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 { Ratelimiter, RequestHandler } from \"./RequestHandler\";\r\nimport AuditLogMethods = require(\"./methods/AuditLog\");\r\nimport AutoModerationMethods = require(\"./methods/AutoModeration\");\r\nimport BotMethods = require(\"./methods/Bots\");\r\nimport ChannelMethods = require(\"./methods/Channels\");\r\nimport GuildAssetsMethods = require(\"./methods/GuildAssets\");\r\nimport GuildMethods = require(\"./methods/Guilds\");\r\nimport GuildScheduledEventMethods = require(\"./methods/GuildScheduledEvent\");\r\nimport GuildTemplateMethods = require(\"./methods/GuildTemplate\");\r\nimport InteractionMethods = require(\"./methods/Interactions\");\r\nimport InviteMethods = require(\"./methods/Invites\");\r\nimport StageInstanceMethods = require(\"./methods/StageInstance\");\r\nimport UserMethods = require(\"./methods/Users\");\r\nimport VoiceMethods = require(\"./methods/Voice\");\r\nimport WebhookMethods = require(\"./methods/Webhooks\");\r\nimport Endpoints = require(\"./Endpoints\");\r\nimport Constants = require(\"./Constants\");\r\n\r\n\r\n\r\n\r\nclass SnowTransfer {\r\n\r\n\tpublic options: {\r\n\r\n\t\tbaseHost: string;\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\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 guildAssets: GuildAssetsMethods;\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 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, 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.disableEveryone);\r\n\t\tthis.user = new UserMethods(this.requestHandler);\r\n\t\tthis.guildAssets = new GuildAssetsMethods(this.requestHandler);\r\n\t\tthis.webhook = new WebhookMethods(this.requestHandler, this.options.disableEveryone);\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);\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}\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/Bots\");\r\nimport ChannelMethods2 = require(\"./methods/Channels\");\r\nimport GuildAssetsMethods2 = require(\"./methods/GuildAssets\");\r\nimport GuildMethods2 = require(\"./methods/Guilds\");\r\nimport GuildScheduledEventMethods2 = require(\"./methods/GuildScheduledEvent\");\r\nimport GuildTemplateMethods2 = require(\"./methods/GuildTemplate\");\r\nimport InteractionMethods2 = require(\"./methods/Interactions\");\r\nimport InviteMethods2 = require(\"./methods/Invites\");\r\nimport StageInstanceMethods2 = require(\"./methods/StageInstance\");\r\nimport UserMethods2 = require(\"./methods/Users\");\r\nimport VoiceMethods2 = require(\"./methods/Voice\");\r\nimport WebhookMethods2 = require(\"./methods/Webhooks\");\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\tDiscordAPIError as DiscordAPIError2\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\tGuildAssetsMethods2 as GuildAssetsMethods,\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\tStageInstanceMethods2 as StageInstanceMethods,\r\n\tUserMethods2 as UserMethods,\r\n\tVoiceMethods2 as VoiceMethods,\r\n\tWebhookMethods2 as WebhookMethods,\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\r\n\ttype HTTPMethod,\r\n\ttype HandlerEvents,\r\n\ttype RESTPostAPIAttachmentsRefreshURLsResult\r\n};\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snowtransfer",
3
- "version": "0.10.8",
3
+ "version": "0.10.9",
4
4
  "description": "Minimalistic Rest client for the Discord Api",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -29,17 +29,17 @@
29
29
  "author": "wolke <wolke@weeb.sh>",
30
30
  "license": "MIT",
31
31
  "dependencies": {
32
- "discord-api-types": "^0.37.111",
33
- "undici": "^7.1.1"
32
+ "discord-api-types": "^0.37.114",
33
+ "undici": "^7.2.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/node": "^22.10.2",
37
- "@typescript-eslint/eslint-plugin": "^8.18.1",
38
- "@typescript-eslint/parser": "^8.18.1",
37
+ "@typescript-eslint/eslint-plugin": "^8.18.2",
38
+ "@typescript-eslint/parser": "^8.18.2",
39
39
  "eslint": "^9.17.0",
40
40
  "tsup": "^8.3.5",
41
- "typedoc": "^0.27.5",
42
- "typedoc-plugin-mdn-links": "^4.0.5",
41
+ "typedoc": "^0.27.6",
42
+ "typedoc-plugin-mdn-links": "^4.0.6",
43
43
  "typescript": "^5.7.2"
44
44
  },
45
45
  "files": [