snowtransfer 0.17.4 → 0.17.5
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 +2 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -113,8 +113,9 @@ declare class StateMachine extends EventEmitter<StateMachineEvents> {
|
|
|
113
113
|
* @since 0.16.0
|
|
114
114
|
* @param event The event that can trigger this transition.
|
|
115
115
|
* @param to The name of the state this transition would go to.
|
|
116
|
+
* @param cb A callback to run when this transition occurs.
|
|
116
117
|
*/
|
|
117
|
-
defineUniversalTransition(event: string, to: string): this;
|
|
118
|
+
defineUniversalTransition(event: string, to: string, cb?: (...args: any[]) => unknown): this;
|
|
118
119
|
/**
|
|
119
120
|
* Finalize the state machine, making its states and transitions now readonly and usable.
|
|
120
121
|
* @since 0.16.0
|
package/dist/index.js
CHANGED
|
@@ -6,15 +6,15 @@ var web = require('stream/web');
|
|
|
6
6
|
var events = require('events');
|
|
7
7
|
var v10 = require('discord-api-types/v10');
|
|
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_StateMachine=__commonJS({"src/StateMachine.ts"(exports,module){var EventEmitter2=__require("events"),StateMachine=class extends EventEmitter2{constructor(currentStateName){super();this.currentStateName=currentStateName;this.deferredTransitionCreators.push(()=>{this.states.has(currentStateName)||this.defineState(currentStateName);});}states=new Map;editable=true;deferredTransitionCreators=[];history=[];guardEditable(){if(!this.editable)throw new Error("tried to edit state machine after machine has been frozen")}guardNotEditable(){if(this.editable)throw new Error("tried to do transition before machine has been frozen")}defineState(name,cbs={onEnter:[],onLeave:[],transitions:new Map}){if(this.guardEditable(),this.states.has(name))throw new Error(`attempt to redefine state ${name}, please edit it instead`);return this.states.set(name,{onEnter:cbs.onEnter,onLeave:cbs.onLeave,transitions:cbs.transitions}),this}defineTransition(from,event,to,cb){this.guardEditable();let state=this.states.get(from);if(state.transitions.has(event))throw new Error(`attempt to redefine transition ${from} --${event}--> *, please only create transitions once`);let onTransition=[];return cb&&onTransition.push(cb),state.transitions.set(event,{destination:to,onTransition}),this}defineUniversalTransition(event,to){return this.guardEditable(),this.deferredTransitionCreators.push(()=>{for(let[stateName,state]of this.states.entries())state.transitions.has(event)||this.defineTransition(stateName,event,to);}),this}freeze(){this.guardEditable();for(let cb of this.deferredTransitionCreators)cb();let problems=[];for(let[stateName,state]of this.states.entries())for(let[transitionName,transition]of state.transitions.entries())this.states.has(transition.destination)||problems.push(`transition ${stateName} --${transitionName}--> ${transition.destination} has an invalid destination`);if(problems.length)throw new Error(`Consistency problems in state machine: ${problems.join(";")}`);this.editable=false;}doTransition(event,...args){this.guardNotEditable();let from=this.currentStateName,transition=this.states.get(this.currentStateName).transitions.get(event);if(!transition)throw new Error(`undefined transition: ${this.currentStateName} -> ${event} -> ?`);this.history.push({from,event,to:transition.destination,time:Date.now()}),this.history.length>20&&this.history.shift();for(let cb of this.states.get(this.currentStateName).onLeave)try{cb(event);}catch(e){throw this.debug(),new Error(`onLeave callback for state ${from} (during transition ${from} --${event}--> ${transition.destination})`,{cause:e})}this.currentStateName=transition.destination;for(let cb of transition.onTransition??[])try{cb(...args);}catch(e){throw this.debug(),new Error(`onTransition callback during ${from} --${event}--> ${transition.destination}`,{cause:e})}this.emit("enter",this.currentStateName);for(let cb of this.states.get(this.currentStateName).onEnter)try{cb(event);}catch(e){throw this.debug(),new Error(`onEnter callback for state ${from} (during transition ${this.currentStateName} --${event}--> ${transition.destination})`,{cause:e})}}doTransitionLater(event,delayMs,...args){this.guardNotEditable();let timer=setTimeout(()=>{this.doTransition(event,...args);},delayMs);this.once("enter",()=>{clearTimeout(timer);});}debug(){console.table(this.history.map(h=>({At:new Date(h.time),"From -->":h.from,"-- Event -->":h.event,"--> To":h.to})).concat({At:new Date,"From -->":this.currentStateName,"-- Event -->":"(debug)","--> To":""}));}};module.exports=StateMachine;}});var require_Constants=__commonJS({"src/Constants.ts"(exports,module){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]),DEFAULT_RETRY_LIMIT:3,GLOBAL_REQUESTS_PER_SECOND:50,async standardMultipartHandler(data){let form=new 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){if(value instanceof Buffer||typeof value=="string")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 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 ${value?.constructor?.name??typeof value} to form`)},reasonHeader(reason){return reason?{"X-Audit-Log-Reason":reason}:{}}};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_EMOJI:(appId,emojiId)=>`${Endpoints3.APPLICATION_EMOJIS(appId)}/${emojiId}`,APPLICATION_EMOJIS:appId=>`/applications/${appId}/emojis`,APPLICATION_ENTITLEMENT:(appId,entitlementId)=>`${Endpoints3.APPLICATION_ENTITLEMENTS(appId)}/${entitlementId}`,APPLICATION_ENTITLEMENT_CONSUME:(appId,entitlementId)=>`${Endpoints3.APPLICATION_ENTITLEMENT(appId,entitlementId)}/consume`,APPLICATION_ENTITLEMENTS:appId=>`/applications/${appId}/entitlements`,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`,APPLICATION_SKUS:appId=>`/applications/${appId}/skus`,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)}/messages/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_VOICE_STATUS:chanId=>`${Endpoints3.CHANNEL(chanId)}/voice-status`,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}`,INVITE_TARGET_USERS:inviteId=>`${Endpoints3.INVITES(inviteId)}/target-users`,INVITE_TARGET_USERS_JOB_STATUS:inviteId=>`${Endpoints3.INVITE_TARGET_USERS(inviteId)}/job-status`,OAUTH2_APPLICATION:appId=>`/oauth2/applications/${appId}`,OAUTH2_TOKEN:"/api/oauth2/token",POLL_ANSWER:(chanId,msgId,answerId)=>`${Endpoints3.CHANNEL(chanId)}/polls/${msgId}/answers/${answerId}`,POLL_EXPIRE:(chanId,msgId)=>`${Endpoints3.CHANNEL(chanId)}/polls/${msgId}/expire`,SKU_SUBSCRIPTIONS:skuId=>`/skus/${skuId}/subscriptions`,SKU_SUBSCRIPTION:(skuId,subscriptionId)=>`${Endpoints3.SKU_SUBSCRIPTIONS(skuId)}/${subscriptionId}`,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,util,Endpoints,version,Constants,SM2,routeRegex,reactionsRegex,reactionsUserRegex,webhooksRegex,isMessageEndpointRegex,isGuildChannelsRegex,messagesRegex,disallowedBodyMethods;exports.DiscordAPIError = void 0;exports.IntervalCounter = void 0;exports.LeakyCounter = void 0;exports.Bucket = void 0;exports.Ratelimiter = void 0;exports.RequestHandler = void 0;var init_RequestHandler=__esm({"src/RequestHandler.ts"(){fs=__require("fs"),path=__require("path"),crypto=__require("crypto"),util=__require("util"),Endpoints=require_Endpoints(),{version}=JSON.parse(fs.readFileSync(path.join(__dirname,"../package.json"),{encoding:"utf8"})),Constants=require_Constants(),SM2=require_StateMachine(),routeRegex=/\/([a-z-]+)\/(?:\d+)/g,reactionsRegex=/\/reactions\/[^/]+/g,reactionsUserRegex=/\/reactions\/:id\/[^/]+/g,webhooksRegex=/^\/webhooks\/(\d+)\/[A-Za-z0-9-_]{64,}/,isMessageEndpointRegex=/\/messages\/:id$/,isGuildChannelsRegex=/\/guilds\/\d+\/channels$/,messagesRegex=/\/messages\/\d+$/,disallowedBodyMethods=new Set(["head","get","delete"]),exports.DiscordAPIError=class extends Error{method;path;code;httpStatus;request;response;constructor(error,request,response){super(),this.name="DiscordAPIError",this.message=error.message??util.inspect(error),this.method=request.method,this.path=request.endpoint,this.code=error.code??4e3,this.httpStatus=response.status,Object.defineProperties(this,{request:{enumerable:false,value:request},response:{enumerable:false,value:response}});}},exports.IntervalCounter=class{constructor(limit,reset){this.limit=limit;this.reset=reset;this.remaining=limit;}remaining;firstRequestTime=0;resetAt=null;id=new Array(3).fill(0).map(()=>String.fromCodePoint(Math.floor(Math.random()*26+65))).join("");checkReset(){let now=Date.now();this.resetAt!==null?now>this.resetAt&&(this.firstRequestTime=0,this.remaining=this.limit,this.resetAt=null,globalThis.snowtransferDebugLogging&&console.log(`${new Date().toISOString()} [itrv] [${this.id}] informed reset: ${this.remaining}/${this.limit}`)):now>this.firstRequestTime+this.reset&&(this.firstRequestTime=0,this.remaining=this.limit,globalThis.snowtransferDebugLogging&&console.log(`${new Date().toISOString()} [itrv] [${this.id}] predicted reset: ${this.remaining}/${this.limit}`));}hasReset(){return this.checkReset(),this.remaining===this.limit}canTake(){return this.checkReset(),this.remaining>0}take(){this.checkReset(),this.remaining===this.limit&&(this.firstRequestTime=Date.now());let ok=this.remaining>0;return this.remaining--,ok}timeUntilReset(){let now=Date.now();return this.resetAt?Math.max(this.resetAt-now+1,0):Math.max(this.firstRequestTime+this.reset-Date.now()+1,0)}responseReceived(){this.remaining===this.limit-1&&this.firstRequestTime&&(this.firstRequestTime=Date.now());}applyCount(limit,remaining,resetAfter){limit!=null&&(this.limit=limit),this.remaining=remaining,this.resetAt=Date.now()+resetAfter;}},exports.LeakyCounter=class{constructor(limit){this.limit=limit;this.remaining=limit;}remaining;resetAt=null;id=new Array(3).fill(0).map(()=>String.fromCodePoint(Math.floor(Math.random()*26+65))).join("");checkReset(){let now=Date.now();this.resetAt&&now>this.resetAt&&(this.remaining=Math.min(this.limit,this.remaining+1),this.resetAt=null,globalThis.snowtransferDebugLogging&&console.log(`${new Date().toISOString()} [leak] [${this.id}] restore one: ${this.remaining}/${this.limit}`));}hasReset(){return this.checkReset(),this.remaining===this.limit}canTake(){return this.checkReset(),this.remaining>0}take(){return this.checkReset(),globalThis.snowtransferDebugLogging&&console.log(`${new Date().toISOString()} [leak] [${this.id}] took: ${this.remaining-1} left`),this.remaining-- >0}timeUntilReset(){let now=Date.now();return this.resetAt?Math.max(this.resetAt-now+1,0):0}responseReceived(){}applyCount(limit,remaining,resetAfter){limit!=null&&(this.limit=limit),this.remaining=remaining,this.resetAt=Date.now()+resetAfter,globalThis.snowtransferDebugLogging&&console.log(`${new Date().toISOString()} [leak] [${this.id}] applied: ${remaining}/${limit} - wait another ${resetAfter}`);}},exports.Bucket=class{sm=new SM2("ready");calls=[];counters=[];pauseRequested=false;constructor(counters){this.counters=counters,this.sm.defineState("ready",{onEnter:[],onLeave:[],transitions:new Map([["enqueue",{destination:"check"}],["pause",{destination:"paused"}]])}),this.sm.defineState("check",{onEnter:[()=>this.pauseRequested?this.sm.doTransition("pause"):this.counters.every(c=>c.canTake())?this.calls.length?this.sm.doTransition("run"):this.sm.doTransition("empty"):this.sm.doTransition("cooldown")],onLeave:[],transitions:new Map([["pause",{destination:"paused"}],["cooldown",{destination:"cooldown"}],["run",{destination:"running"}],["empty",{destination:"ready"}]])}),this.sm.defineState("running",{onEnter:[()=>{this.counters.forEach(c=>c.take()),this.calls.shift()().then(()=>{this.sm.doTransition("complete");});}],onLeave:[],transitions:new Map([["complete",{destination:"check"}]])}),this.sm.defineState("cooldown",{onEnter:[()=>{this.sm.doTransitionLater("reset",Math.max(...this.counters.map(c=>c.timeUntilReset())));}],onLeave:[],transitions:new Map([["reset",{destination:"check"}]])}),this.sm.defineState("paused",{onEnter:[],onLeave:[()=>{this.pauseRequested=false;}],transitions:new Map([["resume",{destination:"check"}]])}),this.sm.freeze();}enqueue(fn){return new Promise((resolve,reject)=>{this.calls.push(()=>fn(this).then(resolve).catch(reject)),this.sm.currentStateName==="ready"&&this.sm.doTransition("enqueue");})}pause(){this.pauseRequested=true,this.sm.currentStateName==="ready"&&this.sm.doTransition("pause");}resume(){this.pauseRequested=false,this.sm.currentStateName==="paused"&&this.sm.doTransition("resume");}dropQueue(){this.calls.length=0;}},exports.Ratelimiter=class{buckets=new Map;globalBucket=new exports.Bucket([new exports.IntervalCounter(Constants.GLOBAL_REQUESTS_PER_SECOND,1e3)]);get global(){return !this.globalBucket.counters[0].canTake()}constructor(){setInterval(()=>{for(let[key,value]of this.buckets.entries())value.counters[0].hasReset()&&this.buckets.delete(key);},3600*1e3).unref();}routify(url,method){let route=url.replaceAll(routeRegex,function(match,p){return p==="channels"||p==="guilds"||p==="webhooks"?match:`/${p}/:id`}).replaceAll(reactionsRegex,"/reactions/:id").replaceAll(reactionsUserRegex,"/reactions/:id/:userId").replace(webhooksRegex,"/webhooks/$1/:token");if(method==="DELETE"&&isMessageEndpointRegex.test(route)?route=method+route:method==="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){let routeKey=this.routify(url,method),bucket=this.buckets.get(routeKey);return bucket||(method==="DELETE"&&messagesRegex.test(url)?bucket=new exports.Bucket([new exports.LeakyCounter(1),new exports.IntervalCounter(5,5e3),this.globalBucket.counters[0]]):bucket=new exports.Bucket([new exports.LeakyCounter(1),this.globalBucket.counters[0]]),this.buckets.set(routeKey,bucket)),bucket.enqueue(fn)}setGlobal(ms){this.globalBucket.counters[0].applyCount(Constants.GLOBAL_REQUESTS_PER_SECOND,0,ms);}},exports.RequestHandler=class extends events.EventEmitter{constructor(ratelimiter,options){super();this.ratelimiter=ratelimiter;this.options={baseHost:options?.baseHost??Endpoints.BASE_HOST,baseURL:options?.baseURL??Endpoints.BASE_URL,bypassBuckets:options?.bypassBuckets??false,retryFailed:options?.retryFailed??false,retryLimit:options?.retryLimit??Constants.DEFAULT_RETRY_LIMIT,headers:{"User-Agent":`Discordbot (https://github.com/DasWolke/SnowTransfer, ${version}) Node.js/${process.version}`},fetch:options?.fetch??fetch},options?.token&&(this.options.headers.Authorization=options.token),this.apiURL=this.options.baseHost+Endpoints.BASE_URL,this.latency=500;}options;latency;apiURL;request(endpoint,params={},method,dataType,data,extraHeaders,retries=this.options.retryLimit,rawResponse=false){let stack=new Error().stack;return new Promise(async(resolve,reject)=>{let fn=async bkt=>{let reqId=crypto.randomBytes(20).toString("hex");try{let request={endpoint,method:method.toUpperCase(),dataType,data:data??{}};this.emit("request",reqId,request);let before=Date.now(),response;switch(dataType){case "json":response=await this._request(endpoint,params,method,data,extraHeaders);break;case "multipart":if(!data)throw new Error("No multipart data");response=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?.counters.forEach(c=>c.responseReceived()),bkt&&this._applyRatelimitHeaders(bkt,response.headers),response.status&&!Constants.OK_STATUS_CODES.has(response.status)&&response.status!==429){if(this.options.retryFailed&&!Constants.DO_NOT_RETRY_STATUS_CODES.has(response.status)&&retries!==0)return this.request(endpoint,params,method,dataType,data,extraHeaders,retries--).then(resolve).catch(reject);throw new exports.DiscordAPIError({message:await response.text()},request,response)}if(response.status===429){let b=await response.json();if(b.global&&this.ratelimiter.setGlobal(b.retry_after*1e3),globalThis.snowtransferDebugLogging&&console.log(`${new Date().toISOString()} [rate] [${bkt?.counters[0].id}] !! 429 - guess there was 0 remaining, wait another ${b.retry_after*1e3} (route: ${this.ratelimiter.routify(endpoint,method.toUpperCase())})`),this.emit("rateLimit",{method:method.toUpperCase(),path:endpoint,route:this.ratelimiter.routify(endpoint,method.toUpperCase())}),this.options.retryFailed&&retries!==0)return this.request(endpoint,params,method,dataType,data,extraHeaders,0).then(resolve).catch(reject);throw new exports.DiscordAPIError({message:b.message,code:b.code??429},request,response)}if(this.emit("done",reqId,response,request),rawResponse)return resolve(response);if(response.body){let b;try{b=await response.json();}catch{return resolve(void 0)}return resolve(b)}else return resolve(void 0)}catch(error){return error?.stack&&(error.stack=error.stack+`
|
|
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_StateMachine=__commonJS({"src/StateMachine.ts"(exports$1,module){var EventEmitter2=__require("events"),StateMachine=class extends EventEmitter2{constructor(currentStateName){super();this.currentStateName=currentStateName;this.deferredTransitionCreators.push(()=>{this.states.has(currentStateName)||this.defineState(currentStateName);});}states=new Map;editable=true;deferredTransitionCreators=[];history=[];guardEditable(){if(!this.editable)throw new Error("tried to edit state machine after machine has been frozen")}guardNotEditable(){if(this.editable)throw new Error("tried to do transition before machine has been frozen")}defineState(name,cbs={onEnter:[],onLeave:[],transitions:new Map}){if(this.guardEditable(),this.states.has(name))throw new Error(`attempt to redefine state ${name}, please edit it instead`);return this.states.set(name,{onEnter:cbs.onEnter,onLeave:cbs.onLeave,transitions:cbs.transitions}),this}defineTransition(from,event,to,cb){this.guardEditable();let state=this.states.get(from);if(state.transitions.has(event))throw new Error(`attempt to redefine transition ${from} --${event}--> *, please only create transitions once`);let onTransition=[];return cb&&onTransition.push(cb),state.transitions.set(event,{destination:to,onTransition}),this}defineUniversalTransition(event,to,cb){return this.guardEditable(),this.deferredTransitionCreators.push(()=>{for(let[stateName,state]of this.states.entries())state.transitions.has(event)||this.defineTransition(stateName,event,to,cb);}),this}freeze(){this.guardEditable();for(let cb of this.deferredTransitionCreators)cb();let problems=[];for(let[stateName,state]of this.states.entries())for(let[transitionName,transition]of state.transitions.entries())this.states.has(transition.destination)||problems.push(`transition ${stateName} --${transitionName}--> ${transition.destination} has an invalid destination`);if(problems.length)throw new Error(`Consistency problems in state machine: ${problems.join(";")}`);this.editable=false;}doTransition(event,...args){this.guardNotEditable();let from=this.currentStateName,transition=this.states.get(this.currentStateName).transitions.get(event);if(!transition)throw new Error(`undefined transition: ${this.currentStateName} -> ${event} -> ?`);this.history.push({from,event,to:transition.destination,time:Date.now()}),this.history.length>20&&this.history.shift();for(let cb of this.states.get(this.currentStateName).onLeave)try{cb(event);}catch(e){throw this.debug(),new Error(`onLeave callback for state ${from} (during transition ${from} --${event}--> ${transition.destination})`,{cause:e})}this.currentStateName=transition.destination;for(let cb of transition.onTransition??[])try{cb(...args);}catch(e){throw this.debug(),new Error(`onTransition callback during ${from} --${event}--> ${transition.destination}`,{cause:e})}this.emit("enter",this.currentStateName);for(let cb of this.states.get(this.currentStateName).onEnter)try{cb(event);}catch(e){throw this.debug(),new Error(`onEnter callback for state ${from} (during transition ${this.currentStateName} --${event}--> ${transition.destination})`,{cause:e})}}doTransitionLater(event,delayMs,...args){this.guardNotEditable();let timer=setTimeout(()=>{this.doTransition(event,...args);},delayMs);this.once("enter",()=>{clearTimeout(timer);});}debug(){console.table(this.history.map(h=>({At:new Date(h.time),"From -->":h.from,"-- Event -->":h.event,"--> To":h.to})).concat({At:new Date,"From -->":this.currentStateName,"-- Event -->":"(debug)","--> To":""}));}};module.exports=StateMachine;}});var require_Constants=__commonJS({"src/Constants.ts"(exports$1,module){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]),DEFAULT_RETRY_LIMIT:3,GLOBAL_REQUESTS_PER_SECOND:50,async standardMultipartHandler(data){let form=new 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){if(value instanceof Buffer||typeof value=="string")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 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 ${value?.constructor?.name??typeof value} to form`)},reasonHeader(reason){return reason?{"X-Audit-Log-Reason":reason}:{}}};module.exports=Constants3;}});var require_Endpoints=__commonJS({"src/Endpoints.ts"(exports$1,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_EMOJI:(appId,emojiId)=>`${Endpoints3.APPLICATION_EMOJIS(appId)}/${emojiId}`,APPLICATION_EMOJIS:appId=>`/applications/${appId}/emojis`,APPLICATION_ENTITLEMENT:(appId,entitlementId)=>`${Endpoints3.APPLICATION_ENTITLEMENTS(appId)}/${entitlementId}`,APPLICATION_ENTITLEMENT_CONSUME:(appId,entitlementId)=>`${Endpoints3.APPLICATION_ENTITLEMENT(appId,entitlementId)}/consume`,APPLICATION_ENTITLEMENTS:appId=>`/applications/${appId}/entitlements`,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`,APPLICATION_SKUS:appId=>`/applications/${appId}/skus`,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)}/messages/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_VOICE_STATUS:chanId=>`${Endpoints3.CHANNEL(chanId)}/voice-status`,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}`,INVITE_TARGET_USERS:inviteId=>`${Endpoints3.INVITES(inviteId)}/target-users`,INVITE_TARGET_USERS_JOB_STATUS:inviteId=>`${Endpoints3.INVITE_TARGET_USERS(inviteId)}/job-status`,OAUTH2_APPLICATION:appId=>`/oauth2/applications/${appId}`,OAUTH2_TOKEN:"/api/oauth2/token",POLL_ANSWER:(chanId,msgId,answerId)=>`${Endpoints3.CHANNEL(chanId)}/polls/${msgId}/answers/${answerId}`,POLL_EXPIRE:(chanId,msgId)=>`${Endpoints3.CHANNEL(chanId)}/polls/${msgId}/expire`,SKU_SUBSCRIPTIONS:skuId=>`/skus/${skuId}/subscriptions`,SKU_SUBSCRIPTION:(skuId,subscriptionId)=>`${Endpoints3.SKU_SUBSCRIPTIONS(skuId)}/${subscriptionId}`,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,util,Endpoints,version,Constants,SM2,routeRegex,reactionsRegex,reactionsUserRegex,webhooksRegex,isMessageEndpointRegex,isGuildChannelsRegex,messagesRegex,disallowedBodyMethods;exports.DiscordAPIError = void 0;exports.IntervalCounter = void 0;exports.LeakyCounter = void 0;exports.Bucket = void 0;exports.Ratelimiter = void 0;exports.RequestHandler = void 0;var init_RequestHandler=__esm({"src/RequestHandler.ts"(){fs=__require("fs"),path=__require("path"),crypto=__require("crypto"),util=__require("util"),Endpoints=require_Endpoints(),{version}=JSON.parse(fs.readFileSync(path.join(__dirname,"../package.json"),{encoding:"utf8"})),Constants=require_Constants(),SM2=require_StateMachine(),routeRegex=/\/([a-z-]+)\/(?:\d+)/g,reactionsRegex=/\/reactions\/[^/]+/g,reactionsUserRegex=/\/reactions\/:id\/[^/]+/g,webhooksRegex=/^\/webhooks\/(\d+)\/[A-Za-z0-9-_]{64,}/,isMessageEndpointRegex=/\/messages\/:id$/,isGuildChannelsRegex=/\/guilds\/\d+\/channels$/,messagesRegex=/\/messages\/\d+$/,disallowedBodyMethods=new Set(["head","get","delete"]),exports.DiscordAPIError=class extends Error{method;path;code;httpStatus;request;response;constructor(error,request,response){super(),this.name="DiscordAPIError",this.message=error.message??util.inspect(error),this.method=request.method,this.path=request.endpoint,this.code=error.code??4e3,this.httpStatus=response.status,Object.defineProperties(this,{request:{enumerable:false,value:request},response:{enumerable:false,value:response}});}},exports.IntervalCounter=class{constructor(limit,reset){this.limit=limit;this.reset=reset;this.remaining=limit;}remaining;firstRequestTime=0;resetAt=null;id=new Array(3).fill(0).map(()=>String.fromCodePoint(Math.floor(Math.random()*26+65))).join("");checkReset(){let now=Date.now();this.resetAt!==null?now>this.resetAt&&(this.firstRequestTime=0,this.remaining=this.limit,this.resetAt=null,globalThis.snowtransferDebugLogging&&console.log(`${new Date().toISOString()} [itrv] [${this.id}] informed reset: ${this.remaining}/${this.limit}`)):now>this.firstRequestTime+this.reset&&(this.firstRequestTime=0,this.remaining=this.limit,globalThis.snowtransferDebugLogging&&console.log(`${new Date().toISOString()} [itrv] [${this.id}] predicted reset: ${this.remaining}/${this.limit}`));}hasReset(){return this.checkReset(),this.remaining===this.limit}canTake(){return this.checkReset(),this.remaining>0}take(){this.checkReset(),this.remaining===this.limit&&(this.firstRequestTime=Date.now());let ok=this.remaining>0;return this.remaining--,ok}timeUntilReset(){let now=Date.now();return this.resetAt?Math.max(this.resetAt-now+1,0):Math.max(this.firstRequestTime+this.reset-Date.now()+1,0)}responseReceived(){this.remaining===this.limit-1&&this.firstRequestTime&&(this.firstRequestTime=Date.now());}applyCount(limit,remaining,resetAfter){limit!=null&&(this.limit=limit),this.remaining=remaining,this.resetAt=Date.now()+resetAfter;}},exports.LeakyCounter=class{constructor(limit){this.limit=limit;this.remaining=limit;}remaining;resetAt=null;id=new Array(3).fill(0).map(()=>String.fromCodePoint(Math.floor(Math.random()*26+65))).join("");checkReset(){let now=Date.now();this.resetAt&&now>this.resetAt&&(this.remaining=Math.min(this.limit,this.remaining+1),this.resetAt=null,globalThis.snowtransferDebugLogging&&console.log(`${new Date().toISOString()} [leak] [${this.id}] restore one: ${this.remaining}/${this.limit}`));}hasReset(){return this.checkReset(),this.remaining===this.limit}canTake(){return this.checkReset(),this.remaining>0}take(){return this.checkReset(),globalThis.snowtransferDebugLogging&&console.log(`${new Date().toISOString()} [leak] [${this.id}] took: ${this.remaining-1} left`),this.remaining-- >0}timeUntilReset(){let now=Date.now();return this.resetAt?Math.max(this.resetAt-now+1,0):0}responseReceived(){}applyCount(limit,remaining,resetAfter){limit!=null&&(this.limit=limit),this.remaining=remaining,this.resetAt=Date.now()+resetAfter,globalThis.snowtransferDebugLogging&&console.log(`${new Date().toISOString()} [leak] [${this.id}] applied: ${remaining}/${limit} - wait another ${resetAfter}`);}},exports.Bucket=class{sm=new SM2("ready");calls=[];counters=[];pauseRequested=false;constructor(counters){this.counters=counters,this.sm.defineState("ready",{onEnter:[],onLeave:[],transitions:new Map([["enqueue",{destination:"check"}],["pause",{destination:"paused"}]])}),this.sm.defineState("check",{onEnter:[()=>this.pauseRequested?this.sm.doTransition("pause"):this.counters.every(c=>c.canTake())?this.calls.length?this.sm.doTransition("run"):this.sm.doTransition("empty"):this.sm.doTransition("cooldown")],onLeave:[],transitions:new Map([["pause",{destination:"paused"}],["cooldown",{destination:"cooldown"}],["run",{destination:"running"}],["empty",{destination:"ready"}]])}),this.sm.defineState("running",{onEnter:[()=>{this.counters.forEach(c=>c.take()),this.calls.shift()().then(()=>{this.sm.doTransition("complete");});}],onLeave:[],transitions:new Map([["complete",{destination:"check"}]])}),this.sm.defineState("cooldown",{onEnter:[()=>{this.sm.doTransitionLater("reset",Math.max(...this.counters.map(c=>c.timeUntilReset())));}],onLeave:[],transitions:new Map([["reset",{destination:"check"}]])}),this.sm.defineState("paused",{onEnter:[],onLeave:[()=>{this.pauseRequested=false;}],transitions:new Map([["resume",{destination:"check"}]])}),this.sm.freeze();}enqueue(fn){return new Promise((resolve,reject)=>{this.calls.push(()=>fn(this).then(resolve).catch(reject)),this.sm.currentStateName==="ready"&&this.sm.doTransition("enqueue");})}pause(){this.pauseRequested=true,this.sm.currentStateName==="ready"&&this.sm.doTransition("pause");}resume(){this.pauseRequested=false,this.sm.currentStateName==="paused"&&this.sm.doTransition("resume");}dropQueue(){this.calls.length=0;}},exports.Ratelimiter=class{buckets=new Map;globalBucket=new exports.Bucket([new exports.IntervalCounter(Constants.GLOBAL_REQUESTS_PER_SECOND,1e3)]);get global(){return !this.globalBucket.counters[0].canTake()}constructor(){setInterval(()=>{for(let[key,value]of this.buckets.entries())value.counters[0].hasReset()&&this.buckets.delete(key);},3600*1e3).unref();}routify(url,method){let route=url.replaceAll(routeRegex,function(match,p){return p==="channels"||p==="guilds"||p==="webhooks"?match:`/${p}/:id`}).replaceAll(reactionsRegex,"/reactions/:id").replaceAll(reactionsUserRegex,"/reactions/:id/:userId").replace(webhooksRegex,"/webhooks/$1/:token");if(method==="DELETE"&&isMessageEndpointRegex.test(route)?route=method+route:method==="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){let routeKey=this.routify(url,method),bucket=this.buckets.get(routeKey);return bucket||(method==="DELETE"&&messagesRegex.test(url)?bucket=new exports.Bucket([new exports.LeakyCounter(1),new exports.IntervalCounter(5,5e3),this.globalBucket.counters[0]]):bucket=new exports.Bucket([new exports.LeakyCounter(1),this.globalBucket.counters[0]]),this.buckets.set(routeKey,bucket)),bucket.enqueue(fn)}setGlobal(ms){this.globalBucket.counters[0].applyCount(Constants.GLOBAL_REQUESTS_PER_SECOND,0,ms);}},exports.RequestHandler=class extends events.EventEmitter{constructor(ratelimiter,options){super();this.ratelimiter=ratelimiter;this.options={baseHost:options?.baseHost??Endpoints.BASE_HOST,baseURL:options?.baseURL??Endpoints.BASE_URL,bypassBuckets:options?.bypassBuckets??false,retryFailed:options?.retryFailed??false,retryLimit:options?.retryLimit??Constants.DEFAULT_RETRY_LIMIT,headers:{"User-Agent":`Discordbot (https://github.com/DasWolke/SnowTransfer, ${version}) Node.js/${process.version}`},fetch:options?.fetch??fetch},options?.token&&(this.options.headers.Authorization=options.token),this.apiURL=this.options.baseHost+Endpoints.BASE_URL,this.latency=500;}options;latency;apiURL;request(endpoint,params={},method,dataType,data,extraHeaders,retries=this.options.retryLimit,rawResponse=false){let stack=new Error().stack;return new Promise(async(resolve,reject)=>{let fn=async bkt=>{let reqId=crypto.randomBytes(20).toString("hex");try{let request={endpoint,method:method.toUpperCase(),dataType,data:data??{}};this.emit("request",reqId,request);let before=Date.now(),response;switch(dataType){case "json":response=await this._request(endpoint,params,method,data,extraHeaders);break;case "multipart":if(!data)throw new Error("No multipart data");response=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?.counters.forEach(c=>c.responseReceived()),bkt&&this._applyRatelimitHeaders(bkt,response.headers),response.status&&!Constants.OK_STATUS_CODES.has(response.status)&&response.status!==429){if(this.options.retryFailed&&!Constants.DO_NOT_RETRY_STATUS_CODES.has(response.status)&&retries!==0)return this.request(endpoint,params,method,dataType,data,extraHeaders,retries--).then(resolve).catch(reject);throw new exports.DiscordAPIError({message:await response.text()},request,response)}if(response.status===429){let b=await response.json();if(b.global&&this.ratelimiter.setGlobal(b.retry_after*1e3),globalThis.snowtransferDebugLogging&&console.log(`${new Date().toISOString()} [rate] [${bkt?.counters[0].id}] !! 429 - guess there was 0 remaining, wait another ${b.retry_after*1e3} (route: ${this.ratelimiter.routify(endpoint,method.toUpperCase())})`),this.emit("rateLimit",{method:method.toUpperCase(),path:endpoint,route:this.ratelimiter.routify(endpoint,method.toUpperCase())}),this.options.retryFailed&&retries!==0)return this.request(endpoint,params,method,dataType,data,extraHeaders,0).then(resolve).catch(reject);throw new exports.DiscordAPIError({message:b.message,code:b.code??429},request,response)}if(this.emit("done",reqId,response,request),rawResponse)return resolve(response);if(response.body){let b;try{b=await response.json();}catch{return resolve(void 0)}return resolve(b)}else return resolve(void 0)}catch(error){return error?.stack&&(error.stack=error.stack+`
|
|
10
10
|
${stack.split(`
|
|
11
11
|
`).slice(1).join(`
|
|
12
|
-
`)}`),this.emit("requestError",reqId,error),reject(error)}};this.options.bypassBuckets?fn():this.ratelimiter.queue(fn,endpoint,method.toUpperCase());})}_applyRatelimitHeaders(bkt,headers){let remaining=headers.get("x-ratelimit-remaining"),limit=headers.get("x-ratelimit-limit"),resetAfter=headers.get("x-ratelimit-reset-after"),isGlobal=headers.get("x-ratelimit-global");remaining===null&&!bkt.counters[0].canTake()&&!isGlobal&&bkt.counters[0].applyCount(null,1,0),remaining&&limit&&resetAfter&&!isGlobal&&bkt.counters[0].applyCount(Number.parseInt(limit),Number.parseInt(remaining),Number.parseFloat(resetAfter)*1e3);}async _request(endpoint,params={},method,data,extraHeaders){let headers={...this.options.headers,...extraHeaders},body;return disallowedBodyMethods.has(method)||(typeof data=="object"?body=JSON.stringify(data):body=String(data),headers["Content-Type"]="application/json"),this.options.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 this.options.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(),Constants3=require_Constants(),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,reason){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULES(guildId),{},"post","json",data,Constants3.reasonHeader(reason))}async editAutoModerationRule(guildId,ruleId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULE(guildId,ruleId),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteAutoModerationRule(guildId,ruleId,reason){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULE(guildId,ruleId),{},"delete","json",{},Constants3.reasonHeader(reason))}};module.exports=AutoModerationMethods;}});var require_Bot=__commonJS({"src/methods/Bot.ts"(exports,module){var Endpoints3=require_Endpoints(),BotMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getGateway(){return this.requestHandler.request(Endpoints3.GATEWAY,{},"get","json")}async getGatewayBot(){return this.requestHandler.request(Endpoints3.GATEWAY_BOT,{},"get","json")}async getApplicationInfo(){return this.requestHandler.request(Endpoints3.OAUTH2_APPLICATION("@me"),{},"get","json")}async updateApplicationInfo(data){return this.requestHandler.request(Endpoints3.OAUTH2_APPLICATION("@me"),{},"patch","json",data)}};module.exports=BotMethods;}});var require_Channel=__commonJS({"src/methods/Channel.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),ChannelMethods=class{constructor(requestHandler,options){this.requestHandler=requestHandler;this.options=options;}async getChannel(channelId){return this.requestHandler.request(Endpoints3.CHANNEL(channelId),{},"get","json")}async updateChannel(channelId,data,reason){return this.requestHandler.request(Endpoints3.CHANNEL(channelId),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteChannel(channelId,reason){return this.requestHandler.request(Endpoints3.CHANNEL(channelId),{},"delete","json",{},Constants3.reasonHeader(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){if(typeof data!="string"&&!data.content&&(!data.message_reference||data.message_reference&&data.message_reference.type===v10.MessageReferenceType.Default)&&!data.embeds&&!data.sticker_ids&&!data.components&&!data.files&&!data.poll)throw new Error("Missing content, message_reference type 1, embeds, sticker_ids, components, files, or poll");if(typeof data=="string"&&(data={content:data}),(data.content||data.embeds)&&data.flags&&(data.flags&v10.MessageFlags.IsComponentsV2)===v10.MessageFlags.IsComponentsV2)throw new Error("The message flags was set to include IsComponentsV2, but content and/or embeds were also present. You can either have content/embeds or components v2, not both.");return data.allowed_mentions??=this.options.allowed_mentions,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 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){return typeof data=="string"&&(data={content:data}),(data.content||data.components)&&(data.allowed_mentions??=this.options.allowed_mentions),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",{},Constants3.reasonHeader(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 this.requestHandler.request(Endpoints3.CHANNEL_BULK_DELETE(channelId),{},"post","json",data,Constants3.reasonHeader(reason))}async editChannelPermission(channelId,permissionId,data,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PERMISSION(channelId,permissionId),{},"put","json",data,Constants3.reasonHeader(reason))}async getChannelInvites(channelId){return this.requestHandler.request(Endpoints3.CHANNEL_INVITES(channelId),{},"get","json")}async createChannelInvite(channelId,data={max_age:86400,max_uses:0,temporary:false,unique:false},reason){let targetUsers=data?.target_users;if(targetUsers?.length){delete data.target_users;let form=new FormData;return await Constants3.standardAddToFormHandler(form,"target_users_file",`Users
|
|
12
|
+
`)}`),this.emit("requestError",reqId,error),reject(error)}};this.options.bypassBuckets?fn():this.ratelimiter.queue(fn,endpoint,method.toUpperCase());})}_applyRatelimitHeaders(bkt,headers){let remaining=headers.get("x-ratelimit-remaining"),limit=headers.get("x-ratelimit-limit"),resetAfter=headers.get("x-ratelimit-reset-after"),isGlobal=headers.get("x-ratelimit-global");remaining===null&&!bkt.counters[0].canTake()&&!isGlobal&&bkt.counters[0].applyCount(null,1,0),remaining&&limit&&resetAfter&&!isGlobal&&bkt.counters[0].applyCount(Number.parseInt(limit),Number.parseInt(remaining),Number.parseFloat(resetAfter)*1e3);}async _request(endpoint,params={},method,data,extraHeaders){let headers={...this.options.headers,...extraHeaders},body;return disallowedBodyMethods.has(method)||(typeof data=="object"?body=JSON.stringify(data):body=String(data),headers["Content-Type"]="application/json"),this.options.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 this.options.fetch(`${this.apiURL}${endpoint}${appendQuery(params)}`,{method:method.toUpperCase(),headers,body:data})}};}});var require_AuditLog=__commonJS({"src/methods/AuditLog.ts"(exports$1,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$1,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),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,reason){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULES(guildId),{},"post","json",data,Constants3.reasonHeader(reason))}async editAutoModerationRule(guildId,ruleId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULE(guildId,ruleId),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteAutoModerationRule(guildId,ruleId,reason){return this.requestHandler.request(Endpoints3.GUILD_AUTO_MOD_RULE(guildId,ruleId),{},"delete","json",{},Constants3.reasonHeader(reason))}};module.exports=AutoModerationMethods;}});var require_Bot=__commonJS({"src/methods/Bot.ts"(exports$1,module){var Endpoints3=require_Endpoints(),BotMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getGateway(){return this.requestHandler.request(Endpoints3.GATEWAY,{},"get","json")}async getGatewayBot(){return this.requestHandler.request(Endpoints3.GATEWAY_BOT,{},"get","json")}async getApplicationInfo(){return this.requestHandler.request(Endpoints3.OAUTH2_APPLICATION("@me"),{},"get","json")}async updateApplicationInfo(data){return this.requestHandler.request(Endpoints3.OAUTH2_APPLICATION("@me"),{},"patch","json",data)}};module.exports=BotMethods;}});var require_Channel=__commonJS({"src/methods/Channel.ts"(exports$1,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),ChannelMethods=class{constructor(requestHandler,options){this.requestHandler=requestHandler;this.options=options;}async getChannel(channelId){return this.requestHandler.request(Endpoints3.CHANNEL(channelId),{},"get","json")}async updateChannel(channelId,data,reason){return this.requestHandler.request(Endpoints3.CHANNEL(channelId),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteChannel(channelId,reason){return this.requestHandler.request(Endpoints3.CHANNEL(channelId),{},"delete","json",{},Constants3.reasonHeader(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){if(typeof data!="string"&&!data.content&&(!data.message_reference||data.message_reference&&data.message_reference.type===v10.MessageReferenceType.Default)&&!data.embeds&&!data.sticker_ids&&!data.components&&!data.files&&!data.poll)throw new Error("Missing content, message_reference type 1, embeds, sticker_ids, components, files, or poll");if(typeof data=="string"&&(data={content:data}),(data.content||data.embeds)&&data.flags&&(data.flags&v10.MessageFlags.IsComponentsV2)===v10.MessageFlags.IsComponentsV2)throw new Error("The message flags was set to include IsComponentsV2, but content and/or embeds were also present. You can either have content/embeds or components v2, not both.");return data.allowed_mentions??=this.options.allowed_mentions,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 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){return typeof data=="string"&&(data={content:data}),(data.content||data.components)&&(data.allowed_mentions??=this.options.allowed_mentions),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",{},Constants3.reasonHeader(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 this.requestHandler.request(Endpoints3.CHANNEL_BULK_DELETE(channelId),{},"post","json",data,Constants3.reasonHeader(reason))}async editChannelPermission(channelId,permissionId,data,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PERMISSION(channelId,permissionId),{},"put","json",data,Constants3.reasonHeader(reason))}async getChannelInvites(channelId){return this.requestHandler.request(Endpoints3.CHANNEL_INVITES(channelId),{},"get","json")}async createChannelInvite(channelId,data={max_age:86400,max_uses:0,temporary:false,unique:false},reason){let targetUsers=data?.target_users;if(targetUsers?.length){delete data.target_users;let form=new FormData;return await Constants3.standardAddToFormHandler(form,"target_users_file",`Users
|
|
13
13
|
${targetUsers.join(`,
|
|
14
|
-
`)},`,"target_users_file.csv"),form.append("payload_json",JSON.stringify(data)),this.requestHandler.request(Endpoints3.CHANNEL_INVITES(channelId),{},"post","multipart",form,Constants3.reasonHeader(reason))}return this.requestHandler.request(Endpoints3.CHANNEL_INVITES(channelId),{},"post","json",data,Constants3.reasonHeader(reason))}async deleteChannelPermission(channelId,permissionId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PERMISSION(channelId,permissionId),{},"delete","json",{},Constants3.reasonHeader(reason))}async followAnnouncementChannel(channelId,webhookChannelId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_FOLLOWERS(channelId),{},"post","json",{webhook_channel_id:webhookChannelId},Constants3.reasonHeader(reason))}async startChannelTyping(channelId){return this.requestHandler.request(Endpoints3.CHANNEL_TYPING(channelId),{},"post","json")}async getChannelPinnedMessages(channelId,options){return this.requestHandler.request(Endpoints3.CHANNEL_PINS(channelId),options,"get","json")}async addChannelPinnedMessage(channelId,messageId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PIN(channelId,messageId),{},"put","json",{},Constants3.reasonHeader(reason))}async removeChannelPinnedMessage(channelId,messageId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PIN(channelId,messageId),{},"delete","json",{},Constants3.reasonHeader(reason))}async createThreadWithMessage(channelId,messageId,data,reason){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_THREADS(channelId,messageId),{},"post","json",data,Constants3.reasonHeader(reason))}async createThreadWithoutMessage(channelId,data,reason){return this.requestHandler.request(Endpoints3.CHANNEL_THREADS(channelId),{},"post","json",data,Constants3.reasonHeader(reason))}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")}async 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]})}async getPollAnswerVoters(channelId,messageId,answerId,options){return this.requestHandler.request(Endpoints3.POLL_ANSWER(channelId,messageId,answerId),options,"get","json")}async endPoll(channelId,messageId){return this.requestHandler.request(Endpoints3.POLL_EXPIRE(channelId,messageId),{},"post","json")}async setVoiceChannelStatus(channelId,status){return this.requestHandler.request(Endpoints3.CHANNEL_VOICE_STATUS(channelId),{},"put","json",{status})}};module.exports=ChannelMethods;}});var require_Assets=__commonJS({"src/methods/Assets.ts"(exports,module){var Constants3=require_Constants(),Endpoints3=require_Endpoints(),AssetsMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getGuildEmojis(guildId){return this.requestHandler.request(Endpoints3.GUILD_EMOJIS(guildId),{},"get","json")}async getGuildEmoji(guildId,emojiId){return this.requestHandler.request(Endpoints3.GUILD_EMOJI(guildId,emojiId),{},"get","json")}async createGuildEmoji(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_EMOJIS(guildId),{},"post","json",data,Constants3.reasonHeader(reason))}async updateGuildEmoji(guildId,emojiId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_EMOJI(guildId,emojiId),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteGuildEmoji(guildId,emojiId,reason){return this.requestHandler.request(Endpoints3.GUILD_EMOJI(guildId,emojiId),{},"delete","json",{},Constants3.reasonHeader(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,reason){let form=new FormData;for(let[key,value]of Object.entries(data))await Constants3.standardAddToFormHandler(form,key,value);return this.requestHandler.request(Endpoints3.GUILD_STICKERS(guildId),{},"post","multipart",form,Constants3.reasonHeader(reason))}async updateGuildSticker(guildId,stickerId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_STICKER(guildId,stickerId),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteGuildSticker(guildId,stickerId,reason){return this.requestHandler.request(Endpoints3.GUILD_STICKER(guildId,stickerId),{},"delete","json",{},Constants3.reasonHeader(reason))}async getAppEmojis(appId){return this.requestHandler.request(Endpoints3.APPLICATION_EMOJIS(appId),{},"get","json")}async getAppEmoji(appId,emojiId){return this.requestHandler.request(Endpoints3.APPLICATION_EMOJI(appId,emojiId),{},"get","json")}async createAppEmoji(appId,data){return this.requestHandler.request(Endpoints3.APPLICATION_EMOJIS(appId),{},"post","json",data)}async updateAppEmoji(appId,emojiId,data){return this.requestHandler.request(Endpoints3.APPLICATION_EMOJI(appId,emojiId),{},"patch","json",data)}async deleteAppEmoji(appId,emojiId){return this.requestHandler.request(Endpoints3.APPLICATION_EMOJI(appId,emojiId),{},"delete","json")}};module.exports=AssetsMethods;}});var require_Entitlements=__commonJS({"src/methods/Entitlements.ts"(exports,module){var Endpoints3=require_Endpoints(),EntitlementMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getEntitlements(appId){return this.requestHandler.request(Endpoints3.APPLICATION_ENTITLEMENTS(appId),{},"get","json")}async getEntitlement(appId,entitlementId){return this.requestHandler.request(Endpoints3.APPLICATION_ENTITLEMENT(appId,entitlementId),{},"get","json")}async consumeEntitlement(appId,entitlementId){return this.requestHandler.request(Endpoints3.APPLICATION_ENTITLEMENT_CONSUME(appId,entitlementId),{},"post","json")}async createTestEntitlement(appId,data){return this.requestHandler.request(Endpoints3.APPLICATION_ENTITLEMENTS(appId),{},"post","json",data)}async deleteTestEntitlement(appId,entitlementId){return this.requestHandler.request(Endpoints3.APPLICATION_ENTITLEMENT(appId,entitlementId),{},"delete","json")}};module.exports=EntitlementMethods;}});var require_Guild=__commonJS({"src/methods/Guild.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),GuildMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}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,reason){return this.requestHandler.request(Endpoints3.GUILD(guildId),{},"patch","json",data,Constants3.reasonHeader(reason))}async getGuildChannels(guildId){return this.requestHandler.request(Endpoints3.GUILD_CHANNELS(guildId),{},"get","json")}async createGuildChannel(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_CHANNELS(guildId),{},"post","json",data,Constants3.reasonHeader(reason))}async updateChannelPositions(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_CHANNELS(guildId),{},"patch","json",data,Constants3.reasonHeader(reason))}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,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,memberId),{},"patch","json",data,Constants3.reasonHeader(reason))}async updateSelf(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,"@me"),{},"patch","json",data,Constants3.reasonHeader(reason))}async addGuildMemberRole(guildId,memberId,roleId,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER_ROLE(guildId,memberId,roleId),{},"put","json",{},Constants3.reasonHeader(reason))}async removeGuildMemberRole(guildId,memberId,roleId,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER_ROLE(guildId,memberId,roleId),{},"delete","json",{},Constants3.reasonHeader(reason))}async removeGuildMember(guildId,memberId,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,memberId),{},"delete","json",{},Constants3.reasonHeader(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,reason){return this.requestHandler.request(Endpoints3.GUILD_BAN(guildId,memberId),{},"put","json",data,Constants3.reasonHeader(reason))}async removeGuildBan(guildId,memberId,reason){return this.requestHandler.request(Endpoints3.GUILD_BAN(guildId,memberId),{},"delete","json",{},Constants3.reasonHeader(reason))}async getGuildRoles(guildId){return this.requestHandler.request(Endpoints3.GUILD_ROLES(guildId),{},"get","json")}async createGuildRole(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_ROLES(guildId),{},"post","json",data,Constants3.reasonHeader(reason))}async updateGuildRolePositions(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_ROLES(guildId),{},"patch","json",data,Constants3.reasonHeader(reason))}async updateGuildRole(guildId,roleId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_ROLE(guildId,roleId),{},"patch","json",data,Constants3.reasonHeader(reason))}async removeGuildRole(guildId,roleId,reason){return this.requestHandler.request(Endpoints3.GUILD_ROLE(guildId,roleId),{},"delete","json",{},Constants3.reasonHeader(reason))}async getGuildPruneCount(guildId,options){return this.requestHandler.request(Endpoints3.GUILD_PRUNE(guildId),options,"get","json")}async startGuildPrune(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_PRUNE(guildId),{},"post","json",data,Constants3.reasonHeader(reason))}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",{},Constants3.reasonHeader(reason))}async getGuildWidgetSettings(guildId){return this.requestHandler.request(Endpoints3.GUILD_WIDGET_SETTINGS(guildId),{},"get","json")}async updateGuildWidgetSettings(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_WIDGET_SETTINGS(guildId),{},"patch","json",data,Constants3.reasonHeader(reason))}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,reason){return this.requestHandler.request(Endpoints3.GUILD_WELCOME_SCREEN(guildId),{},"patch","json",data,Constants3.reasonHeader(reason))}async updateCurrentUserVoiceState(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_VOICE_STATE_USER(guildId,"@me"),{},"patch","json",data)}async 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,reason){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENTS(guildId),{},"post","json",data,Constants3.reasonHeader(reason))}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,reason){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENT(guildId,eventId),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteGuildScheduledEvent(guildId,eventId){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENT(guildId,eventId),{},"delete","json")}async getGuildScheduledEventUsers(guildId,eventId,options){if(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;}async getGuildTemplate(code){return this.requestHandler.request(Endpoints3.TEMPLATE(code),{},"get","json")}async getGuildTemplates(guildId){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATES(guildId),{},"get","json")}async createGuildTemplate(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATES(guildId),{},"post","json",data)}async syncGuildTemplate(guildId,code){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATE(guildId,code),{},"put","json")}async modifyGuildTemplate(guildId,code,data){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATE(guildId,code),{},"patch","json",data)}async deleteGuildTemplate(guildId,code){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATE(guildId,code),{},"delete","json")}};module.exports=GuildTemplateMethods;}});var require_Interaction=__commonJS({"src/methods/Interaction.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),InteractionMethods=class{constructor(requestHandler,webhooks,options){this.requestHandler=requestHandler;this.webhooks=webhooks;this.options=options;}async getApplicationCommands(appId,withLocalizations){return this.requestHandler.request(Endpoints3.APPLICATION_COMMANDS(appId),{with_localizations:withLocalizations},"get","json")}async createApplicationCommand(appId,data){return this.requestHandler.request(Endpoints3.APPLICATION_COMMANDS(appId),{},"post","json",data)}async getApplicationCommand(appId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_COMMAND(appId,cmdId),{},"get","json")}async editApplicationCommand(appId,cmdId,data){return this.requestHandler.request(Endpoints3.APPLICATION_COMMAND(appId,cmdId),{},"patch","json",data)}async deleteApplicationCommand(appId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_COMMAND(appId,cmdId),{},"delete","json")}async bulkOverwriteApplicationCommands(appId,data){return this.requestHandler.request(Endpoints3.APPLICATION_COMMANDS(appId),{},"put","json",data)}async getGuildApplicationCommands(appId,guildId,withLocalizations){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS(appId,guildId),{with_localizations:withLocalizations},"get","json")}async createGuildApplicationCommand(appId,guildId,data){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS(appId,guildId),{},"post","json",data)}async getGuildApplicationCommand(appId,guildId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND(appId,guildId,cmdId),{},"get","json")}async editGuildApplicationCommand(appId,guildId,cmdId,data){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND(appId,guildId,cmdId),{},"patch","json",data)}async deleteGuildApplicationCommand(appId,guildId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND(appId,guildId,cmdId),{},"delete","json")}async bulkOverwriteGuildApplicationCommands(appId,guildId,data){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS(appId,guildId),{},"put","json",data)}async 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")}async 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.type===v10.InteractionResponseType.ChannelMessageWithSource||data.type===v10.InteractionResponseType.UpdateMessage)&&data.data&&(data.data.allowed_mentions??=this.options.allowed_mentions),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)}async getOriginalInteractionResponse(appId,token){return this.webhooks.getWebhookMessage(appId,token,"@original")}async editOriginalInteractionResponse(appId,token,data){return this.webhooks.editWebhookMessage(appId,token,"@original",data)}async deleteOriginalInteractionResponse(appId,token){return this.webhooks.deleteWebhookMessage(appId,token,"@original")}async createFollowupMessage(appId,token,data){return this.webhooks.executeWebhook(appId,token,data)}async getFollowupMessage(appId,token,messageId){return this.webhooks.getWebhookMessage(appId,token,messageId)}async editFollowupMessage(appId,token,messageId,data){return this.webhooks.editWebhookMessage(appId,token,messageId,data)}async deleteFollowupMessage(appId,token,messageId){return this.webhooks.deleteWebhookMessage(appId,token,messageId)}};module.exports=InteractionMethods;}});var require_Invite=__commonJS({"src/methods/Invite.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),InviteMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getInvite(inviteId,options){return this.requestHandler.request(Endpoints3.INVITES(inviteId),options,"get","json")}async deleteInvite(inviteId,reason){return this.requestHandler.request(Endpoints3.INVITES(inviteId),{},"delete","json",void 0,Constants3.reasonHeader(reason))}async getInviteTargetUsers(inviteId){let response=await this.requestHandler.request(Endpoints3.INVITE_TARGET_USERS(inviteId),{},"get","json",void 0,void 0,this.requestHandler.options.retryLimit,true),b;try{b=await response.text();}catch{b="";}return b.length?b.split(`
|
|
14
|
+
`)},`,"target_users_file.csv"),form.append("payload_json",JSON.stringify(data)),this.requestHandler.request(Endpoints3.CHANNEL_INVITES(channelId),{},"post","multipart",form,Constants3.reasonHeader(reason))}return this.requestHandler.request(Endpoints3.CHANNEL_INVITES(channelId),{},"post","json",data,Constants3.reasonHeader(reason))}async deleteChannelPermission(channelId,permissionId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PERMISSION(channelId,permissionId),{},"delete","json",{},Constants3.reasonHeader(reason))}async followAnnouncementChannel(channelId,webhookChannelId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_FOLLOWERS(channelId),{},"post","json",{webhook_channel_id:webhookChannelId},Constants3.reasonHeader(reason))}async startChannelTyping(channelId){return this.requestHandler.request(Endpoints3.CHANNEL_TYPING(channelId),{},"post","json")}async getChannelPinnedMessages(channelId,options){return this.requestHandler.request(Endpoints3.CHANNEL_PINS(channelId),options,"get","json")}async addChannelPinnedMessage(channelId,messageId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PIN(channelId,messageId),{},"put","json",{},Constants3.reasonHeader(reason))}async removeChannelPinnedMessage(channelId,messageId,reason){return this.requestHandler.request(Endpoints3.CHANNEL_PIN(channelId,messageId),{},"delete","json",{},Constants3.reasonHeader(reason))}async createThreadWithMessage(channelId,messageId,data,reason){return this.requestHandler.request(Endpoints3.CHANNEL_MESSAGE_THREADS(channelId,messageId),{},"post","json",data,Constants3.reasonHeader(reason))}async createThreadWithoutMessage(channelId,data,reason){return this.requestHandler.request(Endpoints3.CHANNEL_THREADS(channelId),{},"post","json",data,Constants3.reasonHeader(reason))}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")}async 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]})}async getPollAnswerVoters(channelId,messageId,answerId,options){return this.requestHandler.request(Endpoints3.POLL_ANSWER(channelId,messageId,answerId),options,"get","json")}async endPoll(channelId,messageId){return this.requestHandler.request(Endpoints3.POLL_EXPIRE(channelId,messageId),{},"post","json")}async setVoiceChannelStatus(channelId,status){return this.requestHandler.request(Endpoints3.CHANNEL_VOICE_STATUS(channelId),{},"put","json",{status})}};module.exports=ChannelMethods;}});var require_Assets=__commonJS({"src/methods/Assets.ts"(exports$1,module){var Constants3=require_Constants(),Endpoints3=require_Endpoints(),AssetsMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getGuildEmojis(guildId){return this.requestHandler.request(Endpoints3.GUILD_EMOJIS(guildId),{},"get","json")}async getGuildEmoji(guildId,emojiId){return this.requestHandler.request(Endpoints3.GUILD_EMOJI(guildId,emojiId),{},"get","json")}async createGuildEmoji(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_EMOJIS(guildId),{},"post","json",data,Constants3.reasonHeader(reason))}async updateGuildEmoji(guildId,emojiId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_EMOJI(guildId,emojiId),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteGuildEmoji(guildId,emojiId,reason){return this.requestHandler.request(Endpoints3.GUILD_EMOJI(guildId,emojiId),{},"delete","json",{},Constants3.reasonHeader(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,reason){let form=new FormData;for(let[key,value]of Object.entries(data))await Constants3.standardAddToFormHandler(form,key,value);return this.requestHandler.request(Endpoints3.GUILD_STICKERS(guildId),{},"post","multipart",form,Constants3.reasonHeader(reason))}async updateGuildSticker(guildId,stickerId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_STICKER(guildId,stickerId),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteGuildSticker(guildId,stickerId,reason){return this.requestHandler.request(Endpoints3.GUILD_STICKER(guildId,stickerId),{},"delete","json",{},Constants3.reasonHeader(reason))}async getAppEmojis(appId){return this.requestHandler.request(Endpoints3.APPLICATION_EMOJIS(appId),{},"get","json")}async getAppEmoji(appId,emojiId){return this.requestHandler.request(Endpoints3.APPLICATION_EMOJI(appId,emojiId),{},"get","json")}async createAppEmoji(appId,data){return this.requestHandler.request(Endpoints3.APPLICATION_EMOJIS(appId),{},"post","json",data)}async updateAppEmoji(appId,emojiId,data){return this.requestHandler.request(Endpoints3.APPLICATION_EMOJI(appId,emojiId),{},"patch","json",data)}async deleteAppEmoji(appId,emojiId){return this.requestHandler.request(Endpoints3.APPLICATION_EMOJI(appId,emojiId),{},"delete","json")}};module.exports=AssetsMethods;}});var require_Entitlements=__commonJS({"src/methods/Entitlements.ts"(exports$1,module){var Endpoints3=require_Endpoints(),EntitlementMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getEntitlements(appId){return this.requestHandler.request(Endpoints3.APPLICATION_ENTITLEMENTS(appId),{},"get","json")}async getEntitlement(appId,entitlementId){return this.requestHandler.request(Endpoints3.APPLICATION_ENTITLEMENT(appId,entitlementId),{},"get","json")}async consumeEntitlement(appId,entitlementId){return this.requestHandler.request(Endpoints3.APPLICATION_ENTITLEMENT_CONSUME(appId,entitlementId),{},"post","json")}async createTestEntitlement(appId,data){return this.requestHandler.request(Endpoints3.APPLICATION_ENTITLEMENTS(appId),{},"post","json",data)}async deleteTestEntitlement(appId,entitlementId){return this.requestHandler.request(Endpoints3.APPLICATION_ENTITLEMENT(appId,entitlementId),{},"delete","json")}};module.exports=EntitlementMethods;}});var require_Guild=__commonJS({"src/methods/Guild.ts"(exports$1,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),GuildMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}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,reason){return this.requestHandler.request(Endpoints3.GUILD(guildId),{},"patch","json",data,Constants3.reasonHeader(reason))}async getGuildChannels(guildId){return this.requestHandler.request(Endpoints3.GUILD_CHANNELS(guildId),{},"get","json")}async createGuildChannel(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_CHANNELS(guildId),{},"post","json",data,Constants3.reasonHeader(reason))}async updateChannelPositions(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_CHANNELS(guildId),{},"patch","json",data,Constants3.reasonHeader(reason))}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,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,memberId),{},"patch","json",data,Constants3.reasonHeader(reason))}async updateSelf(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,"@me"),{},"patch","json",data,Constants3.reasonHeader(reason))}async addGuildMemberRole(guildId,memberId,roleId,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER_ROLE(guildId,memberId,roleId),{},"put","json",{},Constants3.reasonHeader(reason))}async removeGuildMemberRole(guildId,memberId,roleId,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER_ROLE(guildId,memberId,roleId),{},"delete","json",{},Constants3.reasonHeader(reason))}async removeGuildMember(guildId,memberId,reason){return this.requestHandler.request(Endpoints3.GUILD_MEMBER(guildId,memberId),{},"delete","json",{},Constants3.reasonHeader(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,reason){return this.requestHandler.request(Endpoints3.GUILD_BAN(guildId,memberId),{},"put","json",data,Constants3.reasonHeader(reason))}async removeGuildBan(guildId,memberId,reason){return this.requestHandler.request(Endpoints3.GUILD_BAN(guildId,memberId),{},"delete","json",{},Constants3.reasonHeader(reason))}async getGuildRoles(guildId){return this.requestHandler.request(Endpoints3.GUILD_ROLES(guildId),{},"get","json")}async createGuildRole(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_ROLES(guildId),{},"post","json",data,Constants3.reasonHeader(reason))}async updateGuildRolePositions(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_ROLES(guildId),{},"patch","json",data,Constants3.reasonHeader(reason))}async updateGuildRole(guildId,roleId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_ROLE(guildId,roleId),{},"patch","json",data,Constants3.reasonHeader(reason))}async removeGuildRole(guildId,roleId,reason){return this.requestHandler.request(Endpoints3.GUILD_ROLE(guildId,roleId),{},"delete","json",{},Constants3.reasonHeader(reason))}async getGuildPruneCount(guildId,options){return this.requestHandler.request(Endpoints3.GUILD_PRUNE(guildId),options,"get","json")}async startGuildPrune(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_PRUNE(guildId),{},"post","json",data,Constants3.reasonHeader(reason))}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",{},Constants3.reasonHeader(reason))}async getGuildWidgetSettings(guildId){return this.requestHandler.request(Endpoints3.GUILD_WIDGET_SETTINGS(guildId),{},"get","json")}async updateGuildWidgetSettings(guildId,data,reason){return this.requestHandler.request(Endpoints3.GUILD_WIDGET_SETTINGS(guildId),{},"patch","json",data,Constants3.reasonHeader(reason))}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,reason){return this.requestHandler.request(Endpoints3.GUILD_WELCOME_SCREEN(guildId),{},"patch","json",data,Constants3.reasonHeader(reason))}async updateCurrentUserVoiceState(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_VOICE_STATE_USER(guildId,"@me"),{},"patch","json",data)}async 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$1,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,reason){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENTS(guildId),{},"post","json",data,Constants3.reasonHeader(reason))}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,reason){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENT(guildId,eventId),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteGuildScheduledEvent(guildId,eventId){return this.requestHandler.request(Endpoints3.GUILD_SCHEDULED_EVENT(guildId,eventId),{},"delete","json")}async getGuildScheduledEventUsers(guildId,eventId,options){if(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$1,module){var Endpoints3=require_Endpoints(),GuildTemplateMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getGuildTemplate(code){return this.requestHandler.request(Endpoints3.TEMPLATE(code),{},"get","json")}async getGuildTemplates(guildId){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATES(guildId),{},"get","json")}async createGuildTemplate(guildId,data){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATES(guildId),{},"post","json",data)}async syncGuildTemplate(guildId,code){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATE(guildId,code),{},"put","json")}async modifyGuildTemplate(guildId,code,data){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATE(guildId,code),{},"patch","json",data)}async deleteGuildTemplate(guildId,code){return this.requestHandler.request(Endpoints3.GUILD_TEMPLATE(guildId,code),{},"delete","json")}};module.exports=GuildTemplateMethods;}});var require_Interaction=__commonJS({"src/methods/Interaction.ts"(exports$1,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),InteractionMethods=class{constructor(requestHandler,webhooks,options){this.requestHandler=requestHandler;this.webhooks=webhooks;this.options=options;}async getApplicationCommands(appId,withLocalizations){return this.requestHandler.request(Endpoints3.APPLICATION_COMMANDS(appId),{with_localizations:withLocalizations},"get","json")}async createApplicationCommand(appId,data){return this.requestHandler.request(Endpoints3.APPLICATION_COMMANDS(appId),{},"post","json",data)}async getApplicationCommand(appId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_COMMAND(appId,cmdId),{},"get","json")}async editApplicationCommand(appId,cmdId,data){return this.requestHandler.request(Endpoints3.APPLICATION_COMMAND(appId,cmdId),{},"patch","json",data)}async deleteApplicationCommand(appId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_COMMAND(appId,cmdId),{},"delete","json")}async bulkOverwriteApplicationCommands(appId,data){return this.requestHandler.request(Endpoints3.APPLICATION_COMMANDS(appId),{},"put","json",data)}async getGuildApplicationCommands(appId,guildId,withLocalizations){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS(appId,guildId),{with_localizations:withLocalizations},"get","json")}async createGuildApplicationCommand(appId,guildId,data){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS(appId,guildId),{},"post","json",data)}async getGuildApplicationCommand(appId,guildId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND(appId,guildId,cmdId),{},"get","json")}async editGuildApplicationCommand(appId,guildId,cmdId,data){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND(appId,guildId,cmdId),{},"patch","json",data)}async deleteGuildApplicationCommand(appId,guildId,cmdId){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMAND(appId,guildId,cmdId),{},"delete","json")}async bulkOverwriteGuildApplicationCommands(appId,guildId,data){return this.requestHandler.request(Endpoints3.APPLICATION_GUILD_COMMANDS(appId,guildId),{},"put","json",data)}async 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")}async 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.type===v10.InteractionResponseType.ChannelMessageWithSource||data.type===v10.InteractionResponseType.UpdateMessage)&&data.data&&(data.data.allowed_mentions??=this.options.allowed_mentions),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)}async getOriginalInteractionResponse(appId,token){return this.webhooks.getWebhookMessage(appId,token,"@original")}async editOriginalInteractionResponse(appId,token,data){return this.webhooks.editWebhookMessage(appId,token,"@original",data)}async deleteOriginalInteractionResponse(appId,token){return this.webhooks.deleteWebhookMessage(appId,token,"@original")}async createFollowupMessage(appId,token,data){return this.webhooks.executeWebhook(appId,token,data)}async getFollowupMessage(appId,token,messageId){return this.webhooks.getWebhookMessage(appId,token,messageId)}async editFollowupMessage(appId,token,messageId,data){return this.webhooks.editWebhookMessage(appId,token,messageId,data)}async deleteFollowupMessage(appId,token,messageId){return this.webhooks.deleteWebhookMessage(appId,token,messageId)}};module.exports=InteractionMethods;}});var require_Invite=__commonJS({"src/methods/Invite.ts"(exports$1,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),InviteMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async getInvite(inviteId,options){return this.requestHandler.request(Endpoints3.INVITES(inviteId),options,"get","json")}async deleteInvite(inviteId,reason){return this.requestHandler.request(Endpoints3.INVITES(inviteId),{},"delete","json",void 0,Constants3.reasonHeader(reason))}async getInviteTargetUsers(inviteId){let response=await this.requestHandler.request(Endpoints3.INVITE_TARGET_USERS(inviteId),{},"get","json",void 0,void 0,this.requestHandler.options.retryLimit,true),b;try{b=await response.text();}catch{b="";}return b.length?b.split(`
|
|
15
15
|
`).slice(1).map(l=>l.replace(",","").trim()):[]}async updateInviteTargetUsers(inviteId,userIds){let csv=`Users
|
|
16
16
|
${userIds.join(`,
|
|
17
|
-
`)},`,form=new FormData;return await Constants3.standardAddToFormHandler(form,"target_users_file",csv,"target_users_file.csv"),this.requestHandler.request(Endpoints3.INVITE_TARGET_USERS(inviteId),{target_users_file:"target_users_file.csv"},"put","multipart",form)}async getInviteTargetUsersJobStatus(inviteId){return this.requestHandler.request(Endpoints3.INVITE_TARGET_USERS_JOB_STATUS(inviteId),{},"get","json")}};module.exports=InviteMethods;}});var require_Sku=__commonJS({"src/methods/Sku.ts"(exports,module){var Endpoints3=require_Endpoints(),SkuMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async GetSkus(appId){return this.requestHandler.request(Endpoints3.APPLICATION_SKUS(appId),{},"get","json")}async getSubscriptions(skuId,options={}){return this.requestHandler.request(Endpoints3.SKU_SUBSCRIPTIONS(skuId),options,"get","json")}async getSubscription(skuId,subscriptionId){return this.requestHandler.request(Endpoints3.SKU_SUBSCRIPTION(skuId,subscriptionId),{},"get","json")}};module.exports=SkuMethods;}});var require_StageInstance=__commonJS({"src/methods/StageInstance.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),StageInstanceMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async createStageInstance(data,reason){return this.requestHandler.request(Endpoints3.STAGE_INSTANCES,{},"post","json",data,Constants3.reasonHeader(reason))}async getStageInstance(channelId){return this.requestHandler.request(Endpoints3.STAGE_INSTANCE_CHANNEL(channelId),{},"get","json")}async editStageInstance(channelId,data,reason){return this.requestHandler.request(Endpoints3.STAGE_INSTANCE_CHANNEL(channelId),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteStageInstance(channelId,reason){return this.requestHandler.request(Endpoints3.STAGE_INSTANCE_CHANNEL(channelId),{},"delete","json",{},Constants3.reasonHeader(reason))}};module.exports=StageInstanceMethods;}});var require_User=__commonJS({"src/methods/User.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_Webhook=__commonJS({"src/methods/Webhook.ts"(exports,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),WebhookMethods=class{constructor(requestHandler,options){this.requestHandler=requestHandler;this.options=options;}async createWebhook(channelId,data,reason){return this.requestHandler.request(Endpoints3.CHANNEL_WEBHOOKS(channelId),{},"post","json",data,Constants3.reasonHeader(reason))}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,reason){return this.requestHandler.request(Endpoints3.WEBHOOK(webhookId),{},"patch","json",data,Constants3.reasonHeader(reason))}async updateWebhookToken(webhookId,token,data,reason){return this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN(webhookId,token),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteWebhook(webhookId,reason){return this.requestHandler.request(Endpoints3.WEBHOOK(webhookId),{},"delete","json",void 0,Constants3.reasonHeader(reason))}async deleteWebhookToken(webhookId,token,reason){return this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN(webhookId,token),{},"delete","json",void 0,Constants3.reasonHeader(reason))}async executeWebhook(webhookId,token,data,options){if(typeof data!="string"&&!data.content&&!data.embeds&&!data.components&&!data.files&&!data.poll)throw new Error("Missing content, embeds, components, files, or poll");typeof data=="string"&&(data={content:data});let hasComponentsV2=!!data.flags&&(data.flags&v10.MessageFlags.IsComponentsV2)===v10.MessageFlags.IsComponentsV2;if((data.content||data.embeds)&&data.flags&&hasComponentsV2)throw new Error("The message flags was set to include IsComponentsV2, but content and/or embeds were also present. You can either have content/embeds or components v2, not both.");return options&&delete options.disableEveryone,data.allowed_mentions??=this.options.allowed_mentions,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.allowed_mentions??=this.options.allowed_mentions,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_tokenless=__commonJS({"src/tokenless.ts"(exports,module){var Endpoints3=require_Endpoints();async function getOauth2Token(clientId,redirectURI,clientSecret,code){return (await fetch(`${Endpoints3.BASE_HOST}${Endpoints3.OAUTH2_TOKEN}`,{method:"POST",body:new URLSearchParams({grant_type:"authorization_code",code,client_id:clientId,client_secret:clientSecret,redirect_uri:redirectURI})})).json()}module.exports={getOauth2Token};}});var require_SnowTransfer=__commonJS({"src/SnowTransfer.ts"(exports$1,module){init_RequestHandler();var AssetsMethods=require_Assets(),AuditLogMethods=require_AuditLog(),AutoModerationMethods=require_AutoModeration(),BotMethods=require_Bot(),ChannelMethods=require_Channel(),EntitlementMethods=require_Entitlements(),GuildMethods=require_Guild(),GuildScheduledEventMethods=require_GuildScheduledEvent(),GuildTemplateMethods=require_GuildTemplate(),InteractionMethods=require_Interaction(),InviteMethods=require_Invite(),SkuMethods=require_Sku(),StageInstanceMethods=require_StageInstance(),UserMethods=require_User(),VoiceMethods=require_Voice(),WebhookMethods=require_Webhook(),Endpoints3=require_Endpoints(),Constants3=require_Constants(),SnowTransfer=class{options;token;channel;requestHandler;user;assets;webhook;guild;guildScheduledEvent;guildTemplate;interaction;invite;voice;bot;auditLog;stageInstance;autoMod;entitlement;sku;ratelimiter;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,allowed_mentions:void 0,bypassBuckets:false,retryRequests:false,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),this.user=new UserMethods(this.requestHandler),this.assets=new AssetsMethods(this.requestHandler),this.webhook=new WebhookMethods(this.requestHandler,this.options),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.options),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),this.entitlement=new EntitlementMethods(this.requestHandler),this.sku=new SkuMethods(this.requestHandler);}};module.exports=SnowTransfer;}});require_StateMachine();function graph(stateMachine){stateMachine.guardNotEditable();let output=`digraph {
|
|
17
|
+
`)},`,form=new FormData;return await Constants3.standardAddToFormHandler(form,"target_users_file",csv,"target_users_file.csv"),this.requestHandler.request(Endpoints3.INVITE_TARGET_USERS(inviteId),{target_users_file:"target_users_file.csv"},"put","multipart",form)}async getInviteTargetUsersJobStatus(inviteId){return this.requestHandler.request(Endpoints3.INVITE_TARGET_USERS_JOB_STATUS(inviteId),{},"get","json")}};module.exports=InviteMethods;}});var require_Sku=__commonJS({"src/methods/Sku.ts"(exports$1,module){var Endpoints3=require_Endpoints(),SkuMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async GetSkus(appId){return this.requestHandler.request(Endpoints3.APPLICATION_SKUS(appId),{},"get","json")}async getSubscriptions(skuId,options={}){return this.requestHandler.request(Endpoints3.SKU_SUBSCRIPTIONS(skuId),options,"get","json")}async getSubscription(skuId,subscriptionId){return this.requestHandler.request(Endpoints3.SKU_SUBSCRIPTION(skuId,subscriptionId),{},"get","json")}};module.exports=SkuMethods;}});var require_StageInstance=__commonJS({"src/methods/StageInstance.ts"(exports$1,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),StageInstanceMethods=class{constructor(requestHandler){this.requestHandler=requestHandler;}async createStageInstance(data,reason){return this.requestHandler.request(Endpoints3.STAGE_INSTANCES,{},"post","json",data,Constants3.reasonHeader(reason))}async getStageInstance(channelId){return this.requestHandler.request(Endpoints3.STAGE_INSTANCE_CHANNEL(channelId),{},"get","json")}async editStageInstance(channelId,data,reason){return this.requestHandler.request(Endpoints3.STAGE_INSTANCE_CHANNEL(channelId),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteStageInstance(channelId,reason){return this.requestHandler.request(Endpoints3.STAGE_INSTANCE_CHANNEL(channelId),{},"delete","json",{},Constants3.reasonHeader(reason))}};module.exports=StageInstanceMethods;}});var require_User=__commonJS({"src/methods/User.ts"(exports$1,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$1,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_Webhook=__commonJS({"src/methods/Webhook.ts"(exports$1,module){var Endpoints3=require_Endpoints(),Constants3=require_Constants(),WebhookMethods=class{constructor(requestHandler,options){this.requestHandler=requestHandler;this.options=options;}async createWebhook(channelId,data,reason){return this.requestHandler.request(Endpoints3.CHANNEL_WEBHOOKS(channelId),{},"post","json",data,Constants3.reasonHeader(reason))}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,reason){return this.requestHandler.request(Endpoints3.WEBHOOK(webhookId),{},"patch","json",data,Constants3.reasonHeader(reason))}async updateWebhookToken(webhookId,token,data,reason){return this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN(webhookId,token),{},"patch","json",data,Constants3.reasonHeader(reason))}async deleteWebhook(webhookId,reason){return this.requestHandler.request(Endpoints3.WEBHOOK(webhookId),{},"delete","json",void 0,Constants3.reasonHeader(reason))}async deleteWebhookToken(webhookId,token,reason){return this.requestHandler.request(Endpoints3.WEBHOOK_TOKEN(webhookId,token),{},"delete","json",void 0,Constants3.reasonHeader(reason))}async executeWebhook(webhookId,token,data,options){if(typeof data!="string"&&!data.content&&!data.embeds&&!data.components&&!data.files&&!data.poll)throw new Error("Missing content, embeds, components, files, or poll");typeof data=="string"&&(data={content:data});let hasComponentsV2=!!data.flags&&(data.flags&v10.MessageFlags.IsComponentsV2)===v10.MessageFlags.IsComponentsV2;if((data.content||data.embeds)&&data.flags&&hasComponentsV2)throw new Error("The message flags was set to include IsComponentsV2, but content and/or embeds were also present. You can either have content/embeds or components v2, not both.");return options&&delete options.disableEveryone,data.allowed_mentions??=this.options.allowed_mentions,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.allowed_mentions??=this.options.allowed_mentions,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_tokenless=__commonJS({"src/tokenless.ts"(exports$1,module){var Endpoints3=require_Endpoints();async function getOauth2Token(clientId,redirectURI,clientSecret,code){return (await fetch(`${Endpoints3.BASE_HOST}${Endpoints3.OAUTH2_TOKEN}`,{method:"POST",body:new URLSearchParams({grant_type:"authorization_code",code,client_id:clientId,client_secret:clientSecret,redirect_uri:redirectURI})})).json()}module.exports={getOauth2Token};}});var require_SnowTransfer=__commonJS({"src/SnowTransfer.ts"(exports$1,module){init_RequestHandler();var AssetsMethods=require_Assets(),AuditLogMethods=require_AuditLog(),AutoModerationMethods=require_AutoModeration(),BotMethods=require_Bot(),ChannelMethods=require_Channel(),EntitlementMethods=require_Entitlements(),GuildMethods=require_Guild(),GuildScheduledEventMethods=require_GuildScheduledEvent(),GuildTemplateMethods=require_GuildTemplate(),InteractionMethods=require_Interaction(),InviteMethods=require_Invite(),SkuMethods=require_Sku(),StageInstanceMethods=require_StageInstance(),UserMethods=require_User(),VoiceMethods=require_Voice(),WebhookMethods=require_Webhook(),Endpoints3=require_Endpoints(),Constants3=require_Constants(),SnowTransfer=class{options;token;channel;requestHandler;user;assets;webhook;guild;guildScheduledEvent;guildTemplate;interaction;invite;voice;bot;auditLog;stageInstance;autoMod;entitlement;sku;ratelimiter;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,allowed_mentions:void 0,bypassBuckets:false,retryRequests:false,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),this.user=new UserMethods(this.requestHandler),this.assets=new AssetsMethods(this.requestHandler),this.webhook=new WebhookMethods(this.requestHandler,this.options),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.options),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),this.entitlement=new EntitlementMethods(this.requestHandler),this.sku=new SkuMethods(this.requestHandler);}};module.exports=SnowTransfer;}});require_StateMachine();function graph(stateMachine){stateMachine.guardNotEditable();let output=`digraph {
|
|
18
18
|
`;output+=`rankdir=LR
|
|
19
19
|
`,output+=`${stateMachine.currentStateName}
|
|
20
20
|
`;for(let[stateName,state]of stateMachine.states.entries()){state.onEnter.length&&(output+=`${stateName} [fontcolor=blue]
|