From 1a5798cbfa4cc7174808d0069ec0f3379c0a4040 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Wed, 5 Apr 2017 19:55:13 +0000 Subject: [PATCH] Webpack build for branch master: 5d85de088372c7143e74fee786feb3f81e49386f --- discord.master.js | 13 +++++++++++++ discord.master.min.js | 10 +++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/discord.master.js b/discord.master.js index c8e7c792..0d8beda1 100644 --- a/discord.master.js +++ b/discord.master.js @@ -428,6 +428,7 @@ exports.Events = { * - VOICE_SERVER_UPDATE * - RELATIONSHIP_ADD * - RELATIONSHIP_REMOVE + * - AUTH_SESSION_CHANGE * @typedef {string} WSEventType */ exports.WSEvents = { @@ -465,6 +466,7 @@ exports.WSEvents = { VOICE_SERVER_UPDATE: 'VOICE_SERVER_UPDATE', RELATIONSHIP_ADD: 'RELATIONSHIP_ADD', RELATIONSHIP_REMOVE: 'RELATIONSHIP_REMOVE', + AUTH_SESSION_CHANGE: 'AUTH_SESSION_CHANGE', }; exports.MessageTypes = [ @@ -514,6 +516,7 @@ exports.Colors = { NOT_QUITE_BLACK: 0x23272A, }; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20))) /***/ }), @@ -18254,6 +18257,16 @@ class WebSocketPacketManager { } handle(packet) { + if (packet.t === Constants.WSEvents.AUTH_SESSION_CHANGE) { + if (packet.d.new_token) { + this.client.token = packet.d.new_token; + this.ws._sendResume(); + } else { + this.client.destroy(); + return false; + } + } + if (packet.op === Constants.OPCodes.RECONNECT) { this.setSequence(packet.s); this.ws.tryReconnect(); diff --git a/discord.master.min.js b/discord.master.min.js index 988c00a2..96247cea 100644 --- a/discord.master.min.js +++ b/discord.master.min.js @@ -1,12 +1,12 @@ -!function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,e),s.l=!0,s.exports}var i={};return e.m=t,e.c=i,e.i=function(t){return t},e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=145)}([function(t,e,i){(function(t){e.Package=i(28),e.DefaultOptions={apiRequestMethod:"sequential",shardId:0,shardCount:0,messageCacheMaxSize:200,messageCacheLifetime:0,messageSweepInterval:0,fetchAllMembers:!1,disableEveryone:!1,sync:!1,restWsBridgeTimeout:5e3,disabledEvents:[],restTimeOffset:500,ws:{large_threshold:250,compress:"browser"!==i(16).platform(),properties:{$os:t?t.platform:"discord.js",$browser:"discord.js",$device:"discord.js",$referrer:"",$referring_domain:""},version:6},http:{version:6,host:"https://discordapp.com",cdn:"https://cdn.discordapp.com"}},e.Errors={NO_TOKEN:"Request to use token, but token was unavailable to the client.",NO_BOT_ACCOUNT:"Only bot accounts are able to make use of this feature.",NO_USER_ACCOUNT:"Only user accounts are able to make use of this feature.",BAD_WS_MESSAGE:"A bad message was received from the websocket; either bad compression, or not JSON.",TOOK_TOO_LONG:"Something took too long to do.",NOT_A_PERMISSION:"Invalid permission string or number.",INVALID_RATE_LIMIT_METHOD:"Unknown rate limiting method.",BAD_LOGIN:"Incorrect login details were provided.",INVALID_SHARD:"Invalid shard settings were provided.",SHARDING_REQUIRED:"This session would have handled too many guilds - Sharding is required.",INVALID_TOKEN:"An invalid token was provided."};const n=e.Endpoints={User:t=>{t.id&&(t=t.id);const e=`/users/${t}`;return{toString:()=>e,channels:`${e}/channels`,profile:`${e}/profile`,relationships:`${e}/relationships`,Relationship:t=>`${e}/relationships/${t}`,Guild:t=>`${e}/guilds/${t}`,Note:t=>`${e}/notes/${t}`,Mentions:(t,i,n,s)=>`${e}/mentions?limit=${t}&roles=${i}&everyone=${n}${s?`&guild_id=${s}`:""}`,Avatar:(e,i)=>{return"1"===t?i:n.CDN(e).Avatar(t,i)}}},guilds:"/guilds",Guild:t=>{t.id&&(t=t.id);const e=`/guilds/${t}`;return{toString:()=>e,prune:`${e}/prune`,embed:`${e}/embed`,bans:`${e}/bans`,integrations:`${e}/integrations`,members:`${e}/members`,channels:`${e}/channels`,invites:`${e}/invites`,roles:`${e}/roles`,emojis:`${e}/emojis`,search:`${e}/messages/search`,voiceRegions:`${e}/regions`,webhooks:`${e}/webhooks`,ack:`${e}/ack`,settings:`${e}/settings`,Emoji:t=>`${e}/emojis/${t}`,Icon:(e,i)=>n.CDN(e).Icon(t,i),Splash:(e,i)=>n.CDN(e).Splash(t,i),Role:t=>`${e}/roles/${t}`,Member:t=>{t.id&&(t=t.id);const i=`${e}/members/${t}`;return{toString:()=>i,Role:t=>`${i}/roles/${t}`,nickname:`${e}/members/@me/nick`}}}},channels:"/channels",Channel:t=>{t.id&&(t=t.id);const e=`/channels/${t}`;return{toString:()=>e,messages:{toString:()=>`${e}/messages`,bulkDelete:`${e}/messages/bulk-delete`},invites:`${e}/invites`,typing:`${e}/typing`,permissions:`${e}/permissions`,webhooks:`${e}/webhooks`,search:`${e}/search`,ack:`${e}/ack`,pins:`${e}/pins`,Pin:t=>`${e}/pins/${t}`,Recipient:t=>`${e}/recipients/${t}`,Message:t=>{t.id&&(t=t.id);const i=`${e}/messages/${t}`;return{toString:()=>i,reactions:`${i}/reactions`,ack:`${e}/ack`,Reaction:(t,e)=>{const n=`${i}/reactions/${t}${e?`?limit=${e}`:""}`;return{toString:()=>n,User:t=>`${n}/${t}`}}}}}},Message:t=>e.Endpoints.Channel(t.channel).Message(t),Member:t=>e.Endpoints.Guild(t.guild).Member(t),CDN(t){return{Emoji:e=>`${t}/emojis/$${e}.png`,Asset:e=>`${t}/assets/${e}`,Avatar:(e,i)=>`${t}/avatars/${e}/${i}.${i.startsWith("a_")?"gif":"png"}?size=2048`,Icon:(e,i)=>`${t}/icons/${e}/${i}.jpg`,Splash:(e,i)=>`${t}/splashes/${e}/${i}.jpg`}},OAUTH2:{Application:t=>{const e=`/oauth2/applications/${t}`;return{toString:()=>e,reset:`${e}/reset`}},App:t=>`/oauth2/authorize?client_id=${t}`},login:"/auth/login",logout:"/auth/logout",voiceRegions:"/voice/regions",gateway:{toString:()=>"/gateway",bot:"/gateway/bot"},Invite:t=>`/invite/${t}`,Webhook:(t,e)=>`/webhooks/${t}${e?`/${e}`:""}`};e.Status={READY:0,CONNECTING:1,RECONNECTING:2,IDLE:3,NEARLY:4,DISCONNECTED:5},e.VoiceStatus={CONNECTED:0,CONNECTING:1,AUTHENTICATING:2,RECONNECTING:3,DISCONNECTED:4},e.ChannelTypes={TEXT:0,DM:1,VOICE:2,GROUP_DM:3},e.OPCodes={DISPATCH:0,HEARTBEAT:1,IDENTIFY:2,STATUS_UPDATE:3,VOICE_STATE_UPDATE:4,VOICE_GUILD_PING:5,RESUME:6,RECONNECT:7,REQUEST_GUILD_MEMBERS:8,INVALID_SESSION:9,HELLO:10,HEARTBEAT_ACK:11},e.VoiceOPCodes={IDENTIFY:0,SELECT_PROTOCOL:1,READY:2,HEARTBEAT:3,SESSION_DESCRIPTION:4,SPEAKING:5},e.Events={READY:"ready",GUILD_CREATE:"guildCreate",GUILD_DELETE:"guildDelete",GUILD_UPDATE:"guildUpdate",GUILD_UNAVAILABLE:"guildUnavailable",GUILD_AVAILABLE:"guildAvailable",GUILD_MEMBER_ADD:"guildMemberAdd",GUILD_MEMBER_REMOVE:"guildMemberRemove",GUILD_MEMBER_UPDATE:"guildMemberUpdate",GUILD_MEMBER_AVAILABLE:"guildMemberAvailable",GUILD_MEMBER_SPEAKING:"guildMemberSpeaking",GUILD_MEMBERS_CHUNK:"guildMembersChunk",GUILD_ROLE_CREATE:"roleCreate",GUILD_ROLE_DELETE:"roleDelete",GUILD_ROLE_UPDATE:"roleUpdate",GUILD_EMOJI_CREATE:"emojiCreate",GUILD_EMOJI_DELETE:"emojiDelete",GUILD_EMOJI_UPDATE:"emojiUpdate",GUILD_BAN_ADD:"guildBanAdd",GUILD_BAN_REMOVE:"guildBanRemove",CHANNEL_CREATE:"channelCreate",CHANNEL_DELETE:"channelDelete",CHANNEL_UPDATE:"channelUpdate",CHANNEL_PINS_UPDATE:"channelPinsUpdate",MESSAGE_CREATE:"message",MESSAGE_DELETE:"messageDelete",MESSAGE_UPDATE:"messageUpdate",MESSAGE_BULK_DELETE:"messageDeleteBulk",MESSAGE_REACTION_ADD:"messageReactionAdd",MESSAGE_REACTION_REMOVE:"messageReactionRemove",MESSAGE_REACTION_REMOVE_ALL:"messageReactionRemoveAll",USER_UPDATE:"userUpdate",USER_NOTE_UPDATE:"userNoteUpdate",PRESENCE_UPDATE:"presenceUpdate",VOICE_STATE_UPDATE:"voiceStateUpdate",TYPING_START:"typingStart",TYPING_STOP:"typingStop",DISCONNECT:"disconnect",RECONNECTING:"reconnecting",ERROR:"error",WARN:"warn",DEBUG:"debug"},e.WSEvents={READY:"READY",GUILD_SYNC:"GUILD_SYNC",GUILD_CREATE:"GUILD_CREATE",GUILD_DELETE:"GUILD_DELETE",GUILD_UPDATE:"GUILD_UPDATE",GUILD_MEMBER_ADD:"GUILD_MEMBER_ADD",GUILD_MEMBER_REMOVE:"GUILD_MEMBER_REMOVE",GUILD_MEMBER_UPDATE:"GUILD_MEMBER_UPDATE",GUILD_MEMBERS_CHUNK:"GUILD_MEMBERS_CHUNK",GUILD_ROLE_CREATE:"GUILD_ROLE_CREATE",GUILD_ROLE_DELETE:"GUILD_ROLE_DELETE",GUILD_ROLE_UPDATE:"GUILD_ROLE_UPDATE",GUILD_BAN_ADD:"GUILD_BAN_ADD",GUILD_BAN_REMOVE:"GUILD_BAN_REMOVE",GUILD_EMOJIS_UPDATE:"GUILD_EMOJIS_UPDATE",CHANNEL_CREATE:"CHANNEL_CREATE",CHANNEL_DELETE:"CHANNEL_DELETE",CHANNEL_UPDATE:"CHANNEL_UPDATE",CHANNEL_PINS_UPDATE:"CHANNEL_PINS_UPDATE",MESSAGE_CREATE:"MESSAGE_CREATE",MESSAGE_DELETE:"MESSAGE_DELETE",MESSAGE_UPDATE:"MESSAGE_UPDATE",MESSAGE_DELETE_BULK:"MESSAGE_DELETE_BULK",MESSAGE_REACTION_ADD:"MESSAGE_REACTION_ADD",MESSAGE_REACTION_REMOVE:"MESSAGE_REACTION_REMOVE",MESSAGE_REACTION_REMOVE_ALL:"MESSAGE_REACTION_REMOVE_ALL",USER_UPDATE:"USER_UPDATE",USER_NOTE_UPDATE:"USER_NOTE_UPDATE",PRESENCE_UPDATE:"PRESENCE_UPDATE",VOICE_STATE_UPDATE:"VOICE_STATE_UPDATE",TYPING_START:"TYPING_START",VOICE_SERVER_UPDATE:"VOICE_SERVER_UPDATE",RELATIONSHIP_ADD:"RELATIONSHIP_ADD",RELATIONSHIP_REMOVE:"RELATIONSHIP_REMOVE"},e.MessageTypes=["DEFAULT","RECIPIENT_ADD","RECIPIENT_REMOVE","CALL","CHANNEL_NAME_CHANGE","CHANNEL_ICON_CHANGE","PINS_ADD","GUILD_MEMBER_JOIN"],e.DefaultAvatars={BLURPLE:"6debd47ed13483642cf09e832ed0bc1b",GREY:"322c936a8c8be1b803cd94861bdfa868",GREEN:"dd4dbc0016779df1378e7812eabaa04d",ORANGE:"0e291f67c9274a1abdddeb3fd919cbaa",RED:"1cbd08c76f8af6dddce02c5138971129"},e.Colors={DEFAULT:0,AQUA:1752220,GREEN:3066993,BLUE:3447003,PURPLE:10181046,GOLD:15844367,ORANGE:15105570,RED:15158332,GREY:9807270,NAVY:3426654,DARK_AQUA:1146986,DARK_GREEN:2067276,DARK_BLUE:2123412,DARK_PURPLE:7419530,DARK_GOLD:12745742,DARK_ORANGE:11027200,DARK_RED:10038562,DARK_GREY:9936031,DARKER_GREY:8359053,LIGHT_GREY:12370112,DARK_NAVY:2899536,BLURPLE:7506394,GREYPLE:10070709,DARK_BUT_NOT_BLACK:2895667,NOT_QUITE_BLACK:2303786}}).call(e,i(20))},function(t,e){class i{constructor(t){this.packetManager=t}handle(t){return t}}t.exports=i},function(t,e){class i{constructor(t){this.client=t}handle(t){return t}}t.exports=i},function(t,e){class i extends Map{constructor(t){super(t),Object.defineProperty(this,"_array",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"_keyArray",{value:null,writable:!0,configurable:!0})}set(t,e){return this._array=null,this._keyArray=null,super.set(t,e)}delete(t){return this._array=null,this._keyArray=null,super.delete(t)}array(){return this._array&&this._array.length===this.size||(this._array=Array.from(this.values())),this._array}keyArray(){return this._keyArray&&this._keyArray.length===this.size||(this._keyArray=Array.from(this.keys())),this._keyArray}first(){return this.values().next().value}firstKey(){return this.keys().next().value}last(){const t=this.array();return t[t.length-1]}lastKey(){const t=this.keyArray();return t[t.length-1]}random(){const t=this.array();return t[Math.floor(Math.random()*t.length)]}randomKey(){const t=this.keyArray();return t[Math.floor(Math.random()*t.length)]}findAll(t,e){if("string"!=typeof t)throw new TypeError("Key must be a string.");if("undefined"==typeof e)throw new Error("Value must be specified.");const i=[];for(const n of this.values())n[t]===e&&i.push(n);return i}find(t,e){if("string"==typeof t){if("undefined"==typeof e)throw new Error("Value must be specified.");for(const i of this.values())if(i[t]===e)return i;return null}if("function"==typeof t){for(const[e,i]of this)if(t(i,e,this))return i;return null}throw new Error("First argument must be a property string or a function.")}findKey(t,e){if("string"==typeof t){if("undefined"==typeof e)throw new Error("Value must be specified.");for(const[i,n]of this)if(n[t]===e)return i;return null}if("function"==typeof t){for(const[e,i]of this)if(t(i,e,this))return e;return null}throw new Error("First argument must be a property string or a function.")}exists(t,e){return Boolean(this.find(t,e))}filter(t,e){e&&(t=t.bind(e));const n=new i;for(const[s,o]of this)t(o,s,this)&&n.set(s,o);return n}filterArray(t,e){e&&(t=t.bind(e));const i=[];for(const[n,s]of this)t(s,n,this)&&i.push(s);return i}map(t,e){e&&(t=t.bind(e));const i=new Array(this.size);let n=0;for(const[s,o]of this)i[n++]=t(o,s,this);return i}some(t,e){e&&(t=t.bind(e));for(const[i,n]of this)if(t(n,i,this))return!0;return!1}every(t,e){e&&(t=t.bind(e));for(const[i,n]of this)if(!t(n,i,this))return!1;return!0}reduce(t,e){let i;if("undefined"!=typeof e){i=e;for(const[n,s]of this)i=t(i,s,n,this)}else{let e=!0;for(const[n,s]of this)e?(i=s,e=!1):i=t(i,s,n,this)}return i}clone(){return new this.constructor(this)}concat(...t){const e=this.clone();for(const i of t)for(const[n,s]of i)e.set(n,s);return e}deleteAll(){const t=[];for(const e of this.values())e.delete&&t.push(e.delete());return t}equals(t){return!!t&&(this===t||this.size===t.size&&!this.find((e,i)=>{const n=t.get(i);return n!==e||void 0===n&&!t.has(i)}))}sort(t=(t,e)=>+(t>e)||+(t===e)-1){return new i(Array.from(this.entries()).sort((e,i)=>t(e[1],i[1],e[0],i[0])))}}t.exports=i},function(t,e,i){(function(e){const n=i(26),s=i(0),o=s.DefaultOptions.http;class r{constructor(){throw new Error(`The ${this.constructor.name} class may not be instantiated.`)}static splitMessage(t,{maxLength=1950,char="\n",prepend="",append=""}={}){if(t.length<=maxLength)return t;const e=t.split(char);if(1===e.length)throw new Error("Message exceeds the max length and contains no split characters.");const i=[""];let n=0;for(let s=0;smaxLength&&(i[n]+=append,i.push(prepend),n++),i[n]+=(i[n].length>0&&i[n]!==prepend?char:"")+e[s];return i}static escapeMarkdown(t,e=false,i=false){return e?t.replace(/```/g,"`​``"):i?t.replace(/\\(`|\\)/g,"$1").replace(/(`|\\)/g,"\\$1"):t.replace(/\\(\*|_|`|~|\\)/g,"$1").replace(/(\*|_|`|~|\\)/g,"\\$1")}static fetchRecommendedShards(t,e=1e3){return new Promise((i,r)=>{if(!t)throw new Error("A token must be provided.");n.get(`${o.host}/api/v${o.version}${s.Endpoints.gateway.bot}`).set("Authorization",`Bot ${t.replace(/^Bot\s*/i,"")}`).end((t,n)=>{t&&r(t),i(n.body.shards*(1e3/e))})})}static parseEmoji(t){if(t.includes("%")&&(t=decodeURIComponent(t)),t.includes(":")){const[e,i]=t.split(":");return{name:e,id:i}}return{name:t,id:null}}static arraysEqual(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(const i in t){const n=t[i],s=e.indexOf(n);s&&e.splice(s,1)}return 0===e.length}static cloneObject(t){return Object.assign(Object.create(t),t)}static mergeDefault(t,e){if(!e)return t;for(const i in t)({}).hasOwnProperty.call(e,i)?e[i]===Object(e[i])&&(e[i]=this.mergeDefault(t[i],e[i])):e[i]=t[i];return e}static convertToBuffer(t){return"string"==typeof t&&(t=this.str2ab(t)),e.from(t)}static str2ab(t){const e=new ArrayBuffer(2*t.length),i=new Uint16Array(e);for(var n=0,s=t.length;n-1&&i=e?String(t):(String(i).repeat(e)+t).slice(-e)}const s=i(25),o=14200704e5;let r=0;class a{static generate(){r>=4095&&(r=0);const t=`${n((Date.now()-o).toString(2),42)}0000100000${n((r++).toString(2),12)}`;return s.fromString(t,2).toString()}static deconstruct(t){const e=n(s.fromString(t).toString(2),64),i={timestamp:parseInt(e.substring(0,42),2)+o,workerID:parseInt(e.substring(42,47),2),processID:parseInt(e.substring(47,52),2),increment:parseInt(e.substring(52,64),2),binary:e};return Object.defineProperty(i,"date",{get:function(){return new Date(this.timestamp)},enumerable:!0}),i}}t.exports=a},function(t,e,i){const n=i(0);class s{constructor(t,e){e="object"!=typeof t||t instanceof Array?t:e,this.member="object"==typeof t?t:null,this.bitfield="number"==typeof e?e:this.constructor.resolve(e)}get raw(){return this.bitfield}set raw(t){this.bitfield=t}has(t,e=true){return t instanceof Array?t.every(t=>this.has(t,e)):(t=this.constructor.resolve(t),!!(e&&(this.bitfield&this.constructor.FLAGS.ADMINISTRATOR)>0)||(this.bitfield&t)===t)}missing(t,e=true){return t.filter(t=>!this.has(t,e))}add(...t){let e=0;for(let i=0;ithis.resolve(t)).reduce((t,e)=>t|e,0);if("string"==typeof t&&(t=this.FLAGS[t]),"number"!=typeof t||t<1)throw new RangeError(n.Errors.NOT_A_PERMISSION);return t}}s.FLAGS={CREATE_INSTANT_INVITE:1,KICK_MEMBERS:2,BAN_MEMBERS:4,ADMINISTRATOR:8,MANAGE_CHANNELS:16,MANAGE_GUILD:32,ADD_REACTIONS:64,READ_MESSAGES:1024,SEND_MESSAGES:2048,SEND_TTS_MESSAGES:4096,MANAGE_MESSAGES:8192,EMBED_LINKS:16384,ATTACH_FILES:32768,READ_MESSAGE_HISTORY:65536,MENTION_EVERYONE:1<<17,EXTERNAL_EMOJIS:1<<18,USE_EXTERNAL_EMOJIS:1<<18,CONNECT:1<<20,SPEAK:1<<21,MUTE_MEMBERS:1<<22,DEAFEN_MEMBERS:1<<23,MOVE_MEMBERS:1<<24,USE_VAD:1<<25,CHANGE_NICKNAME:1<<26,MANAGE_NICKNAMES:1<<27,MANAGE_ROLES:1<<28,MANAGE_ROLES_OR_PERMISSIONS:1<<28,MANAGE_WEBHOOKS:1<<29,MANAGE_EMOJIS:1<<30},s.ALL=Object.keys(s.FLAGS).reduce((t,e)=>t|s.FLAGS[e],0),s.DEFAULT=104324097,t.exports=s},function(t,e){class i{constructor(t={}){this.status=t.status||"offline",this.game=t.game?new n(t.game):null}update(t){this.status=t.status||this.status,this.game=t.game?new n(t.game):null}equals(t){return this===t||(t&&this.status===t.status&&this.game?this.game.equals(t.game):!t.game)}}class n{constructor(t){this.name=t.name,this.type=t.type,this.url=t.url||null}get streaming(){return 1===this.type}equals(t){return this===t||t&&this.name===t.name&&this.type===t.type&&this.url===t.url}}e.Presence=i,e.Game=n},function(t,e,i){const n=i(5);class s{constructor(t,e){Object.defineProperty(this,"client",{value:t}),this.type=null,e&&this.setup(e)}setup(t){this.id=t.id}get createdTimestamp(){return n.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}delete(){return this.client.rest.methods.deleteChannel(this)}}t.exports=s},function(t,e,i){const n=i(32),s=i(34),o=i(35),r=i(4),a=i(3),c=i(0),l=i(6);let u;class h{constructor(t,e,i){Object.defineProperty(this,"client",{value:i}),this.channel=t,e&&this.setup(e)}setup(t){this.id=t.id,this.type=c.MessageTypes[t.type],this.content=t.content,this.author=this.client.dataManager.newUser(t.author),this.member=this.guild?this.guild.member(this.author)||null:null,this.pinned=t.pinned,this.tts=t.tts,this.nonce=t.nonce,this.system=6===t.type,this.embeds=t.embeds.map(t=>new s(this,t)),this.attachments=new a;for(const e of t.attachments)this.attachments.set(e.id,new n(this,e));this.createdTimestamp=new Date(t.timestamp).getTime(),this.editedTimestamp=t.edited_timestamp?new Date(t.edited_timestamp).getTime():null,this.mentions={users:new a,roles:new a,channels:new a,everyone:t.mention_everyone};for(const i of t.mentions){let t=this.client.users.get(i.id);t||(t=this.client.dataManager.newUser(i)),this.mentions.users.set(t.id,t)}if(Object.defineProperty(this.mentions,"members",{get:()=>{if("text"!==this.channel.type)return null;const t=new a;return this.mentions.users.forEach(e=>{const i=this.client.resolver.resolveGuildMember(this.channel.guild,e);i&&t.set(i.id,i)}),t}}),t.mention_roles)for(const i of t.mention_roles){const t=this.channel.guild.roles.get(i);t&&this.mentions.roles.set(t.id,t)}if("text"===this.channel.type){const e=t.content.match(/<#([0-9]{14,20})>/g)||[];for(const i of e){const t=this.channel.guild.channels.get(i.match(/([0-9]{14,20})/g)[0]);t&&this.mentions.channels.set(t.id,t)}}if(this._edits=[],this.reactions=new a,t.reactions&&t.reactions.length>0)for(const r of t.reactions){const t=r.emoji.id?`${r.emoji.name}:${r.emoji.id}`:r.emoji.name;this.reactions.set(t,new o(this,r.emoji,r.count,r.me))}this.webhookID=t.webhook_id||null,this.hit="boolean"==typeof t.hit?t.hit:null}get createdAt(){return new Date(this.createdTimestamp)}get editedAt(){return this.editedTimestamp?new Date(this.editedTimestamp):null}get guild(){return this.channel.guild||null}get cleanContent(){return this.content.replace(/@(everyone|here)/g,"@​$1").replace(/<@!?[0-9]+>/g,t=>{const e=t.replace(/<|!|>|@/g,"");if("dm"===this.channel.type||"group"===this.channel.type)return this.client.users.has(e)?`@${this.client.users.get(e).username}`:t;const i=this.channel.guild.members.get(e);if(i)return i.nickname?`@${i.nickname}`:`@${i.user.username}`;{const i=this.client.users.get(e);return i?`@${i.username}`:t}}).replace(/<#[0-9]+>/g,t=>{const e=this.client.channels.get(t.replace(/<|#|>/g,""));return e?`#${e.name}`:t}).replace(/<@&[0-9]+>/g,t=>{if("dm"===this.channel.type||"group"===this.channel.type)return t;const e=this.guild.roles.get(t.replace(/<|@|>|&/g,""));return e?`@${e.name}`:t})}get edits(){const t=this._edits.slice();return t.unshift(this),t}get editable(){return this.author.id===this.client.user.id}get deletable(){return this.author.id===this.client.user.id||this.guild&&this.channel.permissionsFor(this.client.user).hasPermission(l.FLAGS.MANAGE_MESSAGES)}get pinnable(){return!this.guild||this.channel.permissionsFor(this.client.user).hasPermission(l.FLAGS.MANAGE_MESSAGES)}isMentioned(t){return t=t&&t.id?t.id:t,this.mentions.users.has(t)||this.mentions.channels.has(t)||this.mentions.roles.has(t)}isMemberMentioned(t){return u||(u=i(13)),!!this.mentions.everyone||(!!this.mentions.users.has(t.id)||!!(t instanceof u&&t.roles.some(t=>this.mentions.roles.has(t.id))))}edit(t,e){return e||"object"!=typeof t||t instanceof Array?e||(e={}):(e=t,t=""),this.client.rest.methods.updateMessage(this,t,e)}editCode(t,e){return e=r.escapeMarkdown(this.client.resolver.resolveString(e),!0),this.edit(`\`\`\`${t||""} +!function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,e),s.l=!0,s.exports}var i={};return e.m=t,e.c=i,e.i=function(t){return t},e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=145)}([function(t,e,i){(function(t){e.Package=i(28),e.DefaultOptions={apiRequestMethod:"sequential",shardId:0,shardCount:0,messageCacheMaxSize:200,messageCacheLifetime:0,messageSweepInterval:0,fetchAllMembers:!1,disableEveryone:!1,sync:!1,restWsBridgeTimeout:5e3,disabledEvents:[],restTimeOffset:500,ws:{large_threshold:250,compress:"browser"!==i(16).platform(),properties:{$os:t?t.platform:"discord.js",$browser:"discord.js",$device:"discord.js",$referrer:"",$referring_domain:""},version:6},http:{version:6,host:"https://discordapp.com",cdn:"https://cdn.discordapp.com"}},e.Errors={NO_TOKEN:"Request to use token, but token was unavailable to the client.",NO_BOT_ACCOUNT:"Only bot accounts are able to make use of this feature.",NO_USER_ACCOUNT:"Only user accounts are able to make use of this feature.",BAD_WS_MESSAGE:"A bad message was received from the websocket; either bad compression, or not JSON.",TOOK_TOO_LONG:"Something took too long to do.",NOT_A_PERMISSION:"Invalid permission string or number.",INVALID_RATE_LIMIT_METHOD:"Unknown rate limiting method.",BAD_LOGIN:"Incorrect login details were provided.",INVALID_SHARD:"Invalid shard settings were provided.",SHARDING_REQUIRED:"This session would have handled too many guilds - Sharding is required.",INVALID_TOKEN:"An invalid token was provided."};const n=e.Endpoints={User:t=>{t.id&&(t=t.id);const e=`/users/${t}`;return{toString:()=>e,channels:`${e}/channels`,profile:`${e}/profile`,relationships:`${e}/relationships`,Relationship:t=>`${e}/relationships/${t}`,Guild:t=>`${e}/guilds/${t}`,Note:t=>`${e}/notes/${t}`,Mentions:(t,i,n,s)=>`${e}/mentions?limit=${t}&roles=${i}&everyone=${n}${s?`&guild_id=${s}`:""}`,Avatar:(e,i)=>{return"1"===t?i:n.CDN(e).Avatar(t,i)}}},guilds:"/guilds",Guild:t=>{t.id&&(t=t.id);const e=`/guilds/${t}`;return{toString:()=>e,prune:`${e}/prune`,embed:`${e}/embed`,bans:`${e}/bans`,integrations:`${e}/integrations`,members:`${e}/members`,channels:`${e}/channels`,invites:`${e}/invites`,roles:`${e}/roles`,emojis:`${e}/emojis`,search:`${e}/messages/search`,voiceRegions:`${e}/regions`,webhooks:`${e}/webhooks`,ack:`${e}/ack`,settings:`${e}/settings`,Emoji:t=>`${e}/emojis/${t}`,Icon:(e,i)=>n.CDN(e).Icon(t,i),Splash:(e,i)=>n.CDN(e).Splash(t,i),Role:t=>`${e}/roles/${t}`,Member:t=>{t.id&&(t=t.id);const i=`${e}/members/${t}`;return{toString:()=>i,Role:t=>`${i}/roles/${t}`,nickname:`${e}/members/@me/nick`}}}},channels:"/channels",Channel:t=>{t.id&&(t=t.id);const e=`/channels/${t}`;return{toString:()=>e,messages:{toString:()=>`${e}/messages`,bulkDelete:`${e}/messages/bulk-delete`},invites:`${e}/invites`,typing:`${e}/typing`,permissions:`${e}/permissions`,webhooks:`${e}/webhooks`,search:`${e}/search`,ack:`${e}/ack`,pins:`${e}/pins`,Pin:t=>`${e}/pins/${t}`,Recipient:t=>`${e}/recipients/${t}`,Message:t=>{t.id&&(t=t.id);const i=`${e}/messages/${t}`;return{toString:()=>i,reactions:`${i}/reactions`,ack:`${e}/ack`,Reaction:(t,e)=>{const n=`${i}/reactions/${t}${e?`?limit=${e}`:""}`;return{toString:()=>n,User:t=>`${n}/${t}`}}}}}},Message:t=>e.Endpoints.Channel(t.channel).Message(t),Member:t=>e.Endpoints.Guild(t.guild).Member(t),CDN(t){return{Emoji:e=>`${t}/emojis/$${e}.png`,Asset:e=>`${t}/assets/${e}`,Avatar:(e,i)=>`${t}/avatars/${e}/${i}.${i.startsWith("a_")?"gif":"png"}?size=2048`,Icon:(e,i)=>`${t}/icons/${e}/${i}.jpg`,Splash:(e,i)=>`${t}/splashes/${e}/${i}.jpg`}},OAUTH2:{Application:t=>{const e=`/oauth2/applications/${t}`;return{toString:()=>e,reset:`${e}/reset`}},App:t=>`/oauth2/authorize?client_id=${t}`},login:"/auth/login",logout:"/auth/logout",voiceRegions:"/voice/regions",gateway:{toString:()=>"/gateway",bot:"/gateway/bot"},Invite:t=>`/invite/${t}`,Webhook:(t,e)=>`/webhooks/${t}${e?`/${e}`:""}`};e.Status={READY:0,CONNECTING:1,RECONNECTING:2,IDLE:3,NEARLY:4,DISCONNECTED:5},e.VoiceStatus={CONNECTED:0,CONNECTING:1,AUTHENTICATING:2,RECONNECTING:3,DISCONNECTED:4},e.ChannelTypes={TEXT:0,DM:1,VOICE:2,GROUP_DM:3},e.OPCodes={DISPATCH:0,HEARTBEAT:1,IDENTIFY:2,STATUS_UPDATE:3,VOICE_STATE_UPDATE:4,VOICE_GUILD_PING:5,RESUME:6,RECONNECT:7,REQUEST_GUILD_MEMBERS:8,INVALID_SESSION:9,HELLO:10,HEARTBEAT_ACK:11},e.VoiceOPCodes={IDENTIFY:0,SELECT_PROTOCOL:1,READY:2,HEARTBEAT:3,SESSION_DESCRIPTION:4,SPEAKING:5},e.Events={READY:"ready",GUILD_CREATE:"guildCreate",GUILD_DELETE:"guildDelete",GUILD_UPDATE:"guildUpdate",GUILD_UNAVAILABLE:"guildUnavailable",GUILD_AVAILABLE:"guildAvailable",GUILD_MEMBER_ADD:"guildMemberAdd",GUILD_MEMBER_REMOVE:"guildMemberRemove",GUILD_MEMBER_UPDATE:"guildMemberUpdate",GUILD_MEMBER_AVAILABLE:"guildMemberAvailable",GUILD_MEMBER_SPEAKING:"guildMemberSpeaking",GUILD_MEMBERS_CHUNK:"guildMembersChunk",GUILD_ROLE_CREATE:"roleCreate",GUILD_ROLE_DELETE:"roleDelete",GUILD_ROLE_UPDATE:"roleUpdate",GUILD_EMOJI_CREATE:"emojiCreate",GUILD_EMOJI_DELETE:"emojiDelete",GUILD_EMOJI_UPDATE:"emojiUpdate",GUILD_BAN_ADD:"guildBanAdd",GUILD_BAN_REMOVE:"guildBanRemove",CHANNEL_CREATE:"channelCreate",CHANNEL_DELETE:"channelDelete",CHANNEL_UPDATE:"channelUpdate",CHANNEL_PINS_UPDATE:"channelPinsUpdate",MESSAGE_CREATE:"message",MESSAGE_DELETE:"messageDelete",MESSAGE_UPDATE:"messageUpdate",MESSAGE_BULK_DELETE:"messageDeleteBulk",MESSAGE_REACTION_ADD:"messageReactionAdd",MESSAGE_REACTION_REMOVE:"messageReactionRemove",MESSAGE_REACTION_REMOVE_ALL:"messageReactionRemoveAll",USER_UPDATE:"userUpdate",USER_NOTE_UPDATE:"userNoteUpdate",PRESENCE_UPDATE:"presenceUpdate",VOICE_STATE_UPDATE:"voiceStateUpdate",TYPING_START:"typingStart",TYPING_STOP:"typingStop",DISCONNECT:"disconnect",RECONNECTING:"reconnecting",ERROR:"error",WARN:"warn",DEBUG:"debug"},e.WSEvents={READY:"READY",GUILD_SYNC:"GUILD_SYNC",GUILD_CREATE:"GUILD_CREATE",GUILD_DELETE:"GUILD_DELETE",GUILD_UPDATE:"GUILD_UPDATE",GUILD_MEMBER_ADD:"GUILD_MEMBER_ADD",GUILD_MEMBER_REMOVE:"GUILD_MEMBER_REMOVE",GUILD_MEMBER_UPDATE:"GUILD_MEMBER_UPDATE",GUILD_MEMBERS_CHUNK:"GUILD_MEMBERS_CHUNK",GUILD_ROLE_CREATE:"GUILD_ROLE_CREATE",GUILD_ROLE_DELETE:"GUILD_ROLE_DELETE",GUILD_ROLE_UPDATE:"GUILD_ROLE_UPDATE",GUILD_BAN_ADD:"GUILD_BAN_ADD",GUILD_BAN_REMOVE:"GUILD_BAN_REMOVE",GUILD_EMOJIS_UPDATE:"GUILD_EMOJIS_UPDATE",CHANNEL_CREATE:"CHANNEL_CREATE",CHANNEL_DELETE:"CHANNEL_DELETE",CHANNEL_UPDATE:"CHANNEL_UPDATE",CHANNEL_PINS_UPDATE:"CHANNEL_PINS_UPDATE",MESSAGE_CREATE:"MESSAGE_CREATE",MESSAGE_DELETE:"MESSAGE_DELETE",MESSAGE_UPDATE:"MESSAGE_UPDATE",MESSAGE_DELETE_BULK:"MESSAGE_DELETE_BULK",MESSAGE_REACTION_ADD:"MESSAGE_REACTION_ADD",MESSAGE_REACTION_REMOVE:"MESSAGE_REACTION_REMOVE",MESSAGE_REACTION_REMOVE_ALL:"MESSAGE_REACTION_REMOVE_ALL",USER_UPDATE:"USER_UPDATE",USER_NOTE_UPDATE:"USER_NOTE_UPDATE",PRESENCE_UPDATE:"PRESENCE_UPDATE",VOICE_STATE_UPDATE:"VOICE_STATE_UPDATE",TYPING_START:"TYPING_START",VOICE_SERVER_UPDATE:"VOICE_SERVER_UPDATE",RELATIONSHIP_ADD:"RELATIONSHIP_ADD",RELATIONSHIP_REMOVE:"RELATIONSHIP_REMOVE",AUTH_SESSION_CHANGE:"AUTH_SESSION_CHANGE"},e.MessageTypes=["DEFAULT","RECIPIENT_ADD","RECIPIENT_REMOVE","CALL","CHANNEL_NAME_CHANGE","CHANNEL_ICON_CHANGE","PINS_ADD","GUILD_MEMBER_JOIN"],e.DefaultAvatars={BLURPLE:"6debd47ed13483642cf09e832ed0bc1b",GREY:"322c936a8c8be1b803cd94861bdfa868",GREEN:"dd4dbc0016779df1378e7812eabaa04d",ORANGE:"0e291f67c9274a1abdddeb3fd919cbaa",RED:"1cbd08c76f8af6dddce02c5138971129"},e.Colors={DEFAULT:0,AQUA:1752220,GREEN:3066993,BLUE:3447003,PURPLE:10181046,GOLD:15844367,ORANGE:15105570,RED:15158332,GREY:9807270,NAVY:3426654,DARK_AQUA:1146986,DARK_GREEN:2067276,DARK_BLUE:2123412,DARK_PURPLE:7419530,DARK_GOLD:12745742,DARK_ORANGE:11027200,DARK_RED:10038562,DARK_GREY:9936031,DARKER_GREY:8359053,LIGHT_GREY:12370112,DARK_NAVY:2899536,BLURPLE:7506394,GREYPLE:10070709,DARK_BUT_NOT_BLACK:2895667,NOT_QUITE_BLACK:2303786}}).call(e,i(20))},function(t,e){class i{constructor(t){this.packetManager=t}handle(t){return t}}t.exports=i},function(t,e){class i{constructor(t){this.client=t}handle(t){return t}}t.exports=i},function(t,e){class i extends Map{constructor(t){super(t),Object.defineProperty(this,"_array",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"_keyArray",{value:null,writable:!0,configurable:!0})}set(t,e){return this._array=null,this._keyArray=null,super.set(t,e)}delete(t){return this._array=null,this._keyArray=null,super.delete(t)}array(){return this._array&&this._array.length===this.size||(this._array=Array.from(this.values())),this._array}keyArray(){return this._keyArray&&this._keyArray.length===this.size||(this._keyArray=Array.from(this.keys())),this._keyArray}first(){return this.values().next().value}firstKey(){return this.keys().next().value}last(){const t=this.array();return t[t.length-1]}lastKey(){const t=this.keyArray();return t[t.length-1]}random(){const t=this.array();return t[Math.floor(Math.random()*t.length)]}randomKey(){const t=this.keyArray();return t[Math.floor(Math.random()*t.length)]}findAll(t,e){if("string"!=typeof t)throw new TypeError("Key must be a string.");if("undefined"==typeof e)throw new Error("Value must be specified.");const i=[];for(const n of this.values())n[t]===e&&i.push(n);return i}find(t,e){if("string"==typeof t){if("undefined"==typeof e)throw new Error("Value must be specified.");for(const i of this.values())if(i[t]===e)return i;return null}if("function"==typeof t){for(const[e,i]of this)if(t(i,e,this))return i;return null}throw new Error("First argument must be a property string or a function.")}findKey(t,e){if("string"==typeof t){if("undefined"==typeof e)throw new Error("Value must be specified.");for(const[i,n]of this)if(n[t]===e)return i;return null}if("function"==typeof t){for(const[e,i]of this)if(t(i,e,this))return e;return null}throw new Error("First argument must be a property string or a function.")}exists(t,e){return Boolean(this.find(t,e))}filter(t,e){e&&(t=t.bind(e));const n=new i;for(const[s,o]of this)t(o,s,this)&&n.set(s,o);return n}filterArray(t,e){e&&(t=t.bind(e));const i=[];for(const[n,s]of this)t(s,n,this)&&i.push(s);return i}map(t,e){e&&(t=t.bind(e));const i=new Array(this.size);let n=0;for(const[s,o]of this)i[n++]=t(o,s,this);return i}some(t,e){e&&(t=t.bind(e));for(const[i,n]of this)if(t(n,i,this))return!0;return!1}every(t,e){e&&(t=t.bind(e));for(const[i,n]of this)if(!t(n,i,this))return!1;return!0}reduce(t,e){let i;if("undefined"!=typeof e){i=e;for(const[n,s]of this)i=t(i,s,n,this)}else{let e=!0;for(const[n,s]of this)e?(i=s,e=!1):i=t(i,s,n,this)}return i}clone(){return new this.constructor(this)}concat(...t){const e=this.clone();for(const i of t)for(const[n,s]of i)e.set(n,s);return e}deleteAll(){const t=[];for(const e of this.values())e.delete&&t.push(e.delete());return t}equals(t){return!!t&&(this===t||this.size===t.size&&!this.find((e,i)=>{const n=t.get(i);return n!==e||void 0===n&&!t.has(i)}))}sort(t=(t,e)=>+(t>e)||+(t===e)-1){return new i(Array.from(this.entries()).sort((e,i)=>t(e[1],i[1],e[0],i[0])))}}t.exports=i},function(t,e,i){(function(e){const n=i(26),s=i(0),o=s.DefaultOptions.http;class r{constructor(){throw new Error(`The ${this.constructor.name} class may not be instantiated.`)}static splitMessage(t,{maxLength=1950,char="\n",prepend="",append=""}={}){if(t.length<=maxLength)return t;const e=t.split(char);if(1===e.length)throw new Error("Message exceeds the max length and contains no split characters.");const i=[""];let n=0;for(let s=0;smaxLength&&(i[n]+=append,i.push(prepend),n++),i[n]+=(i[n].length>0&&i[n]!==prepend?char:"")+e[s];return i}static escapeMarkdown(t,e=false,i=false){return e?t.replace(/```/g,"`​``"):i?t.replace(/\\(`|\\)/g,"$1").replace(/(`|\\)/g,"\\$1"):t.replace(/\\(\*|_|`|~|\\)/g,"$1").replace(/(\*|_|`|~|\\)/g,"\\$1")}static fetchRecommendedShards(t,e=1e3){return new Promise((i,r)=>{if(!t)throw new Error("A token must be provided.");n.get(`${o.host}/api/v${o.version}${s.Endpoints.gateway.bot}`).set("Authorization",`Bot ${t.replace(/^Bot\s*/i,"")}`).end((t,n)=>{t&&r(t),i(n.body.shards*(1e3/e))})})}static parseEmoji(t){if(t.includes("%")&&(t=decodeURIComponent(t)),t.includes(":")){const[e,i]=t.split(":");return{name:e,id:i}}return{name:t,id:null}}static arraysEqual(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(const i in t){const n=t[i],s=e.indexOf(n);s&&e.splice(s,1)}return 0===e.length}static cloneObject(t){return Object.assign(Object.create(t),t)}static mergeDefault(t,e){if(!e)return t;for(const i in t)({}).hasOwnProperty.call(e,i)?e[i]===Object(e[i])&&(e[i]=this.mergeDefault(t[i],e[i])):e[i]=t[i];return e}static convertToBuffer(t){return"string"==typeof t&&(t=this.str2ab(t)),e.from(t)}static str2ab(t){const e=new ArrayBuffer(2*t.length),i=new Uint16Array(e);for(var n=0,s=t.length;n-1&&i=e?String(t):(String(i).repeat(e)+t).slice(-e)}const s=i(25),o=14200704e5;let r=0;class a{static generate(){r>=4095&&(r=0);const t=`${n((Date.now()-o).toString(2),42)}0000100000${n((r++).toString(2),12)}`;return s.fromString(t,2).toString()}static deconstruct(t){const e=n(s.fromString(t).toString(2),64),i={timestamp:parseInt(e.substring(0,42),2)+o,workerID:parseInt(e.substring(42,47),2),processID:parseInt(e.substring(47,52),2),increment:parseInt(e.substring(52,64),2),binary:e};return Object.defineProperty(i,"date",{get:function(){return new Date(this.timestamp)},enumerable:!0}),i}}t.exports=a},function(t,e,i){const n=i(0);class s{constructor(t,e){e="object"!=typeof t||t instanceof Array?t:e,this.member="object"==typeof t?t:null,this.bitfield="number"==typeof e?e:this.constructor.resolve(e)}get raw(){return this.bitfield}set raw(t){this.bitfield=t}has(t,e=true){return t instanceof Array?t.every(t=>this.has(t,e)):(t=this.constructor.resolve(t),!!(e&&(this.bitfield&this.constructor.FLAGS.ADMINISTRATOR)>0)||(this.bitfield&t)===t)}missing(t,e=true){return t.filter(t=>!this.has(t,e))}add(...t){let e=0;for(let i=0;ithis.resolve(t)).reduce((t,e)=>t|e,0);if("string"==typeof t&&(t=this.FLAGS[t]),"number"!=typeof t||t<1)throw new RangeError(n.Errors.NOT_A_PERMISSION);return t}}s.FLAGS={CREATE_INSTANT_INVITE:1,KICK_MEMBERS:2,BAN_MEMBERS:4,ADMINISTRATOR:8,MANAGE_CHANNELS:16,MANAGE_GUILD:32,ADD_REACTIONS:64,READ_MESSAGES:1024,SEND_MESSAGES:2048,SEND_TTS_MESSAGES:4096,MANAGE_MESSAGES:8192,EMBED_LINKS:16384,ATTACH_FILES:32768,READ_MESSAGE_HISTORY:65536,MENTION_EVERYONE:1<<17,EXTERNAL_EMOJIS:1<<18,USE_EXTERNAL_EMOJIS:1<<18,CONNECT:1<<20,SPEAK:1<<21,MUTE_MEMBERS:1<<22,DEAFEN_MEMBERS:1<<23,MOVE_MEMBERS:1<<24,USE_VAD:1<<25,CHANGE_NICKNAME:1<<26,MANAGE_NICKNAMES:1<<27,MANAGE_ROLES:1<<28,MANAGE_ROLES_OR_PERMISSIONS:1<<28,MANAGE_WEBHOOKS:1<<29,MANAGE_EMOJIS:1<<30},s.ALL=Object.keys(s.FLAGS).reduce((t,e)=>t|s.FLAGS[e],0),s.DEFAULT=104324097,t.exports=s},function(t,e){class i{constructor(t={}){this.status=t.status||"offline",this.game=t.game?new n(t.game):null}update(t){this.status=t.status||this.status,this.game=t.game?new n(t.game):null}equals(t){return this===t||(t&&this.status===t.status&&this.game?this.game.equals(t.game):!t.game)}}class n{constructor(t){this.name=t.name,this.type=t.type,this.url=t.url||null}get streaming(){return 1===this.type}equals(t){return this===t||t&&this.name===t.name&&this.type===t.type&&this.url===t.url}}e.Presence=i,e.Game=n},function(t,e,i){const n=i(5);class s{constructor(t,e){Object.defineProperty(this,"client",{value:t}),this.type=null,e&&this.setup(e)}setup(t){this.id=t.id}get createdTimestamp(){return n.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}delete(){return this.client.rest.methods.deleteChannel(this)}}t.exports=s},function(t,e,i){const n=i(32),s=i(34),o=i(35),r=i(4),a=i(3),c=i(0),l=i(6);let u;class h{constructor(t,e,i){Object.defineProperty(this,"client",{value:i}),this.channel=t,e&&this.setup(e)}setup(t){this.id=t.id,this.type=c.MessageTypes[t.type],this.content=t.content,this.author=this.client.dataManager.newUser(t.author),this.member=this.guild?this.guild.member(this.author)||null:null,this.pinned=t.pinned,this.tts=t.tts,this.nonce=t.nonce,this.system=6===t.type,this.embeds=t.embeds.map(t=>new s(this,t)),this.attachments=new a;for(const e of t.attachments)this.attachments.set(e.id,new n(this,e));this.createdTimestamp=new Date(t.timestamp).getTime(),this.editedTimestamp=t.edited_timestamp?new Date(t.edited_timestamp).getTime():null,this.mentions={users:new a,roles:new a,channels:new a,everyone:t.mention_everyone};for(const i of t.mentions){let t=this.client.users.get(i.id);t||(t=this.client.dataManager.newUser(i)),this.mentions.users.set(t.id,t)}if(Object.defineProperty(this.mentions,"members",{get:()=>{if("text"!==this.channel.type)return null;const t=new a;return this.mentions.users.forEach(e=>{const i=this.client.resolver.resolveGuildMember(this.channel.guild,e);i&&t.set(i.id,i)}),t}}),t.mention_roles)for(const i of t.mention_roles){const t=this.channel.guild.roles.get(i);t&&this.mentions.roles.set(t.id,t)}if("text"===this.channel.type){const e=t.content.match(/<#([0-9]{14,20})>/g)||[];for(const i of e){const t=this.channel.guild.channels.get(i.match(/([0-9]{14,20})/g)[0]);t&&this.mentions.channels.set(t.id,t)}}if(this._edits=[],this.reactions=new a,t.reactions&&t.reactions.length>0)for(const r of t.reactions){const t=r.emoji.id?`${r.emoji.name}:${r.emoji.id}`:r.emoji.name;this.reactions.set(t,new o(this,r.emoji,r.count,r.me))}this.webhookID=t.webhook_id||null,this.hit="boolean"==typeof t.hit?t.hit:null}get createdAt(){return new Date(this.createdTimestamp)}get editedAt(){return this.editedTimestamp?new Date(this.editedTimestamp):null}get guild(){return this.channel.guild||null}get cleanContent(){return this.content.replace(/@(everyone|here)/g,"@​$1").replace(/<@!?[0-9]+>/g,t=>{const e=t.replace(/<|!|>|@/g,"");if("dm"===this.channel.type||"group"===this.channel.type)return this.client.users.has(e)?`@${this.client.users.get(e).username}`:t;const i=this.channel.guild.members.get(e);if(i)return i.nickname?`@${i.nickname}`:`@${i.user.username}`;{const i=this.client.users.get(e);return i?`@${i.username}`:t}}).replace(/<#[0-9]+>/g,t=>{const e=this.client.channels.get(t.replace(/<|#|>/g,""));return e?`#${e.name}`:t}).replace(/<@&[0-9]+>/g,t=>{if("dm"===this.channel.type||"group"===this.channel.type)return t;const e=this.guild.roles.get(t.replace(/<|@|>|&/g,""));return e?`@${e.name}`:t})}get edits(){const t=this._edits.slice();return t.unshift(this),t}get editable(){return this.author.id===this.client.user.id}get deletable(){return this.author.id===this.client.user.id||this.guild&&this.channel.permissionsFor(this.client.user).hasPermission(l.FLAGS.MANAGE_MESSAGES)}get pinnable(){return!this.guild||this.channel.permissionsFor(this.client.user).hasPermission(l.FLAGS.MANAGE_MESSAGES)}isMentioned(t){return t=t&&t.id?t.id:t,this.mentions.users.has(t)||this.mentions.channels.has(t)||this.mentions.roles.has(t)}isMemberMentioned(t){return u||(u=i(13)),!!this.mentions.everyone||(!!this.mentions.users.has(t.id)||!!(t instanceof u&&t.roles.some(t=>this.mentions.roles.has(t.id))))}edit(t,e){return e||"object"!=typeof t||t instanceof Array?e||(e={}):(e=t,t=""),this.client.rest.methods.updateMessage(this,t,e)}editCode(t,e){return e=r.escapeMarkdown(this.client.resolver.resolveString(e),!0),this.edit(`\`\`\`${t||""} ${e} -\`\`\``)}pin(){return this.client.rest.methods.pinMessage(this)}unpin(){return this.client.rest.methods.unpinMessage(this)}react(t){if(t=this.client.resolver.resolveEmojiIdentifier(t),!t)throw new TypeError("Emoji must be a string or Emoji/ReactionEmoji");return this.client.rest.methods.addMessageReaction(this,t)}clearReactions(){return this.client.rest.methods.removeMessageReactions(this)}delete(t=0){return t<=0?this.client.rest.methods.deleteMessage(this):new Promise(e=>{this.client.setTimeout(()=>{e(this.delete())},t)})}reply(t,e){return e||"object"!=typeof t||t instanceof Array?e||(e={}):(e=t,t=""),this.channel.send(t,Object.assign(e,{reply:this.member||this.author}))}acknowledge(){return this.client.rest.methods.ackMessage(this)}fetchWebhook(){return this.webhookID?this.client.fetchWebhook(this.webhookID):Promise.reject(new Error("The message was not sent by a webhook."))}equals(t,e){if(!t)return!1;const i=!t.author&&!t.attachments;if(i)return this.id===t.id&&this.embeds.length===t.embeds.length;let n=this.id===t.id&&this.author.id===t.author.id&&this.content===t.content&&this.tts===t.tts&&this.nonce===t.nonce&&this.embeds.length===t.embeds.length&&this.attachments.length===t.attachments.length;return n&&e&&(n=this.mentions.everyone===t.mentions.everyone&&this.createdTimestamp===new Date(e.timestamp).getTime()&&this.editedTimestamp===new Date(e.edited_timestamp).getTime()),n}toString(){return this.content}_addReaction(t,e){const i=t.id?`${t.name}:${t.id}`:encodeURIComponent(t.name);let n;return this.reactions.has(i)?(n=this.reactions.get(i),n.me||(n.me=e.id===this.client.user.id)):(n=new o(this,t,0,e.id===this.client.user.id),this.reactions.set(i,n)),n.users.has(e.id)||n.users.set(e.id,e),n.count++,n}_removeReaction(t,e){const i=t.id?`${t.name}:${t.id}`:encodeURIComponent(t.name);if(this.reactions.has(i)){const t=this.reactions.get(i);if(t.users.has(e.id))return t.users.delete(e.id),t.count--,e.id===this.client.user.id&&(t.me=!1),t}return null}_clearReactions(){this.reactions.clear()}}t.exports=h},function(t,e,i){const n=i(5),s=i(6);class o{constructor(t,e){Object.defineProperty(this,"client",{value:t.client}),this.guild=t,e&&this.setup(e)}setup(t){this.id=t.id,this.name=t.name,this.color=t.color,this.hoist=t.hoist,this.position=t.position,this.permissions=t.permissions,this.managed=t.managed,this.mentionable=t.mentionable}get createdTimestamp(){return n.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}get hexColor(){let t=this.color.toString(16);for(;t.length<6;)t=`0${t}`;return`#${t}`}get members(){return this.guild.members.filter(t=>t.roles.has(this.id))}get editable(){if(this.managed)return!1;const t=this.guild.member(this.client.user);return!!t.hasPermission(s.FLAGS.MANAGE_ROLES_OR_PERMISSIONS)&&t.highestRole.comparePositionTo(this)>0}get calculatedPosition(){const t=this.guild._sortedRoles;return t.array().indexOf(t.get(this.id))}serialize(){return new s(this.permissions).serialize()}hasPermission(t,e=false,i){return new s(this.permissions).has(t,"undefined"!=typeof i?i:!e)}hasPermissions(t,e=false){return new s(this.permissions).has(t,!e)}comparePositionTo(t){return this.constructor.comparePositions(this,t)}edit(t){return this.client.rest.methods.updateGuildRole(this,t)}setName(t){return this.edit({name:t})}setColor(t){return this.edit({color:t})}setHoist(t){return this.edit({hoist:t})}setPosition(t,e){return this.guild.setRolePosition(this,t,e).then(()=>this)}setPermissions(t){return this.edit({permissions:t})}setMentionable(t){return this.edit({mentionable:t})}delete(){return this.client.rest.methods.deleteGuildRole(this)}equals(t){return t&&this.id===t.id&&this.name===t.name&&this.color===t.color&&this.hoist===t.hoist&&this.position===t.position&&this.permissions===t.permissions&&this.managed===t.managed}toString(){return this.id===this.guild.id?"@everyone":`<@&${this.id}>`}static comparePositions(t,e){return t.position===e.position?e.id-t.id:t.position-e.position}}t.exports=o},function(t,e,i){const n=i(15),s=i(0),o=i(7).Presence,r=i(5);class a{constructor(t,e){Object.defineProperty(this,"client",{value:t}),e&&this.setup(e)}setup(t){this.id=t.id,this.username=t.username,this.discriminator=t.discriminator,this.avatar=t.avatar,this.bot=Boolean(t.bot),this.lastMessageID=null,this.lastMessage=null}patch(t){for(const e of["id","username","discriminator","avatar","bot"])"undefined"!=typeof t[e]&&(this[e]=t[e]);t.token&&(this.client.token=t.token)}get createdTimestamp(){return r.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}get presence(){if(this.client.presences.has(this.id))return this.client.presences.get(this.id);for(const t of this.client.guilds.values())if(t.presences.has(this.id))return t.presences.get(this.id);return new o}get avatarURL(){return this.avatar?s.Endpoints.User(this).Avatar(this.client.options.http.cdn,this.avatar):null}get defaultAvatarURL(){const t=Object.keys(s.DefaultAvatars),e=t[this.discriminator%t.length];return s.Endpoints.CDN(this.client.options.http.host).Asset(`${s.DefaultAvatars[e]}.png`)}get displayAvatarURL(){return this.avatarURL||this.defaultAvatarURL}get note(){return this.client.user.notes.get(this.id)||null}typingIn(t){return t=this.client.resolver.resolveChannel(t),t._typing.has(this.id)}typingSinceIn(t){return t=this.client.resolver.resolveChannel(t),t._typing.has(this.id)?new Date(t._typing.get(this.id).since):null}typingDurationIn(t){return t=this.client.resolver.resolveChannel(t),t._typing.has(this.id)?t._typing.get(this.id).elapsedTime:-1}get dmChannel(){return this.client.channels.filter(t=>"dm"===t.type).find(t=>t.recipient.id===this.id)}createDM(){return this.client.rest.methods.createDM(this)}deleteDM(){return this.client.rest.methods.deleteChannel(this)}addFriend(){return this.client.rest.methods.addFriend(this)}removeFriend(){return this.client.rest.methods.removeFriend(this)}block(){return this.client.rest.methods.blockUser(this)}unblock(){return this.client.rest.methods.unblockUser(this)}fetchProfile(){return this.client.rest.methods.fetchUserProfile(this)}setNote(t){return this.client.rest.methods.setNote(this,t)}equals(t){let e=t&&this.id===t.id&&this.username===t.username&&this.discriminator===t.discriminator&&this.avatar===t.avatar&&this.bot===Boolean(t.bot);return e}toString(){return`<@${this.id}>`}send(){}sendMessage(){}sendEmbed(){}sendFile(){}sendCode(){}}n.applyToClass(a),t.exports=a},function(t,e,i){const n=i(0),s=i(3),o=i(5);class r{constructor(t,e){Object.defineProperty(this,"client",{value:t.client}),this.guild=t,this.setup(e)}setup(t){this.id=t.id,this.name=t.name,this.requiresColons=t.require_colons,this.managed=t.managed,this._roles=t.roles}get createdTimestamp(){return o.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}get roles(){const t=new s;for(const e of this._roles)this.guild.roles.has(e)&&t.set(e,this.guild.roles.get(e));return t}get url(){return n.Endpoints.CDN(this.client.options.http.host).Emoji(this.id)}get identifier(){return this.id?`${this.name}:${this.id}`:encodeURIComponent(this.name)}edit(t){return this.client.rest.methods.updateEmoji(this,t)}toString(){return this.requiresColons?`<:${this.name}:${this.id}>`:this.name}equals(t){return t instanceof r?t.id===this.id&&t.name===this.name&&t.managed===this.managed&&t.requiresColons===this.requiresColons:t.id===this.id&&t.name===this.name}}t.exports=r},function(t,e,i){const n=i(15),s=i(10),o=i(6),r=i(3),a=i(7).Presence;class c{constructor(t,e){Object.defineProperty(this,"client",{value:t.client}),this.guild=t,this.user={},this._roles=[],e&&this.setup(e),this.lastMessageID=null,this.lastMessage=null}setup(t){this.serverDeaf=t.deaf,this.serverMute=t.mute,this.selfMute=t.self_mute,this.selfDeaf=t.self_deaf,this.voiceSessionID=t.session_id,this.voiceChannelID=t.channel_id,this.speaking=!1,this.nickname=t.nick||null,this.joinedTimestamp=new Date(t.joined_at).getTime(),this.user=t.user,this._roles=t.roles}get joinedAt(){return new Date(this.joinedTimestamp)}get presence(){return this.frozenPresence||this.guild.presences.get(this.id)||new a}get roles(){const t=new r,e=this.guild.roles.get(this.guild.id);e&&t.set(e.id,e);for(const i of this._roles){const e=this.guild.roles.get(i);e&&t.set(e.id,e)}return t}get highestRole(){return this.roles.reduce((t,e)=>!t||e.comparePositionTo(t)>0?e:t)}get colorRole(){const t=this.roles.filter(t=>t.color);return t.size?t.reduce((t,e)=>!t||e.comparePositionTo(t)>0?e:t):null}get displayColor(){const t=this.colorRole;return t&&t.color||0}get displayHexColor(){const t=this.colorRole;return t&&t.hexColor||"#000000"}get hoistRole(){const t=this.roles.filter(t=>t.hoist);return t.size?t.reduce((t,e)=>!t||e.comparePositionTo(t)>0?e:t):null}get mute(){return this.selfMute||this.serverMute}get deaf(){return this.selfDeaf||this.serverDeaf}get voiceChannel(){return this.guild.channels.get(this.voiceChannelID)}get id(){return this.user.id}get displayName(){return this.nickname||this.user.username}get permissions(){if(this.user.id===this.guild.ownerID)return new o(this,o.ALL);let t=0;const e=this.roles;for(const i of e.values())t|=i.permissions;return new o(this,t)}get kickable(){if(this.user.id===this.guild.ownerID)return!1;if(this.user.id===this.client.user.id)return!1;const t=this.guild.member(this.client.user);return!!t.hasPermission(o.FLAGS.KICK_MEMBERS)&&t.highestRole.comparePositionTo(this.highestRole)>0}get bannable(){if(this.user.id===this.guild.ownerID)return!1;if(this.user.id===this.client.user.id)return!1;const t=this.guild.member(this.client.user);return!!t.hasPermission(o.FLAGS.BAN_MEMBERS)&&t.highestRole.comparePositionTo(this.highestRole)>0}permissionsIn(t){if(t=this.client.resolver.resolveChannel(t),!t||!t.guild)throw new Error("Could not resolve channel to a guild channel.");return t.permissionsFor(this)}hasPermission(t,e=false,i,n){return"undefined"==typeof i&&(i=!e),"undefined"==typeof n&&(n=!e),!(!n||this.user.id!==this.guild.ownerID)||this.roles.some(e=>e.hasPermission(t,void 0,i))}hasPermissions(t,e=false){return!e&&this.user.id===this.guild.ownerID||t.every(t=>this.hasPermission(t,e))}missingPermissions(t,e=false){return t.filter(t=>!this.hasPermission(t,e))}edit(t){return this.client.rest.methods.updateGuildMember(this,t)}setMute(t){return this.edit({mute:t})}setDeaf(t){return this.edit({deaf:t})}setVoiceChannel(t){return this.edit({channel:t})}setRoles(t){return this.edit({roles:t})}addRole(t){return t instanceof s||(t=this.guild.roles.get(t)),this.client.rest.methods.addMemberRole(this,t)}addRoles(t){let e;if(t instanceof r){e=this._roles.slice();for(const i of t.values())e.push(i.id)}else e=this._roles.concat(t);return this.edit({roles:e})}removeRole(t){return t instanceof s||(t=this.guild.roles.get(t)),this.client.rest.methods.removeMemberRole(this,t)}removeRoles(t){const e=this._roles.slice();if(t instanceof r)for(const i of t.values()){const t=e.indexOf(i.id);t>=0&&e.splice(t,1)}else for(const i of t){const t=e.indexOf(i instanceof s?i.id:i);t>=0&&e.splice(t,1)}return this.edit({roles:e})}setNickname(t){return this.edit({nick:t})}createDM(){return this.user.createDM()}deleteDM(){return this.user.deleteDM()}kick(){return this.client.rest.methods.kickGuildMember(this.guild,this)}ban(t=0){return this.client.rest.methods.banGuildMember(this.guild,this,t)}toString(){return`<@${this.nickname?"!":""}${this.user.id}>`}send(){}sendMessage(){}sendEmbed(){}sendFile(){}sendCode(){}}n.applyToClass(c),t.exports=c},function(t,e,i){"use strict";(function(t){function n(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}function s(){return r.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(t,e){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function g(t){return+t!=t&&(t=0),r.alloc(+t)}function v(t,e){if(r.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var i=t.length;if(0===i)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":case void 0:return Y(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return K(t).length;default:if(n)return Y(t).length;e=(""+e).toLowerCase(),n=!0}}function E(t,e,i){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if(i>>>=0,e>>>=0,i<=e)return"";for(t||(t="utf8");;)switch(t){case"hex":return C(this,e,i);case"utf8":case"utf-8":return M(this,e,i);case"ascii":return I(this,e,i);case"latin1":case"binary":return U(this,e,i);case"base64":return D(this,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,i);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function x(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function b(t,e,i,n,s){if(0===t.length)return-1;if("string"==typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,isNaN(i)&&(i=s?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(s)return-1;i=t.length-1}else if(i<0){if(!s)return-1;i=0}if("string"==typeof e&&(e=r.from(e,n)),r.isBuffer(e))return 0===e.length?-1:w(t,e,i,n,s);if("number"==typeof e)return e&=255,r.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(t,e,i):Uint8Array.prototype.lastIndexOf.call(t,e,i):w(t,[e],i,n,s);throw new TypeError("val must be string, number or Buffer")}function w(t,e,i,n,s){function o(t,e){return 1===r?t[e]:t.readUInt16BE(e*r)}var r=1,a=t.length,c=e.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;r=2,a/=2,c/=2,i/=2}var l;if(s){var u=-1;for(l=i;la&&(i=a-c),l=i;l>=0;l--){for(var h=!0,p=0;ps&&(n=s)):n=s;var o=e.length;if(o%2!==0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var r=0;r239?4:o>223?3:o>191?2:1;if(s+a<=i){var c,l,u,h;switch(a){case 1:o<128&&(r=o);break;case 2:c=t[s+1],128===(192&c)&&(h=(31&o)<<6|63&c,h>127&&(r=h));break;case 3:c=t[s+1],l=t[s+2],128===(192&c)&&128===(192&l)&&(h=(15&o)<<12|(63&c)<<6|63&l,h>2047&&(h<55296||h>57343)&&(r=h));break;case 4:c=t[s+1],l=t[s+2],u=t[s+3],128===(192&c)&&128===(192&l)&&128===(192&u)&&(h=(15&o)<<18|(63&c)<<12|(63&l)<<6|63&u,h>65535&&h<1114112&&(r=h))}}null===r?(r=65533,a=1):r>65535&&(r-=65536,n.push(r>>>10&1023|55296),r=56320|1023&r),n.push(r),s+=a}return S(n)}function S(t){var e=t.length;if(e<=tt)return String.fromCharCode.apply(String,t);for(var i="",n=0;nn)&&(i=n);for(var s="",o=e;oi)throw new RangeError("Trying to access beyond buffer length")}function O(t,e,i,n,s,o){if(!r.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>s||et.length)throw new RangeError("Index out of range")}function P(t,e,i,n){e<0&&(e=65535+e+1);for(var s=0,o=Math.min(t.length-i,2);s>>8*(n?s:1-s)}function G(t,e,i,n){e<0&&(e=4294967295+e+1);for(var s=0,o=Math.min(t.length-i,4);s>>8*(n?s:3-s)&255}function j(t,e,i,n,s,o){if(i+n>t.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function q(t,e,i,n,s){return s||j(t,e,i,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(t,e,i,n,23,4),i+4}function B(t,e,i,n,s){return s||j(t,e,i,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(t,e,i,n,52,8),i+8}function z(t){if(t=V(t).replace(et,""),t.length<2)return"";for(;t.length%4!==0;)t+="=";return t}function V(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function W(t){return t<16?"0"+t.toString(16):t.toString(16)}function Y(t,e){e=e||1/0;for(var i,n=t.length,s=null,o=[],r=0;r55295&&i<57344){if(!s){if(i>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(r+1===n){(e-=3)>-1&&o.push(239,191,189);continue}s=i;continue}if(i<56320){(e-=3)>-1&&o.push(239,191,189),s=i;continue}i=(s-55296<<10|i-56320)+65536}else s&&(e-=3)>-1&&o.push(239,191,189);if(s=null,i<128){if((e-=1)<0)break;o.push(i)}else if(i<2048){if((e-=2)<0)break;o.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;o.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return o}function H(t){for(var e=[],i=0;i>8,s=i%256,o.push(s),o.push(n);return o}function K(t){return Q.toByteArray(z(t))}function J(t,e,i,n){for(var s=0;s=e.length||s>=t.length);++s)e[s+i]=t[s];return s}function $(t){return t!==t}/*! +\`\`\``)}pin(){return this.client.rest.methods.pinMessage(this)}unpin(){return this.client.rest.methods.unpinMessage(this)}react(t){if(t=this.client.resolver.resolveEmojiIdentifier(t),!t)throw new TypeError("Emoji must be a string or Emoji/ReactionEmoji");return this.client.rest.methods.addMessageReaction(this,t)}clearReactions(){return this.client.rest.methods.removeMessageReactions(this)}delete(t=0){return t<=0?this.client.rest.methods.deleteMessage(this):new Promise(e=>{this.client.setTimeout(()=>{e(this.delete())},t)})}reply(t,e){return e||"object"!=typeof t||t instanceof Array?e||(e={}):(e=t,t=""),this.channel.send(t,Object.assign(e,{reply:this.member||this.author}))}acknowledge(){return this.client.rest.methods.ackMessage(this)}fetchWebhook(){return this.webhookID?this.client.fetchWebhook(this.webhookID):Promise.reject(new Error("The message was not sent by a webhook."))}equals(t,e){if(!t)return!1;const i=!t.author&&!t.attachments;if(i)return this.id===t.id&&this.embeds.length===t.embeds.length;let n=this.id===t.id&&this.author.id===t.author.id&&this.content===t.content&&this.tts===t.tts&&this.nonce===t.nonce&&this.embeds.length===t.embeds.length&&this.attachments.length===t.attachments.length;return n&&e&&(n=this.mentions.everyone===t.mentions.everyone&&this.createdTimestamp===new Date(e.timestamp).getTime()&&this.editedTimestamp===new Date(e.edited_timestamp).getTime()),n}toString(){return this.content}_addReaction(t,e){const i=t.id?`${t.name}:${t.id}`:encodeURIComponent(t.name);let n;return this.reactions.has(i)?(n=this.reactions.get(i),n.me||(n.me=e.id===this.client.user.id)):(n=new o(this,t,0,e.id===this.client.user.id),this.reactions.set(i,n)),n.users.has(e.id)||n.users.set(e.id,e),n.count++,n}_removeReaction(t,e){const i=t.id?`${t.name}:${t.id}`:encodeURIComponent(t.name);if(this.reactions.has(i)){const t=this.reactions.get(i);if(t.users.has(e.id))return t.users.delete(e.id),t.count--,e.id===this.client.user.id&&(t.me=!1),t}return null}_clearReactions(){this.reactions.clear()}}t.exports=h},function(t,e,i){const n=i(5),s=i(6);class o{constructor(t,e){Object.defineProperty(this,"client",{value:t.client}),this.guild=t,e&&this.setup(e)}setup(t){this.id=t.id,this.name=t.name,this.color=t.color,this.hoist=t.hoist,this.position=t.position,this.permissions=t.permissions,this.managed=t.managed,this.mentionable=t.mentionable}get createdTimestamp(){return n.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}get hexColor(){let t=this.color.toString(16);for(;t.length<6;)t=`0${t}`;return`#${t}`}get members(){return this.guild.members.filter(t=>t.roles.has(this.id))}get editable(){if(this.managed)return!1;const t=this.guild.member(this.client.user);return!!t.hasPermission(s.FLAGS.MANAGE_ROLES_OR_PERMISSIONS)&&t.highestRole.comparePositionTo(this)>0}get calculatedPosition(){const t=this.guild._sortedRoles;return t.array().indexOf(t.get(this.id))}serialize(){return new s(this.permissions).serialize()}hasPermission(t,e=false,i){return new s(this.permissions).has(t,"undefined"!=typeof i?i:!e)}hasPermissions(t,e=false){return new s(this.permissions).has(t,!e)}comparePositionTo(t){return this.constructor.comparePositions(this,t)}edit(t){return this.client.rest.methods.updateGuildRole(this,t)}setName(t){return this.edit({name:t})}setColor(t){return this.edit({color:t})}setHoist(t){return this.edit({hoist:t})}setPosition(t,e){return this.guild.setRolePosition(this,t,e).then(()=>this)}setPermissions(t){return this.edit({permissions:t})}setMentionable(t){return this.edit({mentionable:t})}delete(){return this.client.rest.methods.deleteGuildRole(this)}equals(t){return t&&this.id===t.id&&this.name===t.name&&this.color===t.color&&this.hoist===t.hoist&&this.position===t.position&&this.permissions===t.permissions&&this.managed===t.managed}toString(){return this.id===this.guild.id?"@everyone":`<@&${this.id}>`}static comparePositions(t,e){return t.position===e.position?e.id-t.id:t.position-e.position}}t.exports=o},function(t,e,i){const n=i(15),s=i(0),o=i(7).Presence,r=i(5);class a{constructor(t,e){Object.defineProperty(this,"client",{value:t}),e&&this.setup(e)}setup(t){this.id=t.id,this.username=t.username,this.discriminator=t.discriminator,this.avatar=t.avatar,this.bot=Boolean(t.bot),this.lastMessageID=null,this.lastMessage=null}patch(t){for(const e of["id","username","discriminator","avatar","bot"])"undefined"!=typeof t[e]&&(this[e]=t[e]);t.token&&(this.client.token=t.token)}get createdTimestamp(){return r.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}get presence(){if(this.client.presences.has(this.id))return this.client.presences.get(this.id);for(const t of this.client.guilds.values())if(t.presences.has(this.id))return t.presences.get(this.id);return new o}get avatarURL(){return this.avatar?s.Endpoints.User(this).Avatar(this.client.options.http.cdn,this.avatar):null}get defaultAvatarURL(){const t=Object.keys(s.DefaultAvatars),e=t[this.discriminator%t.length];return s.Endpoints.CDN(this.client.options.http.host).Asset(`${s.DefaultAvatars[e]}.png`)}get displayAvatarURL(){return this.avatarURL||this.defaultAvatarURL}get note(){return this.client.user.notes.get(this.id)||null}typingIn(t){return t=this.client.resolver.resolveChannel(t),t._typing.has(this.id)}typingSinceIn(t){return t=this.client.resolver.resolveChannel(t),t._typing.has(this.id)?new Date(t._typing.get(this.id).since):null}typingDurationIn(t){return t=this.client.resolver.resolveChannel(t),t._typing.has(this.id)?t._typing.get(this.id).elapsedTime:-1}get dmChannel(){return this.client.channels.filter(t=>"dm"===t.type).find(t=>t.recipient.id===this.id)}createDM(){return this.client.rest.methods.createDM(this)}deleteDM(){return this.client.rest.methods.deleteChannel(this)}addFriend(){return this.client.rest.methods.addFriend(this)}removeFriend(){return this.client.rest.methods.removeFriend(this)}block(){return this.client.rest.methods.blockUser(this)}unblock(){return this.client.rest.methods.unblockUser(this)}fetchProfile(){return this.client.rest.methods.fetchUserProfile(this)}setNote(t){return this.client.rest.methods.setNote(this,t)}equals(t){let e=t&&this.id===t.id&&this.username===t.username&&this.discriminator===t.discriminator&&this.avatar===t.avatar&&this.bot===Boolean(t.bot);return e}toString(){return`<@${this.id}>`}send(){}sendMessage(){}sendEmbed(){}sendFile(){}sendCode(){}}n.applyToClass(a),t.exports=a},function(t,e,i){const n=i(0),s=i(3),o=i(5);class r{constructor(t,e){Object.defineProperty(this,"client",{value:t.client}),this.guild=t,this.setup(e)}setup(t){this.id=t.id,this.name=t.name,this.requiresColons=t.require_colons,this.managed=t.managed,this._roles=t.roles}get createdTimestamp(){return o.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}get roles(){const t=new s;for(const e of this._roles)this.guild.roles.has(e)&&t.set(e,this.guild.roles.get(e));return t}get url(){return n.Endpoints.CDN(this.client.options.http.host).Emoji(this.id)}get identifier(){return this.id?`${this.name}:${this.id}`:encodeURIComponent(this.name)}edit(t){return this.client.rest.methods.updateEmoji(this,t)}toString(){return this.requiresColons?`<:${this.name}:${this.id}>`:this.name}equals(t){return t instanceof r?t.id===this.id&&t.name===this.name&&t.managed===this.managed&&t.requiresColons===this.requiresColons:t.id===this.id&&t.name===this.name}}t.exports=r},function(t,e,i){const n=i(15),s=i(10),o=i(6),r=i(3),a=i(7).Presence;class c{constructor(t,e){Object.defineProperty(this,"client",{value:t.client}),this.guild=t,this.user={},this._roles=[],e&&this.setup(e),this.lastMessageID=null,this.lastMessage=null}setup(t){this.serverDeaf=t.deaf,this.serverMute=t.mute,this.selfMute=t.self_mute,this.selfDeaf=t.self_deaf,this.voiceSessionID=t.session_id,this.voiceChannelID=t.channel_id,this.speaking=!1,this.nickname=t.nick||null,this.joinedTimestamp=new Date(t.joined_at).getTime(),this.user=t.user,this._roles=t.roles}get joinedAt(){return new Date(this.joinedTimestamp)}get presence(){return this.frozenPresence||this.guild.presences.get(this.id)||new a}get roles(){const t=new r,e=this.guild.roles.get(this.guild.id);e&&t.set(e.id,e);for(const i of this._roles){const e=this.guild.roles.get(i);e&&t.set(e.id,e)}return t}get highestRole(){return this.roles.reduce((t,e)=>!t||e.comparePositionTo(t)>0?e:t)}get colorRole(){const t=this.roles.filter(t=>t.color);return t.size?t.reduce((t,e)=>!t||e.comparePositionTo(t)>0?e:t):null}get displayColor(){const t=this.colorRole;return t&&t.color||0}get displayHexColor(){const t=this.colorRole;return t&&t.hexColor||"#000000"}get hoistRole(){const t=this.roles.filter(t=>t.hoist);return t.size?t.reduce((t,e)=>!t||e.comparePositionTo(t)>0?e:t):null}get mute(){return this.selfMute||this.serverMute}get deaf(){return this.selfDeaf||this.serverDeaf}get voiceChannel(){return this.guild.channels.get(this.voiceChannelID)}get id(){return this.user.id}get displayName(){return this.nickname||this.user.username}get permissions(){if(this.user.id===this.guild.ownerID)return new o(this,o.ALL);let t=0;const e=this.roles;for(const i of e.values())t|=i.permissions;return new o(this,t)}get kickable(){if(this.user.id===this.guild.ownerID)return!1;if(this.user.id===this.client.user.id)return!1;const t=this.guild.member(this.client.user);return!!t.hasPermission(o.FLAGS.KICK_MEMBERS)&&t.highestRole.comparePositionTo(this.highestRole)>0}get bannable(){if(this.user.id===this.guild.ownerID)return!1;if(this.user.id===this.client.user.id)return!1;const t=this.guild.member(this.client.user);return!!t.hasPermission(o.FLAGS.BAN_MEMBERS)&&t.highestRole.comparePositionTo(this.highestRole)>0}permissionsIn(t){if(t=this.client.resolver.resolveChannel(t),!t||!t.guild)throw new Error("Could not resolve channel to a guild channel.");return t.permissionsFor(this)}hasPermission(t,e=false,i,n){return"undefined"==typeof i&&(i=!e),"undefined"==typeof n&&(n=!e),!(!n||this.user.id!==this.guild.ownerID)||this.roles.some(e=>e.hasPermission(t,void 0,i))}hasPermissions(t,e=false){return!e&&this.user.id===this.guild.ownerID||t.every(t=>this.hasPermission(t,e))}missingPermissions(t,e=false){return t.filter(t=>!this.hasPermission(t,e))}edit(t){return this.client.rest.methods.updateGuildMember(this,t)}setMute(t){return this.edit({mute:t})}setDeaf(t){return this.edit({deaf:t})}setVoiceChannel(t){return this.edit({channel:t})}setRoles(t){return this.edit({roles:t})}addRole(t){return t instanceof s||(t=this.guild.roles.get(t)),this.client.rest.methods.addMemberRole(this,t)}addRoles(t){let e;if(t instanceof r){e=this._roles.slice();for(const i of t.values())e.push(i.id)}else e=this._roles.concat(t);return this.edit({roles:e})}removeRole(t){return t instanceof s||(t=this.guild.roles.get(t)),this.client.rest.methods.removeMemberRole(this,t)}removeRoles(t){const e=this._roles.slice();if(t instanceof r)for(const i of t.values()){const t=e.indexOf(i.id);t>=0&&e.splice(t,1)}else for(const i of t){const t=e.indexOf(i instanceof s?i.id:i);t>=0&&e.splice(t,1)}return this.edit({roles:e})}setNickname(t){return this.edit({nick:t})}createDM(){return this.user.createDM()}deleteDM(){return this.user.deleteDM()}kick(){return this.client.rest.methods.kickGuildMember(this.guild,this)}ban(t=0){return this.client.rest.methods.banGuildMember(this.guild,this,t)}toString(){return`<@${this.nickname?"!":""}${this.user.id}>`}send(){}sendMessage(){}sendEmbed(){}sendFile(){}sendCode(){}}n.applyToClass(c),t.exports=c},function(t,e,i){"use strict";(function(t){function n(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}function s(){return r.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(t,e){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function g(t){return+t!=t&&(t=0),r.alloc(+t)}function v(t,e){if(r.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var i=t.length;if(0===i)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":case void 0:return W(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return K(t).length;default:if(n)return W(t).length;e=(""+e).toLowerCase(),n=!0}}function E(t,e,i){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if(i>>>=0,e>>>=0,i<=e)return"";for(t||(t="utf8");;)switch(t){case"hex":return C(this,e,i);case"utf8":case"utf-8":return M(this,e,i);case"ascii":return I(this,e,i);case"latin1":case"binary":return U(this,e,i);case"base64":return D(this,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,i);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function x(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function b(t,e,i,n,s){if(0===t.length)return-1;if("string"==typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,isNaN(i)&&(i=s?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(s)return-1;i=t.length-1}else if(i<0){if(!s)return-1;i=0}if("string"==typeof e&&(e=r.from(e,n)),r.isBuffer(e))return 0===e.length?-1:w(t,e,i,n,s);if("number"==typeof e)return e&=255,r.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(t,e,i):Uint8Array.prototype.lastIndexOf.call(t,e,i):w(t,[e],i,n,s);throw new TypeError("val must be string, number or Buffer")}function w(t,e,i,n,s){function o(t,e){return 1===r?t[e]:t.readUInt16BE(e*r)}var r=1,a=t.length,c=e.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;r=2,a/=2,c/=2,i/=2}var l;if(s){var u=-1;for(l=i;la&&(i=a-c),l=i;l>=0;l--){for(var h=!0,p=0;ps&&(n=s)):n=s;var o=e.length;if(o%2!==0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var r=0;r239?4:o>223?3:o>191?2:1;if(s+a<=i){var c,l,u,h;switch(a){case 1:o<128&&(r=o);break;case 2:c=t[s+1],128===(192&c)&&(h=(31&o)<<6|63&c,h>127&&(r=h));break;case 3:c=t[s+1],l=t[s+2],128===(192&c)&&128===(192&l)&&(h=(15&o)<<12|(63&c)<<6|63&l,h>2047&&(h<55296||h>57343)&&(r=h));break;case 4:c=t[s+1],l=t[s+2],u=t[s+3],128===(192&c)&&128===(192&l)&&128===(192&u)&&(h=(15&o)<<18|(63&c)<<12|(63&l)<<6|63&u,h>65535&&h<1114112&&(r=h))}}null===r?(r=65533,a=1):r>65535&&(r-=65536,n.push(r>>>10&1023|55296),r=56320|1023&r),n.push(r),s+=a}return S(n)}function S(t){var e=t.length;if(e<=tt)return String.fromCharCode.apply(String,t);for(var i="",n=0;nn)&&(i=n);for(var s="",o=e;oi)throw new RangeError("Trying to access beyond buffer length")}function O(t,e,i,n,s,o){if(!r.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>s||et.length)throw new RangeError("Index out of range")}function P(t,e,i,n){e<0&&(e=65535+e+1);for(var s=0,o=Math.min(t.length-i,2);s>>8*(n?s:1-s)}function G(t,e,i,n){e<0&&(e=4294967295+e+1);for(var s=0,o=Math.min(t.length-i,4);s>>8*(n?s:3-s)&255}function j(t,e,i,n,s,o){if(i+n>t.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function q(t,e,i,n,s){return s||j(t,e,i,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(t,e,i,n,23,4),i+4}function B(t,e,i,n,s){return s||j(t,e,i,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(t,e,i,n,52,8),i+8}function z(t){if(t=V(t).replace(et,""),t.length<2)return"";for(;t.length%4!==0;)t+="=";return t}function V(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function H(t){return t<16?"0"+t.toString(16):t.toString(16)}function W(t,e){e=e||1/0;for(var i,n=t.length,s=null,o=[],r=0;r55295&&i<57344){if(!s){if(i>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(r+1===n){(e-=3)>-1&&o.push(239,191,189);continue}s=i;continue}if(i<56320){(e-=3)>-1&&o.push(239,191,189),s=i;continue}i=(s-55296<<10|i-56320)+65536}else s&&(e-=3)>-1&&o.push(239,191,189);if(s=null,i<128){if((e-=1)<0)break;o.push(i)}else if(i<2048){if((e-=2)<0)break;o.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;o.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return o}function Y(t){for(var e=[],i=0;i>8,s=i%256,o.push(s),o.push(n);return o}function K(t){return Q.toByteArray(z(t))}function J(t,e,i,n){for(var s=0;s=e.length||s>=t.length);++s)e[s+i]=t[s];return s}function $(t){return t!==t}/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */ -var Q=i(51),Z=i(52),X=i(53);e.Buffer=r,e.SlowBuffer=g,e.INSPECT_MAX_BYTES=50,r.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:n(),e.kMaxLength=s(),r.poolSize=8192,r._augment=function(t){return t.__proto__=r.prototype,t},r.from=function(t,e,i){return a(null,t,e,i)},r.TYPED_ARRAY_SUPPORT&&(r.prototype.__proto__=Uint8Array.prototype,r.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&r[Symbol.species]===r&&Object.defineProperty(r,Symbol.species,{value:null,configurable:!0})),r.alloc=function(t,e,i){return l(null,t,e,i)},r.allocUnsafe=function(t){return u(null,t)},r.allocUnsafeSlow=function(t){return u(null,t)},r.isBuffer=function(t){return!(null==t||!t._isBuffer)},r.compare=function(t,e){if(!r.isBuffer(t)||!r.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var i=t.length,n=e.length,s=0,o=Math.min(i,n);s0&&(t=this.toString("hex",0,i).match(/.{2}/g).join(" "),this.length>i&&(t+=" ... ")),""},r.prototype.compare=function(t,e,i,n,s){if(!r.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===i&&(i=t?t.length:0),void 0===n&&(n=0),void 0===s&&(s=this.length),e<0||i>t.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&e>=i)return 0;if(n>=s)return-1;if(e>=i)return 1;if(e>>>=0,i>>>=0,n>>>=0,s>>>=0,this===t)return 0;for(var o=s-n,a=i-e,c=Math.min(o,a),l=this.slice(n,s),u=t.slice(e,i),h=0;hs)&&(i=s),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return _(this,t,e,i);case"utf8":case"utf-8":return y(this,t,e,i);case"ascii":return A(this,t,e,i);case"latin1":case"binary":return k(this,t,e,i);case"base64":return R(this,t,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,e,i);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},r.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var tt=4096;r.prototype.slice=function(t,e){var i=this.length;t=~~t,e=void 0===e?i:~~e,t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),e<0?(e+=i,e<0&&(e=0)):e>i&&(e=i),e0&&(s*=256);)n+=this[t+--e]*s;return n},r.prototype.readUInt8=function(t,e){return e||N(t,1,this.length),this[t]},r.prototype.readUInt16LE=function(t,e){return e||N(t,2,this.length),this[t]|this[t+1]<<8},r.prototype.readUInt16BE=function(t,e){return e||N(t,2,this.length),this[t]<<8|this[t+1]},r.prototype.readUInt32LE=function(t,e){return e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},r.prototype.readUInt32BE=function(t,e){return e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},r.prototype.readIntLE=function(t,e,i){t|=0,e|=0,i||N(t,e,this.length);for(var n=this[t],s=1,o=0;++o=s&&(n-=Math.pow(2,8*e)),n},r.prototype.readIntBE=function(t,e,i){t|=0,e|=0,i||N(t,e,this.length);for(var n=e,s=1,o=this[t+--n];n>0&&(s*=256);)o+=this[t+--n]*s;return s*=128,o>=s&&(o-=Math.pow(2,8*e)),o},r.prototype.readInt8=function(t,e){return e||N(t,1,this.length),128&this[t]?(255-this[t]+1)*-1:this[t]},r.prototype.readInt16LE=function(t,e){e||N(t,2,this.length);var i=this[t]|this[t+1]<<8;return 32768&i?4294901760|i:i},r.prototype.readInt16BE=function(t,e){e||N(t,2,this.length);var i=this[t+1]|this[t]<<8;return 32768&i?4294901760|i:i},r.prototype.readInt32LE=function(t,e){return e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},r.prototype.readInt32BE=function(t,e){return e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},r.prototype.readFloatLE=function(t,e){return e||N(t,4,this.length),Z.read(this,t,!0,23,4)},r.prototype.readFloatBE=function(t,e){return e||N(t,4,this.length),Z.read(this,t,!1,23,4)},r.prototype.readDoubleLE=function(t,e){return e||N(t,8,this.length),Z.read(this,t,!0,52,8)},r.prototype.readDoubleBE=function(t,e){return e||N(t,8,this.length),Z.read(this,t,!1,52,8)},r.prototype.writeUIntLE=function(t,e,i,n){if(t=+t,e|=0,i|=0,!n){var s=Math.pow(2,8*i)-1;O(this,t,e,i,s,0)}var o=1,r=0;for(this[e]=255&t;++r=0&&(r*=256);)this[e+o]=t/r&255;return e+i},r.prototype.writeUInt8=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,1,255,0),r.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},r.prototype.writeUInt16LE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,2,65535,0),r.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):P(this,t,e,!0),e+2},r.prototype.writeUInt16BE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,2,65535,0),r.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):P(this,t,e,!1),e+2},r.prototype.writeUInt32LE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,4,4294967295,0),r.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):G(this,t,e,!0),e+4},r.prototype.writeUInt32BE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,4,4294967295,0),r.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):G(this,t,e,!1),e+4},r.prototype.writeIntLE=function(t,e,i,n){if(t=+t,e|=0,!n){var s=Math.pow(2,8*i-1);O(this,t,e,i,s-1,-s)}var o=0,r=1,a=0;for(this[e]=255&t;++o>0)-a&255;return e+i},r.prototype.writeIntBE=function(t,e,i,n){if(t=+t,e|=0,!n){var s=Math.pow(2,8*i-1);O(this,t,e,i,s-1,-s)}var o=i-1,r=1,a=0;for(this[e+o]=255&t;--o>=0&&(r*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/r>>0)-a&255;return e+i},r.prototype.writeInt8=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,1,127,-128),r.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},r.prototype.writeInt16LE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,2,32767,-32768),r.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):P(this,t,e,!0),e+2},r.prototype.writeInt16BE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,2,32767,-32768),r.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):P(this,t,e,!1),e+2},r.prototype.writeInt32LE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,4,2147483647,-2147483648),r.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):G(this,t,e,!0),e+4},r.prototype.writeInt32BE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),r.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):G(this,t,e,!1),e+4},r.prototype.writeFloatLE=function(t,e,i){return q(this,t,e,!0,i)},r.prototype.writeFloatBE=function(t,e,i){return q(this,t,e,!1,i)},r.prototype.writeDoubleLE=function(t,e,i){return B(this,t,e,!0,i)},r.prototype.writeDoubleBE=function(t,e,i){return B(this,t,e,!1,i)},r.prototype.copy=function(t,e,i,n){if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--s)t[s+e]=this[s+i];else if(o<1e3||!r.TYPED_ARRAY_SUPPORT)for(s=0;s>>=0,i=void 0===i?this.length:i>>>0,t||(t=0);var o;if("number"==typeof t)for(o=e;othis.client.resolver.resolveBuffer(t.attachment).then(e=>{return t.file=e,t}))).then(i=>this.client.rest.methods.sendMessage(this,t,e,i))}return this.client.rest.methods.sendMessage(this,t,e)}sendMessage(t,e){return this.send(t,e)}sendEmbed(t,e,i){return i||"object"!=typeof e||e instanceof Array?i||(i={}):(i=e,e=""),this.send(e,Object.assign(i,{embed:t}))}sendFiles(t,e,i={}){return this.send(e,Object.assign(i,{files:t}))}sendFile(t,e,i,n={}){return this.sendFiles([{attachment:t,name:e}],i,n)}sendCode(t,e,i={}){return this.send(e,Object.assign(i,{code:t}))}fetchMessage(t){return this.client.user.bot?this.client.rest.methods.getChannelMessage(this,t).then(t=>{const e=t instanceof s?t:new s(this,t,this.client);return this._cacheMessage(e),e}):this.fetchMessages({limit:1,around:t}).then(e=>{const i=e.first();if(i.id!==t)throw new Error("Message not found.");return i})}fetchMessages(t={}){return this.client.rest.methods.getChannelMessages(this,t).then(t=>{const e=new r;for(const i of t){const t=new s(this,i,this.client);e.set(i.id,t),this._cacheMessage(t)}return e})}fetchPinnedMessages(){return this.client.rest.methods.getChannelPinnedMessages(this).then(t=>{const e=new r;for(const i of t){const t=new s(this,i,this.client);e.set(i.id,t),this._cacheMessage(t)}return e})}search(t){return this.client.rest.methods.search(this,t)}startTyping(t){if("undefined"!=typeof t&&t<1)throw new RangeError("Count must be at least 1.");if(this.client.user._typing.has(this.id)){const e=this.client.user._typing.get(this.id);e.count=t||e.count+1}else this.client.user._typing.set(this.id,{count:t||1,interval:this.client.setInterval(()=>{this.client.rest.methods.sendTyping(this.id)},9e3)}),this.client.rest.methods.sendTyping(this.id)}stopTyping(t=false){if(this.client.user._typing.has(this.id)){const e=this.client.user._typing.get(this.id);e.count--,(e.count<=0||t)&&(this.client.clearInterval(e.interval),this.client.user._typing.delete(this.id))}}get typing(){return this.client.user._typing.has(this.id)}get typingCount(){return this.client.user._typing.has(this.id)?this.client.user._typing.get(this.id).count:0}createCollector(t,e={}){return new o(this,t,e)}awaitMessages(t,e={}){return new Promise((i,n)=>{const s=this.createCollector(t,e);s.on("end",(t,s)=>{e.errors&&e.errors.includes(s)?n(t):i(t)})})}bulkDelete(t,e=false){if(!isNaN(t))return this.fetchMessages({limit:t}).then(t=>this.bulkDelete(t,e));if(t instanceof Array||t instanceof r){const i=t instanceof r?t.keyArray():t.map(t=>t.id);return this.client.rest.methods.bulkDeleteMessages(this,i,e)}throw new TypeError("The messages must be an Array, Collection, or number.")}acknowledge(){return this.client.rest.methods.ackTextMessage(this)}_cacheMessage(t){const e=this.client.options.messageCacheMaxSize;return 0===e?null:(this.messages.size>=e&&e>0&&this.messages.delete(this.messages.firstKey()),this.messages.set(t.id,t),t)}}e.applyToClass=((t,e=false,i=[])=>{const n=["send","sendMessage","sendEmbed","sendFile","sendFiles","sendCode"];e&&n.push("_cacheMessage","fetchMessages","fetchMessage","search","bulkDelete","startTyping","stopTyping","typing","typingCount","fetchPinnedMessages","createCollector","awaitMessages");for(const s of n)i.includes(s)||Object.defineProperty(t.prototype,s,Object.getOwnPropertyDescriptor(a.prototype,s))})},function(t,e){e.endianness=function(){return"LE"},e.hostname=function(){return"undefined"!=typeof location?location.hostname:""},e.loadavg=function(){return[]},e.uptime=function(){return 0},e.freemem=function(){return Number.MAX_VALUE},e.totalmem=function(){return Number.MAX_VALUE},e.cpus=function(){return[]},e.type=function(){return"Browser"},e.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},e.networkInterfaces=e.getNetworkInterfaces=function(){return{}},e.arch=function(){return"javascript"},e.platform=function(){return"browser"},e.tmpdir=e.tmpDir=function(){return"/tmp"},e.EOL="\n"},function(t,e,i){const n=i(25),s=i(11),o=i(10),r=i(12),a=i(7).Presence,c=i(13),l=i(0),u=i(3),h=i(4),p=i(5);class d{constructor(t,e){Object.defineProperty(this,"client",{value:t}),this.members=new u,this.channels=new u,this.roles=new u,this.presences=new u,e&&(e.unavailable?(this.available=!1,this.id=e.id):(this.available=!0,this.setup(e)))}setup(t){if(this.name=t.name,this.icon=t.icon,this.splash=t.splash,this.region=t.region,this.memberCount=t.member_count||this.memberCount,this.large=Boolean("large"in t?t.large:this.large),this.features=t.features,this.applicationID=t.application_id,this.afkTimeout=t.afk_timeout,this.afkChannelID=t.afk_channel_id,this.embedEnabled=t.embed_enabled,this.verificationLevel=t.verification_level,this.explicitContentFilter=t.explicit_content_filter,this.joinedTimestamp=t.joined_at?new Date(t.joined_at).getTime():this.joinedTimestamp,this.id=t.id,this.available=!t.unavailable,this.features=t.features||this.features||[],t.members){this.members.clear();for(const e of t.members)this._addMember(e,!1)}if(t.owner_id&&(this.ownerID=t.owner_id),t.channels){this.channels.clear();for(const e of t.channels)this.client.dataManager.newChannel(e,this)}if(t.roles){this.roles.clear();for(const e of t.roles){const t=new o(this,e);this.roles.set(t.id,t)}}if(t.presences)for(const e of t.presences)this._setPresence(e.user.id,e);if(this._rawVoiceStates=new u,t.voice_states)for(const i of t.voice_states){this._rawVoiceStates.set(i.user_id,i);const t=this.members.get(i.user_id);t&&(t.serverMute=i.mute,t.serverDeaf=i.deaf,t.selfMute=i.self_mute,t.selfDeaf=i.self_deaf,t.voiceSessionID=i.session_id,t.voiceChannelID=i.channel_id,this.channels.get(i.channel_id).members.set(t.user.id,t))}if(this.emojis)this.client.actions.GuildEmojisUpdate.handle({guild_id:this.id,emojis:t.emojis});else{this.emojis=new u;for(const e of t.emojis)this.emojis.set(e.id,new r(this,e))}}get createdTimestamp(){return p.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}get joinedAt(){return new Date(this.joinedTimestamp)}get iconURL(){return this.icon?l.Endpoints.Guild(this).Icon(this.client.options.http.cdn,this.icon):null}get splashURL(){return this.splash?l.Endpoints.Guild(this).Splash(this.client.options.http.cdn,this.splash):null}get owner(){return this.members.get(this.ownerID)}get voiceConnection(){return this.client.browser?null:this.client.voice.connections.get(this.id)||null}get defaultChannel(){return this.channels.get(this.id)}get defaultRole(){return this.roles.get(this.id)}get _sortedRoles(){return this._sortPositionWithID(this.roles)}member(t){return this.client.resolver.resolveGuildMember(this,t)}fetchBans(){return this.client.rest.methods.getGuildBans(this)}fetchInvites(){return this.client.rest.methods.getGuildInvites(this)}fetchWebhooks(){return this.client.rest.methods.getGuildWebhooks(this)}fetchVoiceRegions(){return this.client.rest.methods.fetchVoiceRegions(this.id)}addMember(t,e){return this.members.has(t.id)?Promise.resolve(this.members.get(t.id)):this.client.rest.methods.putGuildMember(this,t,e)}fetchMember(t,e=true){return t=this.client.resolver.resolveUser(t),t?this.members.has(t.id)?Promise.resolve(this.members.get(t.id)):this.client.rest.methods.getGuildMember(this,t,e):Promise.reject(new Error("User is not cached. Use Client.fetchUser first."))}fetchMembers(t="",e=0){return new Promise((i,n)=>{if(this.memberCount===this.members.size)return void i(this);this.client.ws.send({op:l.OPCodes.REQUEST_GUILD_MEMBERS,d:{guild_id:this.id,query:t,limit:e}});const s=(t,e)=>{e.id===this.id&&(this.memberCount===this.members.size||t.length<1e3)&&(this.client.removeListener(l.Events.GUILD_MEMBERS_CHUNK,s),i(this))};this.client.on(l.Events.GUILD_MEMBERS_CHUNK,s),this.client.setTimeout(()=>n(new Error("Members didn't arrive in time.")),12e4)})}search(t){return this.client.rest.methods.search(this,t)}edit(t){return this.client.rest.methods.updateGuild(this,t)}setName(t){return this.edit({name:t})}setRegion(t){return this.edit({region:t})}setVerificationLevel(t){return this.edit({verificationLevel:t})}setAFKChannel(t){return this.edit({afkChannel:t})}setAFKTimeout(t){return this.edit({afkTimeout:t})}setIcon(t){return this.edit({icon:t})}setOwner(t){return this.edit({owner:t})}setSplash(t){return this.edit({splash:t})}ban(t,e=0){return this.client.rest.methods.banGuildMember(this,t,e)}unban(t){return this.client.rest.methods.unbanGuildMember(this,t)}pruneMembers(t,e=false){if("number"!=typeof t)throw new TypeError("Days must be a number.");return this.client.rest.methods.pruneGuildMembers(this,t,e)}sync(){this.client.user.bot||this.client.syncGuilds([this])}createChannel(t,e,i){return this.client.rest.methods.createChannel(this,t,e,i)}setChannelPositions(t){return this.client.rest.methods.updateChannelPositions(this.id,t)}createRole(t={}){return this.client.rest.methods.createGuildRole(this,t)}createEmoji(t,e,i){return new Promise(n=>{"string"==typeof t&&t.startsWith("data:")?n(this.client.rest.methods.createEmoji(this,t,e,i)):this.client.resolver.resolveBuffer(t).then(t=>{const s=this.client.resolver.resolveBase64(t);n(this.client.rest.methods.createEmoji(this,s,e,i))})})}deleteEmoji(t){return t instanceof r||(t=this.emojis.get(t)),this.client.rest.methods.deleteEmoji(t)}leave(){return this.client.rest.methods.leaveGuild(this)}delete(){return this.client.rest.methods.deleteGuild(this)}acknowledge(){return this.client.rest.methods.ackGuild(this)}equals(t){let e=t&&this.id===t.id&&this.available===!t.unavailable&&this.splash===t.splash&&this.region===t.region&&this.name===t.name&&this.memberCount===t.member_count&&this.large===t.large&&this.icon===t.icon&&h.arraysEqual(this.features,t.features)&&this.ownerID===t.owner_id&&this.verificationLevel===t.verification_level&&this.embedEnabled===t.embed_enabled;return e&&(this.embedChannel?this.embedChannel.id!==t.embed_channel_id&&(e=!1):t.embed_channel_id&&(e=!1)),e}toString(){return this.name}_addMember(t,e=true){const i=this.members.has(t.user.id);t.user instanceof s||(t.user=this.client.dataManager.newUser(t.user)),t.joined_at=t.joined_at||0;const n=new c(this,t);if(this.members.set(n.id,n),this._rawVoiceStates&&this._rawVoiceStates.has(n.user.id)){const t=this._rawVoiceStates.get(n.user.id);n.serverMute=t.mute,n.serverDeaf=t.deaf,n.selfMute=t.self_mute,n.selfDeaf=t.self_deaf,n.voiceSessionID=t.session_id,n.voiceChannelID=t.channel_id,this.client.channels.has(t.channel_id)?this.client.channels.get(t.channel_id).members.set(n.user.id,n):this.client.emit("warn",`Member ${n.id} added in guild ${this.id} with an uncached voice channel`)}return this.client.ws.status===l.Status.READY&&e&&!i&&this.client.emit(l.Events.GUILD_MEMBER_ADD,n),n}_updateMember(t,e){const i=h.cloneObject(t);e.roles&&(t._roles=e.roles),"undefined"!=typeof e.nick&&(t.nickname=e.nick);const n=t.nickname!==i.nickname||!h.arraysEqual(t._roles,i._roles);return this.client.ws.status===l.Status.READY&&n&&this.client.emit(l.Events.GUILD_MEMBER_UPDATE,i,t),{old:i,mem:t}}_removeMember(t){this.members.delete(t.id)}_memberSpeakUpdate(t,e){const i=this.members.get(t);i&&i.speaking!==e&&(i.speaking=e,this.client.emit(l.Events.GUILD_MEMBER_SPEAKING,i,e))}_setPresence(t,e){return this.presences.get(t)?void this.presences.get(t).update(e):void this.presences.set(t,new a(e))}setRolePosition(t,e,i=false){if("string"==typeof t&&(t=this.roles.get(t),!t))return Promise.reject(new Error("Supplied role is not a role or snowflake."));if(e=Number(e),isNaN(e))return Promise.reject(new Error("Supplied position is not a number."));let n=this._sortedRoles.array();return h.moveElementInArray(n,t,e,i),n=n.map((t,e)=>({id:t.id,position:e})),this.client.rest.methods.setRolePositions(this.id,n)}setChannelPosition(t,e,i=false){if("string"==typeof t&&(t=this.channels.get(t),!t))return Promise.reject(new Error("Supplied channel is not a channel or snowflake."));if(e=Number(e),isNaN(e))return Promise.reject(new Error("Supplied position is not a number."));let n=this._sortedChannels(t.type).array();return h.moveElementInArray(n,t,e,i),n=n.map((t,e)=>({id:t.id,position:e})),this.client.rest.methods.setChannelPositions(this.id,n)}_sortedChannels(t){return this._sortPositionWithID(this.channels.filter(e=>{return"voice"===t&&"voice"===e.type||("voice"!==t&&"voice"!==e.type||t===e.type)}))}_sortPositionWithID(t){return t.sort((t,e)=>t.position!==e.position?t.position-e.position:n.fromString(t.id).sub(n.fromString(e.id)).toNumber())}}t.exports=d},function(t,e,i){const n=i(8),s=i(10),o=i(39),r=i(6),a=i(3);class c extends n{constructor(t,e){super(t.client,e),this.guild=t}setup(t){if(super.setup(t),this.name=t.name,this.position=t.position,this.permissionOverwrites=new a,t.permission_overwrites)for(const e of t.permission_overwrites)this.permissionOverwrites.set(e.id,new o(this,e))}get calculatedPosition(){const t=this.guild._sortedChannels(this.type);return t.array().indexOf(t.get(this.id))}permissionsFor(t){if(t=this.client.resolver.resolveGuildMember(this.guild,t),!t)return null;if(t.id===this.guild.ownerID)return new r(t,r.ALL);let e=0;const i=t.roles;for(const n of i.values())e|=n.permissions;const s=this.overwritesFor(t,!0,i);s.everyone&&(e&=~s.everyone.deny,e|=s.everyone.allow);let o=0;for(const a of s.roles)e&=~a.deny,o|=a.allow;e|=o,s.member&&(e&=~s.member.deny,e|=s.member.allow);const c=Boolean(e&r.FLAGS.ADMINISTRATOR);return c&&(e=r.ALL),new r(t,e)}overwritesFor(t,e=false,i=null){if(e||(t=this.client.resolver.resolveGuildMember(this.guild,t)),!t)return[];i=i||t.roles;const n=[];let s,o;for(const r of this.permissionOverwrites.values())r.id===this.guild.id?o=r:i.has(r.id)?n.push(r):r.id===t.id&&(s=r);return{everyone:o,roles:n,member:s}}overwritePermissions(t,e){const i={allow:0,deny:0};if(t instanceof s)i.type="role";else if(this.guild.roles.has(t))t=this.guild.roles.get(t),i.type="role";else if(t=this.client.resolver.resolveUser(t),i.type="member",!t)return Promise.reject(new TypeError("Supplied parameter was neither a User nor a Role."));i.id=t.id;const n=this.permissionOverwrites.get(t.id);n&&(i.allow=n.allow,i.deny=n.deny);for(const o in e)e[o]===!0?(i.allow|=r.FLAGS[o]||0,i.deny&=~(r.FLAGS[o]||0)):e[o]===!1?(i.allow&=~(r.FLAGS[o]||0),i.deny|=r.FLAGS[o]||0):null===e[o]&&(i.allow&=~(r.FLAGS[o]||0),i.deny&=~(r.FLAGS[o]||0));return this.client.rest.methods.setChannelOverwrite(this,i)}edit(t){return this.client.rest.methods.updateChannel(this,t)}setName(t){return this.edit({name:t})}setPosition(t,e){return this.guild.setChannelPosition(this,t,e).then(()=>this)}setTopic(t){return this.client.rest.methods.updateChannel(this,{topic:t})}createInvite(t={}){return this.client.rest.methods.createChannelInvite(this,t)}clone(t=this.name,e=true,i=true){return this.guild.createChannel(t,this.type,e?this.permissionOverwrites:[]).then(t=>i?t.setTopic(this.topic):t)}equals(t){let e=t&&this.id===t.id&&this.type===t.type&&this.topic===t.topic&&this.position===t.position&&this.name===t.name;return e&&(e=this.permissionOverwrites&&t.permissionOverwrites?this.permissionOverwrites.equals(t.permissionOverwrites):!this.permissionOverwrites&&!t.permissionOverwrites),e}get deletable(){return this.id!==this.guild.id&&this.permissionsFor(this.client.user).hasPermission(r.FLAGS.MANAGE_CHANNELS)}toString(){return`<#${this.id}>`}}t.exports=c},function(t,e,i){(function(t){function i(t,e){for(var i=0,n=t.length-1;n>=0;n--){var s=t[n];"."===s?t.splice(n,1):".."===s?(t.splice(n,1),i++):i&&(t.splice(n,1),i--)}if(e)for(;i--;i)t.unshift("..");return t}function n(t,e){if(t.filter)return t.filter(e);for(var i=[],n=0;n=-1&&!s;o--){var r=o>=0?arguments[o]:t.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,s="/"===r.charAt(0))}return e=i(n(e.split("/"),function(t){return!!t}),!s).join("/"),(s?"/":"")+e||"."},e.normalize=function(t){var s=e.isAbsolute(t),o="/"===r(t,-1);return t=i(n(t.split("/"),function(t){return!!t}),!s).join("/"),t||s||(t="."),t&&o&&(t+="/"),(s?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(n(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},e.relative=function(t,i){function n(t){for(var e=0;e=0&&""===t[i];i--);return e>i?[]:t.slice(e,i-e+1)}t=e.resolve(t).substr(1),i=e.resolve(i).substr(1);for(var s=n(t.split("/")),o=n(i.split("/")),r=Math.min(s.length,o.length),a=r,c=0;c1)for(var i=1;i[t.id,t.nick]))),this.recipients||(this.recipients=new o),t.recipients)for(const e of t.recipients){const t=this.client.dataManager.newUser(e);this.recipients.set(t.id,t)}this.lastMessageID=t.last_message_id}get owner(){return this.client.users.get(this.ownerID)}equals(t){const e=t&&this.id===t.id&&this.name===t.name&&this.icon===t.icon&&this.ownerID===t.ownerID;return e?this.recipients.equals(t.recipients):e}addUser(t,e){return this.client.rest.methods.addUserToGroupDM(this,{nick:e,id:this.client.resolver.resolveUserID(t),accessToken:t})}toString(){return this.name}send(){}sendMessage(){}sendEmbed(){}sendFile(){}sendFiles(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}search(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}acknowledge(){}_cacheMessage(){}}s.applyToClass(r,!0,["bulkDelete"]),t.exports=r},function(t,e){class i{constructor(t,e,i){this.reaction=t,this.name=e,this.id=i}get identifier(){return this.id?`${this.name}:${this.id}`:encodeURIComponent(this.name)}toString(){return this.id?`<:${this.name}:${this.id}>`:this.name}}t.exports=i},function(t,e,i){const n=i(19);class s{constructor(t,e,i){t?(Object.defineProperty(this,"client",{value:t}),e&&this.setup(e)):(this.id=e, +var Q=i(51),Z=i(52),X=i(53);e.Buffer=r,e.SlowBuffer=g,e.INSPECT_MAX_BYTES=50,r.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:n(),e.kMaxLength=s(),r.poolSize=8192,r._augment=function(t){return t.__proto__=r.prototype,t},r.from=function(t,e,i){return a(null,t,e,i)},r.TYPED_ARRAY_SUPPORT&&(r.prototype.__proto__=Uint8Array.prototype,r.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&r[Symbol.species]===r&&Object.defineProperty(r,Symbol.species,{value:null,configurable:!0})),r.alloc=function(t,e,i){return l(null,t,e,i)},r.allocUnsafe=function(t){return u(null,t)},r.allocUnsafeSlow=function(t){return u(null,t)},r.isBuffer=function(t){return!(null==t||!t._isBuffer)},r.compare=function(t,e){if(!r.isBuffer(t)||!r.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var i=t.length,n=e.length,s=0,o=Math.min(i,n);s0&&(t=this.toString("hex",0,i).match(/.{2}/g).join(" "),this.length>i&&(t+=" ... ")),""},r.prototype.compare=function(t,e,i,n,s){if(!r.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===i&&(i=t?t.length:0),void 0===n&&(n=0),void 0===s&&(s=this.length),e<0||i>t.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&e>=i)return 0;if(n>=s)return-1;if(e>=i)return 1;if(e>>>=0,i>>>=0,n>>>=0,s>>>=0,this===t)return 0;for(var o=s-n,a=i-e,c=Math.min(o,a),l=this.slice(n,s),u=t.slice(e,i),h=0;hs)&&(i=s),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return _(this,t,e,i);case"utf8":case"utf-8":return y(this,t,e,i);case"ascii":return A(this,t,e,i);case"latin1":case"binary":return k(this,t,e,i);case"base64":return R(this,t,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,e,i);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},r.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var tt=4096;r.prototype.slice=function(t,e){var i=this.length;t=~~t,e=void 0===e?i:~~e,t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),e<0?(e+=i,e<0&&(e=0)):e>i&&(e=i),e0&&(s*=256);)n+=this[t+--e]*s;return n},r.prototype.readUInt8=function(t,e){return e||N(t,1,this.length),this[t]},r.prototype.readUInt16LE=function(t,e){return e||N(t,2,this.length),this[t]|this[t+1]<<8},r.prototype.readUInt16BE=function(t,e){return e||N(t,2,this.length),this[t]<<8|this[t+1]},r.prototype.readUInt32LE=function(t,e){return e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},r.prototype.readUInt32BE=function(t,e){return e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},r.prototype.readIntLE=function(t,e,i){t|=0,e|=0,i||N(t,e,this.length);for(var n=this[t],s=1,o=0;++o=s&&(n-=Math.pow(2,8*e)),n},r.prototype.readIntBE=function(t,e,i){t|=0,e|=0,i||N(t,e,this.length);for(var n=e,s=1,o=this[t+--n];n>0&&(s*=256);)o+=this[t+--n]*s;return s*=128,o>=s&&(o-=Math.pow(2,8*e)),o},r.prototype.readInt8=function(t,e){return e||N(t,1,this.length),128&this[t]?(255-this[t]+1)*-1:this[t]},r.prototype.readInt16LE=function(t,e){e||N(t,2,this.length);var i=this[t]|this[t+1]<<8;return 32768&i?4294901760|i:i},r.prototype.readInt16BE=function(t,e){e||N(t,2,this.length);var i=this[t+1]|this[t]<<8;return 32768&i?4294901760|i:i},r.prototype.readInt32LE=function(t,e){return e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},r.prototype.readInt32BE=function(t,e){return e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},r.prototype.readFloatLE=function(t,e){return e||N(t,4,this.length),Z.read(this,t,!0,23,4)},r.prototype.readFloatBE=function(t,e){return e||N(t,4,this.length),Z.read(this,t,!1,23,4)},r.prototype.readDoubleLE=function(t,e){return e||N(t,8,this.length),Z.read(this,t,!0,52,8)},r.prototype.readDoubleBE=function(t,e){return e||N(t,8,this.length),Z.read(this,t,!1,52,8)},r.prototype.writeUIntLE=function(t,e,i,n){if(t=+t,e|=0,i|=0,!n){var s=Math.pow(2,8*i)-1;O(this,t,e,i,s,0)}var o=1,r=0;for(this[e]=255&t;++r=0&&(r*=256);)this[e+o]=t/r&255;return e+i},r.prototype.writeUInt8=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,1,255,0),r.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},r.prototype.writeUInt16LE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,2,65535,0),r.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):P(this,t,e,!0),e+2},r.prototype.writeUInt16BE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,2,65535,0),r.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):P(this,t,e,!1),e+2},r.prototype.writeUInt32LE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,4,4294967295,0),r.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):G(this,t,e,!0),e+4},r.prototype.writeUInt32BE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,4,4294967295,0),r.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):G(this,t,e,!1),e+4},r.prototype.writeIntLE=function(t,e,i,n){if(t=+t,e|=0,!n){var s=Math.pow(2,8*i-1);O(this,t,e,i,s-1,-s)}var o=0,r=1,a=0;for(this[e]=255&t;++o>0)-a&255;return e+i},r.prototype.writeIntBE=function(t,e,i,n){if(t=+t,e|=0,!n){var s=Math.pow(2,8*i-1);O(this,t,e,i,s-1,-s)}var o=i-1,r=1,a=0;for(this[e+o]=255&t;--o>=0&&(r*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/r>>0)-a&255;return e+i},r.prototype.writeInt8=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,1,127,-128),r.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},r.prototype.writeInt16LE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,2,32767,-32768),r.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):P(this,t,e,!0),e+2},r.prototype.writeInt16BE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,2,32767,-32768),r.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):P(this,t,e,!1),e+2},r.prototype.writeInt32LE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,4,2147483647,-2147483648),r.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):G(this,t,e,!0),e+4},r.prototype.writeInt32BE=function(t,e,i){return t=+t,e|=0,i||O(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),r.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):G(this,t,e,!1),e+4},r.prototype.writeFloatLE=function(t,e,i){return q(this,t,e,!0,i)},r.prototype.writeFloatBE=function(t,e,i){return q(this,t,e,!1,i)},r.prototype.writeDoubleLE=function(t,e,i){return B(this,t,e,!0,i)},r.prototype.writeDoubleBE=function(t,e,i){return B(this,t,e,!1,i)},r.prototype.copy=function(t,e,i,n){if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--s)t[s+e]=this[s+i];else if(o<1e3||!r.TYPED_ARRAY_SUPPORT)for(s=0;s>>=0,i=void 0===i?this.length:i>>>0,t||(t=0);var o;if("number"==typeof t)for(o=e;othis.client.resolver.resolveBuffer(t.attachment).then(e=>{return t.file=e,t}))).then(i=>this.client.rest.methods.sendMessage(this,t,e,i))}return this.client.rest.methods.sendMessage(this,t,e)}sendMessage(t,e){return this.send(t,e)}sendEmbed(t,e,i){return i||"object"!=typeof e||e instanceof Array?i||(i={}):(i=e,e=""),this.send(e,Object.assign(i,{embed:t}))}sendFiles(t,e,i={}){return this.send(e,Object.assign(i,{files:t}))}sendFile(t,e,i,n={}){return this.sendFiles([{attachment:t,name:e}],i,n)}sendCode(t,e,i={}){return this.send(e,Object.assign(i,{code:t}))}fetchMessage(t){return this.client.user.bot?this.client.rest.methods.getChannelMessage(this,t).then(t=>{const e=t instanceof s?t:new s(this,t,this.client);return this._cacheMessage(e),e}):this.fetchMessages({limit:1,around:t}).then(e=>{const i=e.first();if(i.id!==t)throw new Error("Message not found.");return i})}fetchMessages(t={}){return this.client.rest.methods.getChannelMessages(this,t).then(t=>{const e=new r;for(const i of t){const t=new s(this,i,this.client);e.set(i.id,t),this._cacheMessage(t)}return e})}fetchPinnedMessages(){return this.client.rest.methods.getChannelPinnedMessages(this).then(t=>{const e=new r;for(const i of t){const t=new s(this,i,this.client);e.set(i.id,t),this._cacheMessage(t)}return e})}search(t){return this.client.rest.methods.search(this,t)}startTyping(t){if("undefined"!=typeof t&&t<1)throw new RangeError("Count must be at least 1.");if(this.client.user._typing.has(this.id)){const e=this.client.user._typing.get(this.id);e.count=t||e.count+1}else this.client.user._typing.set(this.id,{count:t||1,interval:this.client.setInterval(()=>{this.client.rest.methods.sendTyping(this.id)},9e3)}),this.client.rest.methods.sendTyping(this.id)}stopTyping(t=false){if(this.client.user._typing.has(this.id)){const e=this.client.user._typing.get(this.id);e.count--,(e.count<=0||t)&&(this.client.clearInterval(e.interval),this.client.user._typing.delete(this.id))}}get typing(){return this.client.user._typing.has(this.id)}get typingCount(){return this.client.user._typing.has(this.id)?this.client.user._typing.get(this.id).count:0}createCollector(t,e={}){return new o(this,t,e)}awaitMessages(t,e={}){return new Promise((i,n)=>{const s=this.createCollector(t,e);s.on("end",(t,s)=>{e.errors&&e.errors.includes(s)?n(t):i(t)})})}bulkDelete(t,e=false){if(!isNaN(t))return this.fetchMessages({limit:t}).then(t=>this.bulkDelete(t,e));if(t instanceof Array||t instanceof r){const i=t instanceof r?t.keyArray():t.map(t=>t.id);return this.client.rest.methods.bulkDeleteMessages(this,i,e)}throw new TypeError("The messages must be an Array, Collection, or number.")}acknowledge(){return this.client.rest.methods.ackTextMessage(this)}_cacheMessage(t){const e=this.client.options.messageCacheMaxSize;return 0===e?null:(this.messages.size>=e&&e>0&&this.messages.delete(this.messages.firstKey()),this.messages.set(t.id,t),t)}}e.applyToClass=((t,e=false,i=[])=>{const n=["send","sendMessage","sendEmbed","sendFile","sendFiles","sendCode"];e&&n.push("_cacheMessage","fetchMessages","fetchMessage","search","bulkDelete","startTyping","stopTyping","typing","typingCount","fetchPinnedMessages","createCollector","awaitMessages");for(const s of n)i.includes(s)||Object.defineProperty(t.prototype,s,Object.getOwnPropertyDescriptor(a.prototype,s))})},function(t,e){e.endianness=function(){return"LE"},e.hostname=function(){return"undefined"!=typeof location?location.hostname:""},e.loadavg=function(){return[]},e.uptime=function(){return 0},e.freemem=function(){return Number.MAX_VALUE},e.totalmem=function(){return Number.MAX_VALUE},e.cpus=function(){return[]},e.type=function(){return"Browser"},e.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},e.networkInterfaces=e.getNetworkInterfaces=function(){return{}},e.arch=function(){return"javascript"},e.platform=function(){return"browser"},e.tmpdir=e.tmpDir=function(){return"/tmp"},e.EOL="\n"},function(t,e,i){const n=i(25),s=i(11),o=i(10),r=i(12),a=i(7).Presence,c=i(13),l=i(0),u=i(3),h=i(4),p=i(5);class d{constructor(t,e){Object.defineProperty(this,"client",{value:t}),this.members=new u,this.channels=new u,this.roles=new u,this.presences=new u,e&&(e.unavailable?(this.available=!1,this.id=e.id):(this.available=!0,this.setup(e)))}setup(t){if(this.name=t.name,this.icon=t.icon,this.splash=t.splash,this.region=t.region,this.memberCount=t.member_count||this.memberCount,this.large=Boolean("large"in t?t.large:this.large),this.features=t.features,this.applicationID=t.application_id,this.afkTimeout=t.afk_timeout,this.afkChannelID=t.afk_channel_id,this.embedEnabled=t.embed_enabled,this.verificationLevel=t.verification_level,this.explicitContentFilter=t.explicit_content_filter,this.joinedTimestamp=t.joined_at?new Date(t.joined_at).getTime():this.joinedTimestamp,this.id=t.id,this.available=!t.unavailable,this.features=t.features||this.features||[],t.members){this.members.clear();for(const e of t.members)this._addMember(e,!1)}if(t.owner_id&&(this.ownerID=t.owner_id),t.channels){this.channels.clear();for(const e of t.channels)this.client.dataManager.newChannel(e,this)}if(t.roles){this.roles.clear();for(const e of t.roles){const t=new o(this,e);this.roles.set(t.id,t)}}if(t.presences)for(const e of t.presences)this._setPresence(e.user.id,e);if(this._rawVoiceStates=new u,t.voice_states)for(const i of t.voice_states){this._rawVoiceStates.set(i.user_id,i);const t=this.members.get(i.user_id);t&&(t.serverMute=i.mute,t.serverDeaf=i.deaf,t.selfMute=i.self_mute,t.selfDeaf=i.self_deaf,t.voiceSessionID=i.session_id,t.voiceChannelID=i.channel_id,this.channels.get(i.channel_id).members.set(t.user.id,t))}if(this.emojis)this.client.actions.GuildEmojisUpdate.handle({guild_id:this.id,emojis:t.emojis});else{this.emojis=new u;for(const e of t.emojis)this.emojis.set(e.id,new r(this,e))}}get createdTimestamp(){return p.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}get joinedAt(){return new Date(this.joinedTimestamp)}get iconURL(){return this.icon?l.Endpoints.Guild(this).Icon(this.client.options.http.cdn,this.icon):null}get splashURL(){return this.splash?l.Endpoints.Guild(this).Splash(this.client.options.http.cdn,this.splash):null}get owner(){return this.members.get(this.ownerID)}get voiceConnection(){return this.client.browser?null:this.client.voice.connections.get(this.id)||null}get defaultChannel(){return this.channels.get(this.id)}get defaultRole(){return this.roles.get(this.id)}get _sortedRoles(){return this._sortPositionWithID(this.roles)}member(t){return this.client.resolver.resolveGuildMember(this,t)}fetchBans(){return this.client.rest.methods.getGuildBans(this)}fetchInvites(){return this.client.rest.methods.getGuildInvites(this)}fetchWebhooks(){return this.client.rest.methods.getGuildWebhooks(this)}fetchVoiceRegions(){return this.client.rest.methods.fetchVoiceRegions(this.id)}addMember(t,e){return this.members.has(t.id)?Promise.resolve(this.members.get(t.id)):this.client.rest.methods.putGuildMember(this,t,e)}fetchMember(t,e=true){return t=this.client.resolver.resolveUser(t),t?this.members.has(t.id)?Promise.resolve(this.members.get(t.id)):this.client.rest.methods.getGuildMember(this,t,e):Promise.reject(new Error("User is not cached. Use Client.fetchUser first."))}fetchMembers(t="",e=0){return new Promise((i,n)=>{if(this.memberCount===this.members.size)return void i(this);this.client.ws.send({op:l.OPCodes.REQUEST_GUILD_MEMBERS,d:{guild_id:this.id,query:t,limit:e}});const s=(t,e)=>{e.id===this.id&&(this.memberCount===this.members.size||t.length<1e3)&&(this.client.removeListener(l.Events.GUILD_MEMBERS_CHUNK,s),i(this))};this.client.on(l.Events.GUILD_MEMBERS_CHUNK,s),this.client.setTimeout(()=>n(new Error("Members didn't arrive in time.")),12e4)})}search(t){return this.client.rest.methods.search(this,t)}edit(t){return this.client.rest.methods.updateGuild(this,t)}setName(t){return this.edit({name:t})}setRegion(t){return this.edit({region:t})}setVerificationLevel(t){return this.edit({verificationLevel:t})}setAFKChannel(t){return this.edit({afkChannel:t})}setAFKTimeout(t){return this.edit({afkTimeout:t})}setIcon(t){return this.edit({icon:t})}setOwner(t){return this.edit({owner:t})}setSplash(t){return this.edit({splash:t})}ban(t,e=0){return this.client.rest.methods.banGuildMember(this,t,e)}unban(t){return this.client.rest.methods.unbanGuildMember(this,t)}pruneMembers(t,e=false){if("number"!=typeof t)throw new TypeError("Days must be a number.");return this.client.rest.methods.pruneGuildMembers(this,t,e)}sync(){this.client.user.bot||this.client.syncGuilds([this])}createChannel(t,e,i){return this.client.rest.methods.createChannel(this,t,e,i)}setChannelPositions(t){return this.client.rest.methods.updateChannelPositions(this.id,t)}createRole(t={}){return this.client.rest.methods.createGuildRole(this,t)}createEmoji(t,e,i){return new Promise(n=>{"string"==typeof t&&t.startsWith("data:")?n(this.client.rest.methods.createEmoji(this,t,e,i)):this.client.resolver.resolveBuffer(t).then(t=>{const s=this.client.resolver.resolveBase64(t);n(this.client.rest.methods.createEmoji(this,s,e,i))})})}deleteEmoji(t){return t instanceof r||(t=this.emojis.get(t)),this.client.rest.methods.deleteEmoji(t)}leave(){return this.client.rest.methods.leaveGuild(this)}delete(){return this.client.rest.methods.deleteGuild(this)}acknowledge(){return this.client.rest.methods.ackGuild(this)}equals(t){let e=t&&this.id===t.id&&this.available===!t.unavailable&&this.splash===t.splash&&this.region===t.region&&this.name===t.name&&this.memberCount===t.member_count&&this.large===t.large&&this.icon===t.icon&&h.arraysEqual(this.features,t.features)&&this.ownerID===t.owner_id&&this.verificationLevel===t.verification_level&&this.embedEnabled===t.embed_enabled;return e&&(this.embedChannel?this.embedChannel.id!==t.embed_channel_id&&(e=!1):t.embed_channel_id&&(e=!1)),e}toString(){return this.name}_addMember(t,e=true){const i=this.members.has(t.user.id);t.user instanceof s||(t.user=this.client.dataManager.newUser(t.user)),t.joined_at=t.joined_at||0;const n=new c(this,t);if(this.members.set(n.id,n),this._rawVoiceStates&&this._rawVoiceStates.has(n.user.id)){const t=this._rawVoiceStates.get(n.user.id);n.serverMute=t.mute,n.serverDeaf=t.deaf,n.selfMute=t.self_mute,n.selfDeaf=t.self_deaf,n.voiceSessionID=t.session_id,n.voiceChannelID=t.channel_id,this.client.channels.has(t.channel_id)?this.client.channels.get(t.channel_id).members.set(n.user.id,n):this.client.emit("warn",`Member ${n.id} added in guild ${this.id} with an uncached voice channel`)}return this.client.ws.status===l.Status.READY&&e&&!i&&this.client.emit(l.Events.GUILD_MEMBER_ADD,n),n}_updateMember(t,e){const i=h.cloneObject(t);e.roles&&(t._roles=e.roles),"undefined"!=typeof e.nick&&(t.nickname=e.nick);const n=t.nickname!==i.nickname||!h.arraysEqual(t._roles,i._roles);return this.client.ws.status===l.Status.READY&&n&&this.client.emit(l.Events.GUILD_MEMBER_UPDATE,i,t),{old:i,mem:t}}_removeMember(t){this.members.delete(t.id)}_memberSpeakUpdate(t,e){const i=this.members.get(t);i&&i.speaking!==e&&(i.speaking=e,this.client.emit(l.Events.GUILD_MEMBER_SPEAKING,i,e))}_setPresence(t,e){return this.presences.get(t)?void this.presences.get(t).update(e):void this.presences.set(t,new a(e))}setRolePosition(t,e,i=false){if("string"==typeof t&&(t=this.roles.get(t),!t))return Promise.reject(new Error("Supplied role is not a role or snowflake."));if(e=Number(e),isNaN(e))return Promise.reject(new Error("Supplied position is not a number."));let n=this._sortedRoles.array();return h.moveElementInArray(n,t,e,i),n=n.map((t,e)=>({id:t.id,position:e})),this.client.rest.methods.setRolePositions(this.id,n)}setChannelPosition(t,e,i=false){if("string"==typeof t&&(t=this.channels.get(t),!t))return Promise.reject(new Error("Supplied channel is not a channel or snowflake."));if(e=Number(e),isNaN(e))return Promise.reject(new Error("Supplied position is not a number."));let n=this._sortedChannels(t.type).array();return h.moveElementInArray(n,t,e,i),n=n.map((t,e)=>({id:t.id,position:e})),this.client.rest.methods.setChannelPositions(this.id,n)}_sortedChannels(t){return this._sortPositionWithID(this.channels.filter(e=>{return"voice"===t&&"voice"===e.type||("voice"!==t&&"voice"!==e.type||t===e.type)}))}_sortPositionWithID(t){return t.sort((t,e)=>t.position!==e.position?t.position-e.position:n.fromString(t.id).sub(n.fromString(e.id)).toNumber())}}t.exports=d},function(t,e,i){const n=i(8),s=i(10),o=i(39),r=i(6),a=i(3);class c extends n{constructor(t,e){super(t.client,e),this.guild=t}setup(t){if(super.setup(t),this.name=t.name,this.position=t.position,this.permissionOverwrites=new a,t.permission_overwrites)for(const e of t.permission_overwrites)this.permissionOverwrites.set(e.id,new o(this,e))}get calculatedPosition(){const t=this.guild._sortedChannels(this.type);return t.array().indexOf(t.get(this.id))}permissionsFor(t){if(t=this.client.resolver.resolveGuildMember(this.guild,t),!t)return null;if(t.id===this.guild.ownerID)return new r(t,r.ALL);let e=0;const i=t.roles;for(const n of i.values())e|=n.permissions;const s=this.overwritesFor(t,!0,i);s.everyone&&(e&=~s.everyone.deny,e|=s.everyone.allow);let o=0;for(const a of s.roles)e&=~a.deny,o|=a.allow;e|=o,s.member&&(e&=~s.member.deny,e|=s.member.allow);const c=Boolean(e&r.FLAGS.ADMINISTRATOR);return c&&(e=r.ALL),new r(t,e)}overwritesFor(t,e=false,i=null){if(e||(t=this.client.resolver.resolveGuildMember(this.guild,t)),!t)return[];i=i||t.roles;const n=[];let s,o;for(const r of this.permissionOverwrites.values())r.id===this.guild.id?o=r:i.has(r.id)?n.push(r):r.id===t.id&&(s=r);return{everyone:o,roles:n,member:s}}overwritePermissions(t,e){const i={allow:0,deny:0};if(t instanceof s)i.type="role";else if(this.guild.roles.has(t))t=this.guild.roles.get(t),i.type="role";else if(t=this.client.resolver.resolveUser(t),i.type="member",!t)return Promise.reject(new TypeError("Supplied parameter was neither a User nor a Role."));i.id=t.id;const n=this.permissionOverwrites.get(t.id);n&&(i.allow=n.allow,i.deny=n.deny);for(const o in e)e[o]===!0?(i.allow|=r.FLAGS[o]||0,i.deny&=~(r.FLAGS[o]||0)):e[o]===!1?(i.allow&=~(r.FLAGS[o]||0),i.deny|=r.FLAGS[o]||0):null===e[o]&&(i.allow&=~(r.FLAGS[o]||0),i.deny&=~(r.FLAGS[o]||0));return this.client.rest.methods.setChannelOverwrite(this,i)}edit(t){return this.client.rest.methods.updateChannel(this,t)}setName(t){return this.edit({name:t})}setPosition(t,e){return this.guild.setChannelPosition(this,t,e).then(()=>this)}setTopic(t){return this.client.rest.methods.updateChannel(this,{topic:t})}createInvite(t={}){return this.client.rest.methods.createChannelInvite(this,t)}clone(t=this.name,e=true,i=true){return this.guild.createChannel(t,this.type,e?this.permissionOverwrites:[]).then(t=>i?t.setTopic(this.topic):t)}equals(t){let e=t&&this.id===t.id&&this.type===t.type&&this.topic===t.topic&&this.position===t.position&&this.name===t.name;return e&&(e=this.permissionOverwrites&&t.permissionOverwrites?this.permissionOverwrites.equals(t.permissionOverwrites):!this.permissionOverwrites&&!t.permissionOverwrites),e}get deletable(){return this.id!==this.guild.id&&this.permissionsFor(this.client.user).hasPermission(r.FLAGS.MANAGE_CHANNELS)}toString(){return`<#${this.id}>`}}t.exports=c},function(t,e,i){(function(t){function i(t,e){for(var i=0,n=t.length-1;n>=0;n--){var s=t[n];"."===s?t.splice(n,1):".."===s?(t.splice(n,1),i++):i&&(t.splice(n,1),i--)}if(e)for(;i--;i)t.unshift("..");return t}function n(t,e){if(t.filter)return t.filter(e);for(var i=[],n=0;n=-1&&!s;o--){var r=o>=0?arguments[o]:t.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,s="/"===r.charAt(0))}return e=i(n(e.split("/"),function(t){return!!t}),!s).join("/"),(s?"/":"")+e||"."},e.normalize=function(t){var s=e.isAbsolute(t),o="/"===r(t,-1);return t=i(n(t.split("/"),function(t){return!!t}),!s).join("/"),t||s||(t="."),t&&o&&(t+="/"),(s?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(n(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},e.relative=function(t,i){function n(t){for(var e=0;e=0&&""===t[i];i--);return e>i?[]:t.slice(e,i-e+1)}t=e.resolve(t).substr(1),i=e.resolve(i).substr(1);for(var s=n(t.split("/")),o=n(i.split("/")),r=Math.min(s.length,o.length),a=r,c=0;c1)for(var i=1;i[t.id,t.nick]))),this.recipients||(this.recipients=new o),t.recipients)for(const e of t.recipients){const t=this.client.dataManager.newUser(e);this.recipients.set(t.id,t)}this.lastMessageID=t.last_message_id}get owner(){return this.client.users.get(this.ownerID)}equals(t){const e=t&&this.id===t.id&&this.name===t.name&&this.icon===t.icon&&this.ownerID===t.ownerID;return e?this.recipients.equals(t.recipients):e}addUser(t,e){return this.client.rest.methods.addUserToGroupDM(this,{nick:e,id:this.client.resolver.resolveUserID(t),accessToken:t})}toString(){return this.name}send(){}sendMessage(){}sendEmbed(){}sendFile(){}sendFiles(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}search(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}acknowledge(){}_cacheMessage(){}}s.applyToClass(r,!0,["bulkDelete"]),t.exports=r},function(t,e){class i{constructor(t,e,i){this.reaction=t,this.name=e,this.id=i}get identifier(){return this.id?`${this.name}:${this.id}`:encodeURIComponent(this.name)}toString(){return this.id?`<:${this.name}:${this.id}>`:this.name}}t.exports=i},function(t,e,i){const n=i(19);class s{constructor(t,e,i){t?(Object.defineProperty(this,"client",{value:t}),e&&this.setup(e)):(this.id=e, this.token=i,Object.defineProperty(this,"client",{value:this}))}setup(t){this.name=t.name,this.token=t.token,this.avatar=t.avatar,this.id=t.id,this.guildID=t.guild_id,this.channelID=t.channel_id,t.user?this.owner=this.client.users?this.client.users.get(t.user.id):t.user:this.owner=null}send(t,e){return e||"object"!=typeof t||t instanceof Array?e||(e={}):(e=t,t=""),e.file?("string"==typeof e.file&&(e.file={attachment:e.file}),e.file.name||("string"==typeof e.file.attachment?e.file.name=n.basename(e.file.attachment):e.file.attachment&&e.file.attachment.path?e.file.name=n.basename(e.file.attachment.path):e.file.name="file.jpg"),this.client.resolver.resolveBuffer(e.file.attachment).then(i=>this.client.rest.methods.sendWebhookMessage(this,t,e,{file:i,name:e.file.name}))):this.client.rest.methods.sendWebhookMessage(this,t,e)}sendMessage(t,e={}){return this.send(t,e)}sendFile(t,e,i,n={}){return this.send(i,Object.assign(n,{file:{attachment:t,name:e}}))}sendCode(t,e,i={}){return this.send(e,Object.assign(i,{code:t}))}sendSlackMessage(t){return this.client.rest.methods.sendSlackWebhookMessage(this,t)}edit(t=this.name,e){return e?this.client.resolver.resolveBuffer(e).then(e=>{const i=this.client.resolver.resolveBase64(e);return this.client.rest.methods.editWebhook(this,t,i)}):this.client.rest.methods.editWebhook(this,t).then(t=>{return this.setup(t),this})}delete(){return this.client.rest.methods.deleteWebhook(this)}}t.exports=s},function(t,e){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(t){return"function"==typeof t}function s(t){return"number"==typeof t}function o(t){return"object"==typeof t&&null!==t}function r(t){return void 0===t}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(t){if(!s(t)||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},i.prototype.emit=function(t){var e,i,s,a,c,l;if(this._events||(this._events={}),"error"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if(e=arguments[1],e instanceof Error)throw e;var u=new Error('Uncaught, unspecified "error" event. ('+e+")");throw u.context=e,u}if(i=this._events[t],r(i))return!1;if(n(i))switch(arguments.length){case 1:i.call(this);break;case 2:i.call(this,arguments[1]);break;case 3:i.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),i.apply(this,a)}else if(o(i))for(a=Array.prototype.slice.call(arguments,1),l=i.slice(),s=l.length,c=0;c0&&this._events[t].length>s&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace())),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(t,e){function i(){this.removeListener(t,i),s||(s=!0,e.apply(this,arguments))}if(!n(e))throw TypeError("listener must be a function");var s=!1;return i.listener=e,this.on(t,i),this},i.prototype.removeListener=function(t,e){var i,s,r,a;if(!n(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(i=this._events[t],r=i.length,s=-1,i===e||n(i.listener)&&i.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(o(i)){for(a=r;a-- >0;)if(i[a]===e||i[a].listener&&i[a].listener===e){s=a;break}if(s<0)return this;1===i.length?(i.length=0,delete this._events[t]):i.splice(s,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},i.prototype.removeAllListeners=function(t){var e,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(i=this._events[t],n(i))this.removeListener(t,i);else if(i)for(;i.length;)this.removeListener(t,i[i.length-1]);return delete this._events[t],this},i.prototype.listeners=function(t){var e;return e=this._events&&this._events[t]?n(this._events[t])?[this._events[t]]:this._events[t].slice():[]},i.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(n(e))return 1;if(e)return e.length}return 0},i.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,i){var n,s,o;!function(i,r){s=[],n=r,o="function"==typeof n?n.apply(e,s):n,!(void 0!==o&&(t.exports=o))}(this,function(){"use strict";function t(t,e,i){this.low=0|t,this.high=0|e,this.unsigned=!!i}function e(t){return(t&&t.__isLong__)===!0}function i(t,e){var i,n,o;return e?(t>>>=0,(o=0<=t&&t<256)&&(n=c[t])?n:(i=s(t,(0|t)<0?-1:0,!0),o&&(c[t]=i),i)):(t|=0,(o=-128<=t&&t<128)&&(n=a[t])?n:(i=s(t,t<0?-1:0,!1),o&&(a[t]=i),i))}function n(t,e){if(isNaN(t)||!isFinite(t))return e?m:f;if(e){if(t<0)return m;if(t>=h)return b}else{if(t<=-p)return w;if(t+1>=p)return x}return t<0?n(-t,e).neg():s(t%4294967296|0,t/4294967296|0,e)}function s(e,i,n){return new t(e,i,n)}function o(t,e,i){if(0===t.length)throw Error("empty string");if("NaN"===t||"Infinity"===t||"+Infinity"===t||"-Infinity"===t)return f;if("number"==typeof e?(i=e,e=!1):e=!!e,i=i||10,i<2||360)throw Error("interior hyphen");if(0===s)return o(t.substring(1),e,i).neg();for(var r=n(l(i,8)),a=f,c=0;c>>0:this.low},_.toNumber=function(){return this.unsigned?4294967296*(this.high>>>0)+(this.low>>>0):4294967296*this.high+(this.low>>>0)},_.toString=function(t){if(t=t||10,t<2||36>>0,h=u.toString(t);if(r=c,r.isZero())return h+a;for(;h.length<6;)h="0"+h;a=""+h+a}},_.getHighBits=function(){return this.high},_.getHighBitsUnsigned=function(){return this.high>>>0},_.getLowBits=function(){return this.low},_.getLowBitsUnsigned=function(){return this.low>>>0},_.getNumBitsAbs=function(){if(this.isNegative())return this.eq(w)?64:this.neg().getNumBitsAbs();for(var t=0!=this.high?this.high:this.low,e=31;e>0&&0==(t&1<=0},_.isOdd=function(){return 1===(1&this.low)},_.isEven=function(){return 0===(1&this.low)},_.equals=function(t){return e(t)||(t=r(t)),(this.unsigned===t.unsigned||this.high>>>31!==1||t.high>>>31!==1)&&(this.high===t.high&&this.low===t.low)},_.eq=_.equals,_.notEquals=function(t){return!this.eq(t)},_.neq=_.notEquals,_.lessThan=function(t){return this.comp(t)<0},_.lt=_.lessThan,_.lessThanOrEqual=function(t){return this.comp(t)<=0},_.lte=_.lessThanOrEqual,_.greaterThan=function(t){return this.comp(t)>0},_.gt=_.greaterThan,_.greaterThanOrEqual=function(t){return this.comp(t)>=0},_.gte=_.greaterThanOrEqual,_.compare=function(t){if(e(t)||(t=r(t)),this.eq(t))return 0;var i=this.isNegative(),n=t.isNegative();return i&&!n?-1:!i&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1},_.comp=_.compare,_.negate=function(){return!this.unsigned&&this.eq(w)?w:this.not().add(g)},_.neg=_.negate,_.add=function(t){e(t)||(t=r(t));var i=this.high>>>16,n=65535&this.high,o=this.low>>>16,a=65535&this.low,c=t.high>>>16,l=65535&t.high,u=t.low>>>16,h=65535&t.low,p=0,d=0,f=0,m=0;return m+=a+h,f+=m>>>16,m&=65535,f+=o+u,d+=f>>>16,f&=65535,d+=n+l,p+=d>>>16,d&=65535,p+=i+c,p&=65535,s(f<<16|m,p<<16|d,this.unsigned)},_.subtract=function(t){return e(t)||(t=r(t)),this.add(t.neg())},_.sub=_.subtract,_.multiply=function(t){if(this.isZero())return f;if(e(t)||(t=r(t)),t.isZero())return f;if(this.eq(w))return t.isOdd()?w:f;if(t.eq(w))return this.isOdd()?w:f;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(d)&&t.lt(d))return n(this.toNumber()*t.toNumber(),this.unsigned);var i=this.high>>>16,o=65535&this.high,a=this.low>>>16,c=65535&this.low,l=t.high>>>16,u=65535&t.high,h=t.low>>>16,p=65535&t.low,m=0,g=0,v=0,E=0;return E+=c*p,v+=E>>>16,E&=65535,v+=a*p,g+=v>>>16,v&=65535,v+=c*h,g+=v>>>16,v&=65535,g+=o*p,m+=g>>>16,g&=65535,g+=a*h,m+=g>>>16,g&=65535,g+=c*u,m+=g>>>16,g&=65535,m+=i*p+o*h+a*u+c*l,m&=65535,s(v<<16|E,m<<16|g,this.unsigned)},_.mul=_.multiply,_.divide=function(t){if(e(t)||(t=r(t)),t.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?m:f;var i,s,o;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return m;if(t.gt(this.shru(1)))return v;o=m}else{if(this.eq(w)){if(t.eq(g)||t.eq(E))return w;if(t.eq(w))return g;var a=this.shr(1);return i=a.div(t).shl(1),i.eq(f)?t.isNegative()?g:E:(s=this.sub(t.mul(i)),o=i.add(s.div(t)))}if(t.eq(w))return this.unsigned?m:f;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();o=f}for(s=this;s.gte(t);){i=Math.max(1,Math.floor(s.toNumber()/t.toNumber()));for(var c=Math.ceil(Math.log(i)/Math.LN2),u=c<=48?1:l(2,c-48),h=n(i),p=h.mul(t);p.isNegative()||p.gt(s);)i-=u,h=n(i,this.unsigned),p=h.mul(t);h.isZero()&&(h=g),o=o.add(h),s=s.sub(p)}return o},_.div=_.divide,_.modulo=function(t){return e(t)||(t=r(t)),this.sub(this.div(t).mul(t))},_.mod=_.modulo,_.not=function(){return s(~this.low,~this.high,this.unsigned)},_.and=function(t){return e(t)||(t=r(t)),s(this.low&t.low,this.high&t.high,this.unsigned)},_.or=function(t){return e(t)||(t=r(t)),s(this.low|t.low,this.high|t.high,this.unsigned)},_.xor=function(t){return e(t)||(t=r(t)),s(this.low^t.low,this.high^t.high,this.unsigned)},_.shiftLeft=function(t){return e(t)&&(t=t.toInt()),0===(t&=63)?this:t<32?s(this.low<>>32-t,this.unsigned):s(0,this.low<>>t|this.high<<32-t,this.high>>t,this.unsigned):s(this.high>>t-32,this.high>=0?0:-1,this.unsigned)},_.shr=_.shiftRight,_.shiftRightUnsigned=function(t){if(e(t)&&(t=t.toInt()),t&=63,0===t)return this;var i=this.high;if(t<32){var n=this.low;return s(n>>>t|i<<32-t,i>>>t,this.unsigned)}return 32===t?s(i,0,this.unsigned):s(i>>>t-32,0,this.unsigned)},_.shru=_.shiftRightUnsigned,_.toSigned=function(){return this.unsigned?s(this.low,this.high,!1):this},_.toUnsigned=function(){return this.unsigned?this:s(this.low,this.high,!0)},_.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()},_.toBytesLE=function(){var t=this.high,e=this.low;return[255&e,e>>>8&255,e>>>16&255,e>>>24&255,255&t,t>>>8&255,t>>>16&255,t>>>24&255]},_.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24&255,t>>>16&255,t>>>8&255,255&t,e>>>24&255,e>>>16&255,e>>>8&255,255&e]},t})},function(t,e,i){(function(e){function n(t){function i(t){const e=new ArrayBuffer(2*t.length),i=new Uint16Array(e);for(var n=0,s=t.length;nt.split("=")))e[i]=n;return e}const o="undefined"!=typeof window;let r,a;o?(r=window.fetch,a=window.FormData):(r=i(138),a=i(58));class c{constructor(t,e){this.url=e,this.method=t.toUpperCase(),this.headers={},this.data=null}set(t,e){return this.headers[t]=e,this}attach(t,e,i){const n=this._getFormData();return this.set("Content-Type",`multipart/form-data; boundary=${n.boundary}`),n.append(t,e,i),this.data=n,this}send(t){return"object"==typeof t?(this.set("Content-Type","application/json"),this.data=JSON.stringify(t)):this.data=t,this}end(t){let e={headers:{},text:"",body:{}};const i=this.data?this.data.end?this.data.end():this.data:null;return r(this.url,{method:this.method,headers:this.headers,body:i}).then(t=>{const i=t.headers.get("Content-Type");return i.includes("application/json")?t.text().then(i=>{return e.text=i,e.body=JSON.parse(i),t}):i.includes("application/x-www-form-urlencoded")?t.text().then(i=>{return e.text=i,e.body=s(i),t}):(o?t.arrayBuffer():t.buffer()).then(i=>{return i instanceof ArrayBuffer&&(i=n(i)),e.body=i,e.text=i.toString(),t})}).then(i=>{const{body,text}=e;if(Object.assign(e,i),e.body=body,e.text=text,i.headers.raw)for(const[n,s]of Object.entries(i.headers.raw()))e.headers[n]=s[0];else for(const[n,s]of i.headers.entries())e.headers[n]=s;return["4","5"].includes(e.status.toString().substr(0,1))?t(e,e):t(null,e)}).catch(e=>{t(e)})}then(t,e){return new Promise((i,n)=>{this.end((s,o)=>{s?n(e?e(s):s):i(t?t(o):o)})})}catch(t){return this.then(null,t)}_getFormData(){return this._formData||(this._formData=new a),this._formData}}const l=["GET","HEAD","POST","PUT","DELETE","CONNECT","OPTIONS","TRACE","PATCH","BREW"];for(const u of l)c[u.toLowerCase()]=(t=>new c(u,t));c.version=i(57).version,t.exports=c,o&&(window.Fetcher=c)}).call(e,i(14).Buffer)},function(t,e,i){(function(e){const n=i(19),s=i(42),o=i(26),r=i(0),a=i(4).convertToBuffer,c=i(11),l=i(9),u=i(17),h=i(8),p=i(13),d=i(12),f=i(22);class m{constructor(t){this.client=t}resolveUser(t){return t instanceof c?t:"string"==typeof t?this.client.users.get(t)||null:t instanceof p?t.user:t instanceof l?t.author:t instanceof u?t.owner:null}resolveUserID(t){return t instanceof c||t instanceof p?t.id:"string"==typeof t?t||null:t instanceof l?t.author.id:t instanceof u?t.ownerID:null}resolveGuild(t){return t instanceof u?t:"string"==typeof t?this.client.guilds.get(t)||null:null}resolveGuildMember(t,e){return e instanceof p?e:(t=this.resolveGuild(t),e=this.resolveUser(e),t&&e?t.members.get(e.id)||null:null)}resolveChannel(t){return t instanceof h?t:"string"==typeof t?this.client.channels.get(t)||null:t instanceof l?t.channel:t instanceof u?t.channels.get(t.id)||null:null}resolveChannelID(t){return t instanceof h?t.id:"string"==typeof t?t:t instanceof l?t.channel.id:t instanceof u?t.defaultChannel.id:null}resolveInviteCode(t){const e=/discord(?:app\.com\/invite|\.gg)\/([\w-]{2,255})/i,i=e.exec(t);return i&&i[1]?i[1]:t}resolveString(t){return"string"==typeof t?t:t instanceof Array?t.join("\n"):String(t)}resolveBase64(t){return t instanceof e?`data:image/jpg;base64,${t.toString("base64")}`:t}resolveBuffer(t){return t instanceof e?Promise.resolve(t):this.client.browser&&t instanceof ArrayBuffer?Promise.resolve(a(t)):"string"==typeof t?new Promise((i,r)=>{if(/^https?:\/\//.test(t))o.get(t).end((t,n)=>{return t?r(t):n.body instanceof e?i(n.body):r(new TypeError("The response body isn't a Buffer."))});else{const e=n.resolve(t);s.stat(e,(t,n)=>{return t?r(t):n&&n.isFile()?(s.readFile(e,(t,e)=>{t?r(t):i(e)}),null):r(new Error(`The file could not be found: ${e}`))})}}):Promise.reject(new TypeError("The resource must be a string or Buffer."))}resolveEmojiIdentifier(t){return t instanceof d||t instanceof f?t.identifier:"string"!=typeof t||t.includes("%")?null:encodeURIComponent(t)}static resolveColor(t){if("string"==typeof t){if("RANDOM"===t)return Math.floor(16777216*Math.random());t=r.Colors[t]||parseInt(t.replace("#",""),16)}else t instanceof Array&&(t=(t[0]<<16)+(t[1]<<8)+t[2]);if(t<0||t>16777215)throw new RangeError("Color must be within the range 0 - 16777215 (0xFFFFFF).");if(t&&isNaN(t))throw new TypeError("Unable to convert color to a number.");return t}resolveColor(t){return this.constructor.resolveColor(t)}}t.exports=m}).call(e,i(14).Buffer)},function(t,e){t.exports={name:"discord.js",version:"11.0.0",description:"A powerful library for interacting with the Discord API",main:"./src/index",types:"./typings/index.d.ts",scripts:{test:"npm run lint && npm run docs:test",docs:"docgen --source src --custom docs/index.yml --output docs/docs.json","docs:test":"docgen --source src --custom docs/index.yml",lint:"eslint src","lint:fix":"eslint --fix src",webpack:"parallel-webpack"},repository:{type:"git",url:"git+https://github.com/hydrabolt/discord.js.git"},keywords:["discord","api","bot","client","node","discordapp"],author:"Amish Shah ",license:"Apache-2.0",bugs:{url:"https://github.com/hydrabolt/discord.js/issues"},homepage:"https://github.com/hydrabolt/discord.js#readme",runkitExampleFilename:"./docs/examples/ping.js",dependencies:{"@types/node":"^7.0.0",long:"^3.2.0","prism-media":"hydrabolt/prism-media",snekfetch:"guscaplan/snekfetch",tweetnacl:"^0.14.0",ws:"^2.0.0"},peerDependencies:{bufferutil:"^2.0.0",erlpack:"hammerandchisel/erlpack","node-opus":"^0.2.5",opusscript:"^0.0.3",sodium:"^2.0.1",uws:"^0.14.1"},devDependencies:{"discord.js-docgen":"hydrabolt/discord.js-docgen",eslint:"^3.17.0","parallel-webpack":"^1.6.0","uglify-js":"mishoo/UglifyJS2#harmony",webpack:"^2.2.0"},engines:{node:">=6.0.0"},browser:{ws:!1,uws:!1,erlpack:!1,"prism-media":!1,opusscript:!1,"node-opus":!1,tweetnacl:!1,sodium:!1,"src/sharding/Shard.js":!1,"src/sharding/ShardClientUtil.js":!1,"src/sharding/ShardingManager.js":!1,"src/client/voice/dispatcher/StreamDispatcher.js":!1,"src/client/voice/opus/BaseOpusEngine.js":!1,"src/client/voice/opus/NodeOpusEngine.js":!1,"src/client/voice/opus/OpusEngineList.js":!1,"src/client/voice/opus/OpusScriptEngine.js":!1,"src/client/voice/pcm/ConverterEngine.js":!1,"src/client/voice/pcm/ConverterEngineList.js":!1,"src/client/voice/pcm/FfmpegConverterEngine.js":!1,"src/client/voice/player/AudioPlayer.js":!1,"src/client/voice/receiver/VoiceReadable.js":!1,"src/client/voice/receiver/VoiceReceiver.js":!1,"src/client/voice/util/Secretbox.js":!1,"src/client/voice/util/SecretKey.js":!1,"src/client/voice/util/VolumeInterface.js":!1,"src/client/voice/ClientVoiceManager.js":!1,"src/client/voice/VoiceBroadcast.js":!1,"src/client/voice/VoiceConnection.js":!1,"src/client/voice/VoiceUDPClient.js":!1,"src/client/voice/VoiceWebSocket.js":!1}}},function(t,e,i){const n=i(11),s=i(3);class o extends n{setup(t){super.setup(t),this.verified=t.verified,this.email=t.email,this.localPresence={},this._typing=new Map,this.friends=new s,this.blocked=new s,this.notes=new s,this.settings={},this.premium="boolean"==typeof t.premium?t.premium:null,this.mfaEnabled="boolean"==typeof t.mfa_enabled?t.mfa_enabled:null,this.mobile="boolean"==typeof t.mobile?t.mobile:null}edit(t){return this.client.rest.methods.updateCurrentUser(t)}setUsername(t,e){return this.client.rest.methods.updateCurrentUser({username:t},e)}setEmail(t,e){return this.client.rest.methods.updateCurrentUser({email:t},e)}setPassword(t,e){return this.client.rest.methods.updateCurrentUser({password:t},e)}setAvatar(t){return"string"==typeof t&&t.startsWith("data:")?this.client.rest.methods.updateCurrentUser({avatar:t}):this.client.resolver.resolveBuffer(t).then(t=>this.client.rest.methods.updateCurrentUser({avatar:t}))}setPresence(t){return new Promise(e=>{let i=this.localPresence.status||this.presence.status,n=this.localPresence.game,s=this.localPresence.afk||this.presence.afk;if(!n&&this.presence.game&&(n={name:this.presence.game.name,type:this.presence.game.type,url:this.presence.game.url}),t.status){if("string"!=typeof t.status)throw new TypeError("Status must be a string");i=t.status}t.game&&(n=t.game,n.url&&(n.type=1)),null===t.game&&(n=null),"undefined"!=typeof t.afk&&(s=t.afk),s=Boolean(s),this.localPresence={status:i,game:n,afk:s},this.localPresence.since=0,this.localPresence.game=this.localPresence.game||null,this.client.ws.send({op:3,d:this.localPresence}),this.client._setPresence(this.id,this.localPresence),e(this)})}setStatus(t){return this.setPresence({status:t})}setGame(t,e){return null===t?this.setPresence({game:t}):this.setPresence({game:{name:t,url:e}})}setAFK(t){return this.setPresence({afk:t})}fetchMentions(t={limit:25,roles:true,everyone:true,guild:null}){return this.client.rest.methods.fetchMentions(t)}addFriend(t){return t=this.client.resolver.resolveUser(t),this.client.rest.methods.addFriend(t)}removeFriend(t){return t=this.client.resolver.resolveUser(t),this.client.rest.methods.removeFriend(t)}createGuild(t,e,i=null){return i?"string"==typeof i&&i.startsWith("data:")?this.client.rest.methods.createGuild({name:t,icon:i,region:e}):this.client.resolver.resolveBuffer(i).then(i=>this.client.rest.methods.createGuild({name:t,icon:i,region:e})):this.client.rest.methods.createGuild({name:t,icon:i,region:e})}createGroupDM(t){return this.client.rest.methods.createGroupDM({recipients:t.map(t=>this.client.resolver.resolveUserID(t.user)),accessTokens:t.map(t=>t.accessToken),nicks:t.map(t=>t.nick)})}acceptInvite(t){return this.client.rest.methods.acceptInvite(t)}}t.exports=o},function(t,e,i){const n=i(8),s=i(15),o=i(3);class r extends n{constructor(t,e){super(t,e),this.type="dm",this.messages=new o,this._typing=new Map}setup(t){super.setup(t),this.recipient=this.client.dataManager.newUser(t.recipients[0]),this.lastMessageID=t.last_message_id}toString(){return this.recipient.toString()}send(){}sendMessage(){}sendEmbed(){}sendFile(){}sendFiles(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}search(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}acknowledge(){}_cacheMessage(){}}s.applyToClass(r,!0,["bulkDelete"]),t.exports=r},function(t,e,i){const n=i(37),s=i(38),o=i(0);class r{constructor(t,e){Object.defineProperty(this,"client",{value:t}),this.setup(e)}setup(t){this.guild=this.client.guilds.get(t.guild.id)||new n(this.client,t.guild),this.code=t.code,this.temporary=t.temporary,this.maxAge=t.max_age,this.uses=t.uses,this.maxUses=t.max_uses,t.inviter&&(this.inviter=this.client.dataManager.newUser(t.inviter)),this.channel=this.client.channels.get(t.channel.id)||new s(this.client,t.channel),this.createdTimestamp=new Date(t.created_at).getTime()}get createdAt(){return new Date(this.createdTimestamp)}get expiresTimestamp(){return this.createdTimestamp+1e3*this.maxAge}get expiresAt(){return new Date(this.expiresTimestamp)}get url(){return o.Endpoints.inviteLink(this.code)}delete(){return this.client.rest.methods.deleteInvite(this)}toString(){return this.url}}t.exports=r},function(t,e){class i{constructor(t,e){Object.defineProperty(this,"client",{value:t.client}),this.message=t,this.setup(e)}setup(t){this.id=t.id,this.filename=t.filename,this.filesize=t.size,this.url=t.url,this.proxyURL=t.proxy_url,this.height=t.height,this.width=t.width}}t.exports=i},function(t,e,i){const n=i(24).EventEmitter,s=i(3);class o extends n{constructor(t,e,i={}){super(),this.channel=t,this.filter=e,this.options=i,this.ended=!1,this.collected=new s,this.listener=(t=>this.verify(t)),this.channel.client.on("message",this.listener),i.time&&this.channel.client.setTimeout(()=>this.stop("time"),i.time)}verify(t){return(!this.channel||this.channel.id===t.channel.id)&&(!!this.filter(t,this)&&(this.collected.set(t.id,t),this.emit("message",t,this),this.collected.size>=this.options.maxMatches?this.stop("matchesLimit"):this.options.max&&this.collected.size===this.options.max&&this.stop("limit"),!0))}get next(){return new Promise((t,e)=>{if(this.ended)return void e(this.collected);const i=()=>{this.removeListener("message",n),this.removeListener("end",s)},n=(...e)=>{i(),t(...e)},s=(...t)=>{i(),e(...t)};this.once("message",n),this.once("end",s)})}stop(t="user"){this.ended||(this.ended=!0,this.channel.client.removeListener("message",this.listener),this.emit("end",this.collected,t))}}t.exports=o},function(t,e){class i{constructor(t,e){Object.defineProperty(this,"client",{value:t.client}),this.message=t,this.setup(e)}setup(t){if(this.type=t.type,this.title=t.title,this.description=t.description,this.url=t.url,this.color=t.color,this.fields=[],t.fields)for(const e of t.fields)this.fields.push(new c(this,e));this.createdTimestamp=t.timestamp,this.thumbnail=t.thumbnail?new n(this,t.thumbnail):null,this.image=t.image?new s(this,t.image):null,this.video=t.video?new o(this,t.video):null,this.author=t.author?new a(this,t.author):null,this.provider=t.provider?new r(this,t.provider):null,this.footer=t.footer?new l(this,t.footer):null}get createdAt(){return new Date(this.createdTimestamp)}get hexColor(){let t=this.color.toString(16);for(;t.length<6;)t=`0${t}`;return`#${t}`}}class n{constructor(t,e){this.embed=t,this.setup(e)}setup(t){this.url=t.url,this.proxyURL=t.proxy_url,this.height=t.height,this.width=t.width}}class s{constructor(t,e){this.embed=t,this.setup(e)}setup(t){this.url=t.url,this.proxyURL=t.proxy_url,this.height=t.height,this.width=t.width}}class o{constructor(t,e){this.embed=t,this.setup(e)}setup(t){this.url=t.url,this.height=t.height,this.width=t.width}}class r{constructor(t,e){this.embed=t,this.setup(e)}setup(t){this.name=t.name,this.url=t.url}}class a{constructor(t,e){this.embed=t,this.setup(e)}setup(t){this.name=t.name,this.url=t.url,this.iconURL=t.icon_url}}class c{constructor(t,e){this.embed=t,this.setup(e)}setup(t){this.name=t.name,this.value=t.value,this.inline=t.inline}}class l{constructor(t,e){this.embed=t,this.setup(e)}setup(t){this.text=t.text,this.iconURL=t.icon_url,this.proxyIconUrl=t.proxy_icon_url}}i.Thumbnail=n,i.Image=s,i.Video=o,i.Provider=r,i.Author=a,i.Field=c,i.Footer=l,t.exports=i},function(t,e,i){const n=i(3),s=i(12),o=i(22);class r{constructor(t,e,i,s){this.message=t,this.me=s,this.count=i||0,this.users=new n,this._emoji=new o(this,e.name,e.id)}get emoji(){if(this._emoji instanceof s)return this._emoji;if(this._emoji.id){const t=this.message.client.emojis;if(t.has(this._emoji.id)){const e=t.get(this._emoji.id);return this._emoji=e,e}}return this._emoji}remove(t=this.message.client.user){const e=this.message;return t=this.message.client.resolver.resolveUserID(t),t?e.client.rest.methods.removeMessageReaction(e,this.emoji.identifier,t):Promise.reject(new Error("Couldn't resolve the user ID to remove from the reaction."))}fetchUsers(t=100){const e=this.message;return e.client.rest.methods.getMessageReactionUsers(e,this.emoji.identifier,t).then(t=>{this.users=new n;for(const e of t){const t=this.message.client.dataManager.newUser(e);this.users.set(t.id,t)}return this.count=this.users.size,this.users})}}t.exports=r},function(t,e,i){const n=i(5);class s{constructor(t,e){Object.defineProperty(this,"client",{value:t}),this.setup(e)}setup(t){this.id=t.id,this.name=t.name,this.description=t.description,this.icon=t.icon,this.iconURL=`https://cdn.discordapp.com/app-icons/${this.id}/${this.icon}.jpg`,this.rpcOrigins=t.rpc_origins,this.redirectURIs=t.redirect_uris,this.botRequireCodeGrant=t.bot_require_code_grant,this.botPublic=t.bot_public,this.rpcApplicationState=t.rpc_application_state,this.bot=t.bot,this.flags=t.flags,this.secret=t.secret}get createdTimestamp(){return n.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}reset(){return this.client.rest.methods.resetApplication(this.id)}toString(){return this.name}}t.exports=s},function(t,e){class i{constructor(t,e){Object.defineProperty(this,"client",{value:t}),this.setup(e)}setup(t){this.id=t.id,this.name=t.name,this.icon=t.icon,this.splash=t.splash}}t.exports=i},function(t,e,i){const n=i(0);class s{constructor(t,e){Object.defineProperty(this,"client",{value:t}),this.setup(e)}setup(t){this.id=t.id,this.name=t.name,this.type=n.ChannelTypes.TEXT===t.type?"text":"voice"}}t.exports=s},function(t,e){class i{constructor(t,e){Object.defineProperty(this,"channel",{value:t}),e&&this.setup(e)}setup(t){this.id=t.id,this.type=t.type,this.deny=t.deny,this.allow=t.allow}delete(){return this.channel.client.rest.methods.deletePermissionOverwrites(this)}}t.exports=i},function(t,e,i){const n=i(18),s=i(15),o=i(3);class r extends n{constructor(t,e){super(t,e),this.type="text",this.messages=new o,this._typing=new Map}setup(t){super.setup(t),this.topic=t.topic,this.lastMessageID=t.last_message_id}get members(){const t=new o;for(const e of this.guild.members.values())this.permissionsFor(e).hasPermission("READ_MESSAGES")&&t.set(e.id,e);return t}fetchWebhooks(){return this.client.rest.methods.getChannelWebhooks(this)}createWebhook(t,e){return new Promise(i=>{"string"==typeof e&&e.startsWith("data:")?i(this.client.rest.methods.createWebhook(this,t,e)):this.client.resolver.resolveBuffer(e).then(e=>i(this.client.rest.methods.createWebhook(this,t,e)))})}send(){}sendMessage(){}sendEmbed(){}sendFile(){}sendFiles(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}search(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}bulkDelete(){}acknowledge(){}_cacheMessage(){}}s.applyToClass(r,!0),t.exports=r},function(t,e,i){const n=i(18),s=i(3);class o extends n{constructor(t,e){super(t,e),this.members=new s,this.type="voice"}setup(t){super.setup(t),this.bitrate=t.bitrate,this.userLimit=t.user_limit}get connection(){const t=this.guild.voiceConnection;return t&&t.channel.id===this.id?t:null}get full(){return this.userLimit>0&&this.members.size>=this.userLimit}get joinable(){return!this.client.browser&&(!!this.permissionsFor(this.client.user).hasPermission("CONNECT")&&!(this.full&&!this.permissionsFor(this.client.user).hasPermission("MOVE_MEMBERS")))}get speakable(){return this.permissionsFor(this.client.user).hasPermission("SPEAK")}setBitrate(t){return this.edit({bitrate:t})}setUserLimit(t){return this.edit({userLimit:t})}join(){return this.client.browser?Promise.reject(new Error("Voice connections are not available in browsers.")):this.client.voice.joinChannel(this)}leave(){if(!this.client.browser){const t=this.client.voice.connections.get(this.guild.id);t&&t.channel.id===this.id&&t.disconnect()}}}t.exports=o},function(t,e){},function(t,e,i){const n=i(98),s=i(95),o=i(97),r=i(96),a=i(94),c=i(0);class l{constructor(t){this.client=t,this.handlers={},this.userAgentManager=new n(this),this.methods=new s(this),this.rateLimitedEndpoints={},this.globallyRateLimited=!1}push(t,e){return new Promise((i,n)=>{t.push({request:e,resolve:i,reject:n})})}getRequestHandler(){switch(this.client.options.apiRequestMethod){case"sequential":return o;case"burst":return r;default:throw new Error(c.Errors.INVALID_RATE_LIMIT_METHOD)}}makeRequest(t,e,i,n,s){const o=new a(this,t,e,i,n,s);if(!this.handlers[o.route]){const t=this.getRequestHandler();this.handlers[o.route]=new t(this,o.route)}return this.push(this.handlers[o.route],o)}}t.exports=l},function(t,e){class i{constructor(t){this.restManager=t,this.queue=[]}get globalLimit(){return this.restManager.globallyRateLimited; }set globalLimit(t){this.restManager.globallyRateLimited=t}push(t){this.queue.push(t)}handle(){}}t.exports=i},function(module,exports,__webpack_require__){(function(process){const os=__webpack_require__(16),EventEmitter=__webpack_require__(24).EventEmitter,Constants=__webpack_require__(0),Permissions=__webpack_require__(6),Util=__webpack_require__(4),RESTManager=__webpack_require__(43),ClientDataManager=__webpack_require__(63),ClientManager=__webpack_require__(64),ClientDataResolver=__webpack_require__(27),ClientVoiceManager=__webpack_require__(140),WebSocketManager=__webpack_require__(99),ActionsManager=__webpack_require__(65),Collection=__webpack_require__(3),Presence=__webpack_require__(7).Presence,ShardClientUtil=__webpack_require__(139),VoiceBroadcast=__webpack_require__(141);class Client extends EventEmitter{constructor(t={}){super(),!t.shardId&&"SHARD_ID"in process.env&&(t.shardId=Number(process.env.SHARD_ID)),!t.shardCount&&"SHARD_COUNT"in process.env&&(t.shardCount=Number(process.env.SHARD_COUNT)),this.options=Util.mergeDefault(Constants.DefaultOptions,t),this._validateOptions(),this.rest=new RESTManager(this),this.dataManager=new ClientDataManager(this),this.manager=new ClientManager(this),this.ws=new WebSocketManager(this),this.resolver=new ClientDataResolver(this),this.actions=new ActionsManager(this),this.voice=this.browser?null:new ClientVoiceManager(this),this.shard=process.send?ShardClientUtil.singleton(this):null,this.users=new Collection,this.guilds=new Collection,this.channels=new Collection,this.presences=new Collection,!this.token&&"CLIENT_TOKEN"in process.env?this.token=process.env.CLIENT_TOKEN:this.token=null,this.user=null,this.readyAt=null,this.broadcasts=[],this.pings=[],this._pingTimestamp=0,this._timeouts=new Set,this._intervals=new Set,this.options.messageSweepInterval>0&&this.setInterval(this.sweepMessages.bind(this),1e3*this.options.messageSweepInterval)}get status(){return this.ws.status}get uptime(){return this.readyAt?Date.now()-this.readyAt:null}get ping(){return this.pings.reduce((t,e)=>t+e,0)/this.pings.length}get voiceConnections(){return this.browser?new Collection:this.voice.connections}get emojis(){const t=new Collection;for(const e of this.guilds.values())for(const i of e.emojis.values())t.set(i.id,i);return t}get readyTimestamp(){return this.readyAt?this.readyAt.getTime():null}get browser(){return"browser"===os.platform()}createVoiceBroadcast(){const t=new VoiceBroadcast(this);return this.broadcasts.push(t),t}login(t){return this.rest.methods.login(t)}destroy(){for(const t of this._timeouts)clearTimeout(t);for(const e of this._intervals)clearInterval(e);return this._timeouts.clear(),this._intervals.clear(),this.manager.destroy()}syncGuilds(t=this.guilds){this.user.bot||this.ws.send({op:12,d:t instanceof Collection?t.keyArray():t.map(t=>t.id)})}fetchUser(t,e=true){return this.users.has(t)?Promise.resolve(this.users.get(t)):this.rest.methods.getUser(t,e)}fetchInvite(t){const e=this.resolver.resolveInviteCode(t);return this.rest.methods.getInvite(e)}fetchWebhook(t,e){return this.rest.methods.getWebhook(t,e)}fetchVoiceRegions(){return this.rest.methods.fetchVoiceRegions()}sweepMessages(t=this.options.messageCacheLifetime){if("number"!=typeof t||isNaN(t))throw new TypeError("The lifetime must be a number.");if(t<=0)return this.emit("debug","Didn't sweep messages - lifetime is unlimited"),-1;const e=1e3*t,i=Date.now();let n=0,s=0;for(const o of this.channels.values())if(o.messages){n++;for(const t of o.messages.values())i-(t.editedTimestamp||t.createdTimestamp)>e&&(o.messages.delete(t.id),s++)}return this.emit("debug",`Swept ${s} messages older than ${t} seconds in ${n} text-based channels`),s}fetchApplication(t="@me"){return this.rest.methods.getApplication(t)}generateInvite(t){return t?t instanceof Array&&(t=Permissions.resolve(t)):t=0,this.fetchApplication().then(e=>`https://discordapp.com/oauth2/authorize?client_id=${e.id}&permissions=${t}&scope=bot`)}setTimeout(t,e,...i){const n=setTimeout(()=>{t(),this._timeouts.delete(n)},e,...i);return this._timeouts.add(n),n}clearTimeout(t){clearTimeout(t),this._timeouts.delete(t)}setInterval(t,e,...i){const n=setInterval(t,e,...i);return this._intervals.add(n),n}clearInterval(t){clearInterval(t),this._intervals.delete(t)}_pong(t){this.pings.unshift(Date.now()-t),this.pings.length>3&&(this.pings.length=3),this.ws.lastHeartbeatAck=!0}_setPresence(t,e){return this.presences.has(t)?void this.presences.get(t).update(e):void this.presences.set(t,new Presence(e))}_eval(script){return eval(script)}_validateOptions(t=this.options){if("number"!=typeof t.shardCount||isNaN(t.shardCount))throw new TypeError("The shardCount option must be a number.");if("number"!=typeof t.shardId||isNaN(t.shardId))throw new TypeError("The shardId option must be a number.");if(t.shardCount<0)throw new RangeError("The shardCount option must be at least 0.");if(t.shardId<0)throw new RangeError("The shardId option must be at least 0.");if(0!==t.shardId&&t.shardId>=t.shardCount)throw new RangeError("The shardId option must be less than shardCount.");if("number"!=typeof t.messageCacheMaxSize||isNaN(t.messageCacheMaxSize))throw new TypeError("The messageCacheMaxSize option must be a number.");if("number"!=typeof t.messageCacheLifetime||isNaN(t.messageCacheLifetime))throw new TypeError("The messageCacheLifetime option must be a number.");if("number"!=typeof t.messageSweepInterval||isNaN(t.messageSweepInterval))throw new TypeError("The messageSweepInterval option must be a number.");if("boolean"!=typeof t.fetchAllMembers)throw new TypeError("The fetchAllMembers option must be a boolean.");if("boolean"!=typeof t.disableEveryone)throw new TypeError("The disableEveryone option must be a boolean.");if("number"!=typeof t.restWsBridgeTimeout||isNaN(t.restWsBridgeTimeout))throw new TypeError("The restWsBridgeTimeout option must be a number.");if(!(t.disabledEvents instanceof Array))throw new TypeError("The disabledEvents option must be an Array.")}}module.exports=Client}).call(exports,__webpack_require__(20))},function(t,e,i){const n=i(23),s=i(43),o=i(27),r=i(0),a=i(4);class c extends n{constructor(t,e,i){super(null,t,e),this.options=a.mergeDefault(r.DefaultOptions,i),this.rest=new s(this),this.resolver=new o(this),this._timeouts=new Set,this._intervals=new Set}setTimeout(t,e,...i){const n=setTimeout(()=>{t(),this._timeouts.delete(n)},e,...i);return this._timeouts.add(n),n}clearTimeout(t){clearTimeout(t),this._timeouts.delete(t)}setInterval(t,e,...i){const n=setInterval(t,e,...i);return this._intervals.add(n),n}clearInterval(t){clearInterval(t),this._intervals.delete(t)}destroy(){for(const t of this._timeouts)clearTimeout(t);for(const e of this._intervals)clearInterval(e);this._timeouts.clear(),this._intervals.clear()}}t.exports=c},function(t,e,i){function n(t){return"string"==typeof t?t:t instanceof Array?t.join("\n"):String(t)}const s=i(27);class o{constructor(t={}){this.title=t.title,this.description=t.description,this.url=t.url,this.color=t.color,this.author=t.author,this.timestamp=t.timestamp,this.fields=t.fields||[],this.thumbnail=t.thumbnail,this.image=t.image,this.footer=t.footer,this.file=t.file}setTitle(t){if(t=n(t),t.length>256)throw new RangeError("RichEmbed titles may not exceed 256 characters.");return this.title=t,this}setDescription(t){if(t=n(t),t.length>2048)throw new RangeError("RichEmbed descriptions may not exceed 2048 characters.");return this.description=t,this}setURL(t){return this.url=t,this}setColor(t){return this.color=s.resolveColor(t),this}setAuthor(t,e,i){return this.author={name:n(t),icon_url:e,url:i},this}setTimestamp(t=new Date){return this.timestamp=t,this}addField(t,e,i=false){if(this.fields.length>=25)throw new RangeError("RichEmbeds may not exceed 25 fields.");if(t=n(t),t.length>256)throw new RangeError("RichEmbed field names may not exceed 256 characters.");if(!/\S/.test(t))throw new RangeError("RichEmbed field names may not be empty.");if(e=n(e),e.length>1024)throw new RangeError("RichEmbed field values may not exceed 1024 characters.");if(!/\S/.test(e))throw new RangeError("RichEmbed field values may not be empty.");return this.fields.push({name:t,value:e,inline:i}),this}addBlankField(t=false){return this.addField("​","​",t)}setThumbnail(t){return this.thumbnail={url:t},this}setImage(t){return this.image={url:t},this}setFooter(t,e){if(t=n(t),t.length>2048)throw new RangeError("RichEmbed footer text may not exceed 2048 characters.");return this.footer={text:t,icon_url:e},this}attachFile(t){if(this.file)throw new RangeError("You may not upload more than one file at once.");return this.file=t,this}}t.exports=o},function(t,e){},function(t,e){},function(t,e){},function(t,e,i){"use strict";function n(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[e-2]?2:"="===t[e-1]?1:0}function s(t){return 3*t.length/4-n(t)}function o(t){var e,i,s,o,r,a,c=t.length;r=n(t),a=new h(3*c/4-r),s=r>0?c-4:c;var l=0;for(e=0,i=0;e>16&255,a[l++]=o>>8&255,a[l++]=255&o;return 2===r?(o=u[t.charCodeAt(e)]<<2|u[t.charCodeAt(e+1)]>>4,a[l++]=255&o):1===r&&(o=u[t.charCodeAt(e)]<<10|u[t.charCodeAt(e+1)]<<4|u[t.charCodeAt(e+2)]>>2,a[l++]=o>>8&255,a[l++]=255&o),a}function r(t){return l[t>>18&63]+l[t>>12&63]+l[t>>6&63]+l[63&t]}function a(t,e,i){for(var n,s=[],o=e;ou?u:c+r));return 1===n?(e=t[i-1],s+=l[e>>2],s+=l[e<<4&63],s+="=="):2===n&&(e=(t[i-2]<<8)+t[i-1],s+=l[e>>10],s+=l[e>>4&63],s+=l[e<<2&63],s+="="),o.push(s),o.join("")}e.byteLength=s,e.toByteArray=o,e.fromByteArray=c;for(var l=[],u=[],h="undefined"!=typeof Uint8Array?Uint8Array:Array,p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d=0,f=p.length;d>1,u=-7,h=i?s-1:0,p=i?-1:1,d=t[e+h];for(h+=p,o=d&(1<<-u)-1,d>>=-u,u+=a;u>0;o=256*o+t[e+h],h+=p,u-=8);for(r=o&(1<<-u)-1,o>>=-u,u+=n;u>0;r=256*r+t[e+h],h+=p,u-=8);if(0===o)o=1-l;else{if(o===c)return r?NaN:(d?-1:1)*(1/0);r+=Math.pow(2,n),o-=l}return(d?-1:1)*r*Math.pow(2,o-n)},e.write=function(t,e,i,n,s,o){var r,a,c,l=8*o-s-1,u=(1<>1,p=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,f=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,r=u):(r=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-r))<1&&(r--,c*=2),e+=r+h>=1?p/c:p*Math.pow(2,1-h),e*c>=2&&(r++,c/=2),r+h>=u?(a=0,r=u):r+h>=1?(a=(e*c-1)*Math.pow(2,s),r+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,s),r=0));s>=8;t[i+d]=255&a,d+=f,a/=256,s-=8);for(r=r<0;t[i+d]=255&r,d+=f,r/=256,l-=8);t[i+d-f]|=128*m}},function(t,e){var i={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==i.call(t)}},function(t,e,i){"use strict";function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,e,i,o){e=e||"&",i=i||"=";var r={};if("string"!=typeof t||0===t.length)return r;var a=/\+/g;t=t.split(e);var c=1e3;o&&"number"==typeof o.maxKeys&&(c=o.maxKeys);var l=t.length;c>0&&l>c&&(l=c);for(var u=0;u=0?(h=m.substr(0,g),p=m.substr(g+1)):(h=m,p=""),d=decodeURIComponent(h),f=decodeURIComponent(p),n(r,d)?s(r[d])?r[d].push(f):r[d]=[r[d],f]:r[d]=f}return r};var s=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}},function(t,e,i){"use strict";function n(t,e){if(t.map)return t.map(e);for(var i=[],n=0;n fs.writeFile('download.jpg', r.body));\n```\n\n```js\nconst snekfetch = require('snekfetch');\n\nsnekfetch.post('https://httpbin.org/post')\n .send({ meme: 'dream' })\n .then(r => console.log(r.body));\n```\n",readmeFilename:"README.md",repository:{type:"git",url:"git+https://github.com/GusCaplan/snekfetch.git"},scripts:{test:'echo "Error: no test specified" && exit 1'},version:"1.0.1"}},function(t,e,i){(function(e){const n=i(19),s=i(59);class o{constructor(){this.boundary=`-----------${Math.random().toString().slice(2)}`,this.buffer=new e(0)}append(t,i,o){if("undefined"!=typeof i){let r=` --${this.boundary} @@ -20,5 +20,5 @@ ${e} \`\`\``,split&&(split.prepend=`\`\`\`${"boolean"!=typeof code?code||"":""} `,split.append="\n```")),(disableEveryone||"undefined"==typeof disableEveryone&&this.client.options.disableEveryone)&&(e=e.replace(/@(everyone|here)/g,"@​$1")),reply&&!(t instanceof h||t instanceof p)&&"dm"!==t.type){const t=this.client.resolver.resolveUserID(reply),i=`<@${reply instanceof p&&reply.nickname?"!":""}${t}>`;e=`${i}${e?`, ${e}`:""}`,split&&(split.prepend=`${i}, ${split.prepend||""}`)}split&&(e=u.splitMessage(e,split))}else if(reply&&!(t instanceof h||t instanceof p)&&"dm"!==t.type){const t=this.client.resolver.resolveUserID(reply);e=`<@${reply instanceof p&&reply.nickname?"!":""}${t}>`}const o=t=>{if(e instanceof Array){const s=[];!function e(o,r){const a=r===o.length?{tts:tts,embed:embed}:{tts:tts};t.send(o[r],a,r===o.length?i:null).then(t=>{return s.push(t),r>=o.length-1?n(s):e(o,++r)})}(e,0)}else this.rest.makeRequest("post",a.Channel(t).messages,!0,{content:e,tts:tts,nonce:nonce,embed:embed},i).then(t=>n(this.client.actions.MessageCreate.handle(t).message),s)};t instanceof h||t instanceof p?this.createDM(t).then(o,s):o(t)})}updateMessage(t,e,{embed,code,reply}={}){if("undefined"!=typeof e&&(e=this.client.resolver.resolveString(e)),"undefined"==typeof code||"boolean"==typeof code&&code!==!0||(e=u.escapeMarkdown(this.client.resolver.resolveString(e),!0),e=`\`\`\`${"boolean"!=typeof code?code||"":""} ${e} -\`\`\``),reply&&"dm"!==t.channel.type){const t=this.client.resolver.resolveUserID(reply),i=`<@${reply instanceof p&&reply.nickname?"!":""}${t}>`;e=`${i}${e?`, ${e}`:""}`}return this.rest.makeRequest("patch",a.Message(t),!0,{content:e,embed:embed}).then(t=>this.client.actions.MessageUpdate.handle(t).updated)}deleteMessage(t){return this.rest.makeRequest("delete",a.Message(t),!0).then(()=>this.client.actions.MessageDelete.handle({id:t.id,channel_id:t.channel.id}).message)}ackMessage(t){return this.rest.makeRequest("post",a.Message(t).ack,!0,{token:this._ackToken}).then(e=>{return e.token&&(this._ackToken=e.token),t})}ackTextChannel(t){return this.rest.makeRequest("post",a.Channel(t).ack,!0,{token:this._ackToken}).then(e=>{return e.token&&(this._ackToken=e.token),t})}ackGuild(t){return this.rest.makeRequest("post",a.Guild(t).ack,!0).then(()=>t)}bulkDeleteMessages(t,e,i){return i&&(e=e.filter(t=>Date.now()-l.deconstruct(t).date.getTime()<12096e5)),this.rest.makeRequest("post",a.Channel(t).messages.bulkDelete,!0,{messages:e}).then(()=>this.client.actions.MessageDeleteBulk.handle({channel_id:t.id,ids:e}).messages)}search(t,e){if(e.before&&(e.before instanceof Date||(e.before=new Date(e.before)),e.maxID=s.fromNumber(e.before.getTime()-14200704e5).shiftLeft(22).toString()),e.after&&(e.after instanceof Date||(e.after=new Date(e.after)),e.minID=s.fromNumber(e.after.getTime()-14200704e5).shiftLeft(22).toString()),e.during){e.during instanceof Date||(e.during=new Date(e.during));const t=e.during.getTime()-14200704e5;e.minID=s.fromNumber(t).shiftLeft(22).toString(),e.maxID=s.fromNumber(t+864e5).shiftLeft(22).toString()}e.channel&&(e.channel=this.client.resolver.resolveChannelID(e.channel)),e.author&&(e.author=this.client.resolver.resolveUserID(e.author)),e.mentions&&(e.mentions=this.client.resolver.resolveUserID(e.options.mentions)),e={content:e.content,max_id:e.maxID,min_id:e.minID,has:e.has,channel_id:e.channel,author_id:e.author,author_type:e.authorType,context_size:e.contextSize,sort_by:e.sortBy,sort_order:e.sortOrder,limit:e.limit,offset:e.offset,mentions:e.mentions,mentions_everyone:e.mentionsEveryone,link_hostname:e.linkHostname,embed_provider:e.embedProvider,embed_type:e.embedType,attachment_filename:e.attachmentFilename,attachment_extension:e.attachmentExtension};for(const i in e)void 0===e[i]&&delete e[i];const o=(n.stringify(e).match(/[^=&?]+=[^=&?]+/g)||[]).join("&");let r;if(t instanceof x)r=a.Channel(t).search;else{if(!(t instanceof w))throw new TypeError("Target must be a TextChannel, DMChannel, GroupDMChannel, or Guild.");r=a.Guild(t).search}return this.rest.makeRequest("get",`${r}?${o}`,!0).then(t=>{const e=t.messages.map(t=>t.map(t=>new d(this.client.channels.get(t.channel_id),t,this.client)));return{totalResults:t.total_results,messages:e}})}createChannel(t,e,i,n){return n instanceof c&&(n=n.array()),this.rest.makeRequest("post",a.Guild(t).channels,!0,{name:e,type:i,permission_overwrites:n}).then(t=>this.client.actions.ChannelCreate.handle(t).channel)}createDM(t){const e=this.getExistingDM(t);return e?Promise.resolve(e):this.rest.makeRequest("post",a.User(this.client.user).channels,!0,{recipient_id:t.id}).then(t=>this.client.actions.ChannelCreate.handle(t).channel)}createGroupDM(t){const e=this.client.user.bot?{access_tokens:t.accessTokens,nicks:t.nicks}:{recipients:t.recipients};return this.rest.makeRequest("post",a.User("@me").channels,!0,e).then(t=>new b(this.client,t))}addUserToGroupDM(t,e){const i=this.client.user.bot?{nick:e.nick,access_token:e.accessToken}:{recipient:e.id};return this.rest.makeRequest("put",a.Channel(t).Recipient(e.id),!0,i).then(()=>t)}getExistingDM(t){return this.client.channels.find(e=>e.recipient&&e.recipient.id===t.id)}deleteChannel(t){return(t instanceof h||t instanceof p)&&(t=this.getExistingDM(t)),t?this.rest.makeRequest("delete",a.Channel(t),!0).then(e=>{return e.id=t.id,this.client.actions.ChannelDelete.handle(e).channel}):Promise.reject(new Error("No channel to delete."))}updateChannel(t,e){const i={};return i.name=(e.name||t.name).trim(),i.topic=e.topic||t.topic,i.position=e.position||t.position,i.bitrate=e.bitrate||t.bitrate,i.user_limit=e.userLimit||t.userLimit,this.rest.makeRequest("patch",a.Channel(t),!0,i).then(t=>this.client.actions.ChannelUpdate.handle(t).updated)}leaveGuild(t){return t.ownerID===this.client.user.id?Promise.reject(new Error("Guild is owned by the client.")):this.rest.makeRequest("delete",a.User("@me").Guild(t.id),!0).then(()=>this.client.actions.GuildDelete.handle({id:t.id}).guild)}createGuild(t){return t.icon=this.client.resolver.resolveBase64(t.icon)||null,t.region=t.region||"us-central",new Promise((e,i)=>{this.rest.makeRequest("post",a.guilds,!0,t).then(t=>{if(this.client.guilds.has(t.id))return e(this.client.guilds.get(t.id));const n=i=>{i.id===t.id&&(this.client.removeListener(r.Events.GUILD_CREATE,n),this.client.clearTimeout(s),e(i))};this.client.on(r.Events.GUILD_CREATE,n);const s=this.client.setTimeout(()=>{this.client.removeListener(r.Events.GUILD_CREATE,n),i(new Error("Took too long to receive guild data."))},1e4)},i)})}deleteGuild(t){return this.rest.makeRequest("delete",a.Guild(t),!0).then(()=>this.client.actions.GuildDelete.handle({id:t.id}).guild)}getUser(t,e){return this.rest.makeRequest("get",a.User(t),!0).then(t=>{return e?this.client.actions.UserGet.handle(t).user:new h(this.client,t)})}updateCurrentUser(t,e){const i=this.client.user,n={};return n.username=t.username||i.username,n.avatar=this.client.resolver.resolveBase64(t.avatar)||i.avatar,i.bot||(n.email=t.email||i.email,n.password=e,t.new_password&&(n.new_password=t.newPassword)),this.rest.makeRequest("patch",a.User("@me"),!0,n).then(t=>this.client.actions.UserUpdate.handle(t).updated)}updateGuild(t,e){const i={};return e.name&&(i.name=e.name),e.region&&(i.region=e.region),e.verificationLevel&&(i.verification_level=Number(e.verificationLevel)),e.afkChannel&&(i.afk_channel_id=this.client.resolver.resolveChannel(e.afkChannel).id),e.afkTimeout&&(i.afk_timeout=Number(e.afkTimeout)),e.icon&&(i.icon=this.client.resolver.resolveBase64(e.icon)),e.owner&&(i.owner_id=this.client.resolver.resolveUser(e.owner).id),e.splash&&(i.splash=this.client.resolver.resolveBase64(e.splash)),this.rest.makeRequest("patch",a.Guild(t),!0,i).then(t=>this.client.actions.GuildUpdate.handle(t).updated)}kickGuildMember(t,e){return this.rest.makeRequest("delete",a.Guild(t).Member(e),!0).then(()=>this.client.actions.GuildMemberRemove.handle({guild_id:t.id,user:e.user}).member)}createGuildRole(t,e){return e.color&&(e.color=this.client.resolver.resolveColor(e.color)),e.permissions&&(e.permissions=o.resolve(e.permissions)),this.rest.makeRequest("post",a.Guild(t).roles,!0,e).then(e=>this.client.actions.GuildRoleCreate.handle({guild_id:t.id,role:e}).role)}deleteGuildRole(t){return this.rest.makeRequest("delete",a.Guild(t.guild).Role(t.id),!0).then(()=>this.client.actions.GuildRoleDelete.handle({guild_id:t.guild.id,role_id:t.id}).role)}setChannelOverwrite(t,e){return this.rest.makeRequest("put",`${a.Channel(t).permissions}/${e.id}`,!0,e)}deletePermissionOverwrites(t){return this.rest.makeRequest("delete",`${a.Channel(t.channel).permissions}/${t.id}`,!0).then(()=>t)}getChannelMessages(t,e={}){const i=[];e.limit&&i.push(`limit=${e.limit}`),e.around?i.push(`around=${e.around}`):e.before?i.push(`before=${e.before}`):e.after&&i.push(`after=${e.after}`);let n=a.Channel(t).messages;return i.length>0&&(n+=`?${i.join("&")}`),this.rest.makeRequest("get",n,!0)}getChannelMessage(t,e){const i=t.messages.get(e);return i?Promise.resolve(i):this.rest.makeRequest("get",a.Channel(t).Message(e),!0)}putGuildMember(t,e,i){if(i.access_token=i.accessToken,i.roles){const t=i.roles;(t instanceof c||t instanceof Array&&t[0]instanceof f)&&(i.roles=t.map(t=>t.id))}return this.rest.makeRequest("put",a.Guild(t).Member(e.id),!0,i).then(e=>this.client.actions.GuildMemberGet.handle(t,e).member)}getGuildMember(t,e,i){return this.rest.makeRequest("get",a.Guild(t).Member(e.id),!0).then(e=>{return i?this.client.actions.GuildMemberGet.handle(t,e).member:new p(t,e)})}updateGuildMember(t,e){e.channel&&(e.channel_id=this.client.resolver.resolveChannel(e.channel).id),e.roles&&(e.roles=e.roles.map(t=>t instanceof f?t.id:t));let i=a.Member(t);if(t.id===this.client.user.id){const n=Object.keys(e);1===n.length&&"nick"===n[0]&&(i=a.Member(t).nickname)}return this.rest.makeRequest("patch",i,!0,e).then(e=>t.guild._updateMember(t,e).mem)}addMemberRole(t,e){return new Promise((i,n)=>{if(t._roles.includes(e.id))return i(t);const s=(t,n)=>{!t._roles.includes(e.id)&&n._roles.includes(e.id)&&(this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),i(n))};this.client.on(r.Events.GUILD_MEMBER_UPDATE,s);const o=this.client.setTimeout(()=>this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),1e4);return this.rest.makeRequest("put",a.Member(t).Role(e.id),!0).catch(t=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,s),this.client.clearTimeout(o),n(t)})})}removeMemberRole(t,e){return new Promise((i,n)=>{if(!t._roles.includes(e.id))return i(t);const s=(t,n)=>{t._roles.includes(e.id)&&!n._roles.includes(e.id)&&(this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),i(n))};this.client.on(r.Events.GUILD_MEMBER_UPDATE,s);const o=this.client.setTimeout(()=>this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),1e4);return this.rest.makeRequest("delete",a.Member(t).Role(e.id),!0).catch(t=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,s),this.client.clearTimeout(o),n(t)})})}sendTyping(t){return this.rest.makeRequest("post",a.Channel(t).typing,!0)}banGuildMember(t,e,i=0){const n=this.client.resolver.resolveUserID(e);return n?this.rest.makeRequest("put",`${a.Guild(t).bans}/${n}?delete-message-days=${i}`,!0,{"delete-message-days":i}).then(()=>{if(e instanceof p)return e;const i=this.client.resolver.resolveUser(n);return i?(e=this.client.resolver.resolveGuildMember(t,i),e||i):n}):Promise.reject(new Error("Couldn't resolve the user ID to ban."))}unbanGuildMember(t,e){return new Promise((i,n)=>{const s=this.client.resolver.resolveUserID(e);if(!s)throw new Error("Couldn't resolve the user ID to unban.");const o=(e,n)=>{e.id===t.id&&n.id===s&&(this.client.removeListener(r.Events.GUILD_BAN_REMOVE,o),this.client.clearTimeout(c),i(n))};this.client.on(r.Events.GUILD_BAN_REMOVE,o);const c=this.client.setTimeout(()=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,o),n(new Error("Took too long to receive the ban remove event."))},1e4);this.rest.makeRequest("delete",`${a.Guild(t).bans}/${s}`,!0).catch(t=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,o),this.client.clearTimeout(c),n(t)})})}getGuildBans(t){return this.rest.makeRequest("get",a.Guild(t).bans,!0).then(t=>{const e=new c;for(const i of t){const t=this.client.dataManager.newUser(i.user);e.set(t.id,t)}return e})}updateGuildRole(t,e){const i={};return i.name=e.name||t.name,i.position="undefined"!=typeof e.position?e.position:t.position,i.color=this.client.resolver.resolveColor(e.color||t.color),i.hoist="undefined"!=typeof e.hoist?e.hoist:t.hoist,i.mentionable="undefined"!=typeof e.mentionable?e.mentionable:t.mentionable,e.permissions?i.permissions=o.resolve(e.permissions):i.permissions=t.permissions,this.rest.makeRequest("patch",a.Guild(t.guild).Role(t.id),!0,i).then(e=>this.client.actions.GuildRoleUpdate.handle({role:e,guild_id:t.guild.id}).updated)}pinMessage(t){return this.rest.makeRequest("put",a.Channel(t.channel).Pin(t.id),!0).then(()=>t)}unpinMessage(t){return this.rest.makeRequest("delete",a.Channel(t.channel).Pin(t.id),!0).then(()=>t)}getChannelPinnedMessages(t){return this.rest.makeRequest("get",a.Channel(t).pins,!0)}createChannelInvite(t,e){const i={};return i.temporary=e.temporary,i.max_age=e.maxAge,i.max_uses=e.maxUses,this.rest.makeRequest("post",a.Channel(t).invites,!0,i).then(t=>new m(this.client,t))}deleteInvite(t){return this.rest.makeRequest("delete",a.Invite(t.code),!0).then(()=>t)}getInvite(t){return this.rest.makeRequest("get",a.Invite(t),!0).then(t=>new m(this.client,t))}getGuildInvites(t){return this.rest.makeRequest("get",a.Guild(t).invites,!0).then(t=>{const e=new c;for(const i of t){const t=new m(this.client,i);e.set(t.code,t)}return e})}pruneGuildMembers(t,e,i){return this.rest.makeRequest(i?"get":"post",`${a.Guild(t).prune}?days=${e}`,!0).then(t=>t.pruned)}createEmoji(t,e,i,n){const s={image:e,name:i};return n&&(s.roles=n.map(t=>t.id?t.id:t)),this.rest.makeRequest("post",a.Guild(t).emojis,!0,s).then(e=>this.client.actions.GuildEmojiCreate.handle(t,e).emoji)}updateEmoji(t,e){const i={};return e.name&&(i.name=e.name),e.roles&&(i.roles=e.roles.map(t=>t.id?t.id:t)),this.rest.makeRequest("patch",a.Guild(t.guild).Emoji(t.id),!0,i).then(e=>this.client.actions.GuildEmojiUpdate.handle(t,e).emoji)}deleteEmoji(t){return this.rest.makeRequest("delete",a.Guild(t.guild).Emoji(t.id),!0).then(()=>this.client.actions.GuildEmojiDelete.handle(t).data)}getWebhook(t,e){return this.rest.makeRequest("get",a.Webhook(t,e),!e).then(t=>new g(this.client,t))}getGuildWebhooks(t){return this.rest.makeRequest("get",a.Guild(t).webhooks,!0).then(t=>{const e=new c;for(const i of t)e.set(i.id,new g(this.client,i));return e})}getChannelWebhooks(t){return this.rest.makeRequest("get",a.Channel(t).webhooks,!0).then(t=>{const e=new c;for(const i of t)e.set(i.id,new g(this.client,i));return e})}createWebhook(t,e,i){return this.rest.makeRequest("post",a.Channel(t).webhooks,!0,{name:e,avatar:i}).then(t=>new g(this.client,t))}editWebhook(t,e,i){return this.rest.makeRequest("patch",a.Webhook(t.id,t.token),!1,{name:e,avatar:i}).then(e=>{return t.name=e.name,t.avatar=e.avatar,t})}deleteWebhook(t){return this.rest.makeRequest("delete",a.Webhook(t.id,t.token),!1)}sendWebhookMessage(t,e,{avatarURL,tts,disableEveryone,embeds,username}={},i=null){return username=username||t.name,"undefined"!=typeof e&&(e=this.client.resolver.resolveString(e)),e&&(disableEveryone||"undefined"==typeof disableEveryone&&this.client.options.disableEveryone)&&(e=e.replace(/@(everyone|here)/g,"@​$1")),this.rest.makeRequest("post",`${a.Webhook(t.id,t.token)}?wait=true`,!1,{username:username,avatar_url:avatarURL,content:e,tts:tts,embeds:embeds},i)}sendSlackWebhookMessage(t,e){return this.rest.makeRequest("post",`${a.Webhook(t.id,t.token)}/slack?wait=true`,!1,e)}fetchUserProfile(t){return this.rest.makeRequest("get",a.User(t).profile,!0).then(e=>new v(t,e))}fetchMeMentions(t){return t.guild&&(t.guild=t.guild.id?t.guild.id:t.guild),this.rest.makeRequest("get",a.User("@me").mentions(t.limit,t.roles,t.everyone,t.guild)).then(t=>t.body.map(t=>new d(this.client.channels.get(t.channel_id),t,this.client)))}addFriend(t){return this.rest.makeRequest("post",a.User("@me"),!0,{username:t.username,discriminator:t.discriminator}).then(()=>t)}removeFriend(t){return this.rest.makeRequest("delete",a.User("@me").Relationship(t.id),!0).then(()=>t)}blockUser(t){return this.rest.makeRequest("put",a.User("@me").Relationship(t.id),!0,{type:2}).then(()=>t)}unblockUser(t){return this.rest.makeRequest("delete",a.User("@me").Relationship(t.id),!0).then(()=>t)}updateChannelPositions(t,e){const i=new Array(e.length);for(let n=0;nthis.client.actions.GuildChannelsPositionUpdate.handle({guild_id:t,channels:e}).guild)}setRolePositions(t,e){return this.rest.makeRequest("patch",a.Guild(t).roles,!0,e).then(()=>this.client.actions.GuildRolesPositionUpdate.handle({guild_id:t,roles:e}).guild)}setChannelPositions(t,e){return this.rest.makeRequest("patch",a.Guild(t).channels,!0,e).then(()=>this.client.actions.GuildChannelsPositionUpdate.handle({guild_id:t,channels:e}).guild)}addMessageReaction(t,e){return this.rest.makeRequest("put",a.Message(t).Reaction(e).User("@me"),!0).then(()=>t._addReaction(u.parseEmoji(e),t.client.user))}removeMessageReaction(t,e,i){const n=a.Message(t).Reaction(e).User(i===this.client.user.id?"@me":i.id);return this.rest.makeRequest("delete",n,!0).then(()=>this.client.actions.MessageReactionRemove.handle({user_id:i,message_id:t.id,emoji:u.parseEmoji(e),channel_id:t.channel.id}).reaction)}removeMessageReactions(t){return this.rest.makeRequest("delete",a.Message(t).reactions,!0).then(()=>t)}getMessageReactionUsers(t,e,i=100){return this.rest.makeRequest("get",a.Message(t).Reaction(e,i),!0)}getApplication(t){return this.rest.makeRequest("get",a.OAUTH2.Application(t),!0).then(t=>new E(this.client,t))}resetApplication(t){return this.rest.makeRequest("post",a.OAUTH2.Application(t).reset,!0).then(t=>new E(this.client,t))}setNote(t,e){return this.rest.makeRequest("put",a.User(t).note,!0,{note:e}).then(()=>t)}acceptInvite(t){return t.id&&(t=t.id),new Promise((e,i)=>this.rest.makeRequest("post",a.Invite(t),!0).then(t=>{const n=i=>{i.id===t.id&&(e(i),this.client.removeListener(r.Events.GUILD_CREATE,n))};this.client.on(r.Events.GUILD_CREATE,n),this.client.setTimeout(()=>{this.client.removeListener(r.Events.GUILD_CREATE,n),i(new Error("Accepting invite timed out"))},12e4)}))}}t.exports=y},function(t,e,i){const n=i(44);class s extends n{constructor(t,e){super(t,e),this.client=t.client,this.limit=1/0,this.resetTime=null,this.remaining=1,this.timeDifference=0,this.resetTimeout=null}push(t){super.push(t),this.handle()}execute(t){t&&t.request.gen().end((e,i)=>{if(i&&i.headers&&(this.limit=Number(i.headers["x-ratelimit-limit"]),this.resetTime=1e3*Number(i.headers["x-ratelimit-reset"]),this.remaining=Number(i.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(i.headers.date).getTime()),e)if(429===e.status){if(this.queue.unshift(t),i.headers["x-ratelimit-global"]&&(this.globalLimit=!0),this.resetTimeout)return;this.resetTimeout=this.client.setTimeout(()=>{this.remaining=this.limit,this.globalLimit=!1,this.handle(),this.resetTimeout=null},Number(i.headers["retry-after"])+this.client.options.restTimeOffset)}else t.reject(e),this.handle();else{this.globalLimit=!1;const e=i&&i.body?i.body:{};t.resolve(e),this.handle()}})}handle(){super.handle(),this.remaining<=0||0===this.queue.length||this.globalLimit||(this.execute(this.queue.shift()),this.remaining--,this.handle())}}t.exports=s},function(t,e,i){const n=i(44);class s extends n{constructor(t,e){super(t,e),this.endpoint=e,this.timeDifference=0}push(t){super.push(t),this.handle()}execute(t){return new Promise(e=>{t.request.gen().end((i,n)=>{if(n&&n.headers&&(this.requestLimit=Number(n.headers["x-ratelimit-limit"]),this.requestResetTime=1e3*Number(n.headers["x-ratelimit-reset"]),this.requestRemaining=Number(n.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(n.headers.date).getTime()),i)429===i.status?(this.queue.unshift(t),this.restManager.client.setTimeout(()=>{this.globalLimit=!1,e()},Number(n.headers["retry-after"])+this.restManager.client.options.restTimeOffset),n.headers["x-ratelimit-global"]&&(this.globalLimit=!0)):(t.reject(i),e(i));else{this.globalLimit=!1;const i=n&&n.body?n.body:{};t.resolve(i),0===this.requestRemaining?this.restManager.client.setTimeout(()=>{this.waiting=!1,e(i)},this.requestResetTime-Date.now()+this.timeDifference+this.restManager.client.options.restTimeOffset):e(i)}})})}handle(){super.handle(),0===this.remaining||0===this.queue.length||this.globalLimit||this.execute(this.queue.shift()).then(()=>this.handle())}}t.exports=s},function(t,e,i){(function(e){const n=i(0);class s{constructor(){this.build(this.constructor.DEFAULT)}set({url,version}={}){this.build({url:url||this.constructor.DFEAULT.url,version:version||this.constructor.DEFAULT.version})}build(t){this.userAgent=`DiscordBot (${t.url}, ${t.version}) Node.js/${e.version}`}}s.DEFAULT={url:n.Package.homepage.split("#")[0],version:n.Package.version},t.exports=s}).call(e,i(20))},function(t,e,i){(function(e){const n="browser"===i(16).platform(),s=i(24).EventEmitter,o=i(0),r=i(4).convertToBuffer,a=i(42),c=i(100);let l,u,h=JSON.stringify;if(n)l=window.WebSocket;else{try{l=i(143)}catch(t){l=i(144)}try{u=i(142),h=u.pack}catch(t){u=null}}class p extends s{constructor(t){super(),this.client=t,this.packetManager=new c(this),this.status=o.Status.IDLE,this.sessionID=null,this.sequence=-1,this.gateway=null,this.normalReady=!1,this.ws=null,this.disabledEvents={};for(const e of t.options.disabledEvents)this.disabledEvents[e]=!0;this.first=!0,this.lastHeartbeatAck=!0}_connect(t){this.client.emit("debug",`Connecting to gateway ${t}`),this.normalReady=!1,this.status!==o.Status.RECONNECTING&&(this.status=o.Status.CONNECTING),this.ws=new l(t),n&&(this.ws.binaryType="arraybuffer"),this.ws.onopen=this.eventOpen.bind(this),this.ws.onmessage=this.eventMessage.bind(this),this.ws.onclose=this.eventClose.bind(this),this.ws.onerror=this.eventError.bind(this),this._queue=[],this._remaining=120,this.client.setInterval(()=>{this._remaining=120,this._remainingReset=Date.now()},6e4)}connect(t){t=`${t}&encoding=${u?"etf":"json"}`,this.first?(this._connect(t),this.first=!1):this.client.setTimeout(()=>this._connect(t),5500)}heartbeat(t){return t&&!this.lastHeartbeatAck?void this.ws.close(1007):(this.client.emit("debug","Sending heartbeat"),this.client._pingTimestamp=Date.now(),this.client.ws.send({op:o.OPCodes.HEARTBEAT,d:this.sequence},!0),void(this.lastHeartbeatAck=!1))}send(t,e=false){return e?void this._send(h(t)):(this._queue.push(h(t)),void this.doQueue())}destroy(){this.ws&&this.ws.close(1e3),this._queue=[],this.status=o.Status.IDLE}_send(t){this.ws.readyState===l.OPEN&&(this.emit("send",t),this.ws.send(t))}doQueue(){const t=this._queue[0];if(this.ws.readyState===l.OPEN&&t){if(0===this.remaining)return void this.client.setTimeout(this.doQueue.bind(this),Date.now()-this.remainingReset);this._remaining--,this._send(t),this._queue.shift(),this.doQueue()}}eventOpen(){this.client.emit("debug","Connection to gateway opened"),this.lastHeartbeatAck=!0,this.status===o.Status.RECONNECTING?this._sendResume():this._sendNewIdentify()}_sendResume(){if(!this.sessionID)return void this._sendNewIdentify();this.client.emit("debug","Identifying as resumed session");const t={token:this.client.token,session_id:this.sessionID,seq:this.sequence};this.send({op:o.OPCodes.RESUME,d:t})}_sendNewIdentify(){this.reconnecting=!1;const t=this.client.options.ws;t.token=this.client.token,this.client.options.shardCount>0&&(t.shard=[Number(this.client.options.shardId),Number(this.client.options.shardCount)]),this.client.emit("debug","Identifying as new session"),this.send({op:o.OPCodes.IDENTIFY,d:t}),this.sequence=-1}eventClose(t){this.emit("close",t),this.client.clearInterval(this.client.manager.heartbeatInterval),this.status=o.Status.DISCONNECTED,this._queue=[],this.reconnecting||this.client.emit(o.Events.DISCONNECT,t),[4004,4010,4011].includes(t.code)||this.reconnecting||1e3===t.code||this.tryReconnect()}eventMessage(t){const e=this.tryParseEventData(t.data);return null===e?(this.eventError(new Error(o.Errors.BAD_WS_MESSAGE)),!1):(this.client.emit("raw",e),e.op===o.OPCodes.HELLO&&this.client.manager.setupKeepAlive(e.d.heartbeat_interval),this.packetManager.handle(e))}parseEventData(t){return u?(t instanceof ArrayBuffer&&(t=r(t)),u.unpack(t)):((t instanceof e||t instanceof ArrayBuffer)&&(t=a.inflateSync(t).toString()),JSON.parse(t))}tryParseEventData(t){try{return this.parseEventData(t)}catch(t){return null}}eventError(t){this.client.listenerCount("error")>0&&this.client.emit("error",t),this.tryReconnect()}_emitReady(t=true){this.status=o.Status.READY,this.client.emit(o.Events.READY),this.packetManager.handleQueue(),this.normalReady=t}checkIfReady(){if(this.status!==o.Status.READY&&this.status!==o.Status.NEARLY){let t=0;for(const e of this.client.guilds.keys())t+=this.client.guilds.get(e).available?0:1;if(0===t){if(this.status=o.Status.NEARLY,this.client.options.fetchAllMembers){const t=this.client.guilds.map(t=>t.fetchMembers());return void Promise.all(t).then(()=>this._emitReady(),t=>{this.client.emit(o.Events.WARN,"Error in pre-ready guild member fetching"),this.client.emit(o.Events.ERROR,t),this._emitReady()})}this._emitReady()}}}tryReconnect(){this.status!==o.Status.RECONNECTING&&this.status!==o.Status.CONNECTING&&(this.status=o.Status.RECONNECTING,this.ws.close(),this.packetManager.handleQueue(),this.client.emit(o.Events.RECONNECTING),this.connect(this.client.ws.gateway))}}t.exports=p}).call(e,i(14).Buffer)},function(t,e,i){const n=i(0),s=[n.WSEvents.READY,n.WSEvents.GUILD_CREATE,n.WSEvents.GUILD_DELETE,n.WSEvents.GUILD_MEMBERS_CHUNK,n.WSEvents.GUILD_MEMBER_ADD,n.WSEvents.GUILD_MEMBER_REMOVE];class o{constructor(t){this.ws=t,this.handlers={},this.queue=[],this.register(n.WSEvents.READY,i(127)),this.register(n.WSEvents.GUILD_CREATE,i(107)),this.register(n.WSEvents.GUILD_DELETE,i(108)),this.register(n.WSEvents.GUILD_UPDATE,i(118)),this.register(n.WSEvents.GUILD_BAN_ADD,i(105)),this.register(n.WSEvents.GUILD_BAN_REMOVE,i(106)),this.register(n.WSEvents.GUILD_MEMBER_ADD,i(110)),this.register(n.WSEvents.GUILD_MEMBER_REMOVE,i(111)),this.register(n.WSEvents.GUILD_MEMBER_UPDATE,i(112)),this.register(n.WSEvents.GUILD_ROLE_CREATE,i(114)),this.register(n.WSEvents.GUILD_ROLE_DELETE,i(115)),this.register(n.WSEvents.GUILD_ROLE_UPDATE,i(116)),this.register(n.WSEvents.GUILD_EMOJIS_UPDATE,i(109)),this.register(n.WSEvents.GUILD_MEMBERS_CHUNK,i(113)),this.register(n.WSEvents.CHANNEL_CREATE,i(101)),this.register(n.WSEvents.CHANNEL_DELETE,i(102)),this.register(n.WSEvents.CHANNEL_UPDATE,i(104)),this.register(n.WSEvents.CHANNEL_PINS_UPDATE,i(103)),this.register(n.WSEvents.PRESENCE_UPDATE,i(126)),this.register(n.WSEvents.USER_UPDATE,i(132)),this.register(n.WSEvents.USER_NOTE_UPDATE,i(131)),this.register(n.WSEvents.VOICE_STATE_UPDATE,i(134)),this.register(n.WSEvents.TYPING_START,i(130)),this.register(n.WSEvents.MESSAGE_CREATE,i(119)),this.register(n.WSEvents.MESSAGE_DELETE,i(120)),this.register(n.WSEvents.MESSAGE_UPDATE,i(125)),this.register(n.WSEvents.MESSAGE_DELETE_BULK,i(121)),this.register(n.WSEvents.VOICE_SERVER_UPDATE,i(133)),this.register(n.WSEvents.GUILD_SYNC,i(117)),this.register(n.WSEvents.RELATIONSHIP_ADD,i(128)),this.register(n.WSEvents.RELATIONSHIP_REMOVE,i(129)),this.register(n.WSEvents.MESSAGE_REACTION_ADD,i(122)),this.register(n.WSEvents.MESSAGE_REACTION_REMOVE,i(123)),this.register(n.WSEvents.MESSAGE_REACTION_REMOVE_ALL,i(124))}get client(){return this.ws.client}register(t,e){this.handlers[t]=new e(this)}handleQueue(){this.queue.forEach((t,e)=>{this.handle(this.queue[e]),this.queue.splice(e,1)})}setSequence(t){t&&t>this.ws.sequence&&(this.ws.sequence=t)}handle(t){return t.op===n.OPCodes.RECONNECT?(this.setSequence(t.s),this.ws.tryReconnect(),!1):t.op===n.OPCodes.INVALID_SESSION?(t.d?setTimeout(()=>{this.ws._sendResume()},2500):(this.ws.sessionID=null,this.ws._sendNewIdentify()),!1):(t.op===n.OPCodes.HEARTBEAT_ACK?(this.ws.client._pong(this.ws.client._pingTimestamp),this.ws.lastHeartbeatAck=!0,this.ws.client.emit("debug","Heartbeat acknowledged")):t.op===n.OPCodes.HEARTBEAT&&(this.client.ws.send({op:n.OPCodes.HEARTBEAT,d:this.client.ws.sequence}),this.ws.client.emit("debug","Received gateway heartbeat")),this.ws.status===n.Status.RECONNECTING&&(this.ws.reconnecting=!1,this.ws.checkIfReady()),this.setSequence(t.s),void 0===this.ws.disabledEvents[t.t]&&(this.ws.status!==n.Status.READY&&s.indexOf(t.t)===-1?(this.queue.push(t),!1):!!this.handlers[t.t]&&this.handlers[t.t].handle(t)))}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.ChannelCreate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.ChannelDelete.handle(i);n.channel&&e.emit(s.Events.CHANNEL_DELETE,n.channel)}}t.exports=o},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.channels.get(i.channel_id),o=new Date(i.last_pin_timestamp);n&&o&&e.emit(s.Events.CHANNEL_PINS_UPDATE,n,o)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.ChannelUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id),o=e.users.get(i.user.id);n&&o&&e.emit(s.Events.GUILD_BAN_ADD,n,o)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildBanRemove.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.id);n?n.available||i.unavailable||(n.setup(i),this.packetManager.ws.checkIfReady()):e.dataManager.newGuild(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.GuildDelete.handle(i);n.guild&&e.emit(s.Events.GUILD_DELETE,n.guild)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildEmojisUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);n&&(n.memberCount++,n._addMember(i))}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildMemberRemove.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);if(n){const t=n.members.get(i.user.id);t&&n._updateMember(t,i)}}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);if(n){const t=i.members.map(t=>n._addMember(t,!1));e.emit(s.Events.GUILD_MEMBERS_CHUNK,t,n),e.ws.lastHeartbeatAck=!0}}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildRoleCreate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildRoleDelete.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildRoleUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildSync.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.MessageCreate.handle(i);n.message&&e.emit(s.Events.MESSAGE_CREATE,n.message)}}t.exports=o},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.MessageDelete.handle(i);n.message&&e.emit(s.Events.MESSAGE_DELETE,n.message)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageDeleteBulk.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageReactionAdd.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageReactionRemove.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageReactionRemoveAll.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0),o=i(4);class r extends n{handle(t){const e=this.packetManager.client,i=t.d;let n=e.users.get(i.user.id);const r=e.guilds.get(i.guild_id);if(!n){if(!i.user.username)return;n=e.dataManager.newUser(i.user); -}const a=o.cloneObject(n);if(n.patch(i.user),n.equals(a)||e.emit(s.Events.USER_UPDATE,a,n),r){let t=r.members.get(n.id);if(t||"offline"===i.status||(t=r._addMember({user:n,roles:i.roles,deaf:!1,mute:!1},!1),e.emit(s.Events.GUILD_MEMBER_AVAILABLE,t)),t){if(0===e.listenerCount(s.Events.PRESENCE_UPDATE))return void r._setPresence(n.id,i);const a=o.cloneObject(t);t.presence&&(a.frozenPresence=o.cloneObject(t.presence)),r._setPresence(n.id,i),e.emit(s.Events.PRESENCE_UPDATE,a,t)}else r._setPresence(n.id,i)}}}t.exports=r},function(t,e,i){const n=i(1),s=i(29);class o extends n{handle(t){const e=this.packetManager.client,i=t.d;e.ws.heartbeat();const n=new s(e,i.user);n.settings=i.user_settings,e.user=n,e.readyAt=new Date,e.users.set(n.id,n);for(const o of i.guilds)e.dataManager.newGuild(o);for(const r of i.private_channels)e.dataManager.newChannel(r);for(const a of i.relationships){const t=e.dataManager.newUser(a.user);1===a.type?e.user.friends.set(t.id,t):2===a.type&&e.user.blocked.set(t.id,t)}i.presences=i.presences||[];for(const c of i.presences)e.dataManager.newUser(c.user),e._setPresence(c.user.id,c);if(i.notes)for(const l in i.notes){let t=i.notes[l];t.length||(t=null),e.user.notes.set(l,t)}!e.user.bot&&e.options.sync&&e.setInterval(e.syncGuilds.bind(e),3e4),e.once("ready",e.syncGuilds.bind(e)),e.users.has("1")||e.dataManager.newUser({id:"1",username:"Clyde",discriminator:"0000",avatar:"https://discordapp.com/assets/f78426a064bc9dd24847519259bc42af.png",bot:!0,status:"online",game:null,verified:!0}),e.setTimeout(()=>{e.ws.normalReady||e.ws._emitReady(!1)},1200*i.guilds.length),this.packetManager.ws.sessionID=i.session_id,this.packetManager.ws.checkIfReady()}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;1===i.type?e.fetchUser(i.id).then(t=>{e.user.friends.set(t.id,t)}):2===i.type&&e.fetchUser(i.id).then(t=>{e.user.blocked.set(t.id,t)})}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;2===i.type?e.user.blocked.has(i.id)&&e.user.blocked.delete(i.id):1===i.type&&e.user.friends.has(i.id)&&e.user.friends.delete(i.id)}}t.exports=s},function(t,e,i){function n(t,e){return t.client.setTimeout(()=>{t.client.emit(o.Events.TYPING_STOP,t,e,t._typing.get(e.id)),t._typing.delete(e.id)},6e3)}const s=i(1),o=i(0);class r extends s{handle(t){const e=this.packetManager.client,i=t.d,s=e.channels.get(i.channel_id),r=e.users.get(i.user_id),c=new Date(1e3*i.timestamp);if(s&&r){if("voice"===s.type)return void e.emit(o.Events.WARN,`Discord sent a typing packet to voice channel ${s.id}`);if(s._typing.has(r.id)){const t=s._typing.get(r.id);t.lastTimestamp=c,t.resetTimeout(n(s,r))}else s._typing.set(r.id,new a(e,c,c,n(s,r))),e.emit(o.Events.TYPING_START,s,r)}}}class a{constructor(t,e,i,n){this.client=t,this.since=e,this.lastTimestamp=i,this._timeout=n}resetTimeout(t){this.client.clearTimeout(this._timeout),this._timeout=t}get elapsedTime(){return Date.now()-this.since}}t.exports=r},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.UserNoteUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.UserUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.emit("self.voiceServer",i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0),o=i(4);class r extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);if(n){const t=n.members.get(i.user_id);if(t){const n=o.cloneObject(t);t.voiceChannel&&t.voiceChannel.id!==i.channel_id&&t.voiceChannel.members.delete(n.id),i.channel_id||(t.speaking=null),t.user.id===e.user.id&&i.channel_id&&e.emit("self.voiceStateUpdate",i);const r=e.channels.get(i.channel_id);r&&r.members.set(t.user.id,t),t.serverMute=i.mute,t.serverDeaf=i.deaf,t.selfMute=i.self_mute,t.selfDeaf=i.self_deaf,t.voiceSessionID=i.session_id,t.voiceChannelID=i.channel_id,e.emit(s.Events.VOICE_STATE_UPDATE,n,t)}}}}t.exports=r},function(t,e){class i{constructor(t,e){this.user=t,this.setup(e)}setup(t){this.type=t.type,this.name=t.name,this.id=t.id,this.revoked=t.revoked,this.integrations=t.integrations}}t.exports=i},function(t,e,i){const n=i(3),s=i(135);class o{constructor(t,e){this.user=t,Object.defineProperty(this,"client",{value:t.client}),this.mutualGuilds=new n,this.connections=new n,this.setup(e)}setup(t){this.premium=t.premium,this.premiumSince=t.premium_since?new Date(t.premium_since):null;for(const e of t.mutual_guilds)this.client.guilds.has(e.id)&&this.mutualGuilds.set(e.id,this.client.guilds.get(e.id));for(const i of t.connected_accounts)this.connections.set(i.id,new s(this.user,i))}}t.exports=o},function(t,e){class i{constructor(t){this.id=t.id,this.name=t.name,this.vip=t.vip,this.deprecated=t.deprecated,this.optimal=t.optimal,this.custom=t.custom,this.sampleHostname=t.sample_hostname}}t.exports=i},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e,i){const n=i(4);t.exports={Client:i(45),Shard:i(48),ShardClientUtil:i(49),ShardingManager:i(50),WebhookClient:i(46),Collection:i(3),Constants:i(0),EvaluatedPermissions:i(6),Permissions:i(6),Snowflake:i(5),SnowflakeUtil:i(5),Util:n,util:n,version:i(28).version,escapeMarkdown:n.escapeMarkdown,fetchRecommendedShards:n.fetchRecommendedShards,splitMessage:n.splitMessage,Channel:i(8),ClientUser:i(29),DMChannel:i(30),Emoji:i(12),Game:i(7).Game,GroupDMChannel:i(21),Guild:i(17),GuildChannel:i(18),GuildMember:i(13),Invite:i(31),Message:i(9),MessageAttachment:i(32),MessageCollector:i(33),MessageEmbed:i(34),MessageReaction:i(35),OAuth2Application:i(36),PartialGuild:i(37),PartialGuildChannel:i(38),PermissionOverwrites:i(39),Presence:i(7).Presence,ReactionEmoji:i(22),RichEmbed:i(47),Role:i(10),TextChannel:i(40),User:i(11),VoiceChannel:i(41),Webhook:i(23)},"browser"===i(16).platform()&&(window.Discord=t.exports)}]); \ No newline at end of file +\`\`\``),reply&&"dm"!==t.channel.type){const t=this.client.resolver.resolveUserID(reply),i=`<@${reply instanceof p&&reply.nickname?"!":""}${t}>`;e=`${i}${e?`, ${e}`:""}`}return this.rest.makeRequest("patch",a.Message(t),!0,{content:e,embed:embed}).then(t=>this.client.actions.MessageUpdate.handle(t).updated)}deleteMessage(t){return this.rest.makeRequest("delete",a.Message(t),!0).then(()=>this.client.actions.MessageDelete.handle({id:t.id,channel_id:t.channel.id}).message)}ackMessage(t){return this.rest.makeRequest("post",a.Message(t).ack,!0,{token:this._ackToken}).then(e=>{return e.token&&(this._ackToken=e.token),t})}ackTextChannel(t){return this.rest.makeRequest("post",a.Channel(t).ack,!0,{token:this._ackToken}).then(e=>{return e.token&&(this._ackToken=e.token),t})}ackGuild(t){return this.rest.makeRequest("post",a.Guild(t).ack,!0).then(()=>t)}bulkDeleteMessages(t,e,i){return i&&(e=e.filter(t=>Date.now()-l.deconstruct(t).date.getTime()<12096e5)),this.rest.makeRequest("post",a.Channel(t).messages.bulkDelete,!0,{messages:e}).then(()=>this.client.actions.MessageDeleteBulk.handle({channel_id:t.id,ids:e}).messages)}search(t,e){if(e.before&&(e.before instanceof Date||(e.before=new Date(e.before)),e.maxID=s.fromNumber(e.before.getTime()-14200704e5).shiftLeft(22).toString()),e.after&&(e.after instanceof Date||(e.after=new Date(e.after)),e.minID=s.fromNumber(e.after.getTime()-14200704e5).shiftLeft(22).toString()),e.during){e.during instanceof Date||(e.during=new Date(e.during));const t=e.during.getTime()-14200704e5;e.minID=s.fromNumber(t).shiftLeft(22).toString(),e.maxID=s.fromNumber(t+864e5).shiftLeft(22).toString()}e.channel&&(e.channel=this.client.resolver.resolveChannelID(e.channel)),e.author&&(e.author=this.client.resolver.resolveUserID(e.author)),e.mentions&&(e.mentions=this.client.resolver.resolveUserID(e.options.mentions)),e={content:e.content,max_id:e.maxID,min_id:e.minID,has:e.has,channel_id:e.channel,author_id:e.author,author_type:e.authorType,context_size:e.contextSize,sort_by:e.sortBy,sort_order:e.sortOrder,limit:e.limit,offset:e.offset,mentions:e.mentions,mentions_everyone:e.mentionsEveryone,link_hostname:e.linkHostname,embed_provider:e.embedProvider,embed_type:e.embedType,attachment_filename:e.attachmentFilename,attachment_extension:e.attachmentExtension};for(const i in e)void 0===e[i]&&delete e[i];const o=(n.stringify(e).match(/[^=&?]+=[^=&?]+/g)||[]).join("&");let r;if(t instanceof x)r=a.Channel(t).search;else{if(!(t instanceof w))throw new TypeError("Target must be a TextChannel, DMChannel, GroupDMChannel, or Guild.");r=a.Guild(t).search}return this.rest.makeRequest("get",`${r}?${o}`,!0).then(t=>{const e=t.messages.map(t=>t.map(t=>new d(this.client.channels.get(t.channel_id),t,this.client)));return{totalResults:t.total_results,messages:e}})}createChannel(t,e,i,n){return n instanceof c&&(n=n.array()),this.rest.makeRequest("post",a.Guild(t).channels,!0,{name:e,type:i,permission_overwrites:n}).then(t=>this.client.actions.ChannelCreate.handle(t).channel)}createDM(t){const e=this.getExistingDM(t);return e?Promise.resolve(e):this.rest.makeRequest("post",a.User(this.client.user).channels,!0,{recipient_id:t.id}).then(t=>this.client.actions.ChannelCreate.handle(t).channel)}createGroupDM(t){const e=this.client.user.bot?{access_tokens:t.accessTokens,nicks:t.nicks}:{recipients:t.recipients};return this.rest.makeRequest("post",a.User("@me").channels,!0,e).then(t=>new b(this.client,t))}addUserToGroupDM(t,e){const i=this.client.user.bot?{nick:e.nick,access_token:e.accessToken}:{recipient:e.id};return this.rest.makeRequest("put",a.Channel(t).Recipient(e.id),!0,i).then(()=>t)}getExistingDM(t){return this.client.channels.find(e=>e.recipient&&e.recipient.id===t.id)}deleteChannel(t){return(t instanceof h||t instanceof p)&&(t=this.getExistingDM(t)),t?this.rest.makeRequest("delete",a.Channel(t),!0).then(e=>{return e.id=t.id,this.client.actions.ChannelDelete.handle(e).channel}):Promise.reject(new Error("No channel to delete."))}updateChannel(t,e){const i={};return i.name=(e.name||t.name).trim(),i.topic=e.topic||t.topic,i.position=e.position||t.position,i.bitrate=e.bitrate||t.bitrate,i.user_limit=e.userLimit||t.userLimit,this.rest.makeRequest("patch",a.Channel(t),!0,i).then(t=>this.client.actions.ChannelUpdate.handle(t).updated)}leaveGuild(t){return t.ownerID===this.client.user.id?Promise.reject(new Error("Guild is owned by the client.")):this.rest.makeRequest("delete",a.User("@me").Guild(t.id),!0).then(()=>this.client.actions.GuildDelete.handle({id:t.id}).guild)}createGuild(t){return t.icon=this.client.resolver.resolveBase64(t.icon)||null,t.region=t.region||"us-central",new Promise((e,i)=>{this.rest.makeRequest("post",a.guilds,!0,t).then(t=>{if(this.client.guilds.has(t.id))return e(this.client.guilds.get(t.id));const n=i=>{i.id===t.id&&(this.client.removeListener(r.Events.GUILD_CREATE,n),this.client.clearTimeout(s),e(i))};this.client.on(r.Events.GUILD_CREATE,n);const s=this.client.setTimeout(()=>{this.client.removeListener(r.Events.GUILD_CREATE,n),i(new Error("Took too long to receive guild data."))},1e4)},i)})}deleteGuild(t){return this.rest.makeRequest("delete",a.Guild(t),!0).then(()=>this.client.actions.GuildDelete.handle({id:t.id}).guild)}getUser(t,e){return this.rest.makeRequest("get",a.User(t),!0).then(t=>{return e?this.client.actions.UserGet.handle(t).user:new h(this.client,t)})}updateCurrentUser(t,e){const i=this.client.user,n={};return n.username=t.username||i.username,n.avatar=this.client.resolver.resolveBase64(t.avatar)||i.avatar,i.bot||(n.email=t.email||i.email,n.password=e,t.new_password&&(n.new_password=t.newPassword)),this.rest.makeRequest("patch",a.User("@me"),!0,n).then(t=>this.client.actions.UserUpdate.handle(t).updated)}updateGuild(t,e){const i={};return e.name&&(i.name=e.name),e.region&&(i.region=e.region),e.verificationLevel&&(i.verification_level=Number(e.verificationLevel)),e.afkChannel&&(i.afk_channel_id=this.client.resolver.resolveChannel(e.afkChannel).id),e.afkTimeout&&(i.afk_timeout=Number(e.afkTimeout)),e.icon&&(i.icon=this.client.resolver.resolveBase64(e.icon)),e.owner&&(i.owner_id=this.client.resolver.resolveUser(e.owner).id),e.splash&&(i.splash=this.client.resolver.resolveBase64(e.splash)),this.rest.makeRequest("patch",a.Guild(t),!0,i).then(t=>this.client.actions.GuildUpdate.handle(t).updated)}kickGuildMember(t,e){return this.rest.makeRequest("delete",a.Guild(t).Member(e),!0).then(()=>this.client.actions.GuildMemberRemove.handle({guild_id:t.id,user:e.user}).member)}createGuildRole(t,e){return e.color&&(e.color=this.client.resolver.resolveColor(e.color)),e.permissions&&(e.permissions=o.resolve(e.permissions)),this.rest.makeRequest("post",a.Guild(t).roles,!0,e).then(e=>this.client.actions.GuildRoleCreate.handle({guild_id:t.id,role:e}).role)}deleteGuildRole(t){return this.rest.makeRequest("delete",a.Guild(t.guild).Role(t.id),!0).then(()=>this.client.actions.GuildRoleDelete.handle({guild_id:t.guild.id,role_id:t.id}).role)}setChannelOverwrite(t,e){return this.rest.makeRequest("put",`${a.Channel(t).permissions}/${e.id}`,!0,e)}deletePermissionOverwrites(t){return this.rest.makeRequest("delete",`${a.Channel(t.channel).permissions}/${t.id}`,!0).then(()=>t)}getChannelMessages(t,e={}){const i=[];e.limit&&i.push(`limit=${e.limit}`),e.around?i.push(`around=${e.around}`):e.before?i.push(`before=${e.before}`):e.after&&i.push(`after=${e.after}`);let n=a.Channel(t).messages;return i.length>0&&(n+=`?${i.join("&")}`),this.rest.makeRequest("get",n,!0)}getChannelMessage(t,e){const i=t.messages.get(e);return i?Promise.resolve(i):this.rest.makeRequest("get",a.Channel(t).Message(e),!0)}putGuildMember(t,e,i){if(i.access_token=i.accessToken,i.roles){const t=i.roles;(t instanceof c||t instanceof Array&&t[0]instanceof f)&&(i.roles=t.map(t=>t.id))}return this.rest.makeRequest("put",a.Guild(t).Member(e.id),!0,i).then(e=>this.client.actions.GuildMemberGet.handle(t,e).member)}getGuildMember(t,e,i){return this.rest.makeRequest("get",a.Guild(t).Member(e.id),!0).then(e=>{return i?this.client.actions.GuildMemberGet.handle(t,e).member:new p(t,e)})}updateGuildMember(t,e){e.channel&&(e.channel_id=this.client.resolver.resolveChannel(e.channel).id),e.roles&&(e.roles=e.roles.map(t=>t instanceof f?t.id:t));let i=a.Member(t);if(t.id===this.client.user.id){const n=Object.keys(e);1===n.length&&"nick"===n[0]&&(i=a.Member(t).nickname)}return this.rest.makeRequest("patch",i,!0,e).then(e=>t.guild._updateMember(t,e).mem)}addMemberRole(t,e){return new Promise((i,n)=>{if(t._roles.includes(e.id))return i(t);const s=(t,n)=>{!t._roles.includes(e.id)&&n._roles.includes(e.id)&&(this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),i(n))};this.client.on(r.Events.GUILD_MEMBER_UPDATE,s);const o=this.client.setTimeout(()=>this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),1e4);return this.rest.makeRequest("put",a.Member(t).Role(e.id),!0).catch(t=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,s),this.client.clearTimeout(o),n(t)})})}removeMemberRole(t,e){return new Promise((i,n)=>{if(!t._roles.includes(e.id))return i(t);const s=(t,n)=>{t._roles.includes(e.id)&&!n._roles.includes(e.id)&&(this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),i(n))};this.client.on(r.Events.GUILD_MEMBER_UPDATE,s);const o=this.client.setTimeout(()=>this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),1e4);return this.rest.makeRequest("delete",a.Member(t).Role(e.id),!0).catch(t=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,s),this.client.clearTimeout(o),n(t)})})}sendTyping(t){return this.rest.makeRequest("post",a.Channel(t).typing,!0)}banGuildMember(t,e,i=0){const n=this.client.resolver.resolveUserID(e);return n?this.rest.makeRequest("put",`${a.Guild(t).bans}/${n}?delete-message-days=${i}`,!0,{"delete-message-days":i}).then(()=>{if(e instanceof p)return e;const i=this.client.resolver.resolveUser(n);return i?(e=this.client.resolver.resolveGuildMember(t,i),e||i):n}):Promise.reject(new Error("Couldn't resolve the user ID to ban."))}unbanGuildMember(t,e){return new Promise((i,n)=>{const s=this.client.resolver.resolveUserID(e);if(!s)throw new Error("Couldn't resolve the user ID to unban.");const o=(e,n)=>{e.id===t.id&&n.id===s&&(this.client.removeListener(r.Events.GUILD_BAN_REMOVE,o),this.client.clearTimeout(c),i(n))};this.client.on(r.Events.GUILD_BAN_REMOVE,o);const c=this.client.setTimeout(()=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,o),n(new Error("Took too long to receive the ban remove event."))},1e4);this.rest.makeRequest("delete",`${a.Guild(t).bans}/${s}`,!0).catch(t=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,o),this.client.clearTimeout(c),n(t)})})}getGuildBans(t){return this.rest.makeRequest("get",a.Guild(t).bans,!0).then(t=>{const e=new c;for(const i of t){const t=this.client.dataManager.newUser(i.user);e.set(t.id,t)}return e})}updateGuildRole(t,e){const i={};return i.name=e.name||t.name,i.position="undefined"!=typeof e.position?e.position:t.position,i.color=this.client.resolver.resolveColor(e.color||t.color),i.hoist="undefined"!=typeof e.hoist?e.hoist:t.hoist,i.mentionable="undefined"!=typeof e.mentionable?e.mentionable:t.mentionable,e.permissions?i.permissions=o.resolve(e.permissions):i.permissions=t.permissions,this.rest.makeRequest("patch",a.Guild(t.guild).Role(t.id),!0,i).then(e=>this.client.actions.GuildRoleUpdate.handle({role:e,guild_id:t.guild.id}).updated)}pinMessage(t){return this.rest.makeRequest("put",a.Channel(t.channel).Pin(t.id),!0).then(()=>t)}unpinMessage(t){return this.rest.makeRequest("delete",a.Channel(t.channel).Pin(t.id),!0).then(()=>t)}getChannelPinnedMessages(t){return this.rest.makeRequest("get",a.Channel(t).pins,!0)}createChannelInvite(t,e){const i={};return i.temporary=e.temporary,i.max_age=e.maxAge,i.max_uses=e.maxUses,this.rest.makeRequest("post",a.Channel(t).invites,!0,i).then(t=>new m(this.client,t))}deleteInvite(t){return this.rest.makeRequest("delete",a.Invite(t.code),!0).then(()=>t)}getInvite(t){return this.rest.makeRequest("get",a.Invite(t),!0).then(t=>new m(this.client,t))}getGuildInvites(t){return this.rest.makeRequest("get",a.Guild(t).invites,!0).then(t=>{const e=new c;for(const i of t){const t=new m(this.client,i);e.set(t.code,t)}return e})}pruneGuildMembers(t,e,i){return this.rest.makeRequest(i?"get":"post",`${a.Guild(t).prune}?days=${e}`,!0).then(t=>t.pruned)}createEmoji(t,e,i,n){const s={image:e,name:i};return n&&(s.roles=n.map(t=>t.id?t.id:t)),this.rest.makeRequest("post",a.Guild(t).emojis,!0,s).then(e=>this.client.actions.GuildEmojiCreate.handle(t,e).emoji)}updateEmoji(t,e){const i={};return e.name&&(i.name=e.name),e.roles&&(i.roles=e.roles.map(t=>t.id?t.id:t)),this.rest.makeRequest("patch",a.Guild(t.guild).Emoji(t.id),!0,i).then(e=>this.client.actions.GuildEmojiUpdate.handle(t,e).emoji)}deleteEmoji(t){return this.rest.makeRequest("delete",a.Guild(t.guild).Emoji(t.id),!0).then(()=>this.client.actions.GuildEmojiDelete.handle(t).data)}getWebhook(t,e){return this.rest.makeRequest("get",a.Webhook(t,e),!e).then(t=>new g(this.client,t))}getGuildWebhooks(t){return this.rest.makeRequest("get",a.Guild(t).webhooks,!0).then(t=>{const e=new c;for(const i of t)e.set(i.id,new g(this.client,i));return e})}getChannelWebhooks(t){return this.rest.makeRequest("get",a.Channel(t).webhooks,!0).then(t=>{const e=new c;for(const i of t)e.set(i.id,new g(this.client,i));return e})}createWebhook(t,e,i){return this.rest.makeRequest("post",a.Channel(t).webhooks,!0,{name:e,avatar:i}).then(t=>new g(this.client,t))}editWebhook(t,e,i){return this.rest.makeRequest("patch",a.Webhook(t.id,t.token),!1,{name:e,avatar:i}).then(e=>{return t.name=e.name,t.avatar=e.avatar,t})}deleteWebhook(t){return this.rest.makeRequest("delete",a.Webhook(t.id,t.token),!1)}sendWebhookMessage(t,e,{avatarURL,tts,disableEveryone,embeds,username}={},i=null){return username=username||t.name,"undefined"!=typeof e&&(e=this.client.resolver.resolveString(e)),e&&(disableEveryone||"undefined"==typeof disableEveryone&&this.client.options.disableEveryone)&&(e=e.replace(/@(everyone|here)/g,"@​$1")),this.rest.makeRequest("post",`${a.Webhook(t.id,t.token)}?wait=true`,!1,{username:username,avatar_url:avatarURL,content:e,tts:tts,embeds:embeds},i)}sendSlackWebhookMessage(t,e){return this.rest.makeRequest("post",`${a.Webhook(t.id,t.token)}/slack?wait=true`,!1,e)}fetchUserProfile(t){return this.rest.makeRequest("get",a.User(t).profile,!0).then(e=>new v(t,e))}fetchMeMentions(t){return t.guild&&(t.guild=t.guild.id?t.guild.id:t.guild),this.rest.makeRequest("get",a.User("@me").mentions(t.limit,t.roles,t.everyone,t.guild)).then(t=>t.body.map(t=>new d(this.client.channels.get(t.channel_id),t,this.client)))}addFriend(t){return this.rest.makeRequest("post",a.User("@me"),!0,{username:t.username,discriminator:t.discriminator}).then(()=>t)}removeFriend(t){return this.rest.makeRequest("delete",a.User("@me").Relationship(t.id),!0).then(()=>t)}blockUser(t){return this.rest.makeRequest("put",a.User("@me").Relationship(t.id),!0,{type:2}).then(()=>t)}unblockUser(t){return this.rest.makeRequest("delete",a.User("@me").Relationship(t.id),!0).then(()=>t)}updateChannelPositions(t,e){const i=new Array(e.length);for(let n=0;nthis.client.actions.GuildChannelsPositionUpdate.handle({guild_id:t,channels:e}).guild)}setRolePositions(t,e){return this.rest.makeRequest("patch",a.Guild(t).roles,!0,e).then(()=>this.client.actions.GuildRolesPositionUpdate.handle({guild_id:t,roles:e}).guild)}setChannelPositions(t,e){return this.rest.makeRequest("patch",a.Guild(t).channels,!0,e).then(()=>this.client.actions.GuildChannelsPositionUpdate.handle({guild_id:t,channels:e}).guild)}addMessageReaction(t,e){return this.rest.makeRequest("put",a.Message(t).Reaction(e).User("@me"),!0).then(()=>t._addReaction(u.parseEmoji(e),t.client.user))}removeMessageReaction(t,e,i){const n=a.Message(t).Reaction(e).User(i===this.client.user.id?"@me":i.id);return this.rest.makeRequest("delete",n,!0).then(()=>this.client.actions.MessageReactionRemove.handle({user_id:i,message_id:t.id,emoji:u.parseEmoji(e),channel_id:t.channel.id}).reaction)}removeMessageReactions(t){return this.rest.makeRequest("delete",a.Message(t).reactions,!0).then(()=>t)}getMessageReactionUsers(t,e,i=100){return this.rest.makeRequest("get",a.Message(t).Reaction(e,i),!0)}getApplication(t){return this.rest.makeRequest("get",a.OAUTH2.Application(t),!0).then(t=>new E(this.client,t))}resetApplication(t){return this.rest.makeRequest("post",a.OAUTH2.Application(t).reset,!0).then(t=>new E(this.client,t))}setNote(t,e){return this.rest.makeRequest("put",a.User(t).note,!0,{note:e}).then(()=>t)}acceptInvite(t){return t.id&&(t=t.id),new Promise((e,i)=>this.rest.makeRequest("post",a.Invite(t),!0).then(t=>{const n=i=>{i.id===t.id&&(e(i),this.client.removeListener(r.Events.GUILD_CREATE,n))};this.client.on(r.Events.GUILD_CREATE,n),this.client.setTimeout(()=>{this.client.removeListener(r.Events.GUILD_CREATE,n),i(new Error("Accepting invite timed out"))},12e4)}))}}t.exports=y},function(t,e,i){const n=i(44);class s extends n{constructor(t,e){super(t,e),this.client=t.client,this.limit=1/0,this.resetTime=null,this.remaining=1,this.timeDifference=0,this.resetTimeout=null}push(t){super.push(t),this.handle()}execute(t){t&&t.request.gen().end((e,i)=>{if(i&&i.headers&&(this.limit=Number(i.headers["x-ratelimit-limit"]),this.resetTime=1e3*Number(i.headers["x-ratelimit-reset"]),this.remaining=Number(i.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(i.headers.date).getTime()),e)if(429===e.status){if(this.queue.unshift(t),i.headers["x-ratelimit-global"]&&(this.globalLimit=!0),this.resetTimeout)return;this.resetTimeout=this.client.setTimeout(()=>{this.remaining=this.limit,this.globalLimit=!1,this.handle(),this.resetTimeout=null},Number(i.headers["retry-after"])+this.client.options.restTimeOffset)}else t.reject(e),this.handle();else{this.globalLimit=!1;const e=i&&i.body?i.body:{};t.resolve(e),this.handle()}})}handle(){super.handle(),this.remaining<=0||0===this.queue.length||this.globalLimit||(this.execute(this.queue.shift()),this.remaining--,this.handle())}}t.exports=s},function(t,e,i){const n=i(44);class s extends n{constructor(t,e){super(t,e),this.endpoint=e,this.timeDifference=0}push(t){super.push(t),this.handle()}execute(t){return new Promise(e=>{t.request.gen().end((i,n)=>{if(n&&n.headers&&(this.requestLimit=Number(n.headers["x-ratelimit-limit"]),this.requestResetTime=1e3*Number(n.headers["x-ratelimit-reset"]),this.requestRemaining=Number(n.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(n.headers.date).getTime()),i)429===i.status?(this.queue.unshift(t),this.restManager.client.setTimeout(()=>{this.globalLimit=!1,e()},Number(n.headers["retry-after"])+this.restManager.client.options.restTimeOffset),n.headers["x-ratelimit-global"]&&(this.globalLimit=!0)):(t.reject(i),e(i));else{this.globalLimit=!1;const i=n&&n.body?n.body:{};t.resolve(i),0===this.requestRemaining?this.restManager.client.setTimeout(()=>{this.waiting=!1,e(i)},this.requestResetTime-Date.now()+this.timeDifference+this.restManager.client.options.restTimeOffset):e(i)}})})}handle(){super.handle(),0===this.remaining||0===this.queue.length||this.globalLimit||this.execute(this.queue.shift()).then(()=>this.handle())}}t.exports=s},function(t,e,i){(function(e){const n=i(0);class s{constructor(){this.build(this.constructor.DEFAULT)}set({url,version}={}){this.build({url:url||this.constructor.DFEAULT.url,version:version||this.constructor.DEFAULT.version})}build(t){this.userAgent=`DiscordBot (${t.url}, ${t.version}) Node.js/${e.version}`}}s.DEFAULT={url:n.Package.homepage.split("#")[0],version:n.Package.version},t.exports=s}).call(e,i(20))},function(t,e,i){(function(e){const n="browser"===i(16).platform(),s=i(24).EventEmitter,o=i(0),r=i(4).convertToBuffer,a=i(42),c=i(100);let l,u,h=JSON.stringify;if(n)l=window.WebSocket;else{try{l=i(143)}catch(t){l=i(144)}try{u=i(142),h=u.pack}catch(t){u=null}}class p extends s{constructor(t){super(),this.client=t,this.packetManager=new c(this),this.status=o.Status.IDLE,this.sessionID=null,this.sequence=-1,this.gateway=null,this.normalReady=!1,this.ws=null,this.disabledEvents={};for(const e of t.options.disabledEvents)this.disabledEvents[e]=!0;this.first=!0,this.lastHeartbeatAck=!0}_connect(t){this.client.emit("debug",`Connecting to gateway ${t}`),this.normalReady=!1,this.status!==o.Status.RECONNECTING&&(this.status=o.Status.CONNECTING),this.ws=new l(t),n&&(this.ws.binaryType="arraybuffer"),this.ws.onopen=this.eventOpen.bind(this),this.ws.onmessage=this.eventMessage.bind(this),this.ws.onclose=this.eventClose.bind(this),this.ws.onerror=this.eventError.bind(this),this._queue=[],this._remaining=120,this.client.setInterval(()=>{this._remaining=120,this._remainingReset=Date.now()},6e4)}connect(t){t=`${t}&encoding=${u?"etf":"json"}`,this.first?(this._connect(t),this.first=!1):this.client.setTimeout(()=>this._connect(t),5500)}heartbeat(t){return t&&!this.lastHeartbeatAck?void this.ws.close(1007):(this.client.emit("debug","Sending heartbeat"),this.client._pingTimestamp=Date.now(),this.client.ws.send({op:o.OPCodes.HEARTBEAT,d:this.sequence},!0),void(this.lastHeartbeatAck=!1))}send(t,e=false){return e?void this._send(h(t)):(this._queue.push(h(t)),void this.doQueue())}destroy(){this.ws&&this.ws.close(1e3),this._queue=[],this.status=o.Status.IDLE}_send(t){this.ws.readyState===l.OPEN&&(this.emit("send",t),this.ws.send(t))}doQueue(){const t=this._queue[0];if(this.ws.readyState===l.OPEN&&t){if(0===this.remaining)return void this.client.setTimeout(this.doQueue.bind(this),Date.now()-this.remainingReset);this._remaining--,this._send(t),this._queue.shift(),this.doQueue()}}eventOpen(){this.client.emit("debug","Connection to gateway opened"),this.lastHeartbeatAck=!0,this.status===o.Status.RECONNECTING?this._sendResume():this._sendNewIdentify()}_sendResume(){if(!this.sessionID)return void this._sendNewIdentify();this.client.emit("debug","Identifying as resumed session");const t={token:this.client.token,session_id:this.sessionID,seq:this.sequence};this.send({op:o.OPCodes.RESUME,d:t})}_sendNewIdentify(){this.reconnecting=!1;const t=this.client.options.ws;t.token=this.client.token,this.client.options.shardCount>0&&(t.shard=[Number(this.client.options.shardId),Number(this.client.options.shardCount)]),this.client.emit("debug","Identifying as new session"),this.send({op:o.OPCodes.IDENTIFY,d:t}),this.sequence=-1}eventClose(t){this.emit("close",t),this.client.clearInterval(this.client.manager.heartbeatInterval),this.status=o.Status.DISCONNECTED,this._queue=[],this.reconnecting||this.client.emit(o.Events.DISCONNECT,t),[4004,4010,4011].includes(t.code)||this.reconnecting||1e3===t.code||this.tryReconnect()}eventMessage(t){const e=this.tryParseEventData(t.data);return null===e?(this.eventError(new Error(o.Errors.BAD_WS_MESSAGE)),!1):(this.client.emit("raw",e),e.op===o.OPCodes.HELLO&&this.client.manager.setupKeepAlive(e.d.heartbeat_interval),this.packetManager.handle(e))}parseEventData(t){return u?(t instanceof ArrayBuffer&&(t=r(t)),u.unpack(t)):((t instanceof e||t instanceof ArrayBuffer)&&(t=a.inflateSync(t).toString()),JSON.parse(t))}tryParseEventData(t){try{return this.parseEventData(t)}catch(t){return null}}eventError(t){this.client.listenerCount("error")>0&&this.client.emit("error",t),this.tryReconnect()}_emitReady(t=true){this.status=o.Status.READY,this.client.emit(o.Events.READY),this.packetManager.handleQueue(),this.normalReady=t}checkIfReady(){if(this.status!==o.Status.READY&&this.status!==o.Status.NEARLY){let t=0;for(const e of this.client.guilds.keys())t+=this.client.guilds.get(e).available?0:1;if(0===t){if(this.status=o.Status.NEARLY,this.client.options.fetchAllMembers){const t=this.client.guilds.map(t=>t.fetchMembers());return void Promise.all(t).then(()=>this._emitReady(),t=>{this.client.emit(o.Events.WARN,"Error in pre-ready guild member fetching"),this.client.emit(o.Events.ERROR,t),this._emitReady()})}this._emitReady()}}}tryReconnect(){this.status!==o.Status.RECONNECTING&&this.status!==o.Status.CONNECTING&&(this.status=o.Status.RECONNECTING,this.ws.close(),this.packetManager.handleQueue(),this.client.emit(o.Events.RECONNECTING),this.connect(this.client.ws.gateway))}}t.exports=p}).call(e,i(14).Buffer)},function(t,e,i){const n=i(0),s=[n.WSEvents.READY,n.WSEvents.GUILD_CREATE,n.WSEvents.GUILD_DELETE,n.WSEvents.GUILD_MEMBERS_CHUNK,n.WSEvents.GUILD_MEMBER_ADD,n.WSEvents.GUILD_MEMBER_REMOVE];class o{constructor(t){this.ws=t,this.handlers={},this.queue=[],this.register(n.WSEvents.READY,i(127)),this.register(n.WSEvents.GUILD_CREATE,i(107)),this.register(n.WSEvents.GUILD_DELETE,i(108)),this.register(n.WSEvents.GUILD_UPDATE,i(118)),this.register(n.WSEvents.GUILD_BAN_ADD,i(105)),this.register(n.WSEvents.GUILD_BAN_REMOVE,i(106)),this.register(n.WSEvents.GUILD_MEMBER_ADD,i(110)),this.register(n.WSEvents.GUILD_MEMBER_REMOVE,i(111)),this.register(n.WSEvents.GUILD_MEMBER_UPDATE,i(112)),this.register(n.WSEvents.GUILD_ROLE_CREATE,i(114)),this.register(n.WSEvents.GUILD_ROLE_DELETE,i(115)),this.register(n.WSEvents.GUILD_ROLE_UPDATE,i(116)),this.register(n.WSEvents.GUILD_EMOJIS_UPDATE,i(109)),this.register(n.WSEvents.GUILD_MEMBERS_CHUNK,i(113)),this.register(n.WSEvents.CHANNEL_CREATE,i(101)),this.register(n.WSEvents.CHANNEL_DELETE,i(102)),this.register(n.WSEvents.CHANNEL_UPDATE,i(104)),this.register(n.WSEvents.CHANNEL_PINS_UPDATE,i(103)),this.register(n.WSEvents.PRESENCE_UPDATE,i(126)),this.register(n.WSEvents.USER_UPDATE,i(132)),this.register(n.WSEvents.USER_NOTE_UPDATE,i(131)),this.register(n.WSEvents.VOICE_STATE_UPDATE,i(134)),this.register(n.WSEvents.TYPING_START,i(130)),this.register(n.WSEvents.MESSAGE_CREATE,i(119)),this.register(n.WSEvents.MESSAGE_DELETE,i(120)),this.register(n.WSEvents.MESSAGE_UPDATE,i(125)),this.register(n.WSEvents.MESSAGE_DELETE_BULK,i(121)),this.register(n.WSEvents.VOICE_SERVER_UPDATE,i(133)),this.register(n.WSEvents.GUILD_SYNC,i(117)),this.register(n.WSEvents.RELATIONSHIP_ADD,i(128)),this.register(n.WSEvents.RELATIONSHIP_REMOVE,i(129)),this.register(n.WSEvents.MESSAGE_REACTION_ADD,i(122)),this.register(n.WSEvents.MESSAGE_REACTION_REMOVE,i(123)),this.register(n.WSEvents.MESSAGE_REACTION_REMOVE_ALL,i(124))}get client(){return this.ws.client}register(t,e){this.handlers[t]=new e(this)}handleQueue(){this.queue.forEach((t,e)=>{this.handle(this.queue[e]),this.queue.splice(e,1)})}setSequence(t){t&&t>this.ws.sequence&&(this.ws.sequence=t)}handle(t){if(t.t===n.WSEvents.AUTH_SESSION_CHANGE){if(!t.d.new_token)return this.client.destroy(),!1;this.client.token=t.d.new_token,this.ws._sendResume()}return t.op===n.OPCodes.RECONNECT?(this.setSequence(t.s),this.ws.tryReconnect(),!1):t.op===n.OPCodes.INVALID_SESSION?(t.d?setTimeout(()=>{this.ws._sendResume()},2500):(this.ws.sessionID=null,this.ws._sendNewIdentify()),!1):(t.op===n.OPCodes.HEARTBEAT_ACK?(this.ws.client._pong(this.ws.client._pingTimestamp),this.ws.lastHeartbeatAck=!0,this.ws.client.emit("debug","Heartbeat acknowledged")):t.op===n.OPCodes.HEARTBEAT&&(this.client.ws.send({op:n.OPCodes.HEARTBEAT,d:this.client.ws.sequence}),this.ws.client.emit("debug","Received gateway heartbeat")),this.ws.status===n.Status.RECONNECTING&&(this.ws.reconnecting=!1,this.ws.checkIfReady()),this.setSequence(t.s),void 0===this.ws.disabledEvents[t.t]&&(this.ws.status!==n.Status.READY&&s.indexOf(t.t)===-1?(this.queue.push(t),!1):!!this.handlers[t.t]&&this.handlers[t.t].handle(t)))}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.ChannelCreate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.ChannelDelete.handle(i);n.channel&&e.emit(s.Events.CHANNEL_DELETE,n.channel)}}t.exports=o},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.channels.get(i.channel_id),o=new Date(i.last_pin_timestamp);n&&o&&e.emit(s.Events.CHANNEL_PINS_UPDATE,n,o)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.ChannelUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id),o=e.users.get(i.user.id);n&&o&&e.emit(s.Events.GUILD_BAN_ADD,n,o)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildBanRemove.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.id);n?n.available||i.unavailable||(n.setup(i),this.packetManager.ws.checkIfReady()):e.dataManager.newGuild(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.GuildDelete.handle(i);n.guild&&e.emit(s.Events.GUILD_DELETE,n.guild)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildEmojisUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);n&&(n.memberCount++,n._addMember(i))}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildMemberRemove.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);if(n){const t=n.members.get(i.user.id);t&&n._updateMember(t,i)}}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);if(n){const t=i.members.map(t=>n._addMember(t,!1));e.emit(s.Events.GUILD_MEMBERS_CHUNK,t,n),e.ws.lastHeartbeatAck=!0}}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildRoleCreate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildRoleDelete.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildRoleUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildSync.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.MessageCreate.handle(i);n.message&&e.emit(s.Events.MESSAGE_CREATE,n.message)}}t.exports=o},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.MessageDelete.handle(i);n.message&&e.emit(s.Events.MESSAGE_DELETE,n.message)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageDeleteBulk.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageReactionAdd.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageReactionRemove.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageReactionRemoveAll.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0),o=i(4);class r extends n{handle(t){const e=this.packetManager.client,i=t.d; +let n=e.users.get(i.user.id);const r=e.guilds.get(i.guild_id);if(!n){if(!i.user.username)return;n=e.dataManager.newUser(i.user)}const a=o.cloneObject(n);if(n.patch(i.user),n.equals(a)||e.emit(s.Events.USER_UPDATE,a,n),r){let t=r.members.get(n.id);if(t||"offline"===i.status||(t=r._addMember({user:n,roles:i.roles,deaf:!1,mute:!1},!1),e.emit(s.Events.GUILD_MEMBER_AVAILABLE,t)),t){if(0===e.listenerCount(s.Events.PRESENCE_UPDATE))return void r._setPresence(n.id,i);const a=o.cloneObject(t);t.presence&&(a.frozenPresence=o.cloneObject(t.presence)),r._setPresence(n.id,i),e.emit(s.Events.PRESENCE_UPDATE,a,t)}else r._setPresence(n.id,i)}}}t.exports=r},function(t,e,i){const n=i(1),s=i(29);class o extends n{handle(t){const e=this.packetManager.client,i=t.d;e.ws.heartbeat();const n=new s(e,i.user);n.settings=i.user_settings,e.user=n,e.readyAt=new Date,e.users.set(n.id,n);for(const o of i.guilds)e.dataManager.newGuild(o);for(const r of i.private_channels)e.dataManager.newChannel(r);for(const a of i.relationships){const t=e.dataManager.newUser(a.user);1===a.type?e.user.friends.set(t.id,t):2===a.type&&e.user.blocked.set(t.id,t)}i.presences=i.presences||[];for(const c of i.presences)e.dataManager.newUser(c.user),e._setPresence(c.user.id,c);if(i.notes)for(const l in i.notes){let t=i.notes[l];t.length||(t=null),e.user.notes.set(l,t)}!e.user.bot&&e.options.sync&&e.setInterval(e.syncGuilds.bind(e),3e4),e.once("ready",e.syncGuilds.bind(e)),e.users.has("1")||e.dataManager.newUser({id:"1",username:"Clyde",discriminator:"0000",avatar:"https://discordapp.com/assets/f78426a064bc9dd24847519259bc42af.png",bot:!0,status:"online",game:null,verified:!0}),e.setTimeout(()=>{e.ws.normalReady||e.ws._emitReady(!1)},1200*i.guilds.length),this.packetManager.ws.sessionID=i.session_id,this.packetManager.ws.checkIfReady()}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;1===i.type?e.fetchUser(i.id).then(t=>{e.user.friends.set(t.id,t)}):2===i.type&&e.fetchUser(i.id).then(t=>{e.user.blocked.set(t.id,t)})}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;2===i.type?e.user.blocked.has(i.id)&&e.user.blocked.delete(i.id):1===i.type&&e.user.friends.has(i.id)&&e.user.friends.delete(i.id)}}t.exports=s},function(t,e,i){function n(t,e){return t.client.setTimeout(()=>{t.client.emit(o.Events.TYPING_STOP,t,e,t._typing.get(e.id)),t._typing.delete(e.id)},6e3)}const s=i(1),o=i(0);class r extends s{handle(t){const e=this.packetManager.client,i=t.d,s=e.channels.get(i.channel_id),r=e.users.get(i.user_id),c=new Date(1e3*i.timestamp);if(s&&r){if("voice"===s.type)return void e.emit(o.Events.WARN,`Discord sent a typing packet to voice channel ${s.id}`);if(s._typing.has(r.id)){const t=s._typing.get(r.id);t.lastTimestamp=c,t.resetTimeout(n(s,r))}else s._typing.set(r.id,new a(e,c,c,n(s,r))),e.emit(o.Events.TYPING_START,s,r)}}}class a{constructor(t,e,i,n){this.client=t,this.since=e,this.lastTimestamp=i,this._timeout=n}resetTimeout(t){this.client.clearTimeout(this._timeout),this._timeout=t}get elapsedTime(){return Date.now()-this.since}}t.exports=r},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.UserNoteUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.UserUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.emit("self.voiceServer",i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0),o=i(4);class r extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);if(n){const t=n.members.get(i.user_id);if(t){const n=o.cloneObject(t);t.voiceChannel&&t.voiceChannel.id!==i.channel_id&&t.voiceChannel.members.delete(n.id),i.channel_id||(t.speaking=null),t.user.id===e.user.id&&i.channel_id&&e.emit("self.voiceStateUpdate",i);const r=e.channels.get(i.channel_id);r&&r.members.set(t.user.id,t),t.serverMute=i.mute,t.serverDeaf=i.deaf,t.selfMute=i.self_mute,t.selfDeaf=i.self_deaf,t.voiceSessionID=i.session_id,t.voiceChannelID=i.channel_id,e.emit(s.Events.VOICE_STATE_UPDATE,n,t)}}}}t.exports=r},function(t,e){class i{constructor(t,e){this.user=t,this.setup(e)}setup(t){this.type=t.type,this.name=t.name,this.id=t.id,this.revoked=t.revoked,this.integrations=t.integrations}}t.exports=i},function(t,e,i){const n=i(3),s=i(135);class o{constructor(t,e){this.user=t,Object.defineProperty(this,"client",{value:t.client}),this.mutualGuilds=new n,this.connections=new n,this.setup(e)}setup(t){this.premium=t.premium,this.premiumSince=t.premium_since?new Date(t.premium_since):null;for(const e of t.mutual_guilds)this.client.guilds.has(e.id)&&this.mutualGuilds.set(e.id,this.client.guilds.get(e.id));for(const i of t.connected_accounts)this.connections.set(i.id,new s(this.user,i))}}t.exports=o},function(t,e){class i{constructor(t){this.id=t.id,this.name=t.name,this.vip=t.vip,this.deprecated=t.deprecated,this.optimal=t.optimal,this.custom=t.custom,this.sampleHostname=t.sample_hostname}}t.exports=i},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e,i){const n=i(4);t.exports={Client:i(45),Shard:i(48),ShardClientUtil:i(49),ShardingManager:i(50),WebhookClient:i(46),Collection:i(3),Constants:i(0),EvaluatedPermissions:i(6),Permissions:i(6),Snowflake:i(5),SnowflakeUtil:i(5),Util:n,util:n,version:i(28).version,escapeMarkdown:n.escapeMarkdown,fetchRecommendedShards:n.fetchRecommendedShards,splitMessage:n.splitMessage,Channel:i(8),ClientUser:i(29),DMChannel:i(30),Emoji:i(12),Game:i(7).Game,GroupDMChannel:i(21),Guild:i(17),GuildChannel:i(18),GuildMember:i(13),Invite:i(31),Message:i(9),MessageAttachment:i(32),MessageCollector:i(33),MessageEmbed:i(34),MessageReaction:i(35),OAuth2Application:i(36),PartialGuild:i(37),PartialGuildChannel:i(38),PermissionOverwrites:i(39),Presence:i(7).Presence,ReactionEmoji:i(22),RichEmbed:i(47),Role:i(10),TextChannel:i(40),User:i(11),VoiceChannel:i(41),Webhook:i(23)},"browser"===i(16).platform()&&(window.Discord=t.exports)}]); \ No newline at end of file