diff --git a/discord.master.js b/discord.master.js index 150385ae..c848a4f3 100644 --- a/discord.master.js +++ b/discord.master.js @@ -11615,7 +11615,8 @@ module.exports = { "node-opus": "^0.2.5", "opusscript": "^0.0.3", "sodium": "^2.0.1", - "uws": "^0.14.1" + "uws": "^0.14.1", + "libsodium-wrappers": "^0.5.1" }, "devDependencies": { "discord.js-docgen": "hydrabolt/discord.js-docgen", diff --git a/discord.master.min.js b/discord.master.min.js index 7046322a..4eb6a28d 100644 --- a/discord.master.min.js +++ b/discord.master.min.js @@ -8,10 +8,10 @@ var X=n(72),Z=n(75),Q=n(55);t.Buffer=o,t.SlowBuffer=g,t.INSPECT_MAX_BYTES=50,o.T }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,e=>{const t=e.replace(/<|!|>|@/g,"");if("dm"===this.channel.type||"group"===this.channel.type)return this.client.users.has(t)?`@${this.client.users.get(t).username}`:e;const n=this.channel.guild.members.get(t);if(n)return n.nickname?`@${n.nickname}`:`@${n.user.username}`;{const n=this.client.users.get(t);return n?`@${n.username}`:e}}).replace(/<#[0-9]+>/g,e=>{const t=this.client.channels.get(e.replace(/<|#|>/g,""));return t?`#${t.name}`:e}).replace(/<@&[0-9]+>/g,e=>{if("dm"===this.channel.type||"group"===this.channel.type)return e;const t=this.guild.roles.get(e.replace(/<|@|>|&/g,""));return t?`@${t.name}`:e})}get edits(){const e=this._edits.slice();return e.unshift(this),e}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(h.FLAGS.MANAGE_MESSAGES)}get pinnable(){return!this.guild||this.channel.permissionsFor(this.client.user).hasPermission(h.FLAGS.MANAGE_MESSAGES)}isMentioned(e){return e=e&&e.id?e.id:e,this.mentions.users.has(e)||this.mentions.channels.has(e)||this.mentions.roles.has(e)}isMemberMentioned(e){return l||(l=n(18)),!!this.mentions.everyone||(!!this.mentions.users.has(e.id)||!!(e instanceof l&&e.roles.some(e=>this.mentions.roles.has(e.id))))}edit(e,t){return t||"object"!=typeof e||e instanceof Array?t||(t={}):(t=e,e=""),this.client.rest.methods.updateMessage(this,e,t)}editCode(e,t){return t=a.escapeMarkdown(this.client.resolver.resolveString(t),!0),this.edit(`\`\`\`${e||""} ${t} \`\`\``)}pin(){return this.client.rest.methods.pinMessage(this)}unpin(){return this.client.rest.methods.unpinMessage(this)}react(e){if(e=this.client.resolver.resolveEmojiIdentifier(e),!e)throw new TypeError("Emoji must be a string or Emoji/ReactionEmoji");return this.client.rest.methods.addMessageReaction(this,e)}clearReactions(){return this.client.rest.methods.removeMessageReactions(this)}delete(e=0){return e<=0?this.client.rest.methods.deleteMessage(this):new Promise(t=>{this.client.setTimeout(()=>{t(this.delete())},e)})}reply(e,t){return t||"object"!=typeof e||e instanceof Array?t||(t={}):(t=e,e=""),this.channel.send(e,Object.assign(t,{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(e,t){if(!e)return!1;const n=!e.author&&!e.attachments;if(n)return this.id===e.id&&this.embeds.length===e.embeds.length;let i=this.id===e.id&&this.author.id===e.author.id&&this.content===e.content&&this.tts===e.tts&&this.nonce===e.nonce&&this.embeds.length===e.embeds.length&&this.attachments.length===e.attachments.length;return i&&t&&(i=this.mentions.everyone===e.mentions.everyone&&this.createdTimestamp===new Date(t.timestamp).getTime()&&this.editedTimestamp===new Date(t.edited_timestamp).getTime()),i}toString(){return this.content}_addReaction(e,t){const n=e.id?`${e.name}:${e.id}`:encodeURIComponent(e.name);let i;return this.reactions.has(n)?(i=this.reactions.get(n),i.me||(i.me=t.id===this.client.user.id)):(i=new o(this,e,0,t.id===this.client.user.id),this.reactions.set(n,i)),i.users.has(t.id)||i.users.set(t.id,t),i.count++,i}_removeReaction(e,t){const n=e.id?`${e.name}:${e.id}`:encodeURIComponent(e.name);if(this.reactions.has(n)){const e=this.reactions.get(n);if(e.users.has(t.id))return e.users.delete(t.id),e.count--,t.id===this.client.user.id&&(e.me=!1),e.count<=0&&this.reactions.delete(n),e}return null}_clearReactions(){this.reactions.clear()}}e.exports=f},function(e,t,n){(function(e){function n(e){return Array.isArray?Array.isArray(e):"[object Array]"===g(e)}function i(e){return"boolean"==typeof e}function s(e){return null===e}function r(e){return null==e}function o(e){return"number"==typeof e}function a(e){return"string"==typeof e}function u(e){return"symbol"==typeof e}function c(e){return void 0===e}function h(e){return"[object RegExp]"===g(e)}function l(e){return"object"==typeof e&&null!==e}function f(e){return"[object Date]"===g(e)}function d(e){return"[object Error]"===g(e)||e instanceof Error}function p(e){return"function"==typeof e}function m(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function g(e){return Object.prototype.toString.call(e)}t.isArray=n,t.isBoolean=i,t.isNull=s,t.isNullOrUndefined=r,t.isNumber=o,t.isString=a,t.isSymbol=u,t.isUndefined=c,t.isRegExp=h,t.isObject=l,t.isDate=f,t.isError=d,t.isFunction=p,t.isPrimitive=m,t.isBuffer=e.isBuffer}).call(t,n(5).Buffer)},function(e,t,n){function i(){s.call(this)}e.exports=i;var s=n(10).EventEmitter,r=n(11);r(i,s),i.Readable=n(36),i.Writable=n(83),i.Duplex=n(79),i.Transform=n(82),i.PassThrough=n(81),i.Stream=i,i.prototype.pipe=function(e,t){function n(t){e.writable&&!1===e.write(t)&&c.pause&&c.pause()}function i(){c.readable&&c.resume&&c.resume()}function r(){h||(h=!0,e.end())}function o(){h||(h=!0,"function"==typeof e.destroy&&e.destroy())}function a(e){if(u(),0===s.listenerCount(this,"error"))throw e}function u(){c.removeListener("data",n),e.removeListener("drain",i),c.removeListener("end",r),c.removeListener("close",o),c.removeListener("error",a),e.removeListener("error",a),c.removeListener("end",u),c.removeListener("close",u),e.removeListener("close",u)}var c=this;c.on("data",n),e.on("drain",i),e._isStdio||t&&t.end===!1||(c.on("end",r),c.on("close",o));var h=!1;return c.on("error",a),e.on("error",a),c.on("end",u),c.on("close",u),e.on("close",u),e.emit("pipe",c),e}},function(e,t,n){const i=n(32),s=n(19),r=n(45),o=n(3);class a{constructor(){this.messages=new o,this.lastMessageID=null,this.lastMessage=null}send(e,t){if(t||"object"!=typeof e||e instanceof Array?t||(t={}):(t=e,e=""),t.embed&&t.embed.file&&(t.file=t.embed.file),t.file&&(t.files?t.files.push(t.file):t.files=[t.file]),t.files){for(const n in t.files){let e=t.files[n];"string"==typeof e&&(e={attachment:e}),e.name||("string"==typeof e.attachment?e.name=i.basename(e.attachment):e.attachment&&e.attachment.path?e.name=i.basename(e.attachment.path):e.name="file.jpg"),t.files[n]=e}return Promise.all(t.files.map(e=>this.client.resolver.resolveBuffer(e.attachment).then(t=>{return e.file=t,e}))).then(n=>this.client.rest.methods.sendMessage(this,e,t,n))}return this.client.rest.methods.sendMessage(this,e,t)}sendMessage(e,t){return this.send(e,t)}sendEmbed(e,t,n){return n||"object"!=typeof t||t instanceof Array?n||(n={}):(n=t,t=""),this.send(t,Object.assign(n,{embed:e}))}sendFiles(e,t,n={}){return this.send(t,Object.assign(n,{files:e}))}sendFile(e,t,n,i={}){return this.sendFiles([{attachment:e,name:t}],n,i)}sendCode(e,t,n={}){return this.send(t,Object.assign(n,{code:e}))}fetchMessage(e){return this.client.user.bot?this.client.rest.methods.getChannelMessage(this,e).then(e=>{const t=e instanceof s?e:new s(this,e,this.client);return this._cacheMessage(t),t}):this.fetchMessages({limit:1,around:e}).then(t=>{const n=t.first();if(n.id!==e)throw new Error("Message not found.");return n})}fetchMessages(e={}){return this.client.rest.methods.getChannelMessages(this,e).then(e=>{const t=new o;for(const n of e){const e=new s(this,n,this.client);t.set(n.id,e),this._cacheMessage(e)}return t})}fetchPinnedMessages(){return this.client.rest.methods.getChannelPinnedMessages(this).then(e=>{const t=new o;for(const n of e){const e=new s(this,n,this.client);t.set(n.id,e),this._cacheMessage(e)}return t})}search(e){return this.client.rest.methods.search(this,e)}startTyping(e){if("undefined"!=typeof e&&e<1)throw new RangeError("Count must be at least 1.");if(this.client.user._typing.has(this.id)){const t=this.client.user._typing.get(this.id);t.count=e||t.count+1}else this.client.user._typing.set(this.id,{count:e||1,interval:this.client.setInterval(()=>{this.client.rest.methods.sendTyping(this.id)},9e3)}),this.client.rest.methods.sendTyping(this.id)}stopTyping(e=false){if(this.client.user._typing.has(this.id)){const t=this.client.user._typing.get(this.id);t.count--,(t.count<=0||e)&&(this.client.clearInterval(t.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(e,t={}){return new r(this,e,t)}awaitMessages(e,t={}){return new Promise((n,i)=>{const s=this.createCollector(e,t);s.on("end",(e,s)=>{t.errors&&t.errors.includes(s)?i(e):n(e)})})}bulkDelete(e,t=false){if(!isNaN(e))return this.fetchMessages({limit:e}).then(e=>this.bulkDelete(e,t));if(e instanceof Array||e instanceof o){const n=e instanceof o?e.keyArray():e.map(e=>e.id);return this.client.rest.methods.bulkDeleteMessages(this,n,t)}throw new TypeError("The messages must be an Array, Collection, or number.")}acknowledge(){return this.client.rest.methods.ackTextMessage(this)}_cacheMessage(e){const t=this.client.options.messageCacheMaxSize;return 0===t?null:(this.messages.size>=t&&t>0&&this.messages.delete(this.messages.firstKey()),this.messages.set(e.id,e),e)}}t.applyToClass=((e,t=false,n=[])=>{const i=["send","sendMessage","sendEmbed","sendFile","sendFiles","sendCode"];t&&i.push("_cacheMessage","fetchMessages","fetchMessage","search","bulkDelete","startTyping","stopTyping","typing","typingCount","fetchPinnedMessages","createCollector","awaitMessages");for(const s of i)n.includes(s)||Object.defineProperty(e.prototype,s,Object.getOwnPropertyDescriptor(a.prototype,s))})},function(e,t){t.endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n"},function(e,t,n){const i=n(31),s=n(16),r=n(15),o=n(17),a=n(12).Presence,u=n(18),c=n(0),h=n(3),l=n(4),f=n(7);class d{constructor(e,t){Object.defineProperty(this,"client",{value:e}),this.members=new h,this.channels=new h,this.roles=new h,this.presences=new h,t&&(t.unavailable?(this.available=!1,this.id=t.id):(this.available=!0,this.setup(t)))}setup(e){if(this.name=e.name,this.icon=e.icon,this.splash=e.splash,this.region=e.region,this.memberCount=e.member_count||this.memberCount,this.large=Boolean("large"in e?e.large:this.large),this.features=e.features,this.applicationID=e.application_id,this.afkTimeout=e.afk_timeout,this.afkChannelID=e.afk_channel_id,this.embedEnabled=e.embed_enabled,this.verificationLevel=e.verification_level,this.explicitContentFilter=e.explicit_content_filter,this.joinedTimestamp=e.joined_at?new Date(e.joined_at).getTime():this.joinedTimestamp,this.id=e.id,this.available=!e.unavailable,this.features=e.features||this.features||[],e.members){this.members.clear();for(const t of e.members)this._addMember(t,!1)}if(e.owner_id&&(this.ownerID=e.owner_id),e.channels){this.channels.clear();for(const t of e.channels)this.client.dataManager.newChannel(t,this)}if(e.roles){this.roles.clear();for(const t of e.roles){const e=new r(this,t);this.roles.set(e.id,e)}}if(e.presences)for(const t of e.presences)this._setPresence(t.user.id,t);if(this._rawVoiceStates=new h,e.voice_states)for(const n of e.voice_states){this._rawVoiceStates.set(n.user_id,n);const e=this.members.get(n.user_id);e&&(e.serverMute=n.mute,e.serverDeaf=n.deaf,e.selfMute=n.self_mute,e.selfDeaf=n.self_deaf,e.voiceSessionID=n.session_id,e.voiceChannelID=n.channel_id,this.channels.get(n.channel_id).members.set(e.user.id,e))}if(this.emojis)this.client.actions.GuildEmojisUpdate.handle({guild_id:this.id,emojis:e.emojis});else{this.emojis=new h;for(const t of e.emojis)this.emojis.set(t.id,new o(this,t))}}get createdTimestamp(){return f.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}get joinedAt(){return new Date(this.joinedTimestamp)}get iconURL(){return this.icon?c.Endpoints.Guild(this).Icon(this.client.options.http.cdn,this.icon):null}get splashURL(){return this.splash?c.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 position(){return this.client.user.bot?null:this.client.user.settings.guildPositions?this.client.user.settings.guildPositions.indexOf(this.id):null}get defaultRole(){return this.roles.get(this.id)}get _sortedRoles(){return this._sortPositionWithID(this.roles)}member(e){return this.client.resolver.resolveGuildMember(this,e)}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(e,t){return this.members.has(e.id)?Promise.resolve(this.members.get(e.id)):this.client.rest.methods.putGuildMember(this,e,t)}fetchMember(e,t=true){return e=this.client.resolver.resolveUser(e),e?this.members.has(e.id)?Promise.resolve(this.members.get(e.id)):this.client.rest.methods.getGuildMember(this,e,t):Promise.reject(new Error("User is not cached. Use Client.fetchUser first."))}fetchMembers(e="",t=0){return new Promise((n,i)=>{if(this.memberCount===this.members.size)return void n(this);this.client.ws.send({op:c.OPCodes.REQUEST_GUILD_MEMBERS,d:{guild_id:this.id,query:e,limit:t}});const s=(e,t)=>{t.id===this.id&&(this.memberCount===this.members.size||e.length<1e3)&&(this.client.removeListener(c.Events.GUILD_MEMBERS_CHUNK,s),n(this))};this.client.on(c.Events.GUILD_MEMBERS_CHUNK,s),this.client.setTimeout(()=>i(new Error("Members didn't arrive in time.")),12e4)})}search(e){return this.client.rest.methods.search(this,e)}edit(e){return this.client.rest.methods.updateGuild(this,e)}setName(e){return this.edit({name:e})}setRegion(e){return this.edit({region:e})}setVerificationLevel(e){return this.edit({verificationLevel:e})}setAFKChannel(e){return this.edit({afkChannel:e})}setAFKTimeout(e){return this.edit({afkTimeout:e})}setIcon(e){return this.edit({icon:e})}setOwner(e){return this.edit({owner:e})}setSplash(e){return this.edit({splash:e})}ban(e,t=0){return this.client.rest.methods.banGuildMember(this,e,t)}unban(e){return this.client.rest.methods.unbanGuildMember(this,e)}pruneMembers(e,t=false){if("number"!=typeof e)throw new TypeError("Days must be a number.");return this.client.rest.methods.pruneGuildMembers(this,e,t)}sync(){this.client.user.bot||this.client.syncGuilds([this])}createChannel(e,t,n){return this.client.rest.methods.createChannel(this,e,t,n)}setChannelPositions(e){return this.client.rest.methods.updateChannelPositions(this.id,e)}createRole(e={}){return this.client.rest.methods.createGuildRole(this,e)}createEmoji(e,t,n){return new Promise(i=>{"string"==typeof e&&e.startsWith("data:")?i(this.client.rest.methods.createEmoji(this,e,t,n)):this.client.resolver.resolveBuffer(e).then(e=>{const s=this.client.resolver.resolveBase64(e);i(this.client.rest.methods.createEmoji(this,s,t,n))})})}deleteEmoji(e){return e instanceof o||(e=this.emojis.get(e)),this.client.rest.methods.deleteEmoji(e)}leave(){return this.client.rest.methods.leaveGuild(this)}delete(){return this.client.rest.methods.deleteGuild(this)}acknowledge(){return this.client.rest.methods.ackGuild(this)}setPosition(e,t){return this.client.user.bot?Promise.reject(new Error("Setting guild position is only available for user accounts")):this.client.user.settings.setGuildPosition(this,e,t)}allowDMs(e){const t=this.client.user.settings;return e?t.removeRestrictedGuild(this):t.addRestrictedGuild(this)}equals(e){let t=e&&this.id===e.id&&this.available===!e.unavailable&&this.splash===e.splash&&this.region===e.region&&this.name===e.name&&this.memberCount===e.member_count&&this.large===e.large&&this.icon===e.icon&&l.arraysEqual(this.features,e.features)&&this.ownerID===e.owner_id&&this.verificationLevel===e.verification_level&&this.embedEnabled===e.embed_enabled;return t&&(this.embedChannel?this.embedChannel.id!==e.embed_channel_id&&(t=!1):e.embed_channel_id&&(t=!1)),t}toString(){return this.name}_addMember(e,t=true){const n=this.members.has(e.user.id);e.user instanceof s||(e.user=this.client.dataManager.newUser(e.user)),e.joined_at=e.joined_at||0;const i=new u(this,e);if(this.members.set(i.id,i),this._rawVoiceStates&&this._rawVoiceStates.has(i.user.id)){const e=this._rawVoiceStates.get(i.user.id);i.serverMute=e.mute,i.serverDeaf=e.deaf,i.selfMute=e.self_mute,i.selfDeaf=e.self_deaf,i.voiceSessionID=e.session_id,i.voiceChannelID=e.channel_id,this.client.channels.has(e.channel_id)?this.client.channels.get(e.channel_id).members.set(i.user.id,i):this.client.emit("warn",`Member ${i.id} added in guild ${this.id} with an uncached voice channel`)}return this.client.ws.status===c.Status.READY&&t&&!n&&this.client.emit(c.Events.GUILD_MEMBER_ADD,i),i}_updateMember(e,t){const n=l.cloneObject(e);t.roles&&(e._roles=t.roles),"undefined"!=typeof t.nick&&(e.nickname=t.nick);const i=e.nickname!==n.nickname||!l.arraysEqual(e._roles,n._roles);return this.client.ws.status===c.Status.READY&&i&&this.client.emit(c.Events.GUILD_MEMBER_UPDATE,n,e),{old:n,mem:e}}_removeMember(e){this.members.delete(e.id)}_memberSpeakUpdate(e,t){const n=this.members.get(e);n&&n.speaking!==t&&(n.speaking=t,this.client.emit(c.Events.GUILD_MEMBER_SPEAKING,n,t))}_setPresence(e,t){return this.presences.get(e)?void this.presences.get(e).update(t):void this.presences.set(e,new a(t))}setRolePosition(e,t,n=false){if("string"==typeof e&&(e=this.roles.get(e),!e))return Promise.reject(new Error("Supplied role is not a role or snowflake."));if(t=Number(t),isNaN(t))return Promise.reject(new Error("Supplied position is not a number."));let i=this._sortedRoles.array();return l.moveElementInArray(i,e,t,n),i=i.map((e,t)=>({id:e.id,position:t})),this.client.rest.methods.setRolePositions(this.id,i)}setChannelPosition(e,t,n=false){if("string"==typeof e&&(e=this.channels.get(e),!e))return Promise.reject(new Error("Supplied channel is not a channel or snowflake."));if(t=Number(t),isNaN(t))return Promise.reject(new Error("Supplied position is not a number."));let i=this._sortedChannels(e.type).array();return l.moveElementInArray(i,e,t,n),i=i.map((e,t)=>({id:e.id,position:t})),this.client.rest.methods.setChannelPositions(this.id,i)}_sortedChannels(e){return this._sortPositionWithID(this.channels.filter(t=>{return"voice"===e&&"voice"===t.type||("voice"!==e&&"voice"!==t.type||e===t.type)}))}_sortPositionWithID(e){return e.sort((e,t)=>e.position!==t.position?e.position-t.position:i.fromString(e.id).sub(i.fromString(t.id)).toNumber())}}e.exports=d},function(e,t,n){const i=n(14),s=n(15),r=n(52),o=n(8),a=n(3);class u extends i{constructor(e,t){super(e.client,t),this.guild=e}setup(e){if(super.setup(e),this.name=e.name,this.position=e.position,this.permissionOverwrites=new a,e.permission_overwrites)for(const t of e.permission_overwrites)this.permissionOverwrites.set(t.id,new r(this,t))}get calculatedPosition(){const e=this.guild._sortedChannels(this.type);return e.array().indexOf(e.get(this.id))}permissionsFor(e){if(e=this.client.resolver.resolveGuildMember(this.guild,e),!e)return null;if(e.id===this.guild.ownerID)return new o(e,o.ALL);let t=0;const n=e.roles;for(const i of n.values())t|=i.permissions;const s=this.overwritesFor(e,!0,n);s.everyone&&(t&=~s.everyone.deny,t|=s.everyone.allow);let r=0;for(const a of s.roles)t&=~a.deny,r|=a.allow;t|=r,s.member&&(t&=~s.member.deny,t|=s.member.allow);const u=Boolean(t&o.FLAGS.ADMINISTRATOR);return u&&(t=o.ALL),new o(e,t)}overwritesFor(e,t=false,n=null){if(t||(e=this.client.resolver.resolveGuildMember(this.guild,e)),!e)return[];n=n||e.roles;const i=[];let s,r;for(const o of this.permissionOverwrites.values())o.id===this.guild.id?r=o:n.has(o.id)?i.push(o):o.id===e.id&&(s=o);return{everyone:r,roles:i,member:s}}overwritePermissions(e,t){const n={allow:0,deny:0};if(e instanceof s)n.type="role";else if(this.guild.roles.has(e))e=this.guild.roles.get(e),n.type="role";else if(e=this.client.resolver.resolveUser(e),n.type="member",!e)return Promise.reject(new TypeError("Supplied parameter was neither a User nor a Role."));n.id=e.id;const i=this.permissionOverwrites.get(e.id);i&&(n.allow=i.allow,n.deny=i.deny);for(const r in t)t[r]===!0?(n.allow|=o.FLAGS[r]||0,n.deny&=~(o.FLAGS[r]||0)):t[r]===!1?(n.allow&=~(o.FLAGS[r]||0),n.deny|=o.FLAGS[r]||0):null===t[r]&&(n.allow&=~(o.FLAGS[r]||0),n.deny&=~(o.FLAGS[r]||0));return this.client.rest.methods.setChannelOverwrite(this,n)}edit(e){return this.client.rest.methods.updateChannel(this,e)}setName(e){return this.edit({name:e})}setPosition(e,t){return this.guild.setChannelPosition(this,e,t).then(()=>this)}setTopic(e){return this.client.rest.methods.updateChannel(this,{topic:e})}createInvite(e={}){return this.client.rest.methods.createChannelInvite(this,e)}clone(e=this.name,t=true,n=true){return this.guild.createChannel(e,this.type,t?this.permissionOverwrites:[]).then(e=>n?e.setTopic(this.topic):e)}equals(e){let t=e&&this.id===e.id&&this.type===e.type&&this.topic===e.topic&&this.position===e.position&&this.name===e.name;return t&&(t=this.permissionOverwrites&&e.permissionOverwrites?this.permissionOverwrites.equals(e.permissionOverwrites):!this.permissionOverwrites&&!e.permissionOverwrites),t}get deletable(){return this.id!==this.guild.id&&this.permissionsFor(this.client.user).hasPermission(o.FLAGS.MANAGE_CHANNELS)}toString(){return`<#${this.id}>`}}e.exports=u},function(e,t){},function(e,t,n){const i=n(14),s=n(22),r=n(3);class o extends i{constructor(e,t){super(e,t),this.type="group",this.messages=new r,this._typing=new Map}setup(e){if(super.setup(e),this.name=e.name,this.icon=e.icon,this.ownerID=e.owner_id,this.managed=e.managed,this.applicationID=e.application_id,e.nicks&&(this.nicks=new r(e.nicks.map(e=>[e.id,e.nick]))),this.recipients||(this.recipients=new r),e.recipients)for(const t of e.recipients){const e=this.client.dataManager.newUser(t);this.recipients.set(e.id,e)}this.lastMessageID=e.last_message_id}get owner(){return this.client.users.get(this.ownerID)}equals(e){const t=e&&this.id===e.id&&this.name===e.name&&this.icon===e.icon&&this.ownerID===e.ownerID;return t?this.recipients.equals(e.recipients):t}addUser(e,t){return this.client.rest.methods.addUserToGroupDM(this,{nick:t,id:this.client.resolver.resolveUserID(e),accessToken:e})}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(o,!0,["bulkDelete"]),e.exports=o},function(e,t){class n{constructor(e,t,n){this.reaction=e,this.name=t,this.id=n}get identifier(){return this.id?`${this.name}:${this.id}`:encodeURIComponent(this.name)}toString(){return this.id?`<:${this.name}:${this.id}>`:this.name}}e.exports=n},function(e,t,n){const i=n(32);class s{constructor(e,t,n){e?(Object.defineProperty(this,"client",{value:e}),t&&this.setup(t)):(this.id=t,this.token=n,Object.defineProperty(this,"client",{value:this}))}setup(e){this.name=e.name,this.token=e.token,this.avatar=e.avatar,this.id=e.id,this.guildID=e.guild_id,this.channelID=e.channel_id,e.user?this.owner=this.client.users?this.client.users.get(e.user.id):e.user:this.owner=null}send(e,t){return t||"object"!=typeof e||e instanceof Array?t||(t={}):(t=e,e=""),t.file?("string"==typeof t.file&&(t.file={attachment:t.file}),t.file.name||("string"==typeof t.file.attachment?t.file.name=i.basename(t.file.attachment):t.file.attachment&&t.file.attachment.path?t.file.name=i.basename(t.file.attachment.path):t.file.name="file.jpg"),this.client.resolver.resolveBuffer(t.file.attachment).then(n=>this.client.rest.methods.sendWebhookMessage(this,e,t,{file:n,name:t.file.name}))):this.client.rest.methods.sendWebhookMessage(this,e,t)}sendMessage(e,t={}){return this.send(e,t)}sendFile(e,t,n,i={}){return this.send(n,Object.assign(i,{file:{attachment:e,name:t}}))}sendCode(e,t,n={}){return this.send(t,Object.assign(n,{code:e}))}sendSlackMessage(e){return this.client.rest.methods.sendSlackWebhookMessage(this,e)}edit(e=this.name,t){return t?this.client.resolver.resolveBuffer(t).then(t=>{const n=this.client.resolver.resolveBase64(t);return this.client.rest.methods.editWebhook(this,e,n)}):this.client.rest.methods.editWebhook(this,e).then(e=>{return this.setup(e),this})}delete(){return this.client.rest.methods.deleteWebhook(this)}}e.exports=s},function(e,t,n){"use strict";(function(e){var i=n(5),s=i.Buffer,r=i.SlowBuffer,o=i.kMaxLength||2147483647;t.alloc=function(e,t,n){if("function"==typeof s.alloc)return s.alloc(e,t,n);if("number"==typeof n)throw new TypeError("encoding must not be number");if("number"!=typeof e)throw new TypeError("size must be a number");if(e>o)throw new RangeError("size is too large");var i=n,r=t;void 0===r&&(i=void 0,r=0);var a=new s(e);if("string"==typeof r)for(var u=new s(r,i),c=u.length,h=-1;++ho)throw new RangeError("size is too large");return new s(e)},t.from=function(t,n,i){if("function"==typeof s.from&&(!e.Uint8Array||Uint8Array.from!==s.from))return s.from(t,n,i);if("number"==typeof t)throw new TypeError('"value" argument must not be a number');if("string"==typeof t)return new s(t,n);if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer){var r=n;if(1===arguments.length)return new s(t);"undefined"==typeof r&&(r=0);var o=i;if("undefined"==typeof o&&(o=t.byteLength-r),r>=t.byteLength)throw new RangeError("'offset' is out of bounds");if(o>t.byteLength-r)throw new RangeError("'length' is out of bounds");return new s(t.slice(r,r+o))}if(s.isBuffer(t)){var a=new s(t.length);return t.copy(a,0,0,t.length),a}if(t){if(Array.isArray(t)||"undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return new s(t);if("Buffer"===t.type&&Array.isArray(t.data))return new s(t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")},t.allocUnsafeSlow=function(e){if("function"==typeof s.allocUnsafeSlow)return s.allocUnsafeSlow(e);if("number"!=typeof e)throw new TypeError("size must be a number");if(e>=o)throw new RangeError("size is too large");return new r(e)}}).call(t,n(9))},function(e,t,n){var i,s,r;!function(n,o){s=[],i=o,r="function"==typeof i?i.apply(t,s):i,!(void 0!==r&&(e.exports=r))}(this,function(){"use strict";function e(e,t,n){this.low=0|e,this.high=0|t,this.unsigned=!!n}function t(e){return(e&&e.__isLong__)===!0}function n(e,t){var n,i,r;return t?(e>>>=0,(r=0<=e&&e<256)&&(i=u[e])?i:(n=s(e,(0|e)<0?-1:0,!0),r&&(u[e]=n),n)):(e|=0,(r=-128<=e&&e<128)&&(i=a[e])?i:(n=s(e,e<0?-1:0,!1),r&&(a[e]=n),n))}function i(e,t){if(isNaN(e)||!isFinite(e))return t?m:p;if(t){if(e<0)return m;if(e>=l)return b}else{if(e<=-f)return y;if(e+1>=f)return _}return e<0?i(-e,t).neg():s(e%4294967296|0,e/4294967296|0,t)}function s(t,n,i){return new e(t,n,i)}function r(e,t,n){if(0===e.length)throw Error("empty string");if("NaN"===e||"Infinity"===e||"+Infinity"===e||"-Infinity"===e)return p;if("number"==typeof t?(n=t,t=!1):t=!!t,n=n||10,n<2||360)throw Error("interior hyphen");if(0===s)return r(e.substring(1),t,n).neg();for(var o=i(c(n,8)),a=p,u=0;u>>0:this.low},w.toNumber=function(){return this.unsigned?4294967296*(this.high>>>0)+(this.low>>>0):4294967296*this.high+(this.low>>>0)},w.toString=function(e){if(e=e||10,e<2||36>>0,l=h.toString(e);if(o=u,o.isZero())return l+a;for(;l.length<6;)l="0"+l;a=""+l+a}},w.getHighBits=function(){return this.high},w.getHighBitsUnsigned=function(){return this.high>>>0},w.getLowBits=function(){return this.low},w.getLowBitsUnsigned=function(){return this.low>>>0},w.getNumBitsAbs=function(){if(this.isNegative())return this.eq(y)?64:this.neg().getNumBitsAbs();for(var e=0!=this.high?this.high:this.low,t=31;t>0&&0==(e&1<=0},w.isOdd=function(){return 1===(1&this.low)},w.isEven=function(){return 0===(1&this.low)},w.equals=function(e){return t(e)||(e=o(e)),(this.unsigned===e.unsigned||this.high>>>31!==1||e.high>>>31!==1)&&(this.high===e.high&&this.low===e.low)},w.eq=w.equals,w.notEquals=function(e){return!this.eq(e)},w.neq=w.notEquals,w.lessThan=function(e){return this.comp(e)<0},w.lt=w.lessThan,w.lessThanOrEqual=function(e){return this.comp(e)<=0},w.lte=w.lessThanOrEqual,w.greaterThan=function(e){return this.comp(e)>0},w.gt=w.greaterThan,w.greaterThanOrEqual=function(e){return this.comp(e)>=0},w.gte=w.greaterThanOrEqual,w.compare=function(e){if(t(e)||(e=o(e)),this.eq(e))return 0;var n=this.isNegative(),i=e.isNegative();return n&&!i?-1:!n&&i?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},w.comp=w.compare,w.negate=function(){return!this.unsigned&&this.eq(y)?y:this.not().add(g)},w.neg=w.negate,w.add=function(e){t(e)||(e=o(e));var n=this.high>>>16,i=65535&this.high,r=this.low>>>16,a=65535&this.low,u=e.high>>>16,c=65535&e.high,h=e.low>>>16,l=65535&e.low,f=0,d=0,p=0,m=0;return m+=a+l,p+=m>>>16,m&=65535,p+=r+h,d+=p>>>16,p&=65535,d+=i+c,f+=d>>>16,d&=65535,f+=n+u,f&=65535,s(p<<16|m,f<<16|d,this.unsigned)},w.subtract=function(e){return t(e)||(e=o(e)),this.add(e.neg())},w.sub=w.subtract,w.multiply=function(e){if(this.isZero())return p;if(t(e)||(e=o(e)),e.isZero())return p;if(this.eq(y))return e.isOdd()?y:p;if(e.eq(y))return this.isOdd()?y:p;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(d)&&e.lt(d))return i(this.toNumber()*e.toNumber(),this.unsigned);var n=this.high>>>16,r=65535&this.high,a=this.low>>>16,u=65535&this.low,c=e.high>>>16,h=65535&e.high,l=e.low>>>16,f=65535&e.low,m=0,g=0,E=0,v=0;return v+=u*f,E+=v>>>16,v&=65535,E+=a*f,g+=E>>>16,E&=65535,E+=u*l,g+=E>>>16,E&=65535,g+=r*f,m+=g>>>16,g&=65535,g+=a*l,m+=g>>>16,g&=65535,g+=u*h,m+=g>>>16,g&=65535,m+=n*f+r*l+a*h+u*c,m&=65535,s(E<<16|v,m<<16|g,this.unsigned)},w.mul=w.multiply,w.divide=function(e){if(t(e)||(e=o(e)),e.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?m:p;var n,s,r;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return m;if(e.gt(this.shru(1)))return E;r=m}else{if(this.eq(y)){if(e.eq(g)||e.eq(v))return y;if(e.eq(y))return g;var a=this.shr(1);return n=a.div(e).shl(1),n.eq(p)?e.isNegative()?g:v:(s=this.sub(e.mul(n)),r=n.add(s.div(e)))}if(e.eq(y))return this.unsigned?m:p;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();r=p}for(s=this;s.gte(e);){n=Math.max(1,Math.floor(s.toNumber()/e.toNumber()));for(var u=Math.ceil(Math.log(n)/Math.LN2),h=u<=48?1:c(2,u-48),l=i(n),f=l.mul(e);f.isNegative()||f.gt(s);)n-=h,l=i(n,this.unsigned),f=l.mul(e);l.isZero()&&(l=g),r=r.add(l),s=s.sub(f)}return r},w.div=w.divide,w.modulo=function(e){return t(e)||(e=o(e)),this.sub(this.div(e).mul(e))},w.mod=w.modulo,w.not=function(){return s(~this.low,~this.high,this.unsigned)},w.and=function(e){return t(e)||(e=o(e)),s(this.low&e.low,this.high&e.high,this.unsigned)},w.or=function(e){return t(e)||(e=o(e)),s(this.low|e.low,this.high|e.high,this.unsigned)},w.xor=function(e){return t(e)||(e=o(e)),s(this.low^e.low,this.high^e.high,this.unsigned)},w.shiftLeft=function(e){return t(e)&&(e=e.toInt()),0===(e&=63)?this:e<32?s(this.low<>>32-e,this.unsigned):s(0,this.low<>>e|this.high<<32-e,this.high>>e,this.unsigned):s(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},w.shr=w.shiftRight,w.shiftRightUnsigned=function(e){if(t(e)&&(e=e.toInt()),e&=63,0===e)return this;var n=this.high;if(e<32){var i=this.low;return s(i>>>e|n<<32-e,n>>>e,this.unsigned)}return 32===e?s(n,0,this.unsigned):s(n>>>e-32,0,this.unsigned)},w.shru=w.shiftRightUnsigned,w.toSigned=function(){return this.unsigned?s(this.low,this.high,!1):this},w.toUnsigned=function(){return this.unsigned?this:s(this.low,this.high,!0)},w.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},w.toBytesLE=function(){var e=this.high,t=this.low;return[255&t,t>>>8&255,t>>>16&255,t>>>24&255,255&e,e>>>8&255,e>>>16&255,e>>>24&255]},w.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t]},e})},function(e,t,n){(function(e){function n(e,t){for(var n=0,i=e.length-1;i>=0;i--){var s=e[i];"."===s?e.splice(i,1):".."===s?(e.splice(i,1),n++):n&&(e.splice(i,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function i(e,t){if(e.filter)return e.filter(t);for(var n=[],i=0;i=-1&&!s;r--){var o=r>=0?arguments[r]:e.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,s="/"===o.charAt(0))}return t=n(i(t.split("/"),function(e){return!!e}),!s).join("/"),(s?"/":"")+t||"."},t.normalize=function(e){var s=t.isAbsolute(e),r="/"===o(e,-1);return e=n(i(e.split("/"),function(e){return!!e}),!s).join("/"),e||s||(e="."),e&&r&&(e+="/"),(s?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},t.relative=function(e,n){function i(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var s=i(e.split("/")),r=i(n.split("/")),o=Math.min(s.length,r.length),a=o,u=0;u-1?i:T;a.WritableState=o;var D=n(20);D.inherits=n(11);var M,C={deprecate:n(92)};!function(){try{M=n(21)}catch(e){}finally{M||(M=n(10).EventEmitter)}}();var I=n(5).Buffer,k=n(30);D.inherits(a,M),o.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(o.prototype,"buffer",{get:C.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")})}catch(e){}}();var U;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(U=Function.prototype[Symbol.hasInstance],Object.defineProperty(a,Symbol.hasInstance,{value:function(e){return!!U.call(this,e)||e&&e._writableState instanceof o}})):U=function(e){return e instanceof this},a.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},a.prototype.write=function(e,t,n){var i=this._writableState,r=!1;return"function"==typeof t&&(n=t,t=null),I.isBuffer(e)?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=s),i.ended?u(this,n):c(this,i,e,n)&&(i.pendingcb++,r=l(this,i,e,t,n)),r},a.prototype.cork=function(){var e=this._writableState;e.corked++},a.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||v(this,e))},a.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},a.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},a.prototype._writev=null,a.prototype.end=function(e,t,n){var i=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||w(this,i,n)}}).call(t,n(6),n(89).setImmediate)},function(e,t,n){(function(i){var s=function(){try{return n(21)}catch(e){}}();t=e.exports=n(58),t.Stream=s||t,t.Readable=t,t.Writable=n(35),t.Duplex=n(13),t.Transform=n(34),t.PassThrough=n(57),!i.browser&&"disable"===i.env.READABLE_STREAM&&s&&(e.exports=s)}).call(t,n(6))},function(e,t,n){(function(t,i,s){const r=n(86),o="__SNEKFETCH_SYNC_REQUEST";let a=!0;for(let u of r.METHODS)u="M-SEARCH"===u?"msearch":u.toLowerCase(),r[`${u}Sync`]=((e,s={})=>{a&&(a=!1,console.error("Performing sync requests is a really stupid thing to do. https://www.google.com/search?q=why+sync+requests+are+bad+nodejs")),s.url=e,s.method=u;const r=n(26),c=JSON.parse(r.execSync(`node ${t}/index.js`,{env:{[o]:JSON.stringify(s)}}).toString(),(e,t)=>{if(null===t)return t;if("Buffer"===t.type&&Array.isArray(t.data))return new i(t.data);if(t.__CONVERT_TO_ERROR){const e=new Error;for(const n of Object.keys(t))"__CONVERT_TO_ERROR"!==n&&(e[n]=t[n]);return e}return t});if(c.error)throw c.error;return c});if(s.env[o]){const e=JSON.parse(s.env[o]),t=r[e.method](e.url);e.headers&&t.set(e.headers),e.body&&t.send(e.body),t.end((e,t={})=>{if(e){const n={};for(const i of Object.getOwnPropertyNames(e))n[i]=e[i];t.error=n,t.error.__CONVERT_TO_ERROR=!0}s.stdout.write(JSON.stringify(t))})}e.exports=r}).call(t,"node_modules/snekfetch",n(5).Buffer,n(6))},function(e,t,n){(function(t){const i=n(32),s=n(26),r=n(37),o=n(0),a=n(4).convertToBuffer,u=n(16),c=n(19),h=n(24),l=n(14),f=n(18),d=n(17),p=n(28);class m{constructor(e){this.client=e}resolveUser(e){return e instanceof u?e:"string"==typeof e?this.client.users.get(e)||null:e instanceof f?e.user:e instanceof c?e.author:e instanceof h?e.owner:null}resolveUserID(e){return e instanceof u||e instanceof f?e.id:"string"==typeof e?e||null:e instanceof c?e.author.id:e instanceof h?e.ownerID:null}resolveGuild(e){return e instanceof h?e:"string"==typeof e?this.client.guilds.get(e)||null:null}resolveGuildMember(e,t){return t instanceof f?t:(e=this.resolveGuild(e),t=this.resolveUser(t),e&&t?e.members.get(t.id)||null:null)}resolveChannel(e){return e instanceof l?e:"string"==typeof e?this.client.channels.get(e)||null:e instanceof c?e.channel:e instanceof h?e.channels.get(e.id)||null:null}resolveChannelID(e){return e instanceof l?e.id:"string"==typeof e?e:e instanceof c?e.channel.id:e instanceof h?e.defaultChannel.id:null}resolveInviteCode(e){const t=/discord(?:app\.com\/invite|\.gg)\/([\w-]{2,255})/i,n=t.exec(e);return n&&n[1]?n[1]:e}resolveString(e){return"string"==typeof e?e:e instanceof Array?e.join("\n"):String(e)}resolveBase64(e){return e instanceof t?`data:image/jpg;base64,${e.toString("base64")}`:e}resolveBuffer(e){return e instanceof t?Promise.resolve(e):this.client.browser&&e instanceof ArrayBuffer?Promise.resolve(a(e)):"string"==typeof e?new Promise((n,o)=>{if(/^https?:\/\//.test(e))r.get(e).end((e,i)=>{return e?o(e):i.body instanceof t?n(i.body):o(new TypeError("The response body isn't a Buffer."))});else{const t=i.resolve(e);s.stat(t,(e,i)=>{return e?o(e):i&&i.isFile()?(s.readFile(t,(e,t)=>{e?o(e):n(t)}),null):o(new Error(`The file could not be found: ${t}`))})}}):Promise.reject(new TypeError("The resource must be a string or Buffer."))}resolveEmojiIdentifier(e){return e instanceof d||e instanceof p?e.identifier:"string"==typeof e?this.client.emojis.has(e)?this.client.emojis.get(e).identifier:e.includes("%")?e:encodeURIComponent(e):null}static resolveColor(e){if("string"==typeof e){if("RANDOM"===e)return Math.floor(16777216*Math.random());e=o.Colors[e]||parseInt(e.replace("#",""),16)}else e instanceof Array&&(e=(e[0]<<16)+(e[1]<<8)+e[2]);if(e<0||e>16777215)throw new RangeError("Color must be within the range 0 - 16777215 (0xFFFFFF).");if(e&&isNaN(e))throw new TypeError("Unable to convert color to a number.");return e}resolveColor(e){return this.constructor.resolveColor(e)}}e.exports=m}).call(t,n(5).Buffer)},function(e,t){e.exports={name:"discord.js",version:"11.1.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":"^0.0.1",snekfetch:"^3.0.0",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(e,t,n){const i=n(16),s=n(3),r=n(41);class o extends i{setup(e){super.setup(e),this.verified=e.verified,this.email=e.email,this.localPresence={},this._typing=new Map,this.friends=new s,this.blocked=new s,this.notes=new s,this.premium="boolean"==typeof e.premium?e.premium:null,this.mfaEnabled="boolean"==typeof e.mfa_enabled?e.mfa_enabled:null,this.mobile="boolean"==typeof e.mobile?e.mobile:null,e.user_settings&&(this.settings=new r(this,e.user_settings))}edit(e){return this.client.rest.methods.updateCurrentUser(e)}setUsername(e,t){return this.client.rest.methods.updateCurrentUser({username:e},t)}setEmail(e,t){return this.client.rest.methods.updateCurrentUser({email:e},t)}setPassword(e,t){return this.client.rest.methods.updateCurrentUser({password:e},t)}setAvatar(e){return"string"==typeof e&&e.startsWith("data:")?this.client.rest.methods.updateCurrentUser({avatar:e}):this.client.resolver.resolveBuffer(e).then(e=>this.client.rest.methods.updateCurrentUser({avatar:e}))}setPresence(e){return new Promise(t=>{let n=this.localPresence.status||this.presence.status,i=this.localPresence.game,s=this.localPresence.afk||this.presence.afk;if(!i&&this.presence.game&&(i={name:this.presence.game.name,type:this.presence.game.type,url:this.presence.game.url}),e.status){if("string"!=typeof e.status)throw new TypeError("Status must be a string");n=e.status}e.game&&(i=e.game,i.url&&(i.type=1)),null===e.game&&(i=null),"undefined"!=typeof e.afk&&(s=e.afk),s=Boolean(s),this.localPresence={status:n,game:i,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),t(this)})}setStatus(e){return this.setPresence({status:e})}setGame(e,t){return null===e?this.setPresence({game:e}):this.setPresence({game:{name:e,url:t}})}setAFK(e){return this.setPresence({afk:e})}fetchMentions(e={limit:25,roles:true,everyone:true,guild:null}){return this.client.rest.methods.fetchMentions(e)}addFriend(e){return e=this.client.resolver.resolveUser(e),this.client.rest.methods.addFriend(e)}removeFriend(e){return e=this.client.resolver.resolveUser(e),this.client.rest.methods.removeFriend(e)}createGuild(e,t,n=null){return n?"string"==typeof n&&n.startsWith("data:")?this.client.rest.methods.createGuild({name:e,icon:n,region:t}):this.client.resolver.resolveBuffer(n).then(n=>this.client.rest.methods.createGuild({name:e,icon:n,region:t})):this.client.rest.methods.createGuild({name:e,icon:n,region:t})}createGroupDM(e){return this.client.rest.methods.createGroupDM({recipients:e.map(e=>this.client.resolver.resolveUserID(e.user)),accessTokens:e.map(e=>e.accessToken),nicks:e.map(e=>e.nick)})}acceptInvite(e){return this.client.rest.methods.acceptInvite(e)}}e.exports=o},function(e,t,n){const i=n(0),s=n(4);class r{constructor(e,t){this.user=e,this.patch(t)}patch(e){for(const t of Object.keys(i.UserSettingsMap)){const n=i.UserSettingsMap[t];e.hasOwnProperty(t)&&("function"==typeof n?this[n.name]=n(e[t]):this[n]=e[t])}}update(e,t){return this.user.client.rest.methods.patchUserSettings({[e]:t})}setGuildPosition(e,t,n){const i=Object.assign([],this.guildPositions);return s.moveElementInArray(i,e.id,t,n),this.update("guild_positions",i).then(()=>e)}addRestrictedGuild(e){const t=Object.assign([],this.restrictedGuilds);return t.includes(e.id)?Promise.reject(new Error("Guild is already restricted")):(t.push(e.id),this.update("restricted_guilds",t).then(()=>e))}removeRestrictedGuild(e){const t=Object.assign([],this.restrictedGuilds),n=t.indexOf(e.id);return n<0?Promise.reject(new Error("Guild is not restricted")):(t.splice(n,1),this.update("restricted_guilds",t).then(()=>e))}}e.exports=r},function(e,t,n){const i=n(14),s=n(22),r=n(3);class o extends i{constructor(e,t){super(e,t),this.type="dm",this.messages=new r,this._typing=new Map}setup(e){super.setup(e),this.recipient=this.client.dataManager.newUser(e.recipients[0]),this.lastMessageID=e.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(o,!0,["bulkDelete"]),e.exports=o},function(e,t,n){const i=n(50),s=n(51),r=n(0);class o{constructor(e,t){Object.defineProperty(this,"client",{value:e}),this.setup(t)}setup(e){this.guild=this.client.guilds.get(e.guild.id)||new i(this.client,e.guild),this.code=e.code,this.temporary=e.temporary,this.maxAge=e.max_age,this.uses=e.uses,this.maxUses=e.max_uses,e.inviter&&(this.inviter=this.client.dataManager.newUser(e.inviter)),this.channel=this.client.channels.get(e.channel.id)||new s(this.client,e.channel),this.createdTimestamp=new Date(e.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 r.Endpoints.inviteLink(this.code)}delete(){return this.client.rest.methods.deleteInvite(this)}toString(){return this.url}}e.exports=o},function(e,t){class n{constructor(e,t){Object.defineProperty(this,"client",{value:e.client}),this.message=e,this.setup(t)}setup(e){this.id=e.id,this.filename=e.filename,this.filesize=e.size,this.url=e.url,this.proxyURL=e.proxy_url,this.height=e.height,this.width=e.width}}e.exports=n},function(e,t,n){const i=n(10).EventEmitter,s=n(3);class r extends i{constructor(e,t,n={}){super(),this.channel=e,this.filter=t,this.options=n,this.ended=!1,this.collected=new s,this.listener=(e=>this.verify(e)),this.channel.client.on("message",this.listener),n.time&&this.channel.client.setTimeout(()=>this.stop("time"),n.time)}verify(e){return(!this.channel||this.channel.id===e.channel.id)&&(!!this.filter(e,this)&&(this.collected.set(e.id,e),this.emit("message",e,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((e,t)=>{if(this.ended)return void t(this.collected);const n=()=>{this.removeListener("message",i),this.removeListener("end",s)},i=(...t)=>{n(),e(...t)},s=(...e)=>{n(),t(...e)};this.once("message",i),this.once("end",s)})}stop(e="user"){this.ended||(this.ended=!0,this.channel.client.removeListener("message",this.listener),this.emit("end",this.collected,e))}}e.exports=r},function(e,t){class n{constructor(e,t){Object.defineProperty(this,"client",{value:e.client}),this.message=e,this.setup(t)}setup(e){if(this.type=e.type,this.title=e.title,this.description=e.description,this.url=e.url,this.color=e.color,this.fields=[],e.fields)for(const t of e.fields)this.fields.push(new u(this,t));this.createdTimestamp=e.timestamp,this.thumbnail=e.thumbnail?new i(this,e.thumbnail):null,this.image=e.image?new s(this,e.image):null,this.video=e.video?new r(this,e.video):null,this.author=e.author?new a(this,e.author):null,this.provider=e.provider?new o(this,e.provider):null,this.footer=e.footer?new c(this,e.footer):null}get createdAt(){return new Date(this.createdTimestamp)}get hexColor(){let e=this.color.toString(16);for(;e.length<6;)e=`0${e}`;return`#${e}`}}class i{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.url=e.url,this.proxyURL=e.proxy_url,this.height=e.height,this.width=e.width}}class s{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.url=e.url,this.proxyURL=e.proxy_url,this.height=e.height,this.width=e.width}}class r{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.url=e.url,this.height=e.height,this.width=e.width}}class o{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.url=e.url}}class a{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.url=e.url,this.iconURL=e.icon_url}}class u{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.value=e.value,this.inline=e.inline}}class c{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.text=e.text,this.iconURL=e.icon_url,this.proxyIconUrl=e.proxy_icon_url}}n.Thumbnail=i,n.Image=s,n.Video=r,n.Provider=o,n.Author=a,n.Field=u,n.Footer=c,e.exports=n},function(e,t,n){const i=n(3);class s{constructor(e,t,n,s){if(this.everyone=Boolean(s),t)if(t instanceof i)this.users=new i(t);else{this.users=new i;for(const n of t){let t=e.client.users.get(n.id);t||(t=e.client.dataManager.newUser(n)),this.users.set(t.id,t)}}else this.users=new i;if(n)if(n instanceof i)this.roles=new i(n);else{this.roles=new i;for(const t of n){const n=e.channel.guild.roles.get(t);n&&this.roles.set(n.id,n)}}else this.roles=new i;this._content=e.content,this._guild=e.channel.guild,this._members=null,this._channels=null}get members(){return this._members?this._members:this._guild?(this._members=new i,this.users.forEach(e=>{const t=this._guild.member(e);t&&this._members.set(t.user.id,t)}),this._members):null}get channels(){if(this._channels)return this._channels;if(!this._guild)return null;this._channels=new i;let e;for(;null!==(e=this.constructor.CHANNELS_PATTERN.exec(this._content));){const t=this._guild.channels.get(e[1]);t&&this._channels.set(t.id,t)}return this._channels}}s.EVERYONE_PATTERN=/@(everyone|here)/g,s.USERS_PATTERN=/<@!?[0-9]+>/g,s.ROLES_PATTERN=/<@&[0-9]+>/g,s.CHANNELS_PATTERN=/<#([0-9]+)>/g,e.exports=s},function(e,t,n){const i=n(3),s=n(17),r=n(28);class o{constructor(e,t,n,s){this.message=e,this.me=s,this.count=n||0,this.users=new i,this._emoji=new r(this,t.name,t.id)}get emoji(){if(this._emoji instanceof s)return this._emoji;if(this._emoji.id){const e=this.message.client.emojis;if(e.has(this._emoji.id)){const t=e.get(this._emoji.id);return this._emoji=t,t}}return this._emoji}remove(e=this.message.client.user){const t=this.message,n=this.message.client.resolver.resolveUserID(e);return n?t.client.rest.methods.removeMessageReaction(t,this.emoji.identifier,n):Promise.reject(new Error("Couldn't resolve the user ID to remove from the reaction."))}fetchUsers(e=100){const t=this.message;return t.client.rest.methods.getMessageReactionUsers(t,this.emoji.identifier,e).then(e=>{this.users=new i;for(const t of e){const e=this.message.client.dataManager.newUser(t);this.users.set(e.id,e)}return this.count=this.users.size,this.users})}}e.exports=o},function(e,t,n){const i=n(7);class s{constructor(e,t){Object.defineProperty(this,"client",{value:e}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.description=e.description,this.icon=e.icon,this.iconURL=`https://cdn.discordapp.com/app-icons/${this.id}/${this.icon}.jpg`,this.rpcOrigins=e.rpc_origins,this.redirectURIs=e.redirect_uris,this.botRequireCodeGrant=e.bot_require_code_grant,this.botPublic=e.bot_public,this.rpcApplicationState=e.rpc_application_state,this.bot=e.bot,this.flags=e.flags,this.secret=e.secret}get createdTimestamp(){return i.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}reset(){return this.client.rest.methods.resetApplication(this.id)}toString(){return this.name}}e.exports=s},function(e,t){class n{constructor(e,t){Object.defineProperty(this,"client",{value:e}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.icon=e.icon,this.splash=e.splash}}e.exports=n},function(e,t,n){const i=n(0);class s{constructor(e,t){Object.defineProperty(this,"client",{value:e}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.type=i.ChannelTypes.TEXT===e.type?"text":"voice"}}e.exports=s},function(e,t){class n{constructor(e,t){Object.defineProperty(this,"channel",{value:e}),t&&this.setup(t)}setup(e){this.id=e.id,this.type=e.type,this.deny=e.deny,this.allow=e.allow}delete(){return this.channel.client.rest.methods.deletePermissionOverwrites(this)}}e.exports=n},function(e,t,n){const i=n(25),s=n(22),r=n(3);class o extends i{constructor(e,t){super(e,t),this.type="text",this.messages=new r,this._typing=new Map}setup(e){super.setup(e),this.topic=e.topic,this.lastMessageID=e.last_message_id}get members(){const e=new r;for(const t of this.guild.members.values())this.permissionsFor(t).hasPermission("READ_MESSAGES")&&e.set(t.id,t);return e}fetchWebhooks(){return this.client.rest.methods.getChannelWebhooks(this)}createWebhook(e,t){return new Promise(n=>{"string"==typeof t&&t.startsWith("data:")?n(this.client.rest.methods.createWebhook(this,e,t)):this.client.resolver.resolveBuffer(t).then(t=>n(this.client.rest.methods.createWebhook(this,e,t)))})}send(){}sendMessage(){}sendEmbed(){}sendFile(){}sendFiles(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}search(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}bulkDelete(){}acknowledge(){}_cacheMessage(){}}s.applyToClass(o,!0),e.exports=o},function(e,t,n){const i=n(25),s=n(3);class r extends i{constructor(e,t){super(e,t),this.members=new s,this.type="voice"}setup(e){super.setup(e),this.bitrate=e.bitrate,this.userLimit=e.user_limit}get connection(){const e=this.guild.voiceConnection;return e&&e.channel.id===this.id?e: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(e){return this.edit({bitrate:e})}setUserLimit(e){return this.edit({userLimit:e})}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 e=this.client.voice.connections.get(this.guild.id);e&&e.channel.id===this.id&&e.disconnect()}}}e.exports=r},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";t.decode=t.parse=n(77),t.encode=t.stringify=n(78)},function(e,t,n){"use strict";function i(e){return this instanceof i?void s.call(this,e):new i(e)}e.exports=i;var s=n(34),r=n(20);r.inherits=n(11),r.inherits(i,s),i.prototype._transform=function(e,t,n){n(null,e)}},function(e,t,n){"use strict";(function(t){function i(e,t,n){return"function"==typeof e.prependListener?e.prependListener(t,n):void(e._events&&e._events[t]?k(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)); -}function s(e,t){C=C||n(13),e=e||{},this.objectMode=!!e.objectMode,t instanceof C&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:s,this.highWaterMark=~~this.highWaterMark,this.buffer=new B,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(j||(j=n(61).StringDecoder),this.decoder=new j(e.encoding),this.encoding=e.encoding)}function r(e){return C=C||n(13),this instanceof r?(this._readableState=new s(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),void U.call(this)):new r(e)}function o(e,t,n,i,s){var r=h(t,n);if(r)e.emit("error",r);else if(null===n)t.reading=!1,l(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!s){var o=new Error("stream.push() after EOF");e.emit("error",o)}else if(t.endEmitted&&s){var u=new Error("stream.unshift() after end event");e.emit("error",u)}else{var c;!t.decoder||s||i||(n=t.decoder.write(n),c=!t.objectMode&&0===n.length),s||(t.reading=!1),c||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,s?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&f(e))),p(e,t)}else s||(t.reading=!1);return a(t)}function a(e){return!e.ended&&(e.needReadable||e.length=q?e=q:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function c(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=u(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function h(e,t){var n=null;return O.isBuffer(t)||"string"==typeof t||null===t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function l(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,f(e)}}function f(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(G("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?I(d,e):d(e))}function d(e){G("emit readable"),e.emit("readable"),b(e)}function p(e,t){t.readingMore||(t.readingMore=!0,I(m,e,t))}function m(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=w(e,t.buffer,t.decoder),n}function w(e,t,n){var i;return er.length?r.length:e;if(s+=o===r.length?r:r.slice(0,e),e-=o,0===e){o===r.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=r.slice(o));break}++i}return t.length-=i,s}function A(e,t){var n=N.allocUnsafe(e),i=t.head,s=1;for(i.data.copy(n),e-=i.data.length;i=i.next;){var r=i.data,o=e>r.length?r.length:e;if(r.copy(n,n.length-e,0,o),e-=o,0===e){o===r.length?(++s,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=r.slice(o));break}++s}return t.length-=s,n}function T(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,I(S,t,e))}function S(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function D(e,t){for(var n=0,i=e.length;n=t.highWaterMark||t.ended))return G("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?T(this):f(this),null;if(e=c(e,t),0===e&&t.ended)return 0===t.length&&T(this),null;var i=t.needReadable;G("need readable",i),(0===t.length||t.length-e0?y(e,t):null,null===s?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&T(this)),null!==s&&this.emit("data",s),s},r.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},r.prototype.pipe=function(e,n){function s(e){G("onunpipe"),e===f&&o()}function r(){G("onend"),e.end()}function o(){G("cleanup"),e.removeListener("close",c),e.removeListener("finish",h),e.removeListener("drain",E),e.removeListener("error",u),e.removeListener("unpipe",s),f.removeListener("end",r),f.removeListener("end",o),f.removeListener("data",a),v=!0,!d.awaitDrain||e._writableState&&!e._writableState.needDrain||E()}function a(t){G("ondata"),_=!1;var n=e.write(t);!1!==n||_||((1===d.pipesCount&&d.pipes===e||d.pipesCount>1&&M(d.pipes,e)!==-1)&&!v&&(G("false write response, pause",f._readableState.awaitDrain),f._readableState.awaitDrain++,_=!0),f.pause())}function u(t){G("onerror",t),l(),e.removeListener("error",u),0===L(e,"error")&&e.emit("error",t)}function c(){e.removeListener("finish",h),l()}function h(){G("onfinish"),e.removeListener("close",c),l()}function l(){G("unpipe"),f.unpipe(e)}var f=this,d=this._readableState;switch(d.pipesCount){case 0:d.pipes=e;break;case 1:d.pipes=[d.pipes,e];break;default:d.pipes.push(e)}d.pipesCount+=1,G("pipe count=%d opts=%j",d.pipesCount,n);var p=(!n||n.end!==!1)&&e!==t.stdout&&e!==t.stderr,m=p?r:o;d.endEmitted?I(m):f.once("end",m),e.on("unpipe",s);var E=g(f);e.on("drain",E);var v=!1,_=!1;return f.on("data",a),i(e,"error",u),e.once("close",c),e.once("finish",h),e.emit("pipe",f),d.flowing||(G("pipe resume"),f.resume()),e},r.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var s=0;s=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var s=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,s),s-=this.charReceived),t+=e.toString(this.encoding,0,s);var s=t.length-1,i=t.charCodeAt(s);if(i>=55296&&i<=56319){var r=this.surrogateSize;return this.charLength+=r,this.charReceived+=r,this.charBuffer.copy(this.charBuffer,r,0,r),e.copy(this.charBuffer,0,0,r),t.substring(0,s)}return t},c.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},c.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,i=this.charBuffer,s=this.encoding;t+=i.slice(0,n).toString(s)}return t}},function(e,t,n){"use strict";function i(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function s(e,t,n){if(e&&c.isObject(e)&&e instanceof i)return e;var s=new i;return s.parse(e,t,n),s}function r(e){return c.isString(e)&&(e=s(e)),e instanceof i?e.format():i.prototype.format.call(e)}function o(e,t){return s(e,!1,!0).resolve(t)}function a(e,t){return e?s(e,!1,!0).resolveObject(t):t}var u=n(76),c=n(91);t.parse=s,t.resolve=o,t.resolveObject=a,t.format=r,t.Url=i;var h=/^([a-z0-9.+-]+:)/i,l=/:[0-9]*$/,f=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,d=["<",">",'"',"`"," ","\r","\n","\t"],p=["{","}","|","\\","^","`"].concat(d),m=["'"].concat(p),g=["%","/","?",";","#"].concat(m),E=["/","?","#"],v=255,_=/^[+a-z0-9A-Z_-]{0,63}$/,b=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,y={javascript:!0,"javascript:":!0},w={javascript:!0,"javascript:":!0},R={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=n(56);i.prototype.parse=function(e,t,n){if(!c.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),s=i!==-1&&i127?"x":O[P];if(!N.match(_)){var G=U.slice(0,D),j=U.slice(D+1),B=O.match(b);B&&(G.push(B[1]),j.unshift(B[2])),j.length&&(a="/"+j.join(".")+a),this.hostname=G.join(".");break}}}this.hostname.length>v?this.hostname="":this.hostname=this.hostname.toLowerCase(),k||(this.hostname=u.toASCII(this.hostname));var q=this.port?":"+this.port:"",H=this.hostname||"";this.host=H+q,this.href+=this.host,k&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==a[0]&&(a="/"+a))}if(!y[p])for(var D=0,L=m.length;D0)&&n.host.split("@");T&&(n.auth=T.shift(),n.host=n.hostname=T.shift())}return n.search=e.search,n.query=e.query,c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!y.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var S=y.slice(-1)[0],D=(n.host||e.host||y.length>1)&&("."===S||".."===S)||""===S,M=0,C=y.length;C>=0;C--)S=y[C],"."===S?y.splice(C,1):".."===S?(y.splice(C,1),M++):M&&(y.splice(C,1),M--);if(!_&&!b)for(;M--;M)y.unshift("..");!_||""===y[0]||y[0]&&"/"===y[0].charAt(0)||y.unshift(""),D&&"/"!==y.join("/").substr(-1)&&y.push("");var I=""===y[0]||y[0]&&"/"===y[0].charAt(0);if(A){n.hostname=n.host=I?"":y.length?y.shift():"";var T=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");T&&(n.auth=T.shift(),n.host=n.hostname=T.shift())}return _=_||n.host&&y.length,_&&!I&&y.unshift(""),y.length?n.pathname=y.join("/"):(n.pathname=null,n.path=null),c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},i.prototype.parseHost=function(){var e=this.host,t=l.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){const i=n(130),s=n(127),r=n(129),o=n(128),a=n(126),u=n(0);class c{constructor(e){this.client=e,this.handlers={},this.userAgentManager=new i(this),this.methods=new s(this),this.rateLimitedEndpoints={},this.globallyRateLimited=!1}push(e,t){return new Promise((n,i)=>{e.push({request:t,resolve:n,reject:i})})}getRequestHandler(){switch(this.client.options.apiRequestMethod){case"sequential":return r;case"burst":return o;default:throw new Error(u.Errors.INVALID_RATE_LIMIT_METHOD)}}makeRequest(e,t,n,i,s){const r=new a(this,e,t,n,i,s);if(!this.handlers[r.route]){const e=this.getRequestHandler();this.handlers[r.route]=new e(this,r.route)}return this.push(this.handlers[r.route],r)}}e.exports=c},function(e,t){class n{constructor(e){this.restManager=e,this.queue=[]}get globalLimit(){return this.restManager.globallyRateLimited}set globalLimit(e){this.restManager.globallyRateLimited=e}push(e){this.queue.push(e)}handle(){}}e.exports=n},function(e,t,n){(function(t){const i="browser"===n(23).platform(),s=n(10),r=n(26),o=function(){try{const e=n(176);return e.pack?e:null}catch(e){return null}}(),a=function(){if(i)return window.WebSocket;try{return n(177)}catch(e){return n(178)}}();class u extends s{constructor(e){super(e),this.ws=new a(e),i&&(this.ws.binaryType="arraybuffer"),this.ws.onmessage=this.eventMessage.bind(this),this.ws.onopen=this.emit.bind(this,"open"),this.ws.onclose=this.emit.bind(this,"close"),this.ws.onerror=this.emit.bind(this,"error")}eventMessage(e){try{const t=this.unpack(e.data);return this.emit("packet",t),!0}catch(e){return this.listenerCount("decodeError")&&this.emit("decodeError",e),!1}}send(e){this.ws.send(this.pack(e))}pack(e){return o?o.pack(e):JSON.stringify(e)}unpack(e){return o&&"string"!=typeof e?(e instanceof ArrayBuffer&&(e=t.from(new Uint8Array(e))),o.unpack(e)):((e instanceof ArrayBuffer||e instanceof t)&&(e=this.inflate(e)),JSON.parse(e))}inflate(e){return o?e:r.inflateSync(e).toString()}get readyState(){return this.ws.readyState}close(e,t){this.ws.close(e,t)}}u.ENCODING=o?"etf":"json",u.WebSocket=a,e.exports=u}).call(t,n(5).Buffer)},function(module,exports,__webpack_require__){(function(process){const os=__webpack_require__(23),EventEmitter=__webpack_require__(10).EventEmitter,Constants=__webpack_require__(0),Permissions=__webpack_require__(8),Util=__webpack_require__(4),RESTManager=__webpack_require__(63),ClientDataManager=__webpack_require__(95),ClientManager=__webpack_require__(96),ClientDataResolver=__webpack_require__(38),ClientVoiceManager=__webpack_require__(174),WebSocketManager=__webpack_require__(131),ActionsManager=__webpack_require__(97),Collection=__webpack_require__(3),Presence=__webpack_require__(12).Presence,ShardClientUtil=__webpack_require__(173),VoiceBroadcast=__webpack_require__(175);class Client extends EventEmitter{constructor(e={}){super(),!e.shardId&&"SHARD_ID"in process.env&&(e.shardId=Number(process.env.SHARD_ID)),!e.shardCount&&"SHARD_COUNT"in process.env&&(e.shardCount=Number(process.env.SHARD_COUNT)),this.options=Util.mergeDefault(Constants.DefaultOptions,e),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((e,t)=>e+t,0)/this.pings.length}get voiceConnections(){return this.browser?new Collection:this.voice.connections}get emojis(){const e=new Collection;for(const t of this.guilds.values())for(const n of t.emojis.values())e.set(n.id,n);return e}get readyTimestamp(){return this.readyAt?this.readyAt.getTime():null}get browser(){return"browser"===os.platform()}createVoiceBroadcast(){const e=new VoiceBroadcast(this);return this.broadcasts.push(e),e}login(e){return this.rest.methods.login(e)}destroy(){for(const e of this._timeouts)clearTimeout(e);for(const t of this._intervals)clearInterval(t);return this._timeouts.clear(),this._intervals.clear(),this.manager.destroy()}syncGuilds(e=this.guilds){this.user.bot||this.ws.send({op:12,d:e instanceof Collection?e.keyArray():e.map(e=>e.id)})}fetchUser(e,t=true){return this.users.has(e)?Promise.resolve(this.users.get(e)):this.rest.methods.getUser(e,t)}fetchInvite(e){const t=this.resolver.resolveInviteCode(e);return this.rest.methods.getInvite(t)}fetchWebhook(e,t){return this.rest.methods.getWebhook(e,t)}fetchVoiceRegions(){return this.rest.methods.fetchVoiceRegions()}sweepMessages(e=this.options.messageCacheLifetime){if("number"!=typeof e||isNaN(e))throw new TypeError("The lifetime must be a number.");if(e<=0)return this.emit("debug","Didn't sweep messages - lifetime is unlimited"),-1;const t=1e3*e,n=Date.now();let i=0,s=0;for(const r of this.channels.values())if(r.messages){i++;for(const e of r.messages.values())n-(e.editedTimestamp||e.createdTimestamp)>t&&(r.messages.delete(e.id),s++)}return this.emit("debug",`Swept ${s} messages older than ${e} seconds in ${i} text-based channels`),s}fetchApplication(e="@me"){return this.rest.methods.getApplication(e)}generateInvite(e){return e?e instanceof Array&&(e=Permissions.resolve(e)):e=0,this.fetchApplication().then(t=>`https://discordapp.com/oauth2/authorize?client_id=${t.id}&permissions=${e}&scope=bot`)}setTimeout(e,t,...n){const i=setTimeout(()=>{e(),this._timeouts.delete(i)},t,...n);return this._timeouts.add(i),i}clearTimeout(e){clearTimeout(e),this._timeouts.delete(e)}setInterval(e,t,...n){const i=setInterval(e,t,...n);return this._intervals.add(i),i}clearInterval(e){clearInterval(e),this._intervals.delete(e)}_pong(e){this.pings.unshift(Date.now()-e),this.pings.length>3&&(this.pings.length=3),this.ws.lastHeartbeatAck=!0}_setPresence(e,t){return this.presences.has(e)?void this.presences.get(e).update(t):void this.presences.set(e,new Presence(t))}_eval(script){return eval(script)}_validateOptions(e=this.options){if("number"!=typeof e.shardCount||isNaN(e.shardCount))throw new TypeError("The shardCount option must be a number.");if("number"!=typeof e.shardId||isNaN(e.shardId))throw new TypeError("The shardId option must be a number.");if(e.shardCount<0)throw new RangeError("The shardCount option must be at least 0.");if(e.shardId<0)throw new RangeError("The shardId option must be at least 0.");if(0!==e.shardId&&e.shardId>=e.shardCount)throw new RangeError("The shardId option must be less than shardCount.");if("number"!=typeof e.messageCacheMaxSize||isNaN(e.messageCacheMaxSize))throw new TypeError("The messageCacheMaxSize option must be a number.");if("number"!=typeof e.messageCacheLifetime||isNaN(e.messageCacheLifetime))throw new TypeError("The messageCacheLifetime option must be a number.");if("number"!=typeof e.messageSweepInterval||isNaN(e.messageSweepInterval))throw new TypeError("The messageSweepInterval option must be a number.");if("boolean"!=typeof e.fetchAllMembers)throw new TypeError("The fetchAllMembers option must be a boolean.");if("boolean"!=typeof e.disableEveryone)throw new TypeError("The disableEveryone option must be a boolean.");if("number"!=typeof e.restWsBridgeTimeout||isNaN(e.restWsBridgeTimeout))throw new TypeError("The restWsBridgeTimeout option must be a number.");if(!(e.disabledEvents instanceof Array))throw new TypeError("The disabledEvents option must be an Array.")}}module.exports=Client}).call(exports,__webpack_require__(6))},function(e,t,n){const i=n(29),s=n(63),r=n(38),o=n(0),a=n(4);class u extends i{constructor(e,t,n){super(null,e,t),this.options=a.mergeDefault(o.DefaultOptions,n),this.rest=new s(this),this.resolver=new r(this),this._timeouts=new Set,this._intervals=new Set}setTimeout(e,t,...n){const i=setTimeout(()=>{e(),this._timeouts.delete(i)},t,...n);return this._timeouts.add(i),i}clearTimeout(e){clearTimeout(e),this._timeouts.delete(e)}setInterval(e,t,...n){const i=setInterval(e,t,...n);return this._intervals.add(i),i}clearInterval(e){clearInterval(e),this._intervals.delete(e)}destroy(){for(const e of this._timeouts)clearTimeout(e);for(const t of this._intervals)clearInterval(t);this._timeouts.clear(),this._intervals.clear()}}e.exports=u},function(e,t,n){function i(e){return"string"==typeof e?e:e instanceof Array?e.join("\n"):String(e)}const s=n(38);class r{constructor(e={}){this.title=e.title,this.description=e.description,this.url=e.url,this.color=e.color,this.author=e.author,this.timestamp=e.timestamp,this.fields=e.fields||[],this.thumbnail=e.thumbnail,this.image=e.image,this.footer=e.footer,this.file=e.file}setTitle(e){if(e=i(e),e.length>256)throw new RangeError("RichEmbed titles may not exceed 256 characters.");return this.title=e,this}setDescription(e){if(e=i(e),e.length>2048)throw new RangeError("RichEmbed descriptions may not exceed 2048 characters.");return this.description=e,this}setURL(e){return this.url=e,this}setColor(e){return this.color=s.resolveColor(e),this}setAuthor(e,t,n){return this.author={name:i(e),icon_url:t,url:n},this}setTimestamp(e=new Date){return this.timestamp=e,this}addField(e,t,n=false){if(this.fields.length>=25)throw new RangeError("RichEmbeds may not exceed 25 fields.");if(e=i(e),e.length>256)throw new RangeError("RichEmbed field names may not exceed 256 characters.");if(!/\S/.test(e))throw new RangeError("RichEmbed field names may not be empty.");if(t=i(t),t.length>1024)throw new RangeError("RichEmbed field values may not exceed 1024 characters.");if(!/\S/.test(t))throw new RangeError("RichEmbed field values may not be empty.");return this.fields.push({name:e,value:t,inline:n}),this}addBlankField(e=false){return this.addField("​","​",e)}setThumbnail(e){return this.thumbnail={url:e},this}setImage(e){return this.image={url:e},this}setFooter(e,t){if(e=i(e),e.length>2048)throw new RangeError("RichEmbed footer text may not exceed 2048 characters.");return this.footer={text:e,icon_url:t},this}attachFile(e){if(this.file)throw new RangeError("You may not upload more than one file at once.");return this.file=e,this}}e.exports=r},function(e,t){},function(e,t){},function(e,t){},function(e,t,n){"use strict";function i(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function s(e){return 3*e.length/4-i(e)}function r(e){var t,n,s,r,o,a,u=e.length;o=i(e),a=new l(3*u/4-o),s=o>0?u-4:u;var c=0;for(t=0, -n=0;t>16&255,a[c++]=r>>8&255,a[c++]=255&r;return 2===o?(r=h[e.charCodeAt(t)]<<2|h[e.charCodeAt(t+1)]>>4,a[c++]=255&r):1===o&&(r=h[e.charCodeAt(t)]<<10|h[e.charCodeAt(t+1)]<<4|h[e.charCodeAt(t+2)]>>2,a[c++]=r>>8&255,a[c++]=255&r),a}function o(e){return c[e>>18&63]+c[e>>12&63]+c[e>>6&63]+c[63&e]}function a(e,t,n){for(var i,s=[],r=t;rh?h:u+o));return 1===i?(t=e[n-1],s+=c[t>>2],s+=c[t<<4&63],s+="=="):2===i&&(t=(e[n-2]<<8)+e[n-1],s+=c[t>>10],s+=c[t>>4&63],s+=c[t<<2&63],s+="="),r.push(s),r.join("")}t.byteLength=s,t.toByteArray=r,t.fromByteArray=u;for(var c=[],h=[],l="undefined"!=typeof Uint8Array?Uint8Array:Array,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d=0,p=f.length;d>1,h=-7,l=n?s-1:0,f=n?-1:1,d=e[t+l];for(l+=f,r=d&(1<<-h)-1,d>>=-h,h+=a;h>0;r=256*r+e[t+l],l+=f,h-=8);for(o=r&(1<<-h)-1,r>>=-h,h+=i;h>0;o=256*o+e[t+l],l+=f,h-=8);if(0===r)r=1-c;else{if(r===u)return o?NaN:(d?-1:1)*(1/0);o+=Math.pow(2,i),r-=c}return(d?-1:1)*o*Math.pow(2,r-i)},t.write=function(e,t,n,i,s,r){var o,a,u,c=8*r-s-1,h=(1<>1,f=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:r-1,p=i?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=h):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),t+=o+l>=1?f/u:f*Math.pow(2,1-l),t*u>=2&&(o++,u/=2),o+l>=h?(a=0,o=h):o+l>=1?(a=(t*u-1)*Math.pow(2,s),o+=l):(a=t*Math.pow(2,l-1)*Math.pow(2,s),o=0));s>=8;e[n+d]=255&a,d+=p,a/=256,s-=8);for(o=o<0;e[n+d]=255&o,d+=p,o/=256,c-=8);e[n+d-p]|=128*m}},function(e,t,n){(function(e,i){var s;!function(r){function o(e){throw new RangeError(U[e])}function a(e,t){for(var n=e.length,i=[];n--;)i[n]=t(e[n]);return i}function u(e,t){var n=e.split("@"),i="";n.length>1&&(i=n[0]+"@",e=n[1]),e=e.replace(k,".");var s=e.split("."),r=a(s,t).join(".");return i+r}function c(e){for(var t,n,i=[],s=0,r=e.length;s=55296&&t<=56319&&s65535&&(e-=65536,t+=N(e>>>10&1023|55296),e=56320|1023&e),t+=N(e)}).join("")}function l(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:y}function f(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function d(e,t,n){var i=0;for(e=n?O(e/T):e>>1,e+=O(e/t);e>L*R>>1;i+=y)e=O(e/L);return O(i+(L+1)*e/(e+A))}function p(e){var t,n,i,s,r,a,u,c,f,p,m=[],g=e.length,E=0,v=D,_=S;for(n=e.lastIndexOf(M),n<0&&(n=0),i=0;i=128&&o("not-basic"),m.push(e.charCodeAt(i));for(s=n>0?n+1:0;s=g&&o("invalid-input"),c=l(e.charCodeAt(s++)),(c>=y||c>O((b-E)/a))&&o("overflow"),E+=c*a,f=u<=_?w:u>=_+R?R:u-_,!(cO(b/p)&&o("overflow"),a*=p;t=m.length+1,_=d(E-r,t,0==r),O(E/t)>b-v&&o("overflow"),v+=O(E/t),E%=t,m.splice(E++,0,v)}return h(m)}function m(e){var t,n,i,s,r,a,u,h,l,p,m,g,E,v,_,A=[];for(e=c(e),g=e.length,t=D,n=0,r=S,a=0;a=t&&mO((b-n)/E)&&o("overflow"),n+=(u-t)*E,t=u,a=0;ab&&o("overflow"),m==t){for(h=n,l=y;p=l<=r?w:l>=r+R?R:l-r,!(h= 0x80 (not a basic code point)","invalid-input":"Invalid input"},L=y-w,O=Math.floor,N=String.fromCharCode;_={version:"1.4.1",ucs2:{decode:c,encode:h},decode:p,encode:m,toASCII:E,toUnicode:g},s=function(){return _}.call(t,n,t,e),!(void 0!==s&&(e.exports=s))}(this)}).call(t,n(93)(e),n(9))},function(e,t,n){"use strict";function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,n,r){t=t||"&",n=n||"=";var o={};if("string"!=typeof e||0===e.length)return o;var a=/\+/g;e=e.split(t);var u=1e3;r&&"number"==typeof r.maxKeys&&(u=r.maxKeys);var c=e.length;u>0&&c>u&&(c=u);for(var h=0;h=0?(l=m.substr(0,g),f=m.substr(g+1)):(l=m,f=""),d=decodeURIComponent(l),p=decodeURIComponent(f),i(o,d)?s(o[d])?o[d].push(p):o[d]=[o[d],p]:o[d]=p}return o};var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,n){"use strict";function i(e,t){if(e.map)return e.map(t);for(var n=[],i=0;i0?this.tail.next=t:this.head=t,this.tail=t,++this.length},i.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},i.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},i.prototype.clear=function(){this.head=this.tail=null,this.length=0},i.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},i.prototype.concat=function(e){if(0===this.length)return s.alloc(0);if(1===this.length)return this.head.data;for(var t=s.allocUnsafe(e>>>0),n=this.head,i=0;n;)n.data.copy(t,i),i+=n.data.length,n=n.next;return t}},function(e,t,n){e.exports=n(57)},function(e,t,n){e.exports=n(34)},function(e,t,n){e.exports=n(35)},function(e,t,n){(function(e,t){!function(e,n){"use strict";function i(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n=3.0.0 <4.0.0",type:"range"},"/home/travis/build/hydrabolt/discord.js"]],_from:"snekfetch@>=3.0.0 <4.0.0",_id:"snekfetch@3.0.1",_inCache:!0,_location:"/snekfetch",_nodeVersion:"7.9.0",_npmOperationalInternal:{host:"packages-12-west.internal.npmjs.com",tmp:"tmp/snekfetch-3.0.1.tgz_1492578957273_0.09287812723778188"},_npmUser:{name:"snek",email:"me@gus.host"},_npmVersion:"4.2.0",_phantomChildren:{},_requested:{raw:"snekfetch@^3.0.0",scope:null,escapedName:"snekfetch",name:"snekfetch",rawSpec:"^3.0.0",spec:">=3.0.0 <4.0.0",type:"range"},_requiredBy:["/"],_resolved:"https://registry.npmjs.org/snekfetch/-/snekfetch-3.0.1.tgz",_shasum:"745e62f545fd554feb194d5a18db1acb009e909d",_shrinkwrap:null,_spec:"snekfetch@^3.0.0",_where:"/home/travis/build/hydrabolt/discord.js",author:{name:"Gus Caplan",email:"me@gus.host"},bugs:{url:"https://github.com/GusCaplan/snekfetch/issues"},dependencies:{},description:"Just do http requests without all that weird nastiness from other libs",devDependencies:{},directories:{},dist:{shasum:"745e62f545fd554feb194d5a18db1acb009e909d",tarball:"https://registry.npmjs.org/snekfetch/-/snekfetch-3.0.1.tgz"},gitHead:"572e34c14bd1b78a6287091cfc54784d49a90dc9",homepage:"https://github.com/GusCaplan/snekfetch#readme",license:"MIT",main:"index.js",maintainers:[{name:"snek",email:"me@gus.host"}],name:"snekfetch",optionalDependencies:{},readme:"ERROR: No README data found!",repository:{type:"git",url:"git+https://github.com/GusCaplan/snekfetch.git"},scripts:{},version:"3.0.1"}},function(e,t,n){(function(t){n(21);const i=n(26),s=n(59),r=n(74),o=n(62),a=n(85),u=n(21);class c extends u.Readable{constructor(e,t,n={headers:{},data:null}){super();const i=this.options=o.parse(t);i.method=e.toUpperCase(),i.headers=n.headers,this.data=n.data,this.request=("https:"===i.protocol?r:s).request(i)}set(e,t){if(null!==e&&"object"==typeof e)for(const n of Object.keys(e))this.set(n,e[n]);else this.request._headers[e.toLowerCase()]=t,this.request._headerNames[e.toLowerCase()]=e;return this}attach(e,t,n){const i=this._getFormData();return this.set("Content-Type",`multipart/form-data; boundary=${i.boundary}`),i.append(e,t,n),this.data=i,this}send(e){return"object"==typeof e?(this.set("Content-Type","application/json"),this.data=JSON.stringify(e)):this.data=e,this}then(e,n){return new Promise((e,n)=>{function r(e){e||(e=new Error("Unknown error occured")),e.request=a,n(e)}const a=this.request;a.on("abort",r),a.on("aborted",r),a.on("error",r),a.on("response",r=>{const a=new u.PassThrough;this._shouldUnzip(r)?r.pipe(i.createUnzip({flush:i.Z_SYNC_FLUSH,finishFlush:i.Z_SYNC_FLUSH})).pipe(a):r.pipe(a);let h=[];a.on("data",e=>{this.push(e)||this.pause(),h.push(e)}),a.on("end",()=>{this.push(null);const i=t.concat(h);if(this._shouldRedirect(r))return[301,302].includes(r.statusCode)&&(this.method="HEAD"===this.method?"HEAD":"GET",this.data=null),303===r.statusCode&&(this.method="GET"),void e(new c(this.method,o.resolve(this.options.href,r.headers.location)),{data:this.data,headers:this.request.headers});const a={request:this.options,body:i,text:i.toString(),ok:r.statusCode>=200&&r.statusCode<300,headers:r.headers,status:r.statusCode,statusText:r.statusText||s.STATUS_CODES[r.statusCode],url:this.options.href},u=r.headers["content-type"];if(u)if(u.includes("application/json"))try{a.body=JSON.parse(a.text)}catch(e){}else if(u.includes("application/x-www-form-urlencoded")){a.body={};for(const[e,t]of a.text.split("&").map(e=>e.split("=")))a.body[e]=t}if(a.ok)e(a);else{const e=new Error(`${a.status} ${a.statusText}`.trim());Object.assign(e,a),n(e)}})}),this._addFinalHeaders(),a.end(this.data?this.data.end?this.data.end():this.data:null)}).then(e,n)}catch(e){return this.then(null,e)}end(e){return this.then(t=>e?e(null,t):t,t=>e?e(t,t.status?t:null):t)}_read(){this.resume(),this.request.res||this.catch(e=>this.emit("error",e))}_shouldUnzip(e){return 204!==e.statusCode&&304!==e.statusCode&&("0"!==e.headers["content-length"]&&/^\s*(?:deflate|gzip)\s*$/.test(e.headers["content-encoding"]))}_shouldRedirect(e){return[301,302,303,307,308].includes(e.statusCode)}_getFormData(){return this._formData||(this._formData=new FormData),this._formData}_addFinalHeaders(){this.request&&this.request._headers&&(this.request._headers["user-agent"]||this.set("User-Agent",`snekfetch/${c.version} (${a.repository.url.replace(/\.?git/,"")})`),"HEAD"!==this.request.method&&this.set("Accept-Encoding","gzip, deflate"))}}c.version=a.version,c.METHODS=s.METHODS.concat("BREW");for(const h of c.METHODS)c["M-SEARCH"===h?"msearch":h.toLowerCase()]=(e=>new c(h,e));e.exports=c}).call(t,n(5).Buffer)},function(e,t,n){(function(t,i,s){function r(e,t){return a.fetch&&t?"fetch":a.mozchunkedarraybuffer?"moz-chunked-arraybuffer":a.msstream?"ms-stream":a.arraybuffer&&e?"arraybuffer":a.vbArray&&e?"text:vbarray":"text"}function o(e){try{var t=e.status;return null!==t&&0!==t}catch(e){return!1}}var a=n(60),u=n(11),c=n(88),h=n(36),l=n(90),f=c.IncomingMessage,d=c.readyStates,p=e.exports=function(e){var n=this;h.Writable.call(n),n._opts=e,n._body=[],n._headers={},e.auth&&n.setHeader("Authorization","Basic "+new t(e.auth).toString("base64")),Object.keys(e.headers).forEach(function(t){n.setHeader(t,e.headers[t])});var i,s=!0;if("disable-fetch"===e.mode||"timeout"in e)s=!1,i=!0;else if("prefer-streaming"===e.mode)i=!1;else if("allow-wrong-content-type"===e.mode)i=!a.overrideMimeType;else{if(e.mode&&"default"!==e.mode&&"prefer-fast"!==e.mode)throw new Error("Invalid value for opts.mode");i=!0}n._mode=r(i,s),n.on("finish",function(){n._onFinish()})};u(p,h.Writable),p.prototype.setHeader=function(e,t){var n=this,i=e.toLowerCase();m.indexOf(i)===-1&&(n._headers[i]={name:e,value:t})},p.prototype.getHeader=function(e){var t=this;return t._headers[e.toLowerCase()].value},p.prototype.removeHeader=function(e){var t=this;delete t._headers[e.toLowerCase()]},p.prototype._onFinish=function(){var e=this;if(!e._destroyed){var n=e._opts,r=e._headers,o=null;if("POST"!==n.method&&"PUT"!==n.method&&"PATCH"!==n.method&&"MERGE"!==n.method||(o=a.blobConstructor?new i.Blob(e._body.map(function(e){return l(e)}),{type:(r["content-type"]||{}).value||""}):t.concat(e._body).toString()),"fetch"===e._mode){var u=Object.keys(r).map(function(e){return[r[e].name,r[e].value]});i.fetch(e._opts.url,{method:e._opts.method,headers:u,body:o||void 0,mode:"cors",credentials:n.withCredentials?"include":"same-origin"}).then(function(t){e._fetchResponse=t,e._connect()},function(t){e.emit("error",t)})}else{var c=e._xhr=new i.XMLHttpRequest;try{c.open(e._opts.method,e._opts.url,!0)}catch(t){return void s.nextTick(function(){e.emit("error",t)})}"responseType"in c&&(c.responseType=e._mode.split(":")[0]),"withCredentials"in c&&(c.withCredentials=!!n.withCredentials),"text"===e._mode&&"overrideMimeType"in c&&c.overrideMimeType("text/plain; charset=x-user-defined"),"timeout"in n&&(c.timeout=n.timeout,c.ontimeout=function(){e.emit("timeout")}),Object.keys(r).forEach(function(e){c.setRequestHeader(r[e].name,r[e].value)}),e._response=null,c.onreadystatechange=function(){switch(c.readyState){case d.LOADING:case d.DONE:e._onXHRProgress()}},"moz-chunked-arraybuffer"===e._mode&&(c.onprogress=function(){e._onXHRProgress()}),c.onerror=function(){e._destroyed||e.emit("error",new Error("XHR error"))};try{c.send(o)}catch(t){return void s.nextTick(function(){e.emit("error",t)})}}}},p.prototype._onXHRProgress=function(){var e=this;o(e._xhr)&&!e._destroyed&&(e._response||e._connect(),e._response._onXHRProgress())},p.prototype._connect=function(){var e=this;e._destroyed||(e._response=new f(e._xhr,e._fetchResponse,e._mode),e._response.on("error",function(t){e.emit("error",t)}),e.emit("response",e._response))},p.prototype._write=function(e,t,n){var i=this;i._body.push(e),n()},p.prototype.abort=p.prototype.destroy=function(){var e=this;e._destroyed=!0,e._response&&(e._response._destroyed=!0),e._xhr&&e._xhr.abort()},p.prototype.end=function(e,t,n){var i=this;"function"==typeof e&&(n=e,e=void 0),h.Writable.prototype.end.call(i,e,t,n)},p.prototype.flushHeaders=function(){},p.prototype.setTimeout=function(){},p.prototype.setNoDelay=function(){},p.prototype.setSocketKeepAlive=function(){};var m=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"]}).call(t,n(5).Buffer,n(9),n(6))},function(e,t,n){(function(e,i,s){var r=n(60),o=n(11),a=n(36),u=t.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},c=t.IncomingMessage=function(t,n,s){function o(){c.read().then(function(e){if(!u._destroyed){if(e.done)return void u.push(null);u.push(new i(e.value)),o()}}).catch(function(e){u.emit("error",e)})}var u=this;if(a.Readable.call(u),u._mode=s,u.headers={},u.rawHeaders=[],u.trailers={},u.rawTrailers=[],u.on("end",function(){e.nextTick(function(){u.emit("close")})}),"fetch"===s){u._fetchResponse=n,u.url=n.url,u.statusCode=n.status,u.statusMessage=n.statusText,n.headers.forEach(function(e,t){u.headers[t.toLowerCase()]=e,u.rawHeaders.push(t,e)});var c=n.body.getReader();o()}else{u._xhr=t,u._pos=0,u.url=t.responseURL,u.statusCode=t.status,u.statusMessage=t.statusText;var h=t.getAllResponseHeaders().split(/\r?\n/);if(h.forEach(function(e){var t=e.match(/^([^:]+):\s*(.*)/);if(t){var n=t[1].toLowerCase();"set-cookie"===n?(void 0===u.headers[n]&&(u.headers[n]=[]),u.headers[n].push(t[2])):void 0!==u.headers[n]?u.headers[n]+=", "+t[2]:u.headers[n]=t[2],u.rawHeaders.push(t[1],t[2])}}),u._charset="x-user-defined",!r.overrideMimeType){var l=u.rawHeaders["mime-type"];if(l){var f=l.match(/;\s*charset=([^;])(;|$)/);f&&(u._charset=f[1].toLowerCase())}u._charset||(u._charset="utf-8")}}};o(c,a.Readable),c.prototype._read=function(){},c.prototype._onXHRProgress=function(){var e=this,t=e._xhr,n=null;switch(e._mode){case"text:vbarray":if(t.readyState!==u.DONE)break;try{n=new s.VBArray(t.responseBody).toArray()}catch(e){}if(null!==n){e.push(new i(n));break}case"text":try{n=t.responseText}catch(t){e._mode="text:vbarray";break}if(n.length>e._pos){var r=n.substr(e._pos);if("x-user-defined"===e._charset){for(var o=new i(r.length),a=0;ae._pos&&(e.push(new i(new Uint8Array(c.result.slice(e._pos)))),e._pos=c.result.byteLength)},c.onload=function(){e.push(null)},c.readAsArrayBuffer(n)}e._xhr.readyState===u.DONE&&"ms-stream"!==e._mode&&e.push(null)}}).call(t,n(6),n(5).Buffer,n(9))},function(e,t,n){function i(e,t){this._id=e,this._clearFn=t}var s=Function.prototype.apply;t.setTimeout=function(){return new i(s.call(setTimeout,window,arguments),clearTimeout)},t.setInterval=function(){return new i(s.call(setInterval,window,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(window,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(84),t.setImmediate=setImmediate,t.clearImmediate=clearImmediate},function(e,t,n){var i=n(5).Buffer;e.exports=function(e){if(e instanceof Uint8Array){if(0===e.byteOffset&&e.byteLength===e.buffer.byteLength)return e.buffer;if("function"==typeof e.buffer.slice)return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(i.isBuffer(e)){for(var t=new Uint8Array(e.length),n=e.length,s=0;s{this.client.emit(i.Events.GUILD_CREATE,n)}):this.client.emit(i.Events.GUILD_CREATE,n)),n}newUser(e){if(this.client.users.has(e.id))return this.client.users.get(e.id);const t=new o(this.client,e);return this.client.users.set(t.id,t),t}newChannel(e,t){const n=this.client.channels.has(e.id);let s;return e.type===i.ChannelTypes.DM?s=new a(this.client,e):e.type===i.ChannelTypes.GROUP_DM?s=new f(this.client,e):(t=t||this.client.guilds.get(e.guild_id),t&&(e.type===i.ChannelTypes.TEXT?(s=new c(t,e),t.channels.set(s.id,s)):e.type===i.ChannelTypes.VOICE&&(s=new h(t,e),t.channels.set(s.id,s)))),s?(this.pastReady&&!n&&this.client.emit(i.Events.CHANNEL_CREATE,s),this.client.channels.set(s.id,s),s):null}newEmoji(e,t){const n=t.emojis.has(e.id);if(e&&!n){let n=new u(t,e);return this.client.emit(i.Events.GUILD_EMOJI_CREATE,n),t.emojis.set(n.id,n),n}return n?t.emojis.get(e.id):null}killEmoji(e){e instanceof u&&e.guild&&(this.client.emit(i.Events.GUILD_EMOJI_DELETE,e),e.guild.emojis.delete(e.id))}killGuild(e){const t=this.client.guilds.has(e.id);this.client.guilds.delete(e.id),t&&this.pastReady&&this.client.emit(i.Events.GUILD_DELETE,e)}killUser(e){this.client.users.delete(e.id)}killChannel(e){this.client.channels.delete(e.id),e instanceof l&&e.guild.channels.delete(e.id)}updateGuild(e,t){const n=s.cloneObject(e);e.setup(t),this.pastReady&&this.client.emit(i.Events.GUILD_UPDATE,n,e)}updateChannel(e,t){e.setup(t)}updateEmoji(e,t){const n=s.cloneObject(e);return e.setup(t),this.client.emit(i.Events.GUILD_EMOJI_UPDATE,n,e),e}}e.exports=d},function(e,t,n){const i=n(0),s=n(65);class r{constructor(e){this.client=e,this.heartbeatInterval=null}connectToWebSocket(e,t,n){this.client.emit(i.Events.DEBUG,`Authenticated using token ${e}`),this.client.token=e;const r=this.client.setTimeout(()=>n(new Error(i.Errors.TOOK_TOO_LONG)),3e5);this.client.rest.methods.getGateway().then(o=>{const a=i.DefaultOptions.ws.version,u=`${o.url}/?v=${a}&encoding=${s.ENCODING}`;this.client.emit(i.Events.DEBUG,`Using gateway ${u}`),this.client.ws.connect(u),this.client.ws.once("close",e=>{4004===e.code&&n(new Error(i.Errors.BAD_LOGIN)),4010===e.code&&n(new Error(i.Errors.INVALID_SHARD)),4011===e.code&&n(new Error(i.Errors.SHARDING_REQUIRED))}),this.client.once(i.Events.READY,()=>{t(e),this.client.clearTimeout(r)})},n)}setupKeepAlive(e){this.heartbeatInterval=e,this.client.setInterval(()=>this.client.ws.heartbeat(!0),e)}destroy(){return this.client.ws.destroy(),this.client.user?this.client.user.bot?(this.client.token=null,Promise.resolve()):this.client.rest.methods.logout().then(()=>{this.client.token=null}):Promise.resolve()}}e.exports=r},function(e,t,n){class i{constructor(e){this.client=e,this.register(n(116)),this.register(n(117)),this.register(n(118)),this.register(n(122)),this.register(n(119)),this.register(n(120)),this.register(n(121)),this.register(n(98)),this.register(n(99)),this.register(n(100)),this.register(n(103)),this.register(n(115)),this.register(n(108)),this.register(n(109)),this.register(n(101)),this.register(n(110)),this.register(n(111)),this.register(n(112)),this.register(n(123)),this.register(n(125)),this.register(n(124)),this.register(n(114)),this.register(n(104)),this.register(n(105)),this.register(n(106)),this.register(n(107)),this.register(n(113)),this.register(n(102))}register(e){this[e.name.replace(/Action$/,"")]=new e(this.client)}}e.exports=i},function(e,t,n){const i=n(2);class s extends i{handle(e){const t=this.client,n=t.dataManager.newChannel(e);return{channel:n}}}e.exports=s},function(e,t,n){const i=n(2);class s extends i{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client;let n=t.channels.get(e.id);return n?(t.dataManager.killChannel(n),this.deleted.set(n.id,n),this.scheduleForDeletion(n.id)):n=this.deleted.get(e.id)||null,{channel:n}}scheduleForDeletion(e){this.client.setTimeout(()=>this.deleted.delete(e),this.client.options.restWsBridgeTimeout)}}e.exports=s},function(e,t,n){const i=n(2),s=n(0),r=n(4);class o extends i{handle(e){const t=this.client,n=t.channels.get(e.id);if(n){const i=r.cloneObject(n);return n.setup(e),t.emit(s.Events.CHANNEL_UPDATE,i,n),{old:i,updated:n}}return{old:null,updated:null}}}e.exports=o},function(e,t,n){const i=n(2),s=n(0);class r extends i{handle(e){const t=this.client,n=t.guilds.get(e.guild_id),i=t.dataManager.newUser(e.user);n&&i&&t.emit(s.Events.GUILD_BAN_REMOVE,n,i)}}e.exports=r},function(e,t,n){const i=n(2);class s extends i{handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n)for(const i of e.channels){const e=n.channels.get(i.id);e&&(e.position=i.position)}return{guild:n}}}e.exports=s},function(e,t,n){const i=n(2),s=n(0);class r extends i{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client;let n=t.guilds.get(e.id);if(n){for(const i of n.channels.values())"text"===i.type&&i.stopTyping(!0);if(n.available&&e.unavailable)return n.available=!1,t.emit(s.Events.GUILD_UNAVAILABLE,n),{guild:null};t.guilds.delete(n.id),this.deleted.set(n.id,n),this.scheduleForDeletion(n.id)}else n=this.deleted.get(e.id)||null;return{guild:n}}scheduleForDeletion(e){this.client.setTimeout(()=>this.deleted.delete(e),this.client.options.restWsBridgeTimeout)}}e.exports=r},function(e,t,n){const i=n(2);class s extends i{handle(e,t){const n=this.client,i=n.dataManager.newEmoji(t,e);return{emoji:i}}}e.exports=s},function(e,t,n){const i=n(2);class s extends i{handle(e){const t=this.client;return t.dataManager.killEmoji(e),{emoji:e}}}e.exports=s},function(e,t,n){const i=n(2);class s extends i{handle(e,t){const n=this.client.dataManager.updateEmoji(e,t);return{emoji:n}}}e.exports=s},function(e,t,n){function i(e){const t=new Map;for(const n of e)t.set(...n);return t}const s=n(2);class r extends s{handle(e){const t=this.client.guilds.get(e.guild_id);if(t&&t.emojis){const n=i(t.emojis.entries());for(const s of e.emojis){const e=t.emojis.get(s.id);e?(n.delete(s.id),e.equals(s,!0)||this.client.actions.GuildEmojiUpdate.handle(e,s)):this.client.actions.GuildEmojiCreate.handle(t,s)}for(const s of n.values())this.client.actions.GuildEmojiDelete.handle(s)}}}e.exports=r},function(e,t,n){const i=n(2);class s extends i{handle(e,t){const n=e._addMember(t,!1);return{member:n}}}e.exports=s},function(e,t,n){const i=n(2),s=n(0);class r extends i{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n){let i=n.members.get(e.user.id);return i?(n.memberCount--,n._removeMember(i),this.deleted.set(n.id+e.user.id,i),t.status===s.Status.READY&&t.emit(s.Events.GUILD_MEMBER_REMOVE,i),this.scheduleForDeletion(n.id,e.user.id)):i=this.deleted.get(n.id+e.user.id)||null,{guild:n,member:i}}return{guild:n,member:null}}scheduleForDeletion(e,t){this.client.setTimeout(()=>this.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=r},function(e,t,n){const i=n(2),s=n(0),r=n(15);class o extends i{handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n){const i=n.roles.has(e.role.id),o=new r(n,e.role);return n.roles.set(o.id,o),i||t.emit(s.Events.GUILD_ROLE_CREATE,o),{role:o}}return{role:null}}}e.exports=o},function(e,t,n){const i=n(2),s=n(0);class r extends i{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n){let i=n.roles.get(e.role_id);return i?(n.roles.delete(e.role_id),this.deleted.set(n.id+e.role_id,i),this.scheduleForDeletion(n.id,e.role_id),t.emit(s.Events.GUILD_ROLE_DELETE,i)):i=this.deleted.get(n.id+e.role_id)||null,{role:i}}return{role:null}}scheduleForDeletion(e,t){this.client.setTimeout(()=>this.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=r},function(e,t,n){const i=n(2),s=n(0),r=n(4);class o extends i{ -handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n){const i=e.role;let o=null;const a=n.roles.get(i.id);return a&&(o=r.cloneObject(a),a.setup(e.role),t.emit(s.Events.GUILD_ROLE_UPDATE,o,a)),{old:o,updated:a}}return{old:null,updated:null}}}e.exports=o},function(e,t,n){const i=n(2);class s extends i{handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n)for(const i of e.roles){const e=n.roles.get(i.id);e&&(e.position=i.position)}return{guild:n}}}e.exports=s},function(e,t,n){const i=n(2);class s extends i{handle(e){const t=this.client,n=t.guilds.get(e.id);if(n){if(e.presences)for(const t of e.presences)n._setPresence(t.user.id,t);if(e.members)for(const i of e.members){const e=n.members.get(i.user.id);e?n._updateMember(e,i):n._addMember(i,!1)}"large"in e&&(n.large=e.large)}}}e.exports=s},function(e,t,n){const i=n(2),s=n(0),r=n(4);class o extends i{handle(e){const t=this.client,n=t.guilds.get(e.id);if(n){const i=r.cloneObject(n);return n.setup(e),t.emit(s.Events.GUILD_UPDATE,i,n),{old:i,updated:n}}return{old:null,updated:null}}}e.exports=o},function(e,t,n){const i=n(2),s=n(19);class r extends i{handle(e){const t=this.client,n=t.channels.get((e instanceof Array?e[0]:e).channel_id),i=t.users.get((e instanceof Array?e[0]:e).author.id);if(n){const r=n.guild?n.guild.member(i):null;if(e instanceof Array){const o=new Array(e.length);for(let a=0;athis.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=s},function(e,t,n){const i=n(2),s=n(3),r=n(0);class o extends i{handle(e){const t=this.client,n=t.channels.get(e.channel_id),i=e.ids,o=new s;for(const a of i){const e=n.messages.get(a);e&&o.set(e.id,e)}return o.size>0&&t.emit(r.Events.MESSAGE_BULK_DELETE,o),{messages:o}}}e.exports=o},function(e,t,n){const i=n(2),s=n(0);class r extends i{handle(e){const t=this.client.users.get(e.user_id);if(!t)return!1;const n=this.client.channels.get(e.channel_id);if(!n||"voice"===n.type)return!1;const i=n.messages.get(e.message_id);if(!i)return!1;if(!e.emoji)return!1;const r=i._addReaction(e.emoji,t);return r&&this.client.emit(s.Events.MESSAGE_REACTION_ADD,r,t),{message:i,reaction:r,user:t}}}e.exports=r},function(e,t,n){const i=n(2),s=n(0);class r extends i{handle(e){const t=this.client.users.get(e.user_id);if(!t)return!1;const n=this.client.channels.get(e.channel_id);if(!n||"voice"===n.type)return!1;const i=n.messages.get(e.message_id);if(!i)return!1;if(!e.emoji)return!1;const r=i._removeReaction(e.emoji,t);return r&&this.client.emit(s.Events.MESSAGE_REACTION_REMOVE,r,t),{message:i,reaction:r,user:t}}}e.exports=r},function(e,t,n){const i=n(2),s=n(0);class r extends i{handle(e){const t=this.client.channels.get(e.channel_id);if(!t||"voice"===t.type)return!1;const n=t.messages.get(e.message_id);return!!n&&(n._clearReactions(),this.client.emit(s.Events.MESSAGE_REACTION_REMOVE_ALL,n),{message:n})}}e.exports=r},function(e,t,n){const i=n(2),s=n(0);class r extends i{handle(e){const t=this.client,n=t.channels.get(e.channel_id);if(n){const i=n.messages.get(e.id);return i?(i.patch(e),t.emit(s.Events.MESSAGE_UPDATE,i._edits[0],i),{old:i._edits[0],updated:i}):{old:i,updated:i}}return{old:null,updated:null}}}e.exports=r},function(e,t,n){const i=n(2);class s extends i{handle(e){const t=this.client,n=t.dataManager.newUser(e);return{user:n}}}e.exports=s},function(e,t,n){const i=n(2),s=n(0);class r extends i{handle(e){const t=this.client,n=t.user.notes.get(e.id),i=e.note.length?e.note:null;return t.user.notes.set(e.id,i),t.emit(s.Events.USER_NOTE_UPDATE,e.id,n,i),{old:n,updated:i}}}e.exports=r},function(e,t,n){const i=n(2),s=n(0),r=n(4);class o extends i{handle(e){const t=this.client;if(t.user){if(t.user.equals(e))return{old:t.user,updated:t.user};const n=r.cloneObject(t.user);return t.user.patch(e),t.emit(s.Events.USER_UPDATE,n,t.user),{old:n,updated:t.user}}return{old:null,updated:null}}}e.exports=o},function(e,t,n){const i=n(37),s=n(0);class r{constructor(e,t,n,i,s,r){this.rest=e,this.client=e.client,this.method=t,this.path=n.toString(),this.auth=i,this.data=s,this.files=r,this.route=this.getRoute(this.path)}getRoute(e){let t=e.split("?")[0];if(t.includes("/channels/")||t.includes("/guilds/")){const e=t.includes("/channels/")?t.indexOf("/channels/"):t.indexOf("/guilds/"),n=t.substring(e).split("/")[2];t=t.replace(/(\d{8,})/g,":id").replace(":id",n)}return t}getAuth(){if(this.client.token&&this.client.user&&this.client.user.bot)return`Bot ${this.client.token}`;if(this.client.token)return this.client.token;throw new Error(s.Errors.NO_TOKEN)}gen(){const e=`${this.client.options.http.host}/api/v${this.client.options.http.version}`,t=i[this.method](`${e}${this.path}`);if(this.auth&&t.set("Authorization",this.getAuth()),this.rest.client.browser||t.set("User-Agent",this.rest.userAgentManager.userAgent),this.files){for(const e of this.files)e&&e.file&&t.attach(e.name,e.file,e.name);"undefined"!=typeof this.data&&t.attach("payload_json",JSON.stringify(this.data))}else this.data&&t.send(this.data);return t}}e.exports=r},function(e,t,n){const i=n(56),s=n(31),r=n(8),o=n(0),a=o.Endpoints,u=n(3),c=n(7),h=n(4),l=n(16),f=n(18),d=n(19),p=n(15),m=n(43),g=n(29),E=n(170),v=n(49),_=n(14),b=n(27),y=n(24),w=n(171);class R{constructor(e){this.rest=e,this.client=e.client,this._ackToken=null}login(e=this.client.token){return new Promise((t,n)=>{if("string"!=typeof e)throw new Error(o.Errors.INVALID_TOKEN);e=e.replace(/^Bot\s*/i,""),this.client.manager.connectToWebSocket(e,t,n)})}logout(){return this.rest.makeRequest("post",a.logout,!0,{})}getGateway(e=false){return this.rest.makeRequest("get",e?a.gateway.bot:a.gateway,!0)}fetchVoiceRegions(e){let t;return t=e?a.Guild(e).voiceRegions:a.voiceRegions,this.rest.makeRequest("get",t,!0).then(e=>{const t=new u;for(const n of e)t.set(n.id,new w(n));return t})}sendMessage(e,t,{tts,nonce,embed,disableEveryone,split,code,reply}={},n=null){return new Promise((i,s)=>{if("undefined"!=typeof t&&(t=this.client.resolver.resolveString(t)),"undefined"!=typeof nonce&&(nonce=parseInt(nonce),isNaN(nonce)||nonce<0))throw new RangeError("Message nonce must fit in an unsigned 64-bit integer.");if(t){if(split&&"object"!=typeof split&&(split={}),"undefined"==typeof code||"boolean"==typeof code&&code!==!0||(t=h.escapeMarkdown(this.client.resolver.resolveString(t),!0),t=`\`\`\`${"boolean"!=typeof code?code||"":""} +},w.shl=w.shiftLeft,w.shiftRight=function(e){return t(e)&&(e=e.toInt()),0===(e&=63)?this:e<32?s(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):s(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},w.shr=w.shiftRight,w.shiftRightUnsigned=function(e){if(t(e)&&(e=e.toInt()),e&=63,0===e)return this;var n=this.high;if(e<32){var i=this.low;return s(i>>>e|n<<32-e,n>>>e,this.unsigned)}return 32===e?s(n,0,this.unsigned):s(n>>>e-32,0,this.unsigned)},w.shru=w.shiftRightUnsigned,w.toSigned=function(){return this.unsigned?s(this.low,this.high,!1):this},w.toUnsigned=function(){return this.unsigned?this:s(this.low,this.high,!0)},w.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},w.toBytesLE=function(){var e=this.high,t=this.low;return[255&t,t>>>8&255,t>>>16&255,t>>>24&255,255&e,e>>>8&255,e>>>16&255,e>>>24&255]},w.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t]},e})},function(e,t,n){(function(e){function n(e,t){for(var n=0,i=e.length-1;i>=0;i--){var s=e[i];"."===s?e.splice(i,1):".."===s?(e.splice(i,1),n++):n&&(e.splice(i,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function i(e,t){if(e.filter)return e.filter(t);for(var n=[],i=0;i=-1&&!s;r--){var o=r>=0?arguments[r]:e.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,s="/"===o.charAt(0))}return t=n(i(t.split("/"),function(e){return!!e}),!s).join("/"),(s?"/":"")+t||"."},t.normalize=function(e){var s=t.isAbsolute(e),r="/"===o(e,-1);return e=n(i(e.split("/"),function(e){return!!e}),!s).join("/"),e||s||(e="."),e&&r&&(e+="/"),(s?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},t.relative=function(e,n){function i(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var s=i(e.split("/")),r=i(n.split("/")),o=Math.min(s.length,r.length),a=o,u=0;u-1?i:T;a.WritableState=o;var D=n(20);D.inherits=n(11);var M,C={deprecate:n(92)};!function(){try{M=n(21)}catch(e){}finally{M||(M=n(10).EventEmitter)}}();var I=n(5).Buffer,k=n(30);D.inherits(a,M),o.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(o.prototype,"buffer",{get:C.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")})}catch(e){}}();var U;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(U=Function.prototype[Symbol.hasInstance],Object.defineProperty(a,Symbol.hasInstance,{value:function(e){return!!U.call(this,e)||e&&e._writableState instanceof o}})):U=function(e){return e instanceof this},a.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},a.prototype.write=function(e,t,n){var i=this._writableState,r=!1;return"function"==typeof t&&(n=t,t=null),I.isBuffer(e)?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=s),i.ended?u(this,n):c(this,i,e,n)&&(i.pendingcb++,r=l(this,i,e,t,n)),r},a.prototype.cork=function(){var e=this._writableState;e.corked++},a.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||v(this,e))},a.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},a.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},a.prototype._writev=null,a.prototype.end=function(e,t,n){var i=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||w(this,i,n)}}).call(t,n(6),n(89).setImmediate)},function(e,t,n){(function(i){var s=function(){try{return n(21)}catch(e){}}();t=e.exports=n(58),t.Stream=s||t,t.Readable=t,t.Writable=n(35),t.Duplex=n(13),t.Transform=n(34),t.PassThrough=n(57),!i.browser&&"disable"===i.env.READABLE_STREAM&&s&&(e.exports=s)}).call(t,n(6))},function(e,t,n){(function(t,i,s){const r=n(86),o="__SNEKFETCH_SYNC_REQUEST";let a=!0;for(let u of r.METHODS)u="M-SEARCH"===u?"msearch":u.toLowerCase(),r[`${u}Sync`]=((e,s={})=>{a&&(a=!1,console.error("Performing sync requests is a really stupid thing to do. https://www.google.com/search?q=why+sync+requests+are+bad+nodejs")),s.url=e,s.method=u;const r=n(26),c=JSON.parse(r.execSync(`node ${t}/index.js`,{env:{[o]:JSON.stringify(s)}}).toString(),(e,t)=>{if(null===t)return t;if("Buffer"===t.type&&Array.isArray(t.data))return new i(t.data);if(t.__CONVERT_TO_ERROR){const e=new Error;for(const n of Object.keys(t))"__CONVERT_TO_ERROR"!==n&&(e[n]=t[n]);return e}return t});if(c.error)throw c.error;return c});if(s.env[o]){const e=JSON.parse(s.env[o]),t=r[e.method](e.url);e.headers&&t.set(e.headers),e.body&&t.send(e.body),t.end((e,t={})=>{if(e){const n={};for(const i of Object.getOwnPropertyNames(e))n[i]=e[i];t.error=n,t.error.__CONVERT_TO_ERROR=!0}s.stdout.write(JSON.stringify(t))})}e.exports=r}).call(t,"node_modules/snekfetch",n(5).Buffer,n(6))},function(e,t,n){(function(t){const i=n(32),s=n(26),r=n(37),o=n(0),a=n(4).convertToBuffer,u=n(16),c=n(19),h=n(24),l=n(14),f=n(18),d=n(17),p=n(28);class m{constructor(e){this.client=e}resolveUser(e){return e instanceof u?e:"string"==typeof e?this.client.users.get(e)||null:e instanceof f?e.user:e instanceof c?e.author:e instanceof h?e.owner:null}resolveUserID(e){return e instanceof u||e instanceof f?e.id:"string"==typeof e?e||null:e instanceof c?e.author.id:e instanceof h?e.ownerID:null}resolveGuild(e){return e instanceof h?e:"string"==typeof e?this.client.guilds.get(e)||null:null}resolveGuildMember(e,t){return t instanceof f?t:(e=this.resolveGuild(e),t=this.resolveUser(t),e&&t?e.members.get(t.id)||null:null)}resolveChannel(e){return e instanceof l?e:"string"==typeof e?this.client.channels.get(e)||null:e instanceof c?e.channel:e instanceof h?e.channels.get(e.id)||null:null}resolveChannelID(e){return e instanceof l?e.id:"string"==typeof e?e:e instanceof c?e.channel.id:e instanceof h?e.defaultChannel.id:null}resolveInviteCode(e){const t=/discord(?:app\.com\/invite|\.gg)\/([\w-]{2,255})/i,n=t.exec(e);return n&&n[1]?n[1]:e}resolveString(e){return"string"==typeof e?e:e instanceof Array?e.join("\n"):String(e)}resolveBase64(e){return e instanceof t?`data:image/jpg;base64,${e.toString("base64")}`:e}resolveBuffer(e){return e instanceof t?Promise.resolve(e):this.client.browser&&e instanceof ArrayBuffer?Promise.resolve(a(e)):"string"==typeof e?new Promise((n,o)=>{if(/^https?:\/\//.test(e))r.get(e).end((e,i)=>{return e?o(e):i.body instanceof t?n(i.body):o(new TypeError("The response body isn't a Buffer."))});else{const t=i.resolve(e);s.stat(t,(e,i)=>{return e?o(e):i&&i.isFile()?(s.readFile(t,(e,t)=>{e?o(e):n(t)}),null):o(new Error(`The file could not be found: ${t}`))})}}):Promise.reject(new TypeError("The resource must be a string or Buffer."))}resolveEmojiIdentifier(e){return e instanceof d||e instanceof p?e.identifier:"string"==typeof e?this.client.emojis.has(e)?this.client.emojis.get(e).identifier:e.includes("%")?e:encodeURIComponent(e):null}static resolveColor(e){if("string"==typeof e){if("RANDOM"===e)return Math.floor(16777216*Math.random());e=o.Colors[e]||parseInt(e.replace("#",""),16)}else e instanceof Array&&(e=(e[0]<<16)+(e[1]<<8)+e[2]);if(e<0||e>16777215)throw new RangeError("Color must be within the range 0 - 16777215 (0xFFFFFF).");if(e&&isNaN(e))throw new TypeError("Unable to convert color to a number.");return e}resolveColor(e){return this.constructor.resolveColor(e)}}e.exports=m}).call(t,n(5).Buffer)},function(e,t){e.exports={name:"discord.js",version:"11.1.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":"^0.0.1",snekfetch:"^3.0.0",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","libsodium-wrappers":"^0.5.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(e,t,n){const i=n(16),s=n(3),r=n(41);class o extends i{setup(e){super.setup(e),this.verified=e.verified,this.email=e.email,this.localPresence={},this._typing=new Map,this.friends=new s,this.blocked=new s,this.notes=new s,this.premium="boolean"==typeof e.premium?e.premium:null,this.mfaEnabled="boolean"==typeof e.mfa_enabled?e.mfa_enabled:null,this.mobile="boolean"==typeof e.mobile?e.mobile:null,e.user_settings&&(this.settings=new r(this,e.user_settings))}edit(e){return this.client.rest.methods.updateCurrentUser(e)}setUsername(e,t){return this.client.rest.methods.updateCurrentUser({username:e},t)}setEmail(e,t){return this.client.rest.methods.updateCurrentUser({email:e},t)}setPassword(e,t){return this.client.rest.methods.updateCurrentUser({password:e},t)}setAvatar(e){return"string"==typeof e&&e.startsWith("data:")?this.client.rest.methods.updateCurrentUser({avatar:e}):this.client.resolver.resolveBuffer(e).then(e=>this.client.rest.methods.updateCurrentUser({avatar:e}))}setPresence(e){return new Promise(t=>{let n=this.localPresence.status||this.presence.status,i=this.localPresence.game,s=this.localPresence.afk||this.presence.afk;if(!i&&this.presence.game&&(i={name:this.presence.game.name,type:this.presence.game.type,url:this.presence.game.url}),e.status){if("string"!=typeof e.status)throw new TypeError("Status must be a string");n=e.status}e.game&&(i=e.game,i.url&&(i.type=1)),null===e.game&&(i=null),"undefined"!=typeof e.afk&&(s=e.afk),s=Boolean(s),this.localPresence={status:n,game:i,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),t(this)})}setStatus(e){return this.setPresence({status:e})}setGame(e,t){return null===e?this.setPresence({game:e}):this.setPresence({game:{name:e,url:t}})}setAFK(e){return this.setPresence({afk:e})}fetchMentions(e={limit:25,roles:true,everyone:true,guild:null}){return this.client.rest.methods.fetchMentions(e)}addFriend(e){return e=this.client.resolver.resolveUser(e),this.client.rest.methods.addFriend(e)}removeFriend(e){return e=this.client.resolver.resolveUser(e),this.client.rest.methods.removeFriend(e)}createGuild(e,t,n=null){return n?"string"==typeof n&&n.startsWith("data:")?this.client.rest.methods.createGuild({name:e,icon:n,region:t}):this.client.resolver.resolveBuffer(n).then(n=>this.client.rest.methods.createGuild({name:e,icon:n,region:t})):this.client.rest.methods.createGuild({name:e,icon:n,region:t})}createGroupDM(e){return this.client.rest.methods.createGroupDM({recipients:e.map(e=>this.client.resolver.resolveUserID(e.user)),accessTokens:e.map(e=>e.accessToken),nicks:e.map(e=>e.nick)})}acceptInvite(e){return this.client.rest.methods.acceptInvite(e)}}e.exports=o},function(e,t,n){const i=n(0),s=n(4);class r{constructor(e,t){this.user=e,this.patch(t)}patch(e){for(const t of Object.keys(i.UserSettingsMap)){const n=i.UserSettingsMap[t];e.hasOwnProperty(t)&&("function"==typeof n?this[n.name]=n(e[t]):this[n]=e[t])}}update(e,t){return this.user.client.rest.methods.patchUserSettings({[e]:t})}setGuildPosition(e,t,n){const i=Object.assign([],this.guildPositions);return s.moveElementInArray(i,e.id,t,n),this.update("guild_positions",i).then(()=>e)}addRestrictedGuild(e){const t=Object.assign([],this.restrictedGuilds);return t.includes(e.id)?Promise.reject(new Error("Guild is already restricted")):(t.push(e.id),this.update("restricted_guilds",t).then(()=>e))}removeRestrictedGuild(e){const t=Object.assign([],this.restrictedGuilds),n=t.indexOf(e.id);return n<0?Promise.reject(new Error("Guild is not restricted")):(t.splice(n,1),this.update("restricted_guilds",t).then(()=>e))}}e.exports=r},function(e,t,n){const i=n(14),s=n(22),r=n(3);class o extends i{constructor(e,t){super(e,t),this.type="dm",this.messages=new r,this._typing=new Map}setup(e){super.setup(e),this.recipient=this.client.dataManager.newUser(e.recipients[0]),this.lastMessageID=e.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(o,!0,["bulkDelete"]),e.exports=o},function(e,t,n){const i=n(50),s=n(51),r=n(0);class o{constructor(e,t){Object.defineProperty(this,"client",{value:e}),this.setup(t)}setup(e){this.guild=this.client.guilds.get(e.guild.id)||new i(this.client,e.guild),this.code=e.code,this.temporary=e.temporary,this.maxAge=e.max_age,this.uses=e.uses,this.maxUses=e.max_uses,e.inviter&&(this.inviter=this.client.dataManager.newUser(e.inviter)),this.channel=this.client.channels.get(e.channel.id)||new s(this.client,e.channel),this.createdTimestamp=new Date(e.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 r.Endpoints.inviteLink(this.code)}delete(){return this.client.rest.methods.deleteInvite(this)}toString(){return this.url}}e.exports=o},function(e,t){class n{constructor(e,t){Object.defineProperty(this,"client",{value:e.client}),this.message=e,this.setup(t)}setup(e){this.id=e.id,this.filename=e.filename,this.filesize=e.size,this.url=e.url,this.proxyURL=e.proxy_url,this.height=e.height,this.width=e.width}}e.exports=n},function(e,t,n){const i=n(10).EventEmitter,s=n(3);class r extends i{constructor(e,t,n={}){super(),this.channel=e,this.filter=t,this.options=n,this.ended=!1,this.collected=new s,this.listener=(e=>this.verify(e)),this.channel.client.on("message",this.listener),n.time&&this.channel.client.setTimeout(()=>this.stop("time"),n.time)}verify(e){return(!this.channel||this.channel.id===e.channel.id)&&(!!this.filter(e,this)&&(this.collected.set(e.id,e),this.emit("message",e,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((e,t)=>{if(this.ended)return void t(this.collected);const n=()=>{this.removeListener("message",i),this.removeListener("end",s)},i=(...t)=>{n(),e(...t)},s=(...e)=>{n(),t(...e)};this.once("message",i),this.once("end",s)})}stop(e="user"){this.ended||(this.ended=!0,this.channel.client.removeListener("message",this.listener),this.emit("end",this.collected,e))}}e.exports=r},function(e,t){class n{constructor(e,t){Object.defineProperty(this,"client",{value:e.client}),this.message=e,this.setup(t)}setup(e){if(this.type=e.type,this.title=e.title,this.description=e.description,this.url=e.url,this.color=e.color,this.fields=[],e.fields)for(const t of e.fields)this.fields.push(new u(this,t));this.createdTimestamp=e.timestamp,this.thumbnail=e.thumbnail?new i(this,e.thumbnail):null,this.image=e.image?new s(this,e.image):null,this.video=e.video?new r(this,e.video):null,this.author=e.author?new a(this,e.author):null,this.provider=e.provider?new o(this,e.provider):null,this.footer=e.footer?new c(this,e.footer):null}get createdAt(){return new Date(this.createdTimestamp)}get hexColor(){let e=this.color.toString(16);for(;e.length<6;)e=`0${e}`;return`#${e}`}}class i{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.url=e.url,this.proxyURL=e.proxy_url,this.height=e.height,this.width=e.width}}class s{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.url=e.url,this.proxyURL=e.proxy_url,this.height=e.height,this.width=e.width}}class r{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.url=e.url,this.height=e.height,this.width=e.width}}class o{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.url=e.url}}class a{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.url=e.url,this.iconURL=e.icon_url}}class u{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.name=e.name,this.value=e.value,this.inline=e.inline}}class c{constructor(e,t){this.embed=e,this.setup(t)}setup(e){this.text=e.text,this.iconURL=e.icon_url,this.proxyIconUrl=e.proxy_icon_url}}n.Thumbnail=i,n.Image=s,n.Video=r,n.Provider=o,n.Author=a,n.Field=u,n.Footer=c,e.exports=n},function(e,t,n){const i=n(3);class s{constructor(e,t,n,s){if(this.everyone=Boolean(s),t)if(t instanceof i)this.users=new i(t);else{this.users=new i;for(const n of t){let t=e.client.users.get(n.id);t||(t=e.client.dataManager.newUser(n)),this.users.set(t.id,t)}}else this.users=new i;if(n)if(n instanceof i)this.roles=new i(n);else{this.roles=new i;for(const t of n){const n=e.channel.guild.roles.get(t);n&&this.roles.set(n.id,n)}}else this.roles=new i;this._content=e.content,this._guild=e.channel.guild,this._members=null,this._channels=null}get members(){return this._members?this._members:this._guild?(this._members=new i,this.users.forEach(e=>{const t=this._guild.member(e);t&&this._members.set(t.user.id,t)}),this._members):null}get channels(){if(this._channels)return this._channels;if(!this._guild)return null;this._channels=new i;let e;for(;null!==(e=this.constructor.CHANNELS_PATTERN.exec(this._content));){const t=this._guild.channels.get(e[1]);t&&this._channels.set(t.id,t)}return this._channels}}s.EVERYONE_PATTERN=/@(everyone|here)/g,s.USERS_PATTERN=/<@!?[0-9]+>/g,s.ROLES_PATTERN=/<@&[0-9]+>/g,s.CHANNELS_PATTERN=/<#([0-9]+)>/g,e.exports=s},function(e,t,n){const i=n(3),s=n(17),r=n(28);class o{constructor(e,t,n,s){this.message=e,this.me=s,this.count=n||0,this.users=new i,this._emoji=new r(this,t.name,t.id)}get emoji(){if(this._emoji instanceof s)return this._emoji;if(this._emoji.id){const e=this.message.client.emojis;if(e.has(this._emoji.id)){const t=e.get(this._emoji.id);return this._emoji=t,t}}return this._emoji}remove(e=this.message.client.user){const t=this.message,n=this.message.client.resolver.resolveUserID(e);return n?t.client.rest.methods.removeMessageReaction(t,this.emoji.identifier,n):Promise.reject(new Error("Couldn't resolve the user ID to remove from the reaction."))}fetchUsers(e=100){const t=this.message;return t.client.rest.methods.getMessageReactionUsers(t,this.emoji.identifier,e).then(e=>{this.users=new i;for(const t of e){const e=this.message.client.dataManager.newUser(t);this.users.set(e.id,e)}return this.count=this.users.size,this.users})}}e.exports=o},function(e,t,n){const i=n(7);class s{constructor(e,t){Object.defineProperty(this,"client",{value:e}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.description=e.description,this.icon=e.icon,this.iconURL=`https://cdn.discordapp.com/app-icons/${this.id}/${this.icon}.jpg`,this.rpcOrigins=e.rpc_origins,this.redirectURIs=e.redirect_uris,this.botRequireCodeGrant=e.bot_require_code_grant,this.botPublic=e.bot_public,this.rpcApplicationState=e.rpc_application_state,this.bot=e.bot,this.flags=e.flags,this.secret=e.secret}get createdTimestamp(){return i.deconstruct(this.id).timestamp}get createdAt(){return new Date(this.createdTimestamp)}reset(){return this.client.rest.methods.resetApplication(this.id)}toString(){return this.name}}e.exports=s},function(e,t){class n{constructor(e,t){Object.defineProperty(this,"client",{value:e}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.icon=e.icon,this.splash=e.splash}}e.exports=n},function(e,t,n){const i=n(0);class s{constructor(e,t){Object.defineProperty(this,"client",{value:e}),this.setup(t)}setup(e){this.id=e.id,this.name=e.name,this.type=i.ChannelTypes.TEXT===e.type?"text":"voice"}}e.exports=s},function(e,t){class n{constructor(e,t){Object.defineProperty(this,"channel",{value:e}),t&&this.setup(t)}setup(e){this.id=e.id,this.type=e.type,this.deny=e.deny,this.allow=e.allow}delete(){return this.channel.client.rest.methods.deletePermissionOverwrites(this)}}e.exports=n},function(e,t,n){const i=n(25),s=n(22),r=n(3);class o extends i{constructor(e,t){super(e,t),this.type="text",this.messages=new r,this._typing=new Map}setup(e){super.setup(e),this.topic=e.topic,this.lastMessageID=e.last_message_id}get members(){const e=new r;for(const t of this.guild.members.values())this.permissionsFor(t).hasPermission("READ_MESSAGES")&&e.set(t.id,t);return e}fetchWebhooks(){return this.client.rest.methods.getChannelWebhooks(this)}createWebhook(e,t){return new Promise(n=>{"string"==typeof t&&t.startsWith("data:")?n(this.client.rest.methods.createWebhook(this,e,t)):this.client.resolver.resolveBuffer(t).then(t=>n(this.client.rest.methods.createWebhook(this,e,t)))})}send(){}sendMessage(){}sendEmbed(){}sendFile(){}sendFiles(){}sendCode(){}fetchMessage(){}fetchMessages(){}fetchPinnedMessages(){}search(){}startTyping(){}stopTyping(){}get typing(){}get typingCount(){}createCollector(){}awaitMessages(){}bulkDelete(){}acknowledge(){}_cacheMessage(){}}s.applyToClass(o,!0),e.exports=o},function(e,t,n){const i=n(25),s=n(3);class r extends i{constructor(e,t){super(e,t),this.members=new s,this.type="voice"}setup(e){super.setup(e),this.bitrate=e.bitrate,this.userLimit=e.user_limit}get connection(){const e=this.guild.voiceConnection;return e&&e.channel.id===this.id?e: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(e){return this.edit({bitrate:e})}setUserLimit(e){return this.edit({userLimit:e})}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 e=this.client.voice.connections.get(this.guild.id);e&&e.channel.id===this.id&&e.disconnect()}}}e.exports=r},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";t.decode=t.parse=n(77),t.encode=t.stringify=n(78)},function(e,t,n){"use strict";function i(e){return this instanceof i?void s.call(this,e):new i(e)}e.exports=i;var s=n(34),r=n(20);r.inherits=n(11),r.inherits(i,s),i.prototype._transform=function(e,t,n){n(null,e)}},function(e,t,n){"use strict";(function(t){function i(e,t,n){ +return"function"==typeof e.prependListener?e.prependListener(t,n):void(e._events&&e._events[t]?k(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n))}function s(e,t){C=C||n(13),e=e||{},this.objectMode=!!e.objectMode,t instanceof C&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:s,this.highWaterMark=~~this.highWaterMark,this.buffer=new B,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(j||(j=n(61).StringDecoder),this.decoder=new j(e.encoding),this.encoding=e.encoding)}function r(e){return C=C||n(13),this instanceof r?(this._readableState=new s(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),void U.call(this)):new r(e)}function o(e,t,n,i,s){var r=h(t,n);if(r)e.emit("error",r);else if(null===n)t.reading=!1,l(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!s){var o=new Error("stream.push() after EOF");e.emit("error",o)}else if(t.endEmitted&&s){var u=new Error("stream.unshift() after end event");e.emit("error",u)}else{var c;!t.decoder||s||i||(n=t.decoder.write(n),c=!t.objectMode&&0===n.length),s||(t.reading=!1),c||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,s?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&f(e))),p(e,t)}else s||(t.reading=!1);return a(t)}function a(e){return!e.ended&&(e.needReadable||e.length=q?e=q:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function c(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=u(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function h(e,t){var n=null;return O.isBuffer(t)||"string"==typeof t||null===t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function l(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,f(e)}}function f(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(G("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?I(d,e):d(e))}function d(e){G("emit readable"),e.emit("readable"),b(e)}function p(e,t){t.readingMore||(t.readingMore=!0,I(m,e,t))}function m(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=w(e,t.buffer,t.decoder),n}function w(e,t,n){var i;return er.length?r.length:e;if(s+=o===r.length?r:r.slice(0,e),e-=o,0===e){o===r.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=r.slice(o));break}++i}return t.length-=i,s}function A(e,t){var n=N.allocUnsafe(e),i=t.head,s=1;for(i.data.copy(n),e-=i.data.length;i=i.next;){var r=i.data,o=e>r.length?r.length:e;if(r.copy(n,n.length-e,0,o),e-=o,0===e){o===r.length?(++s,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=r.slice(o));break}++s}return t.length-=s,n}function T(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,I(S,t,e))}function S(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function D(e,t){for(var n=0,i=e.length;n=t.highWaterMark||t.ended))return G("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?T(this):f(this),null;if(e=c(e,t),0===e&&t.ended)return 0===t.length&&T(this),null;var i=t.needReadable;G("need readable",i),(0===t.length||t.length-e0?y(e,t):null,null===s?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&T(this)),null!==s&&this.emit("data",s),s},r.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},r.prototype.pipe=function(e,n){function s(e){G("onunpipe"),e===f&&o()}function r(){G("onend"),e.end()}function o(){G("cleanup"),e.removeListener("close",c),e.removeListener("finish",h),e.removeListener("drain",E),e.removeListener("error",u),e.removeListener("unpipe",s),f.removeListener("end",r),f.removeListener("end",o),f.removeListener("data",a),v=!0,!d.awaitDrain||e._writableState&&!e._writableState.needDrain||E()}function a(t){G("ondata"),_=!1;var n=e.write(t);!1!==n||_||((1===d.pipesCount&&d.pipes===e||d.pipesCount>1&&M(d.pipes,e)!==-1)&&!v&&(G("false write response, pause",f._readableState.awaitDrain),f._readableState.awaitDrain++,_=!0),f.pause())}function u(t){G("onerror",t),l(),e.removeListener("error",u),0===L(e,"error")&&e.emit("error",t)}function c(){e.removeListener("finish",h),l()}function h(){G("onfinish"),e.removeListener("close",c),l()}function l(){G("unpipe"),f.unpipe(e)}var f=this,d=this._readableState;switch(d.pipesCount){case 0:d.pipes=e;break;case 1:d.pipes=[d.pipes,e];break;default:d.pipes.push(e)}d.pipesCount+=1,G("pipe count=%d opts=%j",d.pipesCount,n);var p=(!n||n.end!==!1)&&e!==t.stdout&&e!==t.stderr,m=p?r:o;d.endEmitted?I(m):f.once("end",m),e.on("unpipe",s);var E=g(f);e.on("drain",E);var v=!1,_=!1;return f.on("data",a),i(e,"error",u),e.once("close",c),e.once("finish",h),e.emit("pipe",f),d.flowing||(G("pipe resume"),f.resume()),e},r.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var s=0;s=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var s=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,s),s-=this.charReceived),t+=e.toString(this.encoding,0,s);var s=t.length-1,i=t.charCodeAt(s);if(i>=55296&&i<=56319){var r=this.surrogateSize;return this.charLength+=r,this.charReceived+=r,this.charBuffer.copy(this.charBuffer,r,0,r),e.copy(this.charBuffer,0,0,r),t.substring(0,s)}return t},c.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},c.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,i=this.charBuffer,s=this.encoding;t+=i.slice(0,n).toString(s)}return t}},function(e,t,n){"use strict";function i(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function s(e,t,n){if(e&&c.isObject(e)&&e instanceof i)return e;var s=new i;return s.parse(e,t,n),s}function r(e){return c.isString(e)&&(e=s(e)),e instanceof i?e.format():i.prototype.format.call(e)}function o(e,t){return s(e,!1,!0).resolve(t)}function a(e,t){return e?s(e,!1,!0).resolveObject(t):t}var u=n(76),c=n(91);t.parse=s,t.resolve=o,t.resolveObject=a,t.format=r,t.Url=i;var h=/^([a-z0-9.+-]+:)/i,l=/:[0-9]*$/,f=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,d=["<",">",'"',"`"," ","\r","\n","\t"],p=["{","}","|","\\","^","`"].concat(d),m=["'"].concat(p),g=["%","/","?",";","#"].concat(m),E=["/","?","#"],v=255,_=/^[+a-z0-9A-Z_-]{0,63}$/,b=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,y={javascript:!0,"javascript:":!0},w={javascript:!0,"javascript:":!0},R={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=n(56);i.prototype.parse=function(e,t,n){if(!c.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),s=i!==-1&&i127?"x":O[P];if(!N.match(_)){var G=U.slice(0,D),j=U.slice(D+1),B=O.match(b);B&&(G.push(B[1]),j.unshift(B[2])),j.length&&(a="/"+j.join(".")+a),this.hostname=G.join(".");break}}}this.hostname.length>v?this.hostname="":this.hostname=this.hostname.toLowerCase(),k||(this.hostname=u.toASCII(this.hostname));var q=this.port?":"+this.port:"",H=this.hostname||"";this.host=H+q,this.href+=this.host,k&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==a[0]&&(a="/"+a))}if(!y[p])for(var D=0,L=m.length;D0)&&n.host.split("@");T&&(n.auth=T.shift(),n.host=n.hostname=T.shift())}return n.search=e.search,n.query=e.query,c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!y.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var S=y.slice(-1)[0],D=(n.host||e.host||y.length>1)&&("."===S||".."===S)||""===S,M=0,C=y.length;C>=0;C--)S=y[C],"."===S?y.splice(C,1):".."===S?(y.splice(C,1),M++):M&&(y.splice(C,1),M--);if(!_&&!b)for(;M--;M)y.unshift("..");!_||""===y[0]||y[0]&&"/"===y[0].charAt(0)||y.unshift(""),D&&"/"!==y.join("/").substr(-1)&&y.push("");var I=""===y[0]||y[0]&&"/"===y[0].charAt(0);if(A){n.hostname=n.host=I?"":y.length?y.shift():"";var T=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");T&&(n.auth=T.shift(),n.host=n.hostname=T.shift())}return _=_||n.host&&y.length,_&&!I&&y.unshift(""),y.length?n.pathname=y.join("/"):(n.pathname=null,n.path=null),c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},i.prototype.parseHost=function(){var e=this.host,t=l.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){const i=n(130),s=n(127),r=n(129),o=n(128),a=n(126),u=n(0);class c{constructor(e){this.client=e,this.handlers={},this.userAgentManager=new i(this),this.methods=new s(this),this.rateLimitedEndpoints={},this.globallyRateLimited=!1}push(e,t){return new Promise((n,i)=>{e.push({request:t,resolve:n,reject:i})})}getRequestHandler(){switch(this.client.options.apiRequestMethod){case"sequential":return r;case"burst":return o;default:throw new Error(u.Errors.INVALID_RATE_LIMIT_METHOD)}}makeRequest(e,t,n,i,s){const r=new a(this,e,t,n,i,s);if(!this.handlers[r.route]){const e=this.getRequestHandler();this.handlers[r.route]=new e(this,r.route)}return this.push(this.handlers[r.route],r)}}e.exports=c},function(e,t){class n{constructor(e){this.restManager=e,this.queue=[]}get globalLimit(){return this.restManager.globallyRateLimited}set globalLimit(e){this.restManager.globallyRateLimited=e}push(e){this.queue.push(e)}handle(){}}e.exports=n},function(e,t,n){(function(t){const i="browser"===n(23).platform(),s=n(10),r=n(26),o=function(){try{const e=n(176);return e.pack?e:null}catch(e){return null}}(),a=function(){if(i)return window.WebSocket;try{return n(177)}catch(e){return n(178)}}();class u extends s{constructor(e){super(e),this.ws=new a(e),i&&(this.ws.binaryType="arraybuffer"),this.ws.onmessage=this.eventMessage.bind(this),this.ws.onopen=this.emit.bind(this,"open"),this.ws.onclose=this.emit.bind(this,"close"),this.ws.onerror=this.emit.bind(this,"error")}eventMessage(e){try{const t=this.unpack(e.data);return this.emit("packet",t),!0}catch(e){return this.listenerCount("decodeError")&&this.emit("decodeError",e),!1}}send(e){this.ws.send(this.pack(e))}pack(e){return o?o.pack(e):JSON.stringify(e)}unpack(e){return o&&"string"!=typeof e?(e instanceof ArrayBuffer&&(e=t.from(new Uint8Array(e))),o.unpack(e)):((e instanceof ArrayBuffer||e instanceof t)&&(e=this.inflate(e)),JSON.parse(e))}inflate(e){return o?e:r.inflateSync(e).toString()}get readyState(){return this.ws.readyState}close(e,t){this.ws.close(e,t)}}u.ENCODING=o?"etf":"json",u.WebSocket=a,e.exports=u}).call(t,n(5).Buffer)},function(module,exports,__webpack_require__){(function(process){const os=__webpack_require__(23),EventEmitter=__webpack_require__(10).EventEmitter,Constants=__webpack_require__(0),Permissions=__webpack_require__(8),Util=__webpack_require__(4),RESTManager=__webpack_require__(63),ClientDataManager=__webpack_require__(95),ClientManager=__webpack_require__(96),ClientDataResolver=__webpack_require__(38),ClientVoiceManager=__webpack_require__(174),WebSocketManager=__webpack_require__(131),ActionsManager=__webpack_require__(97),Collection=__webpack_require__(3),Presence=__webpack_require__(12).Presence,ShardClientUtil=__webpack_require__(173),VoiceBroadcast=__webpack_require__(175);class Client extends EventEmitter{constructor(e={}){super(),!e.shardId&&"SHARD_ID"in process.env&&(e.shardId=Number(process.env.SHARD_ID)),!e.shardCount&&"SHARD_COUNT"in process.env&&(e.shardCount=Number(process.env.SHARD_COUNT)),this.options=Util.mergeDefault(Constants.DefaultOptions,e),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((e,t)=>e+t,0)/this.pings.length}get voiceConnections(){return this.browser?new Collection:this.voice.connections}get emojis(){const e=new Collection;for(const t of this.guilds.values())for(const n of t.emojis.values())e.set(n.id,n);return e}get readyTimestamp(){return this.readyAt?this.readyAt.getTime():null}get browser(){return"browser"===os.platform()}createVoiceBroadcast(){const e=new VoiceBroadcast(this);return this.broadcasts.push(e),e}login(e){return this.rest.methods.login(e)}destroy(){for(const e of this._timeouts)clearTimeout(e);for(const t of this._intervals)clearInterval(t);return this._timeouts.clear(),this._intervals.clear(),this.manager.destroy()}syncGuilds(e=this.guilds){this.user.bot||this.ws.send({op:12,d:e instanceof Collection?e.keyArray():e.map(e=>e.id)})}fetchUser(e,t=true){return this.users.has(e)?Promise.resolve(this.users.get(e)):this.rest.methods.getUser(e,t)}fetchInvite(e){const t=this.resolver.resolveInviteCode(e);return this.rest.methods.getInvite(t)}fetchWebhook(e,t){return this.rest.methods.getWebhook(e,t)}fetchVoiceRegions(){return this.rest.methods.fetchVoiceRegions()}sweepMessages(e=this.options.messageCacheLifetime){if("number"!=typeof e||isNaN(e))throw new TypeError("The lifetime must be a number.");if(e<=0)return this.emit("debug","Didn't sweep messages - lifetime is unlimited"),-1;const t=1e3*e,n=Date.now();let i=0,s=0;for(const r of this.channels.values())if(r.messages){i++;for(const e of r.messages.values())n-(e.editedTimestamp||e.createdTimestamp)>t&&(r.messages.delete(e.id),s++)}return this.emit("debug",`Swept ${s} messages older than ${e} seconds in ${i} text-based channels`),s}fetchApplication(e="@me"){return this.rest.methods.getApplication(e)}generateInvite(e){return e?e instanceof Array&&(e=Permissions.resolve(e)):e=0,this.fetchApplication().then(t=>`https://discordapp.com/oauth2/authorize?client_id=${t.id}&permissions=${e}&scope=bot`)}setTimeout(e,t,...n){const i=setTimeout(()=>{e(),this._timeouts.delete(i)},t,...n);return this._timeouts.add(i),i}clearTimeout(e){clearTimeout(e),this._timeouts.delete(e)}setInterval(e,t,...n){const i=setInterval(e,t,...n);return this._intervals.add(i),i}clearInterval(e){clearInterval(e),this._intervals.delete(e)}_pong(e){this.pings.unshift(Date.now()-e),this.pings.length>3&&(this.pings.length=3),this.ws.lastHeartbeatAck=!0}_setPresence(e,t){return this.presences.has(e)?void this.presences.get(e).update(t):void this.presences.set(e,new Presence(t))}_eval(script){return eval(script)}_validateOptions(e=this.options){if("number"!=typeof e.shardCount||isNaN(e.shardCount))throw new TypeError("The shardCount option must be a number.");if("number"!=typeof e.shardId||isNaN(e.shardId))throw new TypeError("The shardId option must be a number.");if(e.shardCount<0)throw new RangeError("The shardCount option must be at least 0.");if(e.shardId<0)throw new RangeError("The shardId option must be at least 0.");if(0!==e.shardId&&e.shardId>=e.shardCount)throw new RangeError("The shardId option must be less than shardCount.");if("number"!=typeof e.messageCacheMaxSize||isNaN(e.messageCacheMaxSize))throw new TypeError("The messageCacheMaxSize option must be a number.");if("number"!=typeof e.messageCacheLifetime||isNaN(e.messageCacheLifetime))throw new TypeError("The messageCacheLifetime option must be a number.");if("number"!=typeof e.messageSweepInterval||isNaN(e.messageSweepInterval))throw new TypeError("The messageSweepInterval option must be a number.");if("boolean"!=typeof e.fetchAllMembers)throw new TypeError("The fetchAllMembers option must be a boolean.");if("boolean"!=typeof e.disableEveryone)throw new TypeError("The disableEveryone option must be a boolean.");if("number"!=typeof e.restWsBridgeTimeout||isNaN(e.restWsBridgeTimeout))throw new TypeError("The restWsBridgeTimeout option must be a number.");if(!(e.disabledEvents instanceof Array))throw new TypeError("The disabledEvents option must be an Array.")}}module.exports=Client}).call(exports,__webpack_require__(6))},function(e,t,n){const i=n(29),s=n(63),r=n(38),o=n(0),a=n(4);class u extends i{constructor(e,t,n){super(null,e,t),this.options=a.mergeDefault(o.DefaultOptions,n),this.rest=new s(this),this.resolver=new r(this),this._timeouts=new Set,this._intervals=new Set}setTimeout(e,t,...n){const i=setTimeout(()=>{e(),this._timeouts.delete(i)},t,...n);return this._timeouts.add(i),i}clearTimeout(e){clearTimeout(e),this._timeouts.delete(e)}setInterval(e,t,...n){const i=setInterval(e,t,...n);return this._intervals.add(i),i}clearInterval(e){clearInterval(e),this._intervals.delete(e)}destroy(){for(const e of this._timeouts)clearTimeout(e);for(const t of this._intervals)clearInterval(t);this._timeouts.clear(),this._intervals.clear()}}e.exports=u},function(e,t,n){function i(e){return"string"==typeof e?e:e instanceof Array?e.join("\n"):String(e)}const s=n(38);class r{constructor(e={}){this.title=e.title,this.description=e.description,this.url=e.url,this.color=e.color,this.author=e.author,this.timestamp=e.timestamp,this.fields=e.fields||[],this.thumbnail=e.thumbnail,this.image=e.image,this.footer=e.footer,this.file=e.file}setTitle(e){if(e=i(e),e.length>256)throw new RangeError("RichEmbed titles may not exceed 256 characters.");return this.title=e,this}setDescription(e){if(e=i(e),e.length>2048)throw new RangeError("RichEmbed descriptions may not exceed 2048 characters.");return this.description=e,this}setURL(e){return this.url=e,this}setColor(e){return this.color=s.resolveColor(e),this}setAuthor(e,t,n){return this.author={name:i(e),icon_url:t,url:n},this}setTimestamp(e=new Date){return this.timestamp=e,this}addField(e,t,n=false){if(this.fields.length>=25)throw new RangeError("RichEmbeds may not exceed 25 fields.");if(e=i(e),e.length>256)throw new RangeError("RichEmbed field names may not exceed 256 characters.");if(!/\S/.test(e))throw new RangeError("RichEmbed field names may not be empty.");if(t=i(t),t.length>1024)throw new RangeError("RichEmbed field values may not exceed 1024 characters.");if(!/\S/.test(t))throw new RangeError("RichEmbed field values may not be empty.");return this.fields.push({name:e,value:t,inline:n}),this}addBlankField(e=false){return this.addField("​","​",e)}setThumbnail(e){return this.thumbnail={url:e},this}setImage(e){return this.image={url:e},this}setFooter(e,t){if(e=i(e),e.length>2048)throw new RangeError("RichEmbed footer text may not exceed 2048 characters.");return this.footer={text:e,icon_url:t},this}attachFile(e){if(this.file)throw new RangeError("You may not upload more than one file at once.");return this.file=e,this}}e.exports=r},function(e,t){},function(e,t){},function(e,t){},function(e,t,n){"use strict";function i(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4"); +return"="===e[t-2]?2:"="===e[t-1]?1:0}function s(e){return 3*e.length/4-i(e)}function r(e){var t,n,s,r,o,a,u=e.length;o=i(e),a=new l(3*u/4-o),s=o>0?u-4:u;var c=0;for(t=0,n=0;t>16&255,a[c++]=r>>8&255,a[c++]=255&r;return 2===o?(r=h[e.charCodeAt(t)]<<2|h[e.charCodeAt(t+1)]>>4,a[c++]=255&r):1===o&&(r=h[e.charCodeAt(t)]<<10|h[e.charCodeAt(t+1)]<<4|h[e.charCodeAt(t+2)]>>2,a[c++]=r>>8&255,a[c++]=255&r),a}function o(e){return c[e>>18&63]+c[e>>12&63]+c[e>>6&63]+c[63&e]}function a(e,t,n){for(var i,s=[],r=t;rh?h:u+o));return 1===i?(t=e[n-1],s+=c[t>>2],s+=c[t<<4&63],s+="=="):2===i&&(t=(e[n-2]<<8)+e[n-1],s+=c[t>>10],s+=c[t>>4&63],s+=c[t<<2&63],s+="="),r.push(s),r.join("")}t.byteLength=s,t.toByteArray=r,t.fromByteArray=u;for(var c=[],h=[],l="undefined"!=typeof Uint8Array?Uint8Array:Array,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d=0,p=f.length;d>1,h=-7,l=n?s-1:0,f=n?-1:1,d=e[t+l];for(l+=f,r=d&(1<<-h)-1,d>>=-h,h+=a;h>0;r=256*r+e[t+l],l+=f,h-=8);for(o=r&(1<<-h)-1,r>>=-h,h+=i;h>0;o=256*o+e[t+l],l+=f,h-=8);if(0===r)r=1-c;else{if(r===u)return o?NaN:(d?-1:1)*(1/0);o+=Math.pow(2,i),r-=c}return(d?-1:1)*o*Math.pow(2,r-i)},t.write=function(e,t,n,i,s,r){var o,a,u,c=8*r-s-1,h=(1<>1,f=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:r-1,p=i?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=h):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),t+=o+l>=1?f/u:f*Math.pow(2,1-l),t*u>=2&&(o++,u/=2),o+l>=h?(a=0,o=h):o+l>=1?(a=(t*u-1)*Math.pow(2,s),o+=l):(a=t*Math.pow(2,l-1)*Math.pow(2,s),o=0));s>=8;e[n+d]=255&a,d+=p,a/=256,s-=8);for(o=o<0;e[n+d]=255&o,d+=p,o/=256,c-=8);e[n+d-p]|=128*m}},function(e,t,n){(function(e,i){var s;!function(r){function o(e){throw new RangeError(U[e])}function a(e,t){for(var n=e.length,i=[];n--;)i[n]=t(e[n]);return i}function u(e,t){var n=e.split("@"),i="";n.length>1&&(i=n[0]+"@",e=n[1]),e=e.replace(k,".");var s=e.split("."),r=a(s,t).join(".");return i+r}function c(e){for(var t,n,i=[],s=0,r=e.length;s=55296&&t<=56319&&s65535&&(e-=65536,t+=N(e>>>10&1023|55296),e=56320|1023&e),t+=N(e)}).join("")}function l(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:y}function f(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function d(e,t,n){var i=0;for(e=n?O(e/T):e>>1,e+=O(e/t);e>L*R>>1;i+=y)e=O(e/L);return O(i+(L+1)*e/(e+A))}function p(e){var t,n,i,s,r,a,u,c,f,p,m=[],g=e.length,E=0,v=D,_=S;for(n=e.lastIndexOf(M),n<0&&(n=0),i=0;i=128&&o("not-basic"),m.push(e.charCodeAt(i));for(s=n>0?n+1:0;s=g&&o("invalid-input"),c=l(e.charCodeAt(s++)),(c>=y||c>O((b-E)/a))&&o("overflow"),E+=c*a,f=u<=_?w:u>=_+R?R:u-_,!(cO(b/p)&&o("overflow"),a*=p;t=m.length+1,_=d(E-r,t,0==r),O(E/t)>b-v&&o("overflow"),v+=O(E/t),E%=t,m.splice(E++,0,v)}return h(m)}function m(e){var t,n,i,s,r,a,u,h,l,p,m,g,E,v,_,A=[];for(e=c(e),g=e.length,t=D,n=0,r=S,a=0;a=t&&mO((b-n)/E)&&o("overflow"),n+=(u-t)*E,t=u,a=0;ab&&o("overflow"),m==t){for(h=n,l=y;p=l<=r?w:l>=r+R?R:l-r,!(h= 0x80 (not a basic code point)","invalid-input":"Invalid input"},L=y-w,O=Math.floor,N=String.fromCharCode;_={version:"1.4.1",ucs2:{decode:c,encode:h},decode:p,encode:m,toASCII:E,toUnicode:g},s=function(){return _}.call(t,n,t,e),!(void 0!==s&&(e.exports=s))}(this)}).call(t,n(93)(e),n(9))},function(e,t,n){"use strict";function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,n,r){t=t||"&",n=n||"=";var o={};if("string"!=typeof e||0===e.length)return o;var a=/\+/g;e=e.split(t);var u=1e3;r&&"number"==typeof r.maxKeys&&(u=r.maxKeys);var c=e.length;u>0&&c>u&&(c=u);for(var h=0;h=0?(l=m.substr(0,g),f=m.substr(g+1)):(l=m,f=""),d=decodeURIComponent(l),p=decodeURIComponent(f),i(o,d)?s(o[d])?o[d].push(p):o[d]=[o[d],p]:o[d]=p}return o};var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,n){"use strict";function i(e,t){if(e.map)return e.map(t);for(var n=[],i=0;i0?this.tail.next=t:this.head=t,this.tail=t,++this.length},i.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},i.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},i.prototype.clear=function(){this.head=this.tail=null,this.length=0},i.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},i.prototype.concat=function(e){if(0===this.length)return s.alloc(0);if(1===this.length)return this.head.data;for(var t=s.allocUnsafe(e>>>0),n=this.head,i=0;n;)n.data.copy(t,i),i+=n.data.length,n=n.next;return t}},function(e,t,n){e.exports=n(57)},function(e,t,n){e.exports=n(34)},function(e,t,n){e.exports=n(35)},function(e,t,n){(function(e,t){!function(e,n){"use strict";function i(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n=3.0.0 <4.0.0",type:"range"},"/home/travis/build/hydrabolt/discord.js"]],_from:"snekfetch@>=3.0.0 <4.0.0",_id:"snekfetch@3.0.1",_inCache:!0,_location:"/snekfetch",_nodeVersion:"7.9.0",_npmOperationalInternal:{host:"packages-12-west.internal.npmjs.com",tmp:"tmp/snekfetch-3.0.1.tgz_1492578957273_0.09287812723778188"},_npmUser:{name:"snek",email:"me@gus.host"},_npmVersion:"4.2.0",_phantomChildren:{},_requested:{raw:"snekfetch@^3.0.0",scope:null,escapedName:"snekfetch",name:"snekfetch",rawSpec:"^3.0.0",spec:">=3.0.0 <4.0.0",type:"range"},_requiredBy:["/"],_resolved:"https://registry.npmjs.org/snekfetch/-/snekfetch-3.0.1.tgz",_shasum:"745e62f545fd554feb194d5a18db1acb009e909d",_shrinkwrap:null,_spec:"snekfetch@^3.0.0",_where:"/home/travis/build/hydrabolt/discord.js",author:{name:"Gus Caplan",email:"me@gus.host"},bugs:{url:"https://github.com/GusCaplan/snekfetch/issues"},dependencies:{},description:"Just do http requests without all that weird nastiness from other libs",devDependencies:{},directories:{},dist:{shasum:"745e62f545fd554feb194d5a18db1acb009e909d",tarball:"https://registry.npmjs.org/snekfetch/-/snekfetch-3.0.1.tgz"},gitHead:"572e34c14bd1b78a6287091cfc54784d49a90dc9",homepage:"https://github.com/GusCaplan/snekfetch#readme",license:"MIT",main:"index.js",maintainers:[{name:"snek",email:"me@gus.host"}],name:"snekfetch",optionalDependencies:{},readme:"ERROR: No README data found!",repository:{type:"git",url:"git+https://github.com/GusCaplan/snekfetch.git"},scripts:{},version:"3.0.1"}},function(e,t,n){(function(t){n(21);const i=n(26),s=n(59),r=n(74),o=n(62),a=n(85),u=n(21);class c extends u.Readable{constructor(e,t,n={headers:{},data:null}){super();const i=this.options=o.parse(t);i.method=e.toUpperCase(),i.headers=n.headers,this.data=n.data,this.request=("https:"===i.protocol?r:s).request(i)}set(e,t){if(null!==e&&"object"==typeof e)for(const n of Object.keys(e))this.set(n,e[n]);else this.request._headers[e.toLowerCase()]=t,this.request._headerNames[e.toLowerCase()]=e;return this}attach(e,t,n){const i=this._getFormData();return this.set("Content-Type",`multipart/form-data; boundary=${i.boundary}`),i.append(e,t,n),this.data=i,this}send(e){return"object"==typeof e?(this.set("Content-Type","application/json"),this.data=JSON.stringify(e)):this.data=e,this}then(e,n){return new Promise((e,n)=>{function r(e){e||(e=new Error("Unknown error occured")),e.request=a,n(e)}const a=this.request;a.on("abort",r),a.on("aborted",r),a.on("error",r),a.on("response",r=>{const a=new u.PassThrough;this._shouldUnzip(r)?r.pipe(i.createUnzip({flush:i.Z_SYNC_FLUSH,finishFlush:i.Z_SYNC_FLUSH})).pipe(a):r.pipe(a);let h=[];a.on("data",e=>{this.push(e)||this.pause(),h.push(e)}),a.on("end",()=>{this.push(null);const i=t.concat(h);if(this._shouldRedirect(r))return[301,302].includes(r.statusCode)&&(this.method="HEAD"===this.method?"HEAD":"GET",this.data=null),303===r.statusCode&&(this.method="GET"),void e(new c(this.method,o.resolve(this.options.href,r.headers.location)),{data:this.data,headers:this.request.headers});const a={request:this.options,body:i,text:i.toString(),ok:r.statusCode>=200&&r.statusCode<300,headers:r.headers,status:r.statusCode,statusText:r.statusText||s.STATUS_CODES[r.statusCode],url:this.options.href},u=r.headers["content-type"];if(u)if(u.includes("application/json"))try{a.body=JSON.parse(a.text)}catch(e){}else if(u.includes("application/x-www-form-urlencoded")){a.body={};for(const[e,t]of a.text.split("&").map(e=>e.split("=")))a.body[e]=t}if(a.ok)e(a);else{const e=new Error(`${a.status} ${a.statusText}`.trim());Object.assign(e,a),n(e)}})}),this._addFinalHeaders(),a.end(this.data?this.data.end?this.data.end():this.data:null)}).then(e,n)}catch(e){return this.then(null,e)}end(e){return this.then(t=>e?e(null,t):t,t=>e?e(t,t.status?t:null):t)}_read(){this.resume(),this.request.res||this.catch(e=>this.emit("error",e))}_shouldUnzip(e){return 204!==e.statusCode&&304!==e.statusCode&&("0"!==e.headers["content-length"]&&/^\s*(?:deflate|gzip)\s*$/.test(e.headers["content-encoding"]))}_shouldRedirect(e){return[301,302,303,307,308].includes(e.statusCode)}_getFormData(){return this._formData||(this._formData=new FormData),this._formData}_addFinalHeaders(){this.request&&this.request._headers&&(this.request._headers["user-agent"]||this.set("User-Agent",`snekfetch/${c.version} (${a.repository.url.replace(/\.?git/,"")})`),"HEAD"!==this.request.method&&this.set("Accept-Encoding","gzip, deflate"))}}c.version=a.version,c.METHODS=s.METHODS.concat("BREW");for(const h of c.METHODS)c["M-SEARCH"===h?"msearch":h.toLowerCase()]=(e=>new c(h,e));e.exports=c}).call(t,n(5).Buffer)},function(e,t,n){(function(t,i,s){function r(e,t){return a.fetch&&t?"fetch":a.mozchunkedarraybuffer?"moz-chunked-arraybuffer":a.msstream?"ms-stream":a.arraybuffer&&e?"arraybuffer":a.vbArray&&e?"text:vbarray":"text"}function o(e){try{var t=e.status;return null!==t&&0!==t}catch(e){return!1}}var a=n(60),u=n(11),c=n(88),h=n(36),l=n(90),f=c.IncomingMessage,d=c.readyStates,p=e.exports=function(e){var n=this;h.Writable.call(n),n._opts=e,n._body=[],n._headers={},e.auth&&n.setHeader("Authorization","Basic "+new t(e.auth).toString("base64")),Object.keys(e.headers).forEach(function(t){n.setHeader(t,e.headers[t])});var i,s=!0;if("disable-fetch"===e.mode||"timeout"in e)s=!1,i=!0;else if("prefer-streaming"===e.mode)i=!1;else if("allow-wrong-content-type"===e.mode)i=!a.overrideMimeType;else{if(e.mode&&"default"!==e.mode&&"prefer-fast"!==e.mode)throw new Error("Invalid value for opts.mode");i=!0}n._mode=r(i,s),n.on("finish",function(){n._onFinish()})};u(p,h.Writable),p.prototype.setHeader=function(e,t){var n=this,i=e.toLowerCase();m.indexOf(i)===-1&&(n._headers[i]={name:e,value:t})},p.prototype.getHeader=function(e){var t=this;return t._headers[e.toLowerCase()].value},p.prototype.removeHeader=function(e){var t=this;delete t._headers[e.toLowerCase()]},p.prototype._onFinish=function(){var e=this;if(!e._destroyed){var n=e._opts,r=e._headers,o=null;if("POST"!==n.method&&"PUT"!==n.method&&"PATCH"!==n.method&&"MERGE"!==n.method||(o=a.blobConstructor?new i.Blob(e._body.map(function(e){return l(e)}),{type:(r["content-type"]||{}).value||""}):t.concat(e._body).toString()),"fetch"===e._mode){var u=Object.keys(r).map(function(e){return[r[e].name,r[e].value]});i.fetch(e._opts.url,{method:e._opts.method,headers:u,body:o||void 0,mode:"cors",credentials:n.withCredentials?"include":"same-origin"}).then(function(t){e._fetchResponse=t,e._connect()},function(t){e.emit("error",t)})}else{var c=e._xhr=new i.XMLHttpRequest;try{c.open(e._opts.method,e._opts.url,!0)}catch(t){return void s.nextTick(function(){e.emit("error",t)})}"responseType"in c&&(c.responseType=e._mode.split(":")[0]),"withCredentials"in c&&(c.withCredentials=!!n.withCredentials),"text"===e._mode&&"overrideMimeType"in c&&c.overrideMimeType("text/plain; charset=x-user-defined"),"timeout"in n&&(c.timeout=n.timeout,c.ontimeout=function(){e.emit("timeout")}),Object.keys(r).forEach(function(e){c.setRequestHeader(r[e].name,r[e].value)}),e._response=null,c.onreadystatechange=function(){switch(c.readyState){case d.LOADING:case d.DONE:e._onXHRProgress()}},"moz-chunked-arraybuffer"===e._mode&&(c.onprogress=function(){e._onXHRProgress()}),c.onerror=function(){e._destroyed||e.emit("error",new Error("XHR error"))};try{c.send(o)}catch(t){return void s.nextTick(function(){e.emit("error",t)})}}}},p.prototype._onXHRProgress=function(){var e=this;o(e._xhr)&&!e._destroyed&&(e._response||e._connect(),e._response._onXHRProgress())},p.prototype._connect=function(){var e=this;e._destroyed||(e._response=new f(e._xhr,e._fetchResponse,e._mode),e._response.on("error",function(t){e.emit("error",t)}),e.emit("response",e._response))},p.prototype._write=function(e,t,n){var i=this;i._body.push(e),n()},p.prototype.abort=p.prototype.destroy=function(){var e=this;e._destroyed=!0,e._response&&(e._response._destroyed=!0),e._xhr&&e._xhr.abort()},p.prototype.end=function(e,t,n){var i=this;"function"==typeof e&&(n=e,e=void 0),h.Writable.prototype.end.call(i,e,t,n)},p.prototype.flushHeaders=function(){},p.prototype.setTimeout=function(){},p.prototype.setNoDelay=function(){},p.prototype.setSocketKeepAlive=function(){};var m=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"]}).call(t,n(5).Buffer,n(9),n(6))},function(e,t,n){(function(e,i,s){var r=n(60),o=n(11),a=n(36),u=t.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},c=t.IncomingMessage=function(t,n,s){function o(){c.read().then(function(e){if(!u._destroyed){if(e.done)return void u.push(null);u.push(new i(e.value)),o()}}).catch(function(e){u.emit("error",e)})}var u=this;if(a.Readable.call(u),u._mode=s,u.headers={},u.rawHeaders=[],u.trailers={},u.rawTrailers=[],u.on("end",function(){e.nextTick(function(){u.emit("close")})}),"fetch"===s){u._fetchResponse=n,u.url=n.url,u.statusCode=n.status,u.statusMessage=n.statusText,n.headers.forEach(function(e,t){u.headers[t.toLowerCase()]=e,u.rawHeaders.push(t,e)});var c=n.body.getReader();o()}else{u._xhr=t,u._pos=0,u.url=t.responseURL,u.statusCode=t.status,u.statusMessage=t.statusText;var h=t.getAllResponseHeaders().split(/\r?\n/);if(h.forEach(function(e){var t=e.match(/^([^:]+):\s*(.*)/);if(t){var n=t[1].toLowerCase();"set-cookie"===n?(void 0===u.headers[n]&&(u.headers[n]=[]),u.headers[n].push(t[2])):void 0!==u.headers[n]?u.headers[n]+=", "+t[2]:u.headers[n]=t[2],u.rawHeaders.push(t[1],t[2])}}),u._charset="x-user-defined",!r.overrideMimeType){var l=u.rawHeaders["mime-type"];if(l){var f=l.match(/;\s*charset=([^;])(;|$)/);f&&(u._charset=f[1].toLowerCase())}u._charset||(u._charset="utf-8")}}};o(c,a.Readable),c.prototype._read=function(){},c.prototype._onXHRProgress=function(){var e=this,t=e._xhr,n=null;switch(e._mode){case"text:vbarray":if(t.readyState!==u.DONE)break;try{n=new s.VBArray(t.responseBody).toArray()}catch(e){}if(null!==n){e.push(new i(n));break}case"text":try{n=t.responseText}catch(t){e._mode="text:vbarray";break}if(n.length>e._pos){var r=n.substr(e._pos);if("x-user-defined"===e._charset){for(var o=new i(r.length),a=0;ae._pos&&(e.push(new i(new Uint8Array(c.result.slice(e._pos)))),e._pos=c.result.byteLength)},c.onload=function(){e.push(null)},c.readAsArrayBuffer(n)}e._xhr.readyState===u.DONE&&"ms-stream"!==e._mode&&e.push(null)}}).call(t,n(6),n(5).Buffer,n(9))},function(e,t,n){function i(e,t){this._id=e,this._clearFn=t}var s=Function.prototype.apply;t.setTimeout=function(){return new i(s.call(setTimeout,window,arguments),clearTimeout)},t.setInterval=function(){return new i(s.call(setInterval,window,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(window,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(84),t.setImmediate=setImmediate,t.clearImmediate=clearImmediate},function(e,t,n){var i=n(5).Buffer;e.exports=function(e){if(e instanceof Uint8Array){if(0===e.byteOffset&&e.byteLength===e.buffer.byteLength)return e.buffer;if("function"==typeof e.buffer.slice)return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(i.isBuffer(e)){for(var t=new Uint8Array(e.length),n=e.length,s=0;s{this.client.emit(i.Events.GUILD_CREATE,n)}):this.client.emit(i.Events.GUILD_CREATE,n)),n}newUser(e){if(this.client.users.has(e.id))return this.client.users.get(e.id);const t=new o(this.client,e);return this.client.users.set(t.id,t),t}newChannel(e,t){const n=this.client.channels.has(e.id);let s;return e.type===i.ChannelTypes.DM?s=new a(this.client,e):e.type===i.ChannelTypes.GROUP_DM?s=new f(this.client,e):(t=t||this.client.guilds.get(e.guild_id),t&&(e.type===i.ChannelTypes.TEXT?(s=new c(t,e),t.channels.set(s.id,s)):e.type===i.ChannelTypes.VOICE&&(s=new h(t,e),t.channels.set(s.id,s)))),s?(this.pastReady&&!n&&this.client.emit(i.Events.CHANNEL_CREATE,s),this.client.channels.set(s.id,s),s):null}newEmoji(e,t){const n=t.emojis.has(e.id);if(e&&!n){let n=new u(t,e);return this.client.emit(i.Events.GUILD_EMOJI_CREATE,n),t.emojis.set(n.id,n),n}return n?t.emojis.get(e.id):null}killEmoji(e){e instanceof u&&e.guild&&(this.client.emit(i.Events.GUILD_EMOJI_DELETE,e),e.guild.emojis.delete(e.id))}killGuild(e){const t=this.client.guilds.has(e.id);this.client.guilds.delete(e.id),t&&this.pastReady&&this.client.emit(i.Events.GUILD_DELETE,e)}killUser(e){this.client.users.delete(e.id)}killChannel(e){this.client.channels.delete(e.id),e instanceof l&&e.guild.channels.delete(e.id)}updateGuild(e,t){const n=s.cloneObject(e);e.setup(t),this.pastReady&&this.client.emit(i.Events.GUILD_UPDATE,n,e)}updateChannel(e,t){e.setup(t)}updateEmoji(e,t){const n=s.cloneObject(e);return e.setup(t),this.client.emit(i.Events.GUILD_EMOJI_UPDATE,n,e),e}}e.exports=d},function(e,t,n){const i=n(0),s=n(65);class r{constructor(e){this.client=e,this.heartbeatInterval=null}connectToWebSocket(e,t,n){this.client.emit(i.Events.DEBUG,`Authenticated using token ${e}`),this.client.token=e;const r=this.client.setTimeout(()=>n(new Error(i.Errors.TOOK_TOO_LONG)),3e5);this.client.rest.methods.getGateway().then(o=>{const a=i.DefaultOptions.ws.version,u=`${o.url}/?v=${a}&encoding=${s.ENCODING}`;this.client.emit(i.Events.DEBUG,`Using gateway ${u}`),this.client.ws.connect(u),this.client.ws.once("close",e=>{4004===e.code&&n(new Error(i.Errors.BAD_LOGIN)),4010===e.code&&n(new Error(i.Errors.INVALID_SHARD)),4011===e.code&&n(new Error(i.Errors.SHARDING_REQUIRED))}),this.client.once(i.Events.READY,()=>{t(e),this.client.clearTimeout(r)})},n)}setupKeepAlive(e){this.heartbeatInterval=e,this.client.setInterval(()=>this.client.ws.heartbeat(!0),e)}destroy(){return this.client.ws.destroy(),this.client.user?this.client.user.bot?(this.client.token=null,Promise.resolve()):this.client.rest.methods.logout().then(()=>{this.client.token=null}):Promise.resolve()}}e.exports=r},function(e,t,n){class i{constructor(e){this.client=e,this.register(n(116)),this.register(n(117)),this.register(n(118)),this.register(n(122)),this.register(n(119)),this.register(n(120)),this.register(n(121)),this.register(n(98)),this.register(n(99)),this.register(n(100)),this.register(n(103)),this.register(n(115)),this.register(n(108)),this.register(n(109)),this.register(n(101)),this.register(n(110)),this.register(n(111)),this.register(n(112)),this.register(n(123)),this.register(n(125)),this.register(n(124)),this.register(n(114)),this.register(n(104)),this.register(n(105)),this.register(n(106)),this.register(n(107)),this.register(n(113)),this.register(n(102))}register(e){this[e.name.replace(/Action$/,"")]=new e(this.client)}}e.exports=i},function(e,t,n){const i=n(2);class s extends i{handle(e){const t=this.client,n=t.dataManager.newChannel(e);return{channel:n}}}e.exports=s},function(e,t,n){const i=n(2);class s extends i{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client;let n=t.channels.get(e.id);return n?(t.dataManager.killChannel(n),this.deleted.set(n.id,n),this.scheduleForDeletion(n.id)):n=this.deleted.get(e.id)||null,{channel:n}}scheduleForDeletion(e){this.client.setTimeout(()=>this.deleted.delete(e),this.client.options.restWsBridgeTimeout)}}e.exports=s},function(e,t,n){const i=n(2),s=n(0),r=n(4);class o extends i{handle(e){const t=this.client,n=t.channels.get(e.id);if(n){const i=r.cloneObject(n);return n.setup(e),t.emit(s.Events.CHANNEL_UPDATE,i,n),{old:i,updated:n}}return{old:null,updated:null}}}e.exports=o},function(e,t,n){const i=n(2),s=n(0);class r extends i{handle(e){const t=this.client,n=t.guilds.get(e.guild_id),i=t.dataManager.newUser(e.user);n&&i&&t.emit(s.Events.GUILD_BAN_REMOVE,n,i)}}e.exports=r},function(e,t,n){const i=n(2);class s extends i{handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n)for(const i of e.channels){const e=n.channels.get(i.id);e&&(e.position=i.position)}return{guild:n}}}e.exports=s},function(e,t,n){const i=n(2),s=n(0);class r extends i{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client;let n=t.guilds.get(e.id);if(n){for(const i of n.channels.values())"text"===i.type&&i.stopTyping(!0);if(n.available&&e.unavailable)return n.available=!1,t.emit(s.Events.GUILD_UNAVAILABLE,n),{guild:null};t.guilds.delete(n.id),this.deleted.set(n.id,n),this.scheduleForDeletion(n.id)}else n=this.deleted.get(e.id)||null;return{guild:n}}scheduleForDeletion(e){this.client.setTimeout(()=>this.deleted.delete(e),this.client.options.restWsBridgeTimeout)}}e.exports=r},function(e,t,n){const i=n(2);class s extends i{handle(e,t){const n=this.client,i=n.dataManager.newEmoji(t,e);return{emoji:i}}}e.exports=s},function(e,t,n){const i=n(2);class s extends i{handle(e){const t=this.client;return t.dataManager.killEmoji(e),{emoji:e}}}e.exports=s},function(e,t,n){const i=n(2);class s extends i{handle(e,t){const n=this.client.dataManager.updateEmoji(e,t);return{emoji:n}}}e.exports=s},function(e,t,n){function i(e){const t=new Map;for(const n of e)t.set(...n);return t}const s=n(2);class r extends s{handle(e){const t=this.client.guilds.get(e.guild_id);if(t&&t.emojis){const n=i(t.emojis.entries());for(const s of e.emojis){const e=t.emojis.get(s.id);e?(n.delete(s.id),e.equals(s,!0)||this.client.actions.GuildEmojiUpdate.handle(e,s)):this.client.actions.GuildEmojiCreate.handle(t,s)}for(const s of n.values())this.client.actions.GuildEmojiDelete.handle(s)}}}e.exports=r},function(e,t,n){const i=n(2);class s extends i{handle(e,t){const n=e._addMember(t,!1);return{member:n}}}e.exports=s},function(e,t,n){const i=n(2),s=n(0);class r extends i{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n){let i=n.members.get(e.user.id);return i?(n.memberCount--,n._removeMember(i),this.deleted.set(n.id+e.user.id,i),t.status===s.Status.READY&&t.emit(s.Events.GUILD_MEMBER_REMOVE,i),this.scheduleForDeletion(n.id,e.user.id)):i=this.deleted.get(n.id+e.user.id)||null,{guild:n,member:i}}return{guild:n,member:null}}scheduleForDeletion(e,t){this.client.setTimeout(()=>this.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=r},function(e,t,n){const i=n(2),s=n(0),r=n(15);class o extends i{handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n){const i=n.roles.has(e.role.id),o=new r(n,e.role);return n.roles.set(o.id,o),i||t.emit(s.Events.GUILD_ROLE_CREATE,o),{role:o}}return{role:null}}}e.exports=o},function(e,t,n){const i=n(2),s=n(0);class r extends i{constructor(e){super(e),this.deleted=new Map}handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n){let i=n.roles.get(e.role_id);return i?(n.roles.delete(e.role_id),this.deleted.set(n.id+e.role_id,i),this.scheduleForDeletion(n.id,e.role_id),t.emit(s.Events.GUILD_ROLE_DELETE,i)):i=this.deleted.get(n.id+e.role_id)||null,{role:i}}return{role:null}}scheduleForDeletion(e,t){ +this.client.setTimeout(()=>this.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=r},function(e,t,n){const i=n(2),s=n(0),r=n(4);class o extends i{handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n){const i=e.role;let o=null;const a=n.roles.get(i.id);return a&&(o=r.cloneObject(a),a.setup(e.role),t.emit(s.Events.GUILD_ROLE_UPDATE,o,a)),{old:o,updated:a}}return{old:null,updated:null}}}e.exports=o},function(e,t,n){const i=n(2);class s extends i{handle(e){const t=this.client,n=t.guilds.get(e.guild_id);if(n)for(const i of e.roles){const e=n.roles.get(i.id);e&&(e.position=i.position)}return{guild:n}}}e.exports=s},function(e,t,n){const i=n(2);class s extends i{handle(e){const t=this.client,n=t.guilds.get(e.id);if(n){if(e.presences)for(const t of e.presences)n._setPresence(t.user.id,t);if(e.members)for(const i of e.members){const e=n.members.get(i.user.id);e?n._updateMember(e,i):n._addMember(i,!1)}"large"in e&&(n.large=e.large)}}}e.exports=s},function(e,t,n){const i=n(2),s=n(0),r=n(4);class o extends i{handle(e){const t=this.client,n=t.guilds.get(e.id);if(n){const i=r.cloneObject(n);return n.setup(e),t.emit(s.Events.GUILD_UPDATE,i,n),{old:i,updated:n}}return{old:null,updated:null}}}e.exports=o},function(e,t,n){const i=n(2),s=n(19);class r extends i{handle(e){const t=this.client,n=t.channels.get((e instanceof Array?e[0]:e).channel_id),i=t.users.get((e instanceof Array?e[0]:e).author.id);if(n){const r=n.guild?n.guild.member(i):null;if(e instanceof Array){const o=new Array(e.length);for(let a=0;athis.deleted.delete(e+t),this.client.options.restWsBridgeTimeout)}}e.exports=s},function(e,t,n){const i=n(2),s=n(3),r=n(0);class o extends i{handle(e){const t=this.client,n=t.channels.get(e.channel_id),i=e.ids,o=new s;for(const a of i){const e=n.messages.get(a);e&&o.set(e.id,e)}return o.size>0&&t.emit(r.Events.MESSAGE_BULK_DELETE,o),{messages:o}}}e.exports=o},function(e,t,n){const i=n(2),s=n(0);class r extends i{handle(e){const t=this.client.users.get(e.user_id);if(!t)return!1;const n=this.client.channels.get(e.channel_id);if(!n||"voice"===n.type)return!1;const i=n.messages.get(e.message_id);if(!i)return!1;if(!e.emoji)return!1;const r=i._addReaction(e.emoji,t);return r&&this.client.emit(s.Events.MESSAGE_REACTION_ADD,r,t),{message:i,reaction:r,user:t}}}e.exports=r},function(e,t,n){const i=n(2),s=n(0);class r extends i{handle(e){const t=this.client.users.get(e.user_id);if(!t)return!1;const n=this.client.channels.get(e.channel_id);if(!n||"voice"===n.type)return!1;const i=n.messages.get(e.message_id);if(!i)return!1;if(!e.emoji)return!1;const r=i._removeReaction(e.emoji,t);return r&&this.client.emit(s.Events.MESSAGE_REACTION_REMOVE,r,t),{message:i,reaction:r,user:t}}}e.exports=r},function(e,t,n){const i=n(2),s=n(0);class r extends i{handle(e){const t=this.client.channels.get(e.channel_id);if(!t||"voice"===t.type)return!1;const n=t.messages.get(e.message_id);return!!n&&(n._clearReactions(),this.client.emit(s.Events.MESSAGE_REACTION_REMOVE_ALL,n),{message:n})}}e.exports=r},function(e,t,n){const i=n(2),s=n(0);class r extends i{handle(e){const t=this.client,n=t.channels.get(e.channel_id);if(n){const i=n.messages.get(e.id);return i?(i.patch(e),t.emit(s.Events.MESSAGE_UPDATE,i._edits[0],i),{old:i._edits[0],updated:i}):{old:i,updated:i}}return{old:null,updated:null}}}e.exports=r},function(e,t,n){const i=n(2);class s extends i{handle(e){const t=this.client,n=t.dataManager.newUser(e);return{user:n}}}e.exports=s},function(e,t,n){const i=n(2),s=n(0);class r extends i{handle(e){const t=this.client,n=t.user.notes.get(e.id),i=e.note.length?e.note:null;return t.user.notes.set(e.id,i),t.emit(s.Events.USER_NOTE_UPDATE,e.id,n,i),{old:n,updated:i}}}e.exports=r},function(e,t,n){const i=n(2),s=n(0),r=n(4);class o extends i{handle(e){const t=this.client;if(t.user){if(t.user.equals(e))return{old:t.user,updated:t.user};const n=r.cloneObject(t.user);return t.user.patch(e),t.emit(s.Events.USER_UPDATE,n,t.user),{old:n,updated:t.user}}return{old:null,updated:null}}}e.exports=o},function(e,t,n){const i=n(37),s=n(0);class r{constructor(e,t,n,i,s,r){this.rest=e,this.client=e.client,this.method=t,this.path=n.toString(),this.auth=i,this.data=s,this.files=r,this.route=this.getRoute(this.path)}getRoute(e){let t=e.split("?")[0];if(t.includes("/channels/")||t.includes("/guilds/")){const e=t.includes("/channels/")?t.indexOf("/channels/"):t.indexOf("/guilds/"),n=t.substring(e).split("/")[2];t=t.replace(/(\d{8,})/g,":id").replace(":id",n)}return t}getAuth(){if(this.client.token&&this.client.user&&this.client.user.bot)return`Bot ${this.client.token}`;if(this.client.token)return this.client.token;throw new Error(s.Errors.NO_TOKEN)}gen(){const e=`${this.client.options.http.host}/api/v${this.client.options.http.version}`,t=i[this.method](`${e}${this.path}`);if(this.auth&&t.set("Authorization",this.getAuth()),this.rest.client.browser||t.set("User-Agent",this.rest.userAgentManager.userAgent),this.files){for(const e of this.files)e&&e.file&&t.attach(e.name,e.file,e.name);"undefined"!=typeof this.data&&t.attach("payload_json",JSON.stringify(this.data))}else this.data&&t.send(this.data);return t}}e.exports=r},function(e,t,n){const i=n(56),s=n(31),r=n(8),o=n(0),a=o.Endpoints,u=n(3),c=n(7),h=n(4),l=n(16),f=n(18),d=n(19),p=n(15),m=n(43),g=n(29),E=n(170),v=n(49),_=n(14),b=n(27),y=n(24),w=n(171);class R{constructor(e){this.rest=e,this.client=e.client,this._ackToken=null}login(e=this.client.token){return new Promise((t,n)=>{if("string"!=typeof e)throw new Error(o.Errors.INVALID_TOKEN);e=e.replace(/^Bot\s*/i,""),this.client.manager.connectToWebSocket(e,t,n)})}logout(){return this.rest.makeRequest("post",a.logout,!0,{})}getGateway(e=false){return this.rest.makeRequest("get",e?a.gateway.bot:a.gateway,!0)}fetchVoiceRegions(e){let t;return t=e?a.Guild(e).voiceRegions:a.voiceRegions,this.rest.makeRequest("get",t,!0).then(e=>{const t=new u;for(const n of e)t.set(n.id,new w(n));return t})}sendMessage(e,t,{tts,nonce,embed,disableEveryone,split,code,reply}={},n=null){return new Promise((i,s)=>{if("undefined"!=typeof t&&(t=this.client.resolver.resolveString(t)),"undefined"!=typeof nonce&&(nonce=parseInt(nonce),isNaN(nonce)||nonce<0))throw new RangeError("Message nonce must fit in an unsigned 64-bit integer.");if(t){if(split&&"object"!=typeof split&&(split={}),"undefined"==typeof code||"boolean"==typeof code&&code!==!0||(t=h.escapeMarkdown(this.client.resolver.resolveString(t),!0),t=`\`\`\`${"boolean"!=typeof code?code||"":""} ${t} \`\`\``,split&&(split.prepend=`\`\`\`${"boolean"!=typeof code?code||"":""} `,split.append="\n```")),(disableEveryone||"undefined"==typeof disableEveryone&&this.client.options.disableEveryone)&&(t=t.replace(/@(everyone|here)/g,"@​$1")),reply&&!(e instanceof l||e instanceof f)&&"dm"!==e.type){const e=this.client.resolver.resolveUserID(reply),n=`<@${reply instanceof f&&reply.nickname?"!":""}${e}>`;t=`${n}${t?`, ${t}`:""}`,split&&(split.prepend=`${n}, ${split.prepend||""}`)}split&&(t=h.splitMessage(t,split))}else if(reply&&!(e instanceof l||e instanceof f)&&"dm"!==e.type){const e=this.client.resolver.resolveUserID(reply);t=`<@${reply instanceof f&&reply.nickname?"!":""}${e}>`}const r=e=>{if(t instanceof Array){const s=[];!function t(r,o){const a=o===r.length?{tts:tts,embed:embed}:{tts:tts};e.send(r[o],a,o===r.length?n:null).then(e=>{return s.push(e),o>=r.length-1?i(s):t(r,++o)})}(t,0)}else this.rest.makeRequest("post",a.Channel(e).messages,!0,{content:t,tts:tts,nonce:nonce,embed:embed},n).then(e=>i(this.client.actions.MessageCreate.handle(e).message),s)};e instanceof l||e instanceof f?this.createDM(e).then(r,s):r(e)})}updateMessage(e,t,{embed,code,reply}={}){if("undefined"!=typeof t&&(t=this.client.resolver.resolveString(t)),"undefined"==typeof code||"boolean"==typeof code&&code!==!0||(t=h.escapeMarkdown(this.client.resolver.resolveString(t),!0),t=`\`\`\`${"boolean"!=typeof code?code||"":""}