From 07f20b46f36a6a11a22bcd1b178e02a6529b712c Mon Sep 17 00:00:00 2001 From: Travis CI Date: Mon, 24 Apr 2017 14:45:00 +0000 Subject: [PATCH] Webpack build for branch master: c670209021f9267cbd76fbcda3b1b474b4e12573 --- discord.master.js | 1 + discord.master.min.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/discord.master.js b/discord.master.js index b4832e1e..c54869d7 100644 --- a/discord.master.js +++ b/discord.master.js @@ -23439,6 +23439,7 @@ class RESTMethods { } search(target, options) { + if (typeof options === 'string') options = { content: options }; if (options.before) { if (!(options.before instanceof Date)) options.before = new Date(options.before); options.maxID = long.fromNumber(options.before.getTime() - 14200704e5).shiftLeft(22).toString(); diff --git a/discord.master.min.js b/discord.master.min.js index 9ef02fcc..b26e95b1 100644 --- a/discord.master.min.js +++ b/discord.master.min.js @@ -22,4 +22,4 @@ ${t} \`\`\``,split&&(split.prepend=`\`\`\`${"boolean"!=typeof code?code||"":""} `,split.append="\n```")),(disableEveryone||void 0===disableEveryone&&this.client.options.disableEveryone)&&(t=t.replace(/@(everyone|here)/g,"@​$1")),reply&&!(e instanceof h||e instanceof p)&&"dm"!==e.type){const e=this.client.resolver.resolveUserID(reply),n=`<@${reply instanceof p&&reply.nickname?"!":""}${e}>`;t=`${n}${t?`, ${t}`:""}`,split&&(split.prepend=`${n}, ${split.prepend||""}`)}split&&(t=l.splitMessage(t,split))}else if(reply&&!(e instanceof h||e instanceof p)&&"dm"!==e.type){const e=this.client.resolver.resolveUserID(reply);t=`<@${reply instanceof p&&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=>{s.push(e);if(o>=r.length-1)return i(s);return 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 h||e instanceof p?this.createDM(e).then(r,s):r(e)})}updateMessage(e,t,{embed:embed,code:code,reply:reply}={}){if(void 0!==t&&(t=this.client.resolver.resolveString(t)),void 0===code||"boolean"==typeof code&&!0!==code||(t=l.escapeMarkdown(this.client.resolver.resolveString(t),!0),t=`\`\`\`${"boolean"!=typeof code?code||"":""} ${t} -\`\`\``),reply&&"dm"!==e.channel.type){const e=this.client.resolver.resolveUserID(reply),n=`<@${reply instanceof p&&reply.nickname?"!":""}${e}>`;t=`${n}${t?`, ${t}`:""}`}return this.rest.makeRequest("patch",a.Message(e),!0,{content:t,embed:embed}).then(e=>this.client.actions.MessageUpdate.handle(e).updated)}deleteMessage(e){return this.rest.makeRequest("delete",a.Message(e),!0).then(()=>this.client.actions.MessageDelete.handle({id:e.id,channel_id:e.channel.id}).message)}ackMessage(e){return this.rest.makeRequest("post",a.Message(e).ack,!0,{token:this._ackToken}).then(t=>{t.token&&(this._ackToken=t.token);return e})}ackTextChannel(e){return this.rest.makeRequest("post",a.Channel(e).ack,!0,{token:this._ackToken}).then(t=>{t.token&&(this._ackToken=t.token);return e})}ackGuild(e){return this.rest.makeRequest("post",a.Guild(e).ack,!0).then(()=>e)}bulkDeleteMessages(e,t,n){return n&&(t=t.filter(e=>Date.now()-u.deconstruct(e).date.getTime()<12096e5)),this.rest.makeRequest("post",a.Channel(e).messages.bulkDelete,!0,{messages:t}).then(()=>this.client.actions.MessageDeleteBulk.handle({channel_id:e.id,ids:t}).messages)}search(e,t){if(t.before&&(t.before instanceof Date||(t.before=new Date(t.before)),t.maxID=s.fromNumber(t.before.getTime()-14200704e5).shiftLeft(22).toString()),t.after&&(t.after instanceof Date||(t.after=new Date(t.after)),t.minID=s.fromNumber(t.after.getTime()-14200704e5).shiftLeft(22).toString()),t.during){t.during instanceof Date||(t.during=new Date(t.during));const e=t.during.getTime()-14200704e5;t.minID=s.fromNumber(e).shiftLeft(22).toString(),t.maxID=s.fromNumber(e+864e5).shiftLeft(22).toString()}t.channel&&(t.channel=this.client.resolver.resolveChannelID(t.channel)),t.author&&(t.author=this.client.resolver.resolveUserID(t.author)),t.mentions&&(t.mentions=this.client.resolver.resolveUserID(t.options.mentions)),t={content:t.content,max_id:t.maxID,min_id:t.minID,has:t.has,channel_id:t.channel,author_id:t.author,author_type:t.authorType,context_size:t.contextSize,sort_by:t.sortBy,sort_order:t.sortOrder,limit:t.limit,offset:t.offset,mentions:t.mentions,mentions_everyone:t.mentionsEveryone,link_hostname:t.linkHostname,embed_provider:t.embedProvider,embed_type:t.embedType,attachment_filename:t.attachmentFilename,attachment_extension:t.attachmentExtension};for(const e in t)void 0===t[e]&&delete t[e];const n=(i.stringify(t).match(/[^=&?]+=[^=&?]+/g)||[]).join("&");let r;if(e instanceof E)r=a.Channel(e).search;else{if(!(e instanceof y))throw new TypeError("Target must be a TextChannel, DMChannel, GroupDMChannel, or Guild.");r=a.Guild(e).search}return this.rest.makeRequest("get",`${r}?${n}`,!0).then(e=>{const t=e.messages.map(e=>e.map(e=>new d(this.client.channels.get(e.channel_id),e,this.client)));return{totalResults:e.total_results,messages:t}})}createChannel(e,t,n,i){return i instanceof c&&(i=i.array()),this.rest.makeRequest("post",a.Guild(e).channels,!0,{name:t,type:n,permission_overwrites:i}).then(e=>this.client.actions.ChannelCreate.handle(e).channel)}createDM(e){const t=this.getExistingDM(e);return t?Promise.resolve(t):this.rest.makeRequest("post",a.User(this.client.user).channels,!0,{recipient_id:e.id}).then(e=>this.client.actions.ChannelCreate.handle(e).channel)}createGroupDM(e){const t=this.client.user.bot?{access_tokens:e.accessTokens,nicks:e.nicks}:{recipients:e.recipients};return this.rest.makeRequest("post",a.User("@me").channels,!0,t).then(e=>new w(this.client,e))}addUserToGroupDM(e,t){const n=this.client.user.bot?{nick:t.nick,access_token:t.accessToken}:{recipient:t.id};return this.rest.makeRequest("put",a.Channel(e).Recipient(t.id),!0,n).then(()=>e)}getExistingDM(e){return this.client.channels.find(t=>t.recipient&&t.recipient.id===e.id)}deleteChannel(e){return(e instanceof h||e instanceof p)&&(e=this.getExistingDM(e)),e?this.rest.makeRequest("delete",a.Channel(e),!0).then(t=>{t.id=e.id;return this.client.actions.ChannelDelete.handle(t).channel}):Promise.reject(new Error("No channel to delete."))}updateChannel(e,t){const n={};return n.name=(t.name||e.name).trim(),n.topic=t.topic||e.topic,n.position=t.position||e.position,n.bitrate=t.bitrate||e.bitrate,n.user_limit=t.userLimit||e.userLimit,this.rest.makeRequest("patch",a.Channel(e),!0,n).then(e=>this.client.actions.ChannelUpdate.handle(e).updated)}leaveGuild(e){return e.ownerID===this.client.user.id?Promise.reject(new Error("Guild is owned by the client.")):this.rest.makeRequest("delete",a.User("@me").Guild(e.id),!0).then(()=>this.client.actions.GuildDelete.handle({id:e.id}).guild)}createGuild(e){return e.icon=this.client.resolver.resolveBase64(e.icon)||null,e.region=e.region||"us-central",new Promise((t,n)=>{this.rest.makeRequest("post",a.guilds,!0,e).then(e=>{if(this.client.guilds.has(e.id))return t(this.client.guilds.get(e.id));const i=n=>{n.id===e.id&&(this.client.removeListener(o.Events.GUILD_CREATE,i),this.client.clearTimeout(s),t(n))};this.client.on(o.Events.GUILD_CREATE,i);const s=this.client.setTimeout(()=>{this.client.removeListener(o.Events.GUILD_CREATE,i);n(new Error("Took too long to receive guild data."))},1e4);return},n)})}deleteGuild(e){return this.rest.makeRequest("delete",a.Guild(e),!0).then(()=>this.client.actions.GuildDelete.handle({id:e.id}).guild)}getUser(e,t){return this.rest.makeRequest("get",a.User(e),!0).then(e=>t?this.client.actions.UserGet.handle(e).user:new h(this.client,e))}updateCurrentUser(e,t){const n=this.client.user,i={};return i.username=e.username||n.username,i.avatar=this.client.resolver.resolveBase64(e.avatar)||n.avatar,n.bot||(i.email=e.email||n.email,i.password=t,e.new_password&&(i.new_password=e.newPassword)),this.rest.makeRequest("patch",a.User("@me"),!0,i).then(e=>this.client.actions.UserUpdate.handle(e).updated)}updateGuild(e,t){const n={};return t.name&&(n.name=t.name),t.region&&(n.region=t.region),t.verificationLevel&&(n.verification_level=Number(t.verificationLevel)),t.afkChannel&&(n.afk_channel_id=this.client.resolver.resolveChannel(t.afkChannel).id),t.afkTimeout&&(n.afk_timeout=Number(t.afkTimeout)),t.icon&&(n.icon=this.client.resolver.resolveBase64(t.icon)),t.owner&&(n.owner_id=this.client.resolver.resolveUser(t.owner).id),t.splash&&(n.splash=this.client.resolver.resolveBase64(t.splash)),this.rest.makeRequest("patch",a.Guild(e),!0,n).then(e=>this.client.actions.GuildUpdate.handle(e).updated)}kickGuildMember(e,t){return this.rest.makeRequest("delete",a.Guild(e).Member(t),!0).then(()=>this.client.actions.GuildMemberRemove.handle({guild_id:e.id,user:t.user}).member)}createGuildRole(e,t){return t.color&&(t.color=this.client.resolver.resolveColor(t.color)),t.permissions&&(t.permissions=r.resolve(t.permissions)),this.rest.makeRequest("post",a.Guild(e).roles,!0,t).then(t=>this.client.actions.GuildRoleCreate.handle({guild_id:e.id,role:t}).role)}deleteGuildRole(e){return this.rest.makeRequest("delete",a.Guild(e.guild).Role(e.id),!0).then(()=>this.client.actions.GuildRoleDelete.handle({guild_id:e.guild.id,role_id:e.id}).role)}setChannelOverwrite(e,t){return this.rest.makeRequest("put",`${a.Channel(e).permissions}/${t.id}`,!0,t)}deletePermissionOverwrites(e){return this.rest.makeRequest("delete",`${a.Channel(e.channel).permissions}/${e.id}`,!0).then(()=>e)}getChannelMessages(e,t={}){const n=[];t.limit&&n.push(`limit=${t.limit}`),t.around?n.push(`around=${t.around}`):t.before?n.push(`before=${t.before}`):t.after&&n.push(`after=${t.after}`);let i=a.Channel(e).messages;return n.length>0&&(i+=`?${n.join("&")}`),this.rest.makeRequest("get",i,!0)}getChannelMessage(e,t){const n=e.messages.get(t);return n?Promise.resolve(n):this.rest.makeRequest("get",a.Channel(e).Message(t),!0)}putGuildMember(e,t,n){if(n.access_token=n.accessToken,n.roles){const e=n.roles;(e instanceof c||e instanceof Array&&e[0]instanceof f)&&(n.roles=e.map(e=>e.id))}return this.rest.makeRequest("put",a.Guild(e).Member(t.id),!0,n).then(t=>this.client.actions.GuildMemberGet.handle(e,t).member)}getGuildMember(e,t,n){return this.rest.makeRequest("get",a.Guild(e).Member(t.id),!0).then(t=>n?this.client.actions.GuildMemberGet.handle(e,t).member:new p(e,t))}updateGuildMember(e,t){t.channel&&(t.channel_id=this.client.resolver.resolveChannel(t.channel).id),t.roles&&(t.roles=t.roles.map(e=>e instanceof f?e.id:e));let n=a.Member(e);if(e.id===this.client.user.id){const i=Object.keys(t);1===i.length&&"nick"===i[0]&&(n=a.Member(e).nickname)}return this.rest.makeRequest("patch",n,!0,t).then(t=>e.guild._updateMember(e,t).mem)}addMemberRole(e,t){return new Promise((n,i)=>{if(e._roles.includes(t.id))return n(e);const s=(e,i)=>{!e._roles.includes(t.id)&&i._roles.includes(t.id)&&(this.client.removeListener(o.Events.GUILD_MEMBER_UPDATE,s),n(i))};this.client.on(o.Events.GUILD_MEMBER_UPDATE,s);const r=this.client.setTimeout(()=>this.client.removeListener(o.Events.GUILD_MEMBER_UPDATE,s),1e4);return this.rest.makeRequest("put",a.Member(e).Role(t.id),!0).catch(e=>{this.client.removeListener(o.Events.GUILD_BAN_REMOVE,s);this.client.clearTimeout(r);i(e)})})}removeMemberRole(e,t){return new Promise((n,i)=>{if(!e._roles.includes(t.id))return n(e);const s=(e,i)=>{e._roles.includes(t.id)&&!i._roles.includes(t.id)&&(this.client.removeListener(o.Events.GUILD_MEMBER_UPDATE,s),n(i))};this.client.on(o.Events.GUILD_MEMBER_UPDATE,s);const r=this.client.setTimeout(()=>this.client.removeListener(o.Events.GUILD_MEMBER_UPDATE,s),1e4);return this.rest.makeRequest("delete",a.Member(e).Role(t.id),!0).catch(e=>{this.client.removeListener(o.Events.GUILD_BAN_REMOVE,s);this.client.clearTimeout(r);i(e)})})}sendTyping(e){return this.rest.makeRequest("post",a.Channel(e).typing,!0)}banGuildMember(e,t,n=0){const i=this.client.resolver.resolveUserID(t);return i?this.rest.makeRequest("put",`${a.Guild(e).bans}/${i}?delete-message-days=${n}`,!0,{"delete-message-days":n}).then(()=>{if(t instanceof p)return t;const n=this.client.resolver.resolveUser(i);if(n)return(t=this.client.resolver.resolveGuildMember(e,n))||n;return i}):Promise.reject(new Error("Couldn't resolve the user ID to ban."))}unbanGuildMember(e,t){return new Promise((n,i)=>{const s=this.client.resolver.resolveUserID(t);if(!s)throw new Error("Couldn't resolve the user ID to unban.");const r=(t,i)=>{t.id===e.id&&i.id===s&&(this.client.removeListener(o.Events.GUILD_BAN_REMOVE,r),this.client.clearTimeout(c),n(i))};this.client.on(o.Events.GUILD_BAN_REMOVE,r);const c=this.client.setTimeout(()=>{this.client.removeListener(o.Events.GUILD_BAN_REMOVE,r);i(new Error("Took too long to receive the ban remove event."))},1e4);this.rest.makeRequest("delete",`${a.Guild(e).bans}/${s}`,!0).catch(e=>{this.client.removeListener(o.Events.GUILD_BAN_REMOVE,r);this.client.clearTimeout(c);i(e)})})}getGuildBans(e){return this.rest.makeRequest("get",a.Guild(e).bans,!0).then(e=>{const t=new c;for(const n of e){const e=this.client.dataManager.newUser(n.user);t.set(e.id,e)}return t})}updateGuildRole(e,t){const n={};return n.name=t.name||e.name,n.position=void 0!==t.position?t.position:e.position,n.color=this.client.resolver.resolveColor(t.color||e.color),n.hoist=void 0!==t.hoist?t.hoist:e.hoist,n.mentionable=void 0!==t.mentionable?t.mentionable:e.mentionable,t.permissions?n.permissions=r.resolve(t.permissions):n.permissions=e.permissions,this.rest.makeRequest("patch",a.Guild(e.guild).Role(e.id),!0,n).then(t=>this.client.actions.GuildRoleUpdate.handle({role:t,guild_id:e.guild.id}).updated)}pinMessage(e){return this.rest.makeRequest("put",a.Channel(e.channel).Pin(e.id),!0).then(()=>e)}unpinMessage(e){return this.rest.makeRequest("delete",a.Channel(e.channel).Pin(e.id),!0).then(()=>e)}getChannelPinnedMessages(e){return this.rest.makeRequest("get",a.Channel(e).pins,!0)}createChannelInvite(e,t){const n={};return n.temporary=t.temporary,n.max_age=t.maxAge,n.max_uses=t.maxUses,this.rest.makeRequest("post",a.Channel(e).invites,!0,n).then(e=>new m(this.client,e))}deleteInvite(e){return this.rest.makeRequest("delete",a.Invite(e.code),!0).then(()=>e)}getInvite(e){return this.rest.makeRequest("get",a.Invite(e),!0).then(e=>new m(this.client,e))}getGuildInvites(e){return this.rest.makeRequest("get",a.Guild(e).invites,!0).then(e=>{const t=new c;for(const n of e){const e=new m(this.client,n);t.set(e.code,e)}return t})}pruneGuildMembers(e,t,n){return this.rest.makeRequest(n?"get":"post",`${a.Guild(e).prune}?days=${t}`,!0).then(e=>e.pruned)}createEmoji(e,t,n,i){const s={image:t,name:n};return i&&(s.roles=i.map(e=>e.id?e.id:e)),this.rest.makeRequest("post",a.Guild(e).emojis,!0,s).then(t=>this.client.actions.GuildEmojiCreate.handle(e,t).emoji)}updateEmoji(e,t){const n={};return t.name&&(n.name=t.name),t.roles&&(n.roles=t.roles.map(e=>e.id?e.id:e)),this.rest.makeRequest("patch",a.Guild(e.guild).Emoji(e.id),!0,n).then(t=>this.client.actions.GuildEmojiUpdate.handle(e,t).emoji)}deleteEmoji(e){return this.rest.makeRequest("delete",a.Guild(e.guild).Emoji(e.id),!0).then(()=>this.client.actions.GuildEmojiDelete.handle(e).data)}getWebhook(e,t){return this.rest.makeRequest("get",a.Webhook(e,t),!t).then(e=>new g(this.client,e))}getGuildWebhooks(e){return this.rest.makeRequest("get",a.Guild(e).webhooks,!0).then(e=>{const t=new c;for(const n of e)t.set(n.id,new g(this.client,n));return t})}getChannelWebhooks(e){return this.rest.makeRequest("get",a.Channel(e).webhooks,!0).then(e=>{const t=new c;for(const n of e)t.set(n.id,new g(this.client,n));return t})}createWebhook(e,t,n){return this.rest.makeRequest("post",a.Channel(e).webhooks,!0,{name:t,avatar:n}).then(e=>new g(this.client,e))}editWebhook(e,t,n){return this.rest.makeRequest("patch",a.Webhook(e.id,e.token),!1,{name:t,avatar:n}).then(t=>{e.name=t.name;e.avatar=t.avatar;return e})}deleteWebhook(e){return this.rest.makeRequest("delete",a.Webhook(e.id,e.token),!1)}sendWebhookMessage(e,t,{avatarURL:avatarURL,tts:tts,disableEveryone:disableEveryone,embeds:embeds,username:username}={},n=null){return username=username||e.name,void 0!==t&&(t=this.client.resolver.resolveString(t)),t&&(disableEveryone||void 0===disableEveryone&&this.client.options.disableEveryone)&&(t=t.replace(/@(everyone|here)/g,"@​$1")),this.rest.makeRequest("post",`${a.Webhook(e.id,e.token)}?wait=true`,!1,{username:username,avatar_url:avatarURL,content:t,tts:tts,embeds:embeds},n)}sendSlackWebhookMessage(e,t){return this.rest.makeRequest("post",`${a.Webhook(e.id,e.token)}/slack?wait=true`,!1,t)}fetchUserProfile(e){return this.rest.makeRequest("get",a.User(e).profile,!0).then(t=>new v(e,t))}fetchMeMentions(e){return e.guild&&(e.guild=e.guild.id?e.guild.id:e.guild),this.rest.makeRequest("get",a.User("@me").mentions(e.limit,e.roles,e.everyone,e.guild)).then(e=>e.body.map(e=>new d(this.client.channels.get(e.channel_id),e,this.client)))}addFriend(e){return this.rest.makeRequest("post",a.User("@me"),!0,{username:e.username,discriminator:e.discriminator}).then(()=>e)}removeFriend(e){return this.rest.makeRequest("delete",a.User("@me").Relationship(e.id),!0).then(()=>e)}blockUser(e){return this.rest.makeRequest("put",a.User("@me").Relationship(e.id),!0,{type:2}).then(()=>e)}unblockUser(e){return this.rest.makeRequest("delete",a.User("@me").Relationship(e.id),!0).then(()=>e)}updateChannelPositions(e,t){const n=new Array(t.length);for(let e=0;ethis.client.actions.GuildChannelsPositionUpdate.handle({guild_id:e,channels:t}).guild)}setRolePositions(e,t){return this.rest.makeRequest("patch",a.Guild(e).roles,!0,t).then(()=>this.client.actions.GuildRolesPositionUpdate.handle({guild_id:e,roles:t}).guild)}setChannelPositions(e,t){return this.rest.makeRequest("patch",a.Guild(e).channels,!0,t).then(()=>this.client.actions.GuildChannelsPositionUpdate.handle({guild_id:e,channels:t}).guild)}addMessageReaction(e,t){return this.rest.makeRequest("put",a.Message(e).Reaction(t).User("@me"),!0).then(()=>e._addReaction(l.parseEmoji(t),e.client.user))}removeMessageReaction(e,t,n){const i=a.Message(e).Reaction(t).User(n===this.client.user.id?"@me":n);return this.rest.makeRequest("delete",i,!0).then(()=>this.client.actions.MessageReactionRemove.handle({user_id:n,message_id:e.id,emoji:l.parseEmoji(t),channel_id:e.channel.id}).reaction)}removeMessageReactions(e){return this.rest.makeRequest("delete",a.Message(e).reactions,!0).then(()=>e)}getMessageReactionUsers(e,t,n=100){return this.rest.makeRequest("get",a.Message(e).Reaction(t,n),!0)}getApplication(e){return this.rest.makeRequest("get",a.OAUTH2.Application(e),!0).then(e=>new b(this.client,e))}resetApplication(e){return this.rest.makeRequest("post",a.OAUTH2.Application(e).reset,!0).then(e=>new b(this.client,e))}setNote(e,t){return this.rest.makeRequest("put",a.User(e).note,!0,{note:t}).then(()=>e)}acceptInvite(e){return e.id&&(e=e.id),new Promise((t,n)=>this.rest.makeRequest("post",a.Invite(e),!0).then(e=>{const i=n=>{n.id===e.id&&(t(n),this.client.removeListener(o.Events.GUILD_CREATE,i))};this.client.on(o.Events.GUILD_CREATE,i);this.client.setTimeout(()=>{this.client.removeListener(o.Events.GUILD_CREATE,i);n(new Error("Accepting invite timed out"))},12e4)}))}patchUserSettings(e){return this.rest.makeRequest("patch",o.Endpoints.User("@me").settings,!0,e)}}e.exports=x},function(e,t,n){const i=n(64);class s extends i{constructor(e,t){super(e,t),this.client=e.client,this.limit=1/0,this.resetTime=null,this.remaining=1,this.timeDifference=0,this.resetTimeout=null}push(e){super.push(e),this.handle()}execute(e){e&&e.request.gen().end((t,n)=>{n&&n.headers&&(this.limit=Number(n.headers["x-ratelimit-limit"]),this.resetTime=1e3*Number(n.headers["x-ratelimit-reset"]),this.remaining=Number(n.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(n.headers.date).getTime());if(t)if(429===t.status){if(this.queue.unshift(e),n.headers["x-ratelimit-global"]&&(this.globalLimit=!0),this.resetTimeout)return;this.resetTimeout=this.client.setTimeout(()=>{this.remaining=this.limit;this.globalLimit=!1;this.handle();this.resetTimeout=null},Number(n.headers["retry-after"])+this.client.options.restTimeOffset)}else e.reject(t),this.handle();else{this.globalLimit=!1;const t=n&&n.body?n.body:{};e.resolve(t),this.handle()}})}handle(){super.handle(),this.remaining<=0||0===this.queue.length||this.globalLimit||(this.execute(this.queue.shift()),this.remaining--,this.handle())}}e.exports=s},function(e,t,n){const i=n(64);class s extends i{constructor(e,t){super(e,t),this.endpoint=t,this.timeDifference=0,this.busy=!1}push(e){super.push(e),this.handle()}execute(e){return this.busy=!0,new Promise(t=>{e.request.gen().end((n,i)=>{i&&i.headers&&(this.requestLimit=Number(i.headers["x-ratelimit-limit"]),this.requestResetTime=1e3*Number(i.headers["x-ratelimit-reset"]),this.requestRemaining=Number(i.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(i.headers.date).getTime());if(n)429===n.status?(this.queue.unshift(e),this.restManager.client.setTimeout(()=>{this.globalLimit=!1;t()},Number(i.headers["retry-after"])+this.restManager.client.options.restTimeOffset),i.headers["x-ratelimit-global"]&&(this.globalLimit=!0)):(e.reject(n),t(n));else{this.globalLimit=!1;const n=i&&i.body?i.body:{};e.resolve(n),0===this.requestRemaining?this.restManager.client.setTimeout(()=>t(n),this.requestResetTime-Date.now()+this.timeDifference+this.restManager.client.options.restTimeOffset):t(n)}})})}handle(){super.handle(),this.busy||0===this.remaining||0===this.queue.length||this.globalLimit||this.execute(this.queue.shift()).then(()=>{this.busy=!1;this.handle()})}}e.exports=s},function(e,t,n){(function(t){const i=n(0);class s{constructor(){this.build(this.constructor.DEFAULT)}set({url:url,version:version}={}){this.build({url:url||this.constructor.DFEAULT.url,version:version||this.constructor.DEFAULT.version})}build(e){this.userAgent=`DiscordBot (${e.url}, ${e.version}) Node.js/${t.version}`}}s.DEFAULT={url:i.Package.homepage.split("#")[0],version:i.Package.version},e.exports=s}).call(t,n(6))},function(e,t,n){const i=n(12).EventEmitter,s=n(0),r=n(141),o=n(65);class a extends i{constructor(e){super(),this.client=e,this.packetManager=new r(this),this.status=s.Status.IDLE,this.sessionID=null,this.sequence=-1,this.gateway=null,this.normalReady=!1,this.ws=null,this.disabledEvents={};for(const t of e.options.disabledEvents)this.disabledEvents[t]=!0;this.first=!0,this.lastHeartbeatAck=!0,this._remainingReset=0,this._trace=[],this.resumeStart=-1}_connect(e){this.client.emit("debug",`Connecting to gateway ${e}`),this.normalReady=!1,this.status!==s.Status.RECONNECTING&&(this.status=s.Status.CONNECTING),this.ws=new o(e),this.ws.on("open",this.eventOpen.bind(this)),this.ws.on("packet",this.eventPacket.bind(this)),this.ws.on("close",this.eventClose.bind(this)),this.ws.on("error",this.eventError.bind(this)),this._queue=[],this._remaining=120,this.client.setInterval(()=>{this._remaining=120;this._remainingReset=Date.now()},6e4)}connect(e=this.gateway){this.gateway=e,this.first?(this._connect(e),this.first=!1):this.client.setTimeout(()=>this._connect(e),7500)}heartbeat(e){if(e&&!this.lastHeartbeatAck)return void this.tryReconnect();this.client.emit("debug","Sending heartbeat"),this.client._pingTimestamp=Date.now(),this.client.ws.send({op:s.OPCodes.HEARTBEAT,d:this.sequence},!0),this.lastHeartbeatAck=!1}send(e,t=!1){if(t)return void this._send(e);this._queue.push(e),this.doQueue()}destroy(){this.ws&&this.ws.close(1e3),this._queue=[],this.status=s.Status.IDLE}_send(e){this.ws.readyState===o.WebSocket.OPEN&&(this.emit("send",e),this.ws.send(e))}doQueue(){const e=this._queue[0];if(this.ws.readyState===o.WebSocket.OPEN&&e){if(0===this.remaining)return void this.client.setTimeout(this.doQueue.bind(this),Date.now()+(this._remainingReset||12e4));this._remaining--,this._send(e),this._queue.shift(),this.doQueue()}}eventOpen(){this.client.emit("debug","Connection to gateway opened"),this.lastHeartbeatAck=!0,this.sessionID?this._sendResume():this._sendNewIdentify()}_sendResume(){if(!this.sessionID)return void this._sendNewIdentify();this.client.emit("debug","Identifying as resumed session"),this.resumeStart=this.sequence;const e={token:this.client.token,session_id:this.sessionID,seq:this.sequence};this.send({op:s.OPCodes.RESUME,d:e})}_sendNewIdentify(){this.reconnecting=!1;const e=this.client.options.ws;e.token=this.client.token,this.client.options.shardCount>0&&(e.shard=[Number(this.client.options.shardId),Number(this.client.options.shardCount)]),this.client.emit("debug","Identifying as new session"),this.send({op:s.OPCodes.IDENTIFY,d:e}),this.sequence=-1}eventClose(e){this.emit("close",e),this.client.clearInterval(this.client.manager.heartbeatInterval),this.status=s.Status.DISCONNECTED,this._queue=[],this.reconnecting||this.client.emit(s.Events.DISCONNECT,e),[4004,4010,4011].includes(e.code)||this.reconnecting||1e3===e.code||this.tryReconnect()}eventPacket(e){return null===e?(this.eventError(new Error(s.Errors.BAD_WS_MESSAGE)),!1):(this.client.emit("raw",e),e.op===s.OPCodes.HELLO&&this.client.manager.setupKeepAlive(e.d.heartbeat_interval),this.packetManager.handle(e))}eventError(e){this.client.listenerCount("error")>0&&this.client.emit("error",e),this.tryReconnect()}_emitReady(e=!0){this.status=s.Status.READY,this.client.emit(s.Events.READY),this.packetManager.handleQueue(),this.normalReady=e}checkIfReady(){if(this.status!==s.Status.READY&&this.status!==s.Status.NEARLY){let e=0;for(const t of this.client.guilds.keys())e+=this.client.guilds.get(t).available?0:1;if(0===e){if(this.status=s.Status.NEARLY,this.client.options.fetchAllMembers){const e=this.client.guilds.map(e=>e.fetchMembers());return void Promise.all(e).then(()=>this._emitReady(),e=>{this.client.emit(s.Events.WARN,"Error in pre-ready guild member fetching");this.client.emit(s.Events.ERROR,e);this._emitReady()})}this._emitReady()}}}tryReconnect(){this.status!==s.Status.RECONNECTING&&this.status!==s.Status.CONNECTING&&this.client.token&&(this.status=s.Status.RECONNECTING,this.ws.close(),this.packetManager.handleQueue(),this.client.emit(s.Events.RECONNECTING),this.connect(this.client.ws.gateway))}}e.exports=a},function(e,t,n){const i=n(0),s=[i.WSEvents.READY,i.WSEvents.GUILD_CREATE,i.WSEvents.GUILD_DELETE,i.WSEvents.GUILD_MEMBERS_CHUNK,i.WSEvents.GUILD_MEMBER_ADD,i.WSEvents.GUILD_MEMBER_REMOVE];class r{constructor(e){this.ws=e,this.handlers={},this.queue=[],this.register(i.WSEvents.READY,n(168)),this.register(i.WSEvents.RESUMED,n(171)),this.register(i.WSEvents.GUILD_CREATE,n(148)),this.register(i.WSEvents.GUILD_DELETE,n(149)),this.register(i.WSEvents.GUILD_UPDATE,n(159)),this.register(i.WSEvents.GUILD_BAN_ADD,n(146)),this.register(i.WSEvents.GUILD_BAN_REMOVE,n(147)),this.register(i.WSEvents.GUILD_MEMBER_ADD,n(151)),this.register(i.WSEvents.GUILD_MEMBER_REMOVE,n(152)),this.register(i.WSEvents.GUILD_MEMBER_UPDATE,n(153)),this.register(i.WSEvents.GUILD_ROLE_CREATE,n(155)),this.register(i.WSEvents.GUILD_ROLE_DELETE,n(156)),this.register(i.WSEvents.GUILD_ROLE_UPDATE,n(157)),this.register(i.WSEvents.GUILD_EMOJIS_UPDATE,n(150)),this.register(i.WSEvents.GUILD_MEMBERS_CHUNK,n(154)),this.register(i.WSEvents.CHANNEL_CREATE,n(142)),this.register(i.WSEvents.CHANNEL_DELETE,n(143)),this.register(i.WSEvents.CHANNEL_UPDATE,n(145)),this.register(i.WSEvents.CHANNEL_PINS_UPDATE,n(144)),this.register(i.WSEvents.PRESENCE_UPDATE,n(167)),this.register(i.WSEvents.USER_UPDATE,n(175)),this.register(i.WSEvents.USER_NOTE_UPDATE,n(173)),this.register(i.WSEvents.USER_SETTINGS_UPDATE,n(174)),this.register(i.WSEvents.VOICE_STATE_UPDATE,n(177)),this.register(i.WSEvents.TYPING_START,n(172)),this.register(i.WSEvents.MESSAGE_CREATE,n(160)),this.register(i.WSEvents.MESSAGE_DELETE,n(161)),this.register(i.WSEvents.MESSAGE_UPDATE,n(166)),this.register(i.WSEvents.MESSAGE_DELETE_BULK,n(162)),this.register(i.WSEvents.VOICE_SERVER_UPDATE,n(176)),this.register(i.WSEvents.GUILD_SYNC,n(158)),this.register(i.WSEvents.RELATIONSHIP_ADD,n(169)),this.register(i.WSEvents.RELATIONSHIP_REMOVE,n(170)),this.register(i.WSEvents.MESSAGE_REACTION_ADD,n(163)),this.register(i.WSEvents.MESSAGE_REACTION_REMOVE,n(164)),this.register(i.WSEvents.MESSAGE_REACTION_REMOVE_ALL,n(165))}get client(){return this.ws.client}register(e,t){this.handlers[e]=new t(this)}handleQueue(){this.queue.forEach((e,t)=>{this.handle(this.queue[t]);this.queue.splice(t,1)})}setSequence(e){e&&e>this.ws.sequence&&(this.ws.sequence=e)}handle(e){return e.op===i.OPCodes.RECONNECT?(this.setSequence(e.s),this.ws.tryReconnect(),!1):e.op===i.OPCodes.INVALID_SESSION?(this.client.emit("debug",`SESSION INVALID! Waiting to reconnect: ${e.d}`),e.d?setTimeout(()=>{this.ws._sendResume()},2500):(this.ws.sessionID=null,this.ws._sendNewIdentify()),!1):(e.op===i.OPCodes.HEARTBEAT_ACK?(this.ws.client._pong(this.ws.client._pingTimestamp),this.ws.lastHeartbeatAck=!0,this.ws.client.emit("debug","Heartbeat acknowledged")):e.op===i.OPCodes.HEARTBEAT&&(this.client.ws.send({op:i.OPCodes.HEARTBEAT,d:this.client.ws.sequence}),this.ws.client.emit("debug","Received gateway heartbeat")),this.ws.status===i.Status.RECONNECTING&&(this.ws.reconnecting=!1,this.ws.checkIfReady()),this.setSequence(e.s),void 0===this.ws.disabledEvents[e.t]&&(this.ws.status!==i.Status.READY&&-1===s.indexOf(e.t)?(this.queue.push(e),!1):!!this.handlers[e.t]&&this.handlers[e.t].handle(e)))}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.ChannelCreate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.actions.ChannelDelete.handle(n);i.channel&&t.emit(s.Events.CHANNEL_DELETE,i.channel)}}e.exports=r},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.channels.get(n.channel_id),r=new Date(n.last_pin_timestamp);i&&r&&t.emit(s.Events.CHANNEL_PINS_UPDATE,i,r)}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.ChannelUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id),r=t.users.get(n.user.id);i&&r&&t.emit(s.Events.GUILD_BAN_ADD,i,r)}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildBanRemove.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.id);i?i.available||n.unavailable||(i.setup(n),this.packetManager.ws.checkIfReady()):t.dataManager.newGuild(n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.actions.GuildDelete.handle(n);i.guild&&t.emit(s.Events.GUILD_DELETE,i.guild)}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildEmojisUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id);i&&(i.memberCount++,i._addMember(n))}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildMemberRemove.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id);if(i){const e=i.members.get(n.user.id);e&&i._updateMember(e,n)}}}e.exports=s},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id);if(i){const e=n.members.map(e=>i._addMember(e,!1));t.emit(s.Events.GUILD_MEMBERS_CHUNK,e,i),t.ws.lastHeartbeatAck=!0}}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildRoleCreate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildRoleDelete.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildRoleUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildSync.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.actions.MessageCreate.handle(n);i.message&&t.emit(s.Events.MESSAGE_CREATE,i.message)}}e.exports=r},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.actions.MessageDelete.handle(n);i.message&&t.emit(s.Events.MESSAGE_DELETE,i.message)}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageDeleteBulk.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageReactionAdd.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageReactionRemove.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageReactionRemoveAll.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0),r=n(4);class o extends i{handle(e){const t=this.packetManager.client,n=e.d;let i=t.users.get(n.user.id);const o=t.guilds.get(n.guild_id);if(!i){if(!n.user.username)return;i=t.dataManager.newUser(n.user)}const a=r.cloneObject(i);if(i.patch(n.user),i.equals(a)||t.emit(s.Events.USER_UPDATE,a,i),o){let e=o.members.get(i.id);if(e||"offline"===n.status||(e=o._addMember({user:i,roles:n.roles,deaf:!1,mute:!1},!1),t.emit(s.Events.GUILD_MEMBER_AVAILABLE,e)),e){if(0===t.listenerCount(s.Events.PRESENCE_UPDATE))return void o._setPresence(i.id,n);const a=r.cloneObject(e);e.presence&&(a.frozenPresence=r.cloneObject(e.presence)),o._setPresence(i.id,n),t.emit(s.Events.PRESENCE_UPDATE,a,e)}else o._setPresence(i.id,n)}}}e.exports=o},function(e,t,n){const i=n(1),s=n(39);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.ws.heartbeat(),n.user.user_settings=n.user_settings;const i=new s(t,n.user);t.user=i,t.readyAt=new Date,t.users.set(i.id,i);for(const e of n.guilds)t.dataManager.newGuild(e);for(const e of n.private_channels)t.dataManager.newChannel(e);for(const e of n.relationships){const n=t.dataManager.newUser(e.user);1===e.type?t.user.friends.set(n.id,n):2===e.type&&t.user.blocked.set(n.id,n)}n.presences=n.presences||[];for(const e of n.presences)t.dataManager.newUser(e.user),t._setPresence(e.user.id,e);if(n.notes)for(const e in n.notes){let i=n.notes[e];i.length||(i=null),t.user.notes.set(e,i)}!t.user.bot&&t.options.sync&&t.setInterval(t.syncGuilds.bind(t),3e4),t.once("ready",t.syncGuilds.bind(t)),t.users.has("1")||t.dataManager.newUser({id:"1",username:"Clyde",discriminator:"0000",avatar:"https://discordapp.com/assets/f78426a064bc9dd24847519259bc42af.png",bot:!0,status:"online",game:null,verified:!0}),t.setTimeout(()=>{t.ws.normalReady||t.ws._emitReady(!1)},1200*n.guilds.length);const r=this.packetManager.ws;r.sessionID=n.session_id,r._trace=n._trace,t.emit("debug",`READY ${r._trace.join(" -> ")} ${r.sessionID}`),r.checkIfReady()}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;1===n.type?t.fetchUser(n.id).then(e=>{t.user.friends.set(e.id,e)}):2===n.type&&t.fetchUser(n.id).then(e=>{t.user.blocked.set(e.id,e)})}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;2===n.type?t.user.blocked.has(n.id)&&t.user.blocked.delete(n.id):1===n.type&&t.user.friends.has(n.id)&&t.user.friends.delete(n.id)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=t.ws;n._trace=e.d._trace;const i=n.sequence-n.resumeStart;n.resumeStart=-1,t.emit("debug",`RESUMED ${n._trace.join(" -> ")} | replayed ${i} events. `),t.emit("resume",i),n.heartbeat()}}e.exports=s},function(e,t,n){function i(e,t){return e.client.setTimeout(()=>{e.client.emit(r.Events.TYPING_STOP,e,t,e._typing.get(t.id));e._typing.delete(t.id)},6e3)}const s=n(1),r=n(0);class o extends s{handle(e){const t=this.packetManager.client,n=e.d,s=t.channels.get(n.channel_id),o=t.users.get(n.user_id),c=new Date(1e3*n.timestamp);if(s&&o){if("voice"===s.type)return void t.emit(r.Events.WARN,`Discord sent a typing packet to voice channel ${s.id}`);if(s._typing.has(o.id)){const e=s._typing.get(o.id);e.lastTimestamp=c,e.resetTimeout(i(s,o))}else s._typing.set(o.id,new a(t,c,c,i(s,o))),t.emit(r.Events.TYPING_START,s,o)}}}class a{constructor(e,t,n,i){this.client=e,this.since=t,this.lastTimestamp=n,this._timeout=i}resetTimeout(e){this.client.clearTimeout(this._timeout),this._timeout=e}get elapsedTime(){return Date.now()-this.since}}e.exports=o},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.UserNoteUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client;t.user.settings.patch(e.d),t.emit(s.Events.USER_SETTINGS_UPDATE,t.user.settings)}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.UserUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.emit("self.voiceServer",n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0),r=n(4);class o extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id);if(i){const e=i.members.get(n.user_id);if(e){const i=r.cloneObject(e);e.voiceChannel&&e.voiceChannel.id!==n.channel_id&&e.voiceChannel.members.delete(i.id),n.channel_id||(e.speaking=null),e.user.id===t.user.id&&n.channel_id&&t.emit("self.voiceStateUpdate",n);const o=t.channels.get(n.channel_id);o&&o.members.set(e.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,t.emit(s.Events.VOICE_STATE_UPDATE,i,e)}}}}e.exports=o},function(e,t,n){const i=n(4);e.exports={Client:n(67),Shard:n(70),ShardClientUtil:n(71),ShardingManager:n(72),WebhookClient:n(68),Collection:n(3),Constants:n(0),EvaluatedPermissions:n(9),Permissions:n(9),Snowflake:n(7),SnowflakeUtil:n(7),Util:i,util:i,version:n(38).version,escapeMarkdown:i.escapeMarkdown,fetchRecommendedShards:i.fetchRecommendedShards,splitMessage:i.splitMessage,Channel:n(14),ClientUser:n(39),ClientUserSettings:n(40),DMChannel:n(41),Emoji:n(17),Game:n(11).Game,GroupDMChannel:n(28),Guild:n(24),GuildChannel:n(25),GuildMember:n(18),Invite:n(42),Message:n(19),MessageAttachment:n(43),MessageCollector:n(44),MessageEmbed:n(45),MessageMentions:n(46),MessageReaction:n(47),OAuth2Application:n(48),PartialGuild:n(49),PartialGuildChannel:n(50),PermissionOverwrites:n(51),Presence:n(11).Presence,ReactionEmoji:n(29),RichEmbed:n(69),Role:n(15),TextChannel:n(52),User:n(16),VoiceChannel:n(53),Webhook:n(30)},"browser"===n(23).platform()&&(window.Discord=e.exports)},function(e,t,n){const i=n(66),s=n(3);class r extends i{constructor(e,t,n={}){super(e.client,t,n),this.message=e,this.users=new s,this.total=0,this.client.on("messageReactionAdd",this.listener)}handle(e){return e.message.id!==this.message.id?null:{key:e.emoji.id||e.emoji.name,value:e}}postCheck(e,t){return this.users.set(t.id,t),this.options.max&&++this.total>=this.options.max?"limit":this.options.maxEmojis&&this.collected.size>=this.options.maxEmojis?"emojiLimit":this.options.maxUsers&&this.users.size>=this.options.maxUsers?"userLimit":null}cleanup(){this.client.removeListener("messageReactionAdd",this.listener)}}e.exports=r},function(e,t){class n{constructor(e,t){this.user=e,this.setup(t)}setup(e){this.type=e.type,this.name=e.name,this.id=e.id,this.revoked=e.revoked,this.integrations=e.integrations}}e.exports=n},function(e,t,n){const i=n(3),s=n(180);class r{constructor(e,t){this.user=e,Object.defineProperty(this,"client",{value:e.client}),this.mutualGuilds=new i,this.connections=new i,this.setup(t)}setup(e){this.premium=e.premium,this.premiumSince=e.premium_since?new Date(e.premium_since):null;for(const t of e.mutual_guilds)this.client.guilds.has(t.id)&&this.mutualGuilds.set(t.id,this.client.guilds.get(t.id));for(const t of e.connected_accounts)this.connections.set(t.id,new s(this.user,t))}}e.exports=r},function(e,t){class n{constructor(e){this.id=e.id,this.name=e.name,this.vip=e.vip,this.deprecated=e.deprecated,this.optimal=e.optimal,this.custom=e.custom,this.sampleHostname=e.sample_hostname}}e.exports=n},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){}]); \ No newline at end of file +\`\`\``),reply&&"dm"!==e.channel.type){const e=this.client.resolver.resolveUserID(reply),n=`<@${reply instanceof p&&reply.nickname?"!":""}${e}>`;t=`${n}${t?`, ${t}`:""}`}return this.rest.makeRequest("patch",a.Message(e),!0,{content:t,embed:embed}).then(e=>this.client.actions.MessageUpdate.handle(e).updated)}deleteMessage(e){return this.rest.makeRequest("delete",a.Message(e),!0).then(()=>this.client.actions.MessageDelete.handle({id:e.id,channel_id:e.channel.id}).message)}ackMessage(e){return this.rest.makeRequest("post",a.Message(e).ack,!0,{token:this._ackToken}).then(t=>{t.token&&(this._ackToken=t.token);return e})}ackTextChannel(e){return this.rest.makeRequest("post",a.Channel(e).ack,!0,{token:this._ackToken}).then(t=>{t.token&&(this._ackToken=t.token);return e})}ackGuild(e){return this.rest.makeRequest("post",a.Guild(e).ack,!0).then(()=>e)}bulkDeleteMessages(e,t,n){return n&&(t=t.filter(e=>Date.now()-u.deconstruct(e).date.getTime()<12096e5)),this.rest.makeRequest("post",a.Channel(e).messages.bulkDelete,!0,{messages:t}).then(()=>this.client.actions.MessageDeleteBulk.handle({channel_id:e.id,ids:t}).messages)}search(e,t){if("string"==typeof t&&(t={content:t}),t.before&&(t.before instanceof Date||(t.before=new Date(t.before)),t.maxID=s.fromNumber(t.before.getTime()-14200704e5).shiftLeft(22).toString()),t.after&&(t.after instanceof Date||(t.after=new Date(t.after)),t.minID=s.fromNumber(t.after.getTime()-14200704e5).shiftLeft(22).toString()),t.during){t.during instanceof Date||(t.during=new Date(t.during));const e=t.during.getTime()-14200704e5;t.minID=s.fromNumber(e).shiftLeft(22).toString(),t.maxID=s.fromNumber(e+864e5).shiftLeft(22).toString()}t.channel&&(t.channel=this.client.resolver.resolveChannelID(t.channel)),t.author&&(t.author=this.client.resolver.resolveUserID(t.author)),t.mentions&&(t.mentions=this.client.resolver.resolveUserID(t.options.mentions)),t={content:t.content,max_id:t.maxID,min_id:t.minID,has:t.has,channel_id:t.channel,author_id:t.author,author_type:t.authorType,context_size:t.contextSize,sort_by:t.sortBy,sort_order:t.sortOrder,limit:t.limit,offset:t.offset,mentions:t.mentions,mentions_everyone:t.mentionsEveryone,link_hostname:t.linkHostname,embed_provider:t.embedProvider,embed_type:t.embedType,attachment_filename:t.attachmentFilename,attachment_extension:t.attachmentExtension};for(const e in t)void 0===t[e]&&delete t[e];const n=(i.stringify(t).match(/[^=&?]+=[^=&?]+/g)||[]).join("&");let r;if(e instanceof E)r=a.Channel(e).search;else{if(!(e instanceof y))throw new TypeError("Target must be a TextChannel, DMChannel, GroupDMChannel, or Guild.");r=a.Guild(e).search}return this.rest.makeRequest("get",`${r}?${n}`,!0).then(e=>{const t=e.messages.map(e=>e.map(e=>new d(this.client.channels.get(e.channel_id),e,this.client)));return{totalResults:e.total_results,messages:t}})}createChannel(e,t,n,i){return i instanceof c&&(i=i.array()),this.rest.makeRequest("post",a.Guild(e).channels,!0,{name:t,type:n,permission_overwrites:i}).then(e=>this.client.actions.ChannelCreate.handle(e).channel)}createDM(e){const t=this.getExistingDM(e);return t?Promise.resolve(t):this.rest.makeRequest("post",a.User(this.client.user).channels,!0,{recipient_id:e.id}).then(e=>this.client.actions.ChannelCreate.handle(e).channel)}createGroupDM(e){const t=this.client.user.bot?{access_tokens:e.accessTokens,nicks:e.nicks}:{recipients:e.recipients};return this.rest.makeRequest("post",a.User("@me").channels,!0,t).then(e=>new w(this.client,e))}addUserToGroupDM(e,t){const n=this.client.user.bot?{nick:t.nick,access_token:t.accessToken}:{recipient:t.id};return this.rest.makeRequest("put",a.Channel(e).Recipient(t.id),!0,n).then(()=>e)}getExistingDM(e){return this.client.channels.find(t=>t.recipient&&t.recipient.id===e.id)}deleteChannel(e){return(e instanceof h||e instanceof p)&&(e=this.getExistingDM(e)),e?this.rest.makeRequest("delete",a.Channel(e),!0).then(t=>{t.id=e.id;return this.client.actions.ChannelDelete.handle(t).channel}):Promise.reject(new Error("No channel to delete."))}updateChannel(e,t){const n={};return n.name=(t.name||e.name).trim(),n.topic=t.topic||e.topic,n.position=t.position||e.position,n.bitrate=t.bitrate||e.bitrate,n.user_limit=t.userLimit||e.userLimit,this.rest.makeRequest("patch",a.Channel(e),!0,n).then(e=>this.client.actions.ChannelUpdate.handle(e).updated)}leaveGuild(e){return e.ownerID===this.client.user.id?Promise.reject(new Error("Guild is owned by the client.")):this.rest.makeRequest("delete",a.User("@me").Guild(e.id),!0).then(()=>this.client.actions.GuildDelete.handle({id:e.id}).guild)}createGuild(e){return e.icon=this.client.resolver.resolveBase64(e.icon)||null,e.region=e.region||"us-central",new Promise((t,n)=>{this.rest.makeRequest("post",a.guilds,!0,e).then(e=>{if(this.client.guilds.has(e.id))return t(this.client.guilds.get(e.id));const i=n=>{n.id===e.id&&(this.client.removeListener(o.Events.GUILD_CREATE,i),this.client.clearTimeout(s),t(n))};this.client.on(o.Events.GUILD_CREATE,i);const s=this.client.setTimeout(()=>{this.client.removeListener(o.Events.GUILD_CREATE,i);n(new Error("Took too long to receive guild data."))},1e4);return},n)})}deleteGuild(e){return this.rest.makeRequest("delete",a.Guild(e),!0).then(()=>this.client.actions.GuildDelete.handle({id:e.id}).guild)}getUser(e,t){return this.rest.makeRequest("get",a.User(e),!0).then(e=>t?this.client.actions.UserGet.handle(e).user:new h(this.client,e))}updateCurrentUser(e,t){const n=this.client.user,i={};return i.username=e.username||n.username,i.avatar=this.client.resolver.resolveBase64(e.avatar)||n.avatar,n.bot||(i.email=e.email||n.email,i.password=t,e.new_password&&(i.new_password=e.newPassword)),this.rest.makeRequest("patch",a.User("@me"),!0,i).then(e=>this.client.actions.UserUpdate.handle(e).updated)}updateGuild(e,t){const n={};return t.name&&(n.name=t.name),t.region&&(n.region=t.region),t.verificationLevel&&(n.verification_level=Number(t.verificationLevel)),t.afkChannel&&(n.afk_channel_id=this.client.resolver.resolveChannel(t.afkChannel).id),t.afkTimeout&&(n.afk_timeout=Number(t.afkTimeout)),t.icon&&(n.icon=this.client.resolver.resolveBase64(t.icon)),t.owner&&(n.owner_id=this.client.resolver.resolveUser(t.owner).id),t.splash&&(n.splash=this.client.resolver.resolveBase64(t.splash)),this.rest.makeRequest("patch",a.Guild(e),!0,n).then(e=>this.client.actions.GuildUpdate.handle(e).updated)}kickGuildMember(e,t){return this.rest.makeRequest("delete",a.Guild(e).Member(t),!0).then(()=>this.client.actions.GuildMemberRemove.handle({guild_id:e.id,user:t.user}).member)}createGuildRole(e,t){return t.color&&(t.color=this.client.resolver.resolveColor(t.color)),t.permissions&&(t.permissions=r.resolve(t.permissions)),this.rest.makeRequest("post",a.Guild(e).roles,!0,t).then(t=>this.client.actions.GuildRoleCreate.handle({guild_id:e.id,role:t}).role)}deleteGuildRole(e){return this.rest.makeRequest("delete",a.Guild(e.guild).Role(e.id),!0).then(()=>this.client.actions.GuildRoleDelete.handle({guild_id:e.guild.id,role_id:e.id}).role)}setChannelOverwrite(e,t){return this.rest.makeRequest("put",`${a.Channel(e).permissions}/${t.id}`,!0,t)}deletePermissionOverwrites(e){return this.rest.makeRequest("delete",`${a.Channel(e.channel).permissions}/${e.id}`,!0).then(()=>e)}getChannelMessages(e,t={}){const n=[];t.limit&&n.push(`limit=${t.limit}`),t.around?n.push(`around=${t.around}`):t.before?n.push(`before=${t.before}`):t.after&&n.push(`after=${t.after}`);let i=a.Channel(e).messages;return n.length>0&&(i+=`?${n.join("&")}`),this.rest.makeRequest("get",i,!0)}getChannelMessage(e,t){const n=e.messages.get(t);return n?Promise.resolve(n):this.rest.makeRequest("get",a.Channel(e).Message(t),!0)}putGuildMember(e,t,n){if(n.access_token=n.accessToken,n.roles){const e=n.roles;(e instanceof c||e instanceof Array&&e[0]instanceof f)&&(n.roles=e.map(e=>e.id))}return this.rest.makeRequest("put",a.Guild(e).Member(t.id),!0,n).then(t=>this.client.actions.GuildMemberGet.handle(e,t).member)}getGuildMember(e,t,n){return this.rest.makeRequest("get",a.Guild(e).Member(t.id),!0).then(t=>n?this.client.actions.GuildMemberGet.handle(e,t).member:new p(e,t))}updateGuildMember(e,t){t.channel&&(t.channel_id=this.client.resolver.resolveChannel(t.channel).id),t.roles&&(t.roles=t.roles.map(e=>e instanceof f?e.id:e));let n=a.Member(e);if(e.id===this.client.user.id){const i=Object.keys(t);1===i.length&&"nick"===i[0]&&(n=a.Member(e).nickname)}return this.rest.makeRequest("patch",n,!0,t).then(t=>e.guild._updateMember(e,t).mem)}addMemberRole(e,t){return new Promise((n,i)=>{if(e._roles.includes(t.id))return n(e);const s=(e,i)=>{!e._roles.includes(t.id)&&i._roles.includes(t.id)&&(this.client.removeListener(o.Events.GUILD_MEMBER_UPDATE,s),n(i))};this.client.on(o.Events.GUILD_MEMBER_UPDATE,s);const r=this.client.setTimeout(()=>this.client.removeListener(o.Events.GUILD_MEMBER_UPDATE,s),1e4);return this.rest.makeRequest("put",a.Member(e).Role(t.id),!0).catch(e=>{this.client.removeListener(o.Events.GUILD_BAN_REMOVE,s);this.client.clearTimeout(r);i(e)})})}removeMemberRole(e,t){return new Promise((n,i)=>{if(!e._roles.includes(t.id))return n(e);const s=(e,i)=>{e._roles.includes(t.id)&&!i._roles.includes(t.id)&&(this.client.removeListener(o.Events.GUILD_MEMBER_UPDATE,s),n(i))};this.client.on(o.Events.GUILD_MEMBER_UPDATE,s);const r=this.client.setTimeout(()=>this.client.removeListener(o.Events.GUILD_MEMBER_UPDATE,s),1e4);return this.rest.makeRequest("delete",a.Member(e).Role(t.id),!0).catch(e=>{this.client.removeListener(o.Events.GUILD_BAN_REMOVE,s);this.client.clearTimeout(r);i(e)})})}sendTyping(e){return this.rest.makeRequest("post",a.Channel(e).typing,!0)}banGuildMember(e,t,n=0){const i=this.client.resolver.resolveUserID(t);return i?this.rest.makeRequest("put",`${a.Guild(e).bans}/${i}?delete-message-days=${n}`,!0,{"delete-message-days":n}).then(()=>{if(t instanceof p)return t;const n=this.client.resolver.resolveUser(i);if(n)return(t=this.client.resolver.resolveGuildMember(e,n))||n;return i}):Promise.reject(new Error("Couldn't resolve the user ID to ban."))}unbanGuildMember(e,t){return new Promise((n,i)=>{const s=this.client.resolver.resolveUserID(t);if(!s)throw new Error("Couldn't resolve the user ID to unban.");const r=(t,i)=>{t.id===e.id&&i.id===s&&(this.client.removeListener(o.Events.GUILD_BAN_REMOVE,r),this.client.clearTimeout(c),n(i))};this.client.on(o.Events.GUILD_BAN_REMOVE,r);const c=this.client.setTimeout(()=>{this.client.removeListener(o.Events.GUILD_BAN_REMOVE,r);i(new Error("Took too long to receive the ban remove event."))},1e4);this.rest.makeRequest("delete",`${a.Guild(e).bans}/${s}`,!0).catch(e=>{this.client.removeListener(o.Events.GUILD_BAN_REMOVE,r);this.client.clearTimeout(c);i(e)})})}getGuildBans(e){return this.rest.makeRequest("get",a.Guild(e).bans,!0).then(e=>{const t=new c;for(const n of e){const e=this.client.dataManager.newUser(n.user);t.set(e.id,e)}return t})}updateGuildRole(e,t){const n={};return n.name=t.name||e.name,n.position=void 0!==t.position?t.position:e.position,n.color=this.client.resolver.resolveColor(t.color||e.color),n.hoist=void 0!==t.hoist?t.hoist:e.hoist,n.mentionable=void 0!==t.mentionable?t.mentionable:e.mentionable,t.permissions?n.permissions=r.resolve(t.permissions):n.permissions=e.permissions,this.rest.makeRequest("patch",a.Guild(e.guild).Role(e.id),!0,n).then(t=>this.client.actions.GuildRoleUpdate.handle({role:t,guild_id:e.guild.id}).updated)}pinMessage(e){return this.rest.makeRequest("put",a.Channel(e.channel).Pin(e.id),!0).then(()=>e)}unpinMessage(e){return this.rest.makeRequest("delete",a.Channel(e.channel).Pin(e.id),!0).then(()=>e)}getChannelPinnedMessages(e){return this.rest.makeRequest("get",a.Channel(e).pins,!0)}createChannelInvite(e,t){const n={};return n.temporary=t.temporary,n.max_age=t.maxAge,n.max_uses=t.maxUses,this.rest.makeRequest("post",a.Channel(e).invites,!0,n).then(e=>new m(this.client,e))}deleteInvite(e){return this.rest.makeRequest("delete",a.Invite(e.code),!0).then(()=>e)}getInvite(e){return this.rest.makeRequest("get",a.Invite(e),!0).then(e=>new m(this.client,e))}getGuildInvites(e){return this.rest.makeRequest("get",a.Guild(e).invites,!0).then(e=>{const t=new c;for(const n of e){const e=new m(this.client,n);t.set(e.code,e)}return t})}pruneGuildMembers(e,t,n){return this.rest.makeRequest(n?"get":"post",`${a.Guild(e).prune}?days=${t}`,!0).then(e=>e.pruned)}createEmoji(e,t,n,i){const s={image:t,name:n};return i&&(s.roles=i.map(e=>e.id?e.id:e)),this.rest.makeRequest("post",a.Guild(e).emojis,!0,s).then(t=>this.client.actions.GuildEmojiCreate.handle(e,t).emoji)}updateEmoji(e,t){const n={};return t.name&&(n.name=t.name),t.roles&&(n.roles=t.roles.map(e=>e.id?e.id:e)),this.rest.makeRequest("patch",a.Guild(e.guild).Emoji(e.id),!0,n).then(t=>this.client.actions.GuildEmojiUpdate.handle(e,t).emoji)}deleteEmoji(e){return this.rest.makeRequest("delete",a.Guild(e.guild).Emoji(e.id),!0).then(()=>this.client.actions.GuildEmojiDelete.handle(e).data)}getWebhook(e,t){return this.rest.makeRequest("get",a.Webhook(e,t),!t).then(e=>new g(this.client,e))}getGuildWebhooks(e){return this.rest.makeRequest("get",a.Guild(e).webhooks,!0).then(e=>{const t=new c;for(const n of e)t.set(n.id,new g(this.client,n));return t})}getChannelWebhooks(e){return this.rest.makeRequest("get",a.Channel(e).webhooks,!0).then(e=>{const t=new c;for(const n of e)t.set(n.id,new g(this.client,n));return t})}createWebhook(e,t,n){return this.rest.makeRequest("post",a.Channel(e).webhooks,!0,{name:t,avatar:n}).then(e=>new g(this.client,e))}editWebhook(e,t,n){return this.rest.makeRequest("patch",a.Webhook(e.id,e.token),!1,{name:t,avatar:n}).then(t=>{e.name=t.name;e.avatar=t.avatar;return e})}deleteWebhook(e){return this.rest.makeRequest("delete",a.Webhook(e.id,e.token),!1)}sendWebhookMessage(e,t,{avatarURL:avatarURL,tts:tts,disableEveryone:disableEveryone,embeds:embeds,username:username}={},n=null){return username=username||e.name,void 0!==t&&(t=this.client.resolver.resolveString(t)),t&&(disableEveryone||void 0===disableEveryone&&this.client.options.disableEveryone)&&(t=t.replace(/@(everyone|here)/g,"@​$1")),this.rest.makeRequest("post",`${a.Webhook(e.id,e.token)}?wait=true`,!1,{username:username,avatar_url:avatarURL,content:t,tts:tts,embeds:embeds},n)}sendSlackWebhookMessage(e,t){return this.rest.makeRequest("post",`${a.Webhook(e.id,e.token)}/slack?wait=true`,!1,t)}fetchUserProfile(e){return this.rest.makeRequest("get",a.User(e).profile,!0).then(t=>new v(e,t))}fetchMeMentions(e){return e.guild&&(e.guild=e.guild.id?e.guild.id:e.guild),this.rest.makeRequest("get",a.User("@me").mentions(e.limit,e.roles,e.everyone,e.guild)).then(e=>e.body.map(e=>new d(this.client.channels.get(e.channel_id),e,this.client)))}addFriend(e){return this.rest.makeRequest("post",a.User("@me"),!0,{username:e.username,discriminator:e.discriminator}).then(()=>e)}removeFriend(e){return this.rest.makeRequest("delete",a.User("@me").Relationship(e.id),!0).then(()=>e)}blockUser(e){return this.rest.makeRequest("put",a.User("@me").Relationship(e.id),!0,{type:2}).then(()=>e)}unblockUser(e){return this.rest.makeRequest("delete",a.User("@me").Relationship(e.id),!0).then(()=>e)}updateChannelPositions(e,t){const n=new Array(t.length);for(let e=0;ethis.client.actions.GuildChannelsPositionUpdate.handle({guild_id:e,channels:t}).guild)}setRolePositions(e,t){return this.rest.makeRequest("patch",a.Guild(e).roles,!0,t).then(()=>this.client.actions.GuildRolesPositionUpdate.handle({guild_id:e,roles:t}).guild)}setChannelPositions(e,t){return this.rest.makeRequest("patch",a.Guild(e).channels,!0,t).then(()=>this.client.actions.GuildChannelsPositionUpdate.handle({guild_id:e,channels:t}).guild)}addMessageReaction(e,t){return this.rest.makeRequest("put",a.Message(e).Reaction(t).User("@me"),!0).then(()=>e._addReaction(l.parseEmoji(t),e.client.user))}removeMessageReaction(e,t,n){const i=a.Message(e).Reaction(t).User(n===this.client.user.id?"@me":n);return this.rest.makeRequest("delete",i,!0).then(()=>this.client.actions.MessageReactionRemove.handle({user_id:n,message_id:e.id,emoji:l.parseEmoji(t),channel_id:e.channel.id}).reaction)}removeMessageReactions(e){return this.rest.makeRequest("delete",a.Message(e).reactions,!0).then(()=>e)}getMessageReactionUsers(e,t,n=100){return this.rest.makeRequest("get",a.Message(e).Reaction(t,n),!0)}getApplication(e){return this.rest.makeRequest("get",a.OAUTH2.Application(e),!0).then(e=>new b(this.client,e))}resetApplication(e){return this.rest.makeRequest("post",a.OAUTH2.Application(e).reset,!0).then(e=>new b(this.client,e))}setNote(e,t){return this.rest.makeRequest("put",a.User(e).note,!0,{note:t}).then(()=>e)}acceptInvite(e){return e.id&&(e=e.id),new Promise((t,n)=>this.rest.makeRequest("post",a.Invite(e),!0).then(e=>{const i=n=>{n.id===e.id&&(t(n),this.client.removeListener(o.Events.GUILD_CREATE,i))};this.client.on(o.Events.GUILD_CREATE,i);this.client.setTimeout(()=>{this.client.removeListener(o.Events.GUILD_CREATE,i);n(new Error("Accepting invite timed out"))},12e4)}))}patchUserSettings(e){return this.rest.makeRequest("patch",o.Endpoints.User("@me").settings,!0,e)}}e.exports=x},function(e,t,n){const i=n(64);class s extends i{constructor(e,t){super(e,t),this.client=e.client,this.limit=1/0,this.resetTime=null,this.remaining=1,this.timeDifference=0,this.resetTimeout=null}push(e){super.push(e),this.handle()}execute(e){e&&e.request.gen().end((t,n)=>{n&&n.headers&&(this.limit=Number(n.headers["x-ratelimit-limit"]),this.resetTime=1e3*Number(n.headers["x-ratelimit-reset"]),this.remaining=Number(n.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(n.headers.date).getTime());if(t)if(429===t.status){if(this.queue.unshift(e),n.headers["x-ratelimit-global"]&&(this.globalLimit=!0),this.resetTimeout)return;this.resetTimeout=this.client.setTimeout(()=>{this.remaining=this.limit;this.globalLimit=!1;this.handle();this.resetTimeout=null},Number(n.headers["retry-after"])+this.client.options.restTimeOffset)}else e.reject(t),this.handle();else{this.globalLimit=!1;const t=n&&n.body?n.body:{};e.resolve(t),this.handle()}})}handle(){super.handle(),this.remaining<=0||0===this.queue.length||this.globalLimit||(this.execute(this.queue.shift()),this.remaining--,this.handle())}}e.exports=s},function(e,t,n){const i=n(64);class s extends i{constructor(e,t){super(e,t),this.endpoint=t,this.timeDifference=0,this.busy=!1}push(e){super.push(e),this.handle()}execute(e){return this.busy=!0,new Promise(t=>{e.request.gen().end((n,i)=>{i&&i.headers&&(this.requestLimit=Number(i.headers["x-ratelimit-limit"]),this.requestResetTime=1e3*Number(i.headers["x-ratelimit-reset"]),this.requestRemaining=Number(i.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(i.headers.date).getTime());if(n)429===n.status?(this.queue.unshift(e),this.restManager.client.setTimeout(()=>{this.globalLimit=!1;t()},Number(i.headers["retry-after"])+this.restManager.client.options.restTimeOffset),i.headers["x-ratelimit-global"]&&(this.globalLimit=!0)):(e.reject(n),t(n));else{this.globalLimit=!1;const n=i&&i.body?i.body:{};e.resolve(n),0===this.requestRemaining?this.restManager.client.setTimeout(()=>t(n),this.requestResetTime-Date.now()+this.timeDifference+this.restManager.client.options.restTimeOffset):t(n)}})})}handle(){super.handle(),this.busy||0===this.remaining||0===this.queue.length||this.globalLimit||this.execute(this.queue.shift()).then(()=>{this.busy=!1;this.handle()})}}e.exports=s},function(e,t,n){(function(t){const i=n(0);class s{constructor(){this.build(this.constructor.DEFAULT)}set({url:url,version:version}={}){this.build({url:url||this.constructor.DFEAULT.url,version:version||this.constructor.DEFAULT.version})}build(e){this.userAgent=`DiscordBot (${e.url}, ${e.version}) Node.js/${t.version}`}}s.DEFAULT={url:i.Package.homepage.split("#")[0],version:i.Package.version},e.exports=s}).call(t,n(6))},function(e,t,n){const i=n(12).EventEmitter,s=n(0),r=n(141),o=n(65);class a extends i{constructor(e){super(),this.client=e,this.packetManager=new r(this),this.status=s.Status.IDLE,this.sessionID=null,this.sequence=-1,this.gateway=null,this.normalReady=!1,this.ws=null,this.disabledEvents={};for(const t of e.options.disabledEvents)this.disabledEvents[t]=!0;this.first=!0,this.lastHeartbeatAck=!0,this._remainingReset=0,this._trace=[],this.resumeStart=-1}_connect(e){this.client.emit("debug",`Connecting to gateway ${e}`),this.normalReady=!1,this.status!==s.Status.RECONNECTING&&(this.status=s.Status.CONNECTING),this.ws=new o(e),this.ws.on("open",this.eventOpen.bind(this)),this.ws.on("packet",this.eventPacket.bind(this)),this.ws.on("close",this.eventClose.bind(this)),this.ws.on("error",this.eventError.bind(this)),this._queue=[],this._remaining=120,this.client.setInterval(()=>{this._remaining=120;this._remainingReset=Date.now()},6e4)}connect(e=this.gateway){this.gateway=e,this.first?(this._connect(e),this.first=!1):this.client.setTimeout(()=>this._connect(e),7500)}heartbeat(e){if(e&&!this.lastHeartbeatAck)return void this.tryReconnect();this.client.emit("debug","Sending heartbeat"),this.client._pingTimestamp=Date.now(),this.client.ws.send({op:s.OPCodes.HEARTBEAT,d:this.sequence},!0),this.lastHeartbeatAck=!1}send(e,t=!1){if(t)return void this._send(e);this._queue.push(e),this.doQueue()}destroy(){this.ws&&this.ws.close(1e3),this._queue=[],this.status=s.Status.IDLE}_send(e){this.ws.readyState===o.WebSocket.OPEN&&(this.emit("send",e),this.ws.send(e))}doQueue(){const e=this._queue[0];if(this.ws.readyState===o.WebSocket.OPEN&&e){if(0===this.remaining)return void this.client.setTimeout(this.doQueue.bind(this),Date.now()+(this._remainingReset||12e4));this._remaining--,this._send(e),this._queue.shift(),this.doQueue()}}eventOpen(){this.client.emit("debug","Connection to gateway opened"),this.lastHeartbeatAck=!0,this.sessionID?this._sendResume():this._sendNewIdentify()}_sendResume(){if(!this.sessionID)return void this._sendNewIdentify();this.client.emit("debug","Identifying as resumed session"),this.resumeStart=this.sequence;const e={token:this.client.token,session_id:this.sessionID,seq:this.sequence};this.send({op:s.OPCodes.RESUME,d:e})}_sendNewIdentify(){this.reconnecting=!1;const e=this.client.options.ws;e.token=this.client.token,this.client.options.shardCount>0&&(e.shard=[Number(this.client.options.shardId),Number(this.client.options.shardCount)]),this.client.emit("debug","Identifying as new session"),this.send({op:s.OPCodes.IDENTIFY,d:e}),this.sequence=-1}eventClose(e){this.emit("close",e),this.client.clearInterval(this.client.manager.heartbeatInterval),this.status=s.Status.DISCONNECTED,this._queue=[],this.reconnecting||this.client.emit(s.Events.DISCONNECT,e),[4004,4010,4011].includes(e.code)||this.reconnecting||1e3===e.code||this.tryReconnect()}eventPacket(e){return null===e?(this.eventError(new Error(s.Errors.BAD_WS_MESSAGE)),!1):(this.client.emit("raw",e),e.op===s.OPCodes.HELLO&&this.client.manager.setupKeepAlive(e.d.heartbeat_interval),this.packetManager.handle(e))}eventError(e){this.client.listenerCount("error")>0&&this.client.emit("error",e),this.tryReconnect()}_emitReady(e=!0){this.status=s.Status.READY,this.client.emit(s.Events.READY),this.packetManager.handleQueue(),this.normalReady=e}checkIfReady(){if(this.status!==s.Status.READY&&this.status!==s.Status.NEARLY){let e=0;for(const t of this.client.guilds.keys())e+=this.client.guilds.get(t).available?0:1;if(0===e){if(this.status=s.Status.NEARLY,this.client.options.fetchAllMembers){const e=this.client.guilds.map(e=>e.fetchMembers());return void Promise.all(e).then(()=>this._emitReady(),e=>{this.client.emit(s.Events.WARN,"Error in pre-ready guild member fetching");this.client.emit(s.Events.ERROR,e);this._emitReady()})}this._emitReady()}}}tryReconnect(){this.status!==s.Status.RECONNECTING&&this.status!==s.Status.CONNECTING&&this.client.token&&(this.status=s.Status.RECONNECTING,this.ws.close(),this.packetManager.handleQueue(),this.client.emit(s.Events.RECONNECTING),this.connect(this.client.ws.gateway))}}e.exports=a},function(e,t,n){const i=n(0),s=[i.WSEvents.READY,i.WSEvents.GUILD_CREATE,i.WSEvents.GUILD_DELETE,i.WSEvents.GUILD_MEMBERS_CHUNK,i.WSEvents.GUILD_MEMBER_ADD,i.WSEvents.GUILD_MEMBER_REMOVE];class r{constructor(e){this.ws=e,this.handlers={},this.queue=[],this.register(i.WSEvents.READY,n(168)),this.register(i.WSEvents.RESUMED,n(171)),this.register(i.WSEvents.GUILD_CREATE,n(148)),this.register(i.WSEvents.GUILD_DELETE,n(149)),this.register(i.WSEvents.GUILD_UPDATE,n(159)),this.register(i.WSEvents.GUILD_BAN_ADD,n(146)),this.register(i.WSEvents.GUILD_BAN_REMOVE,n(147)),this.register(i.WSEvents.GUILD_MEMBER_ADD,n(151)),this.register(i.WSEvents.GUILD_MEMBER_REMOVE,n(152)),this.register(i.WSEvents.GUILD_MEMBER_UPDATE,n(153)),this.register(i.WSEvents.GUILD_ROLE_CREATE,n(155)),this.register(i.WSEvents.GUILD_ROLE_DELETE,n(156)),this.register(i.WSEvents.GUILD_ROLE_UPDATE,n(157)),this.register(i.WSEvents.GUILD_EMOJIS_UPDATE,n(150)),this.register(i.WSEvents.GUILD_MEMBERS_CHUNK,n(154)),this.register(i.WSEvents.CHANNEL_CREATE,n(142)),this.register(i.WSEvents.CHANNEL_DELETE,n(143)),this.register(i.WSEvents.CHANNEL_UPDATE,n(145)),this.register(i.WSEvents.CHANNEL_PINS_UPDATE,n(144)),this.register(i.WSEvents.PRESENCE_UPDATE,n(167)),this.register(i.WSEvents.USER_UPDATE,n(175)),this.register(i.WSEvents.USER_NOTE_UPDATE,n(173)),this.register(i.WSEvents.USER_SETTINGS_UPDATE,n(174)),this.register(i.WSEvents.VOICE_STATE_UPDATE,n(177)),this.register(i.WSEvents.TYPING_START,n(172)),this.register(i.WSEvents.MESSAGE_CREATE,n(160)),this.register(i.WSEvents.MESSAGE_DELETE,n(161)),this.register(i.WSEvents.MESSAGE_UPDATE,n(166)),this.register(i.WSEvents.MESSAGE_DELETE_BULK,n(162)),this.register(i.WSEvents.VOICE_SERVER_UPDATE,n(176)),this.register(i.WSEvents.GUILD_SYNC,n(158)),this.register(i.WSEvents.RELATIONSHIP_ADD,n(169)),this.register(i.WSEvents.RELATIONSHIP_REMOVE,n(170)),this.register(i.WSEvents.MESSAGE_REACTION_ADD,n(163)),this.register(i.WSEvents.MESSAGE_REACTION_REMOVE,n(164)),this.register(i.WSEvents.MESSAGE_REACTION_REMOVE_ALL,n(165))}get client(){return this.ws.client}register(e,t){this.handlers[e]=new t(this)}handleQueue(){this.queue.forEach((e,t)=>{this.handle(this.queue[t]);this.queue.splice(t,1)})}setSequence(e){e&&e>this.ws.sequence&&(this.ws.sequence=e)}handle(e){return e.op===i.OPCodes.RECONNECT?(this.setSequence(e.s),this.ws.tryReconnect(),!1):e.op===i.OPCodes.INVALID_SESSION?(this.client.emit("debug",`SESSION INVALID! Waiting to reconnect: ${e.d}`),e.d?setTimeout(()=>{this.ws._sendResume()},2500):(this.ws.sessionID=null,this.ws._sendNewIdentify()),!1):(e.op===i.OPCodes.HEARTBEAT_ACK?(this.ws.client._pong(this.ws.client._pingTimestamp),this.ws.lastHeartbeatAck=!0,this.ws.client.emit("debug","Heartbeat acknowledged")):e.op===i.OPCodes.HEARTBEAT&&(this.client.ws.send({op:i.OPCodes.HEARTBEAT,d:this.client.ws.sequence}),this.ws.client.emit("debug","Received gateway heartbeat")),this.ws.status===i.Status.RECONNECTING&&(this.ws.reconnecting=!1,this.ws.checkIfReady()),this.setSequence(e.s),void 0===this.ws.disabledEvents[e.t]&&(this.ws.status!==i.Status.READY&&-1===s.indexOf(e.t)?(this.queue.push(e),!1):!!this.handlers[e.t]&&this.handlers[e.t].handle(e)))}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.ChannelCreate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.actions.ChannelDelete.handle(n);i.channel&&t.emit(s.Events.CHANNEL_DELETE,i.channel)}}e.exports=r},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.channels.get(n.channel_id),r=new Date(n.last_pin_timestamp);i&&r&&t.emit(s.Events.CHANNEL_PINS_UPDATE,i,r)}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.ChannelUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id),r=t.users.get(n.user.id);i&&r&&t.emit(s.Events.GUILD_BAN_ADD,i,r)}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildBanRemove.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.id);i?i.available||n.unavailable||(i.setup(n),this.packetManager.ws.checkIfReady()):t.dataManager.newGuild(n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.actions.GuildDelete.handle(n);i.guild&&t.emit(s.Events.GUILD_DELETE,i.guild)}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildEmojisUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id);i&&(i.memberCount++,i._addMember(n))}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildMemberRemove.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id);if(i){const e=i.members.get(n.user.id);e&&i._updateMember(e,n)}}}e.exports=s},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id);if(i){const e=n.members.map(e=>i._addMember(e,!1));t.emit(s.Events.GUILD_MEMBERS_CHUNK,e,i),t.ws.lastHeartbeatAck=!0}}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildRoleCreate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildRoleDelete.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildRoleUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildSync.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.GuildUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.actions.MessageCreate.handle(n);i.message&&t.emit(s.Events.MESSAGE_CREATE,i.message)}}e.exports=r},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.actions.MessageDelete.handle(n);i.message&&t.emit(s.Events.MESSAGE_DELETE,i.message)}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageDeleteBulk.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageReactionAdd.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageReactionRemove.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageReactionRemoveAll.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.MessageUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0),r=n(4);class o extends i{handle(e){const t=this.packetManager.client,n=e.d;let i=t.users.get(n.user.id);const o=t.guilds.get(n.guild_id);if(!i){if(!n.user.username)return;i=t.dataManager.newUser(n.user)}const a=r.cloneObject(i);if(i.patch(n.user),i.equals(a)||t.emit(s.Events.USER_UPDATE,a,i),o){let e=o.members.get(i.id);if(e||"offline"===n.status||(e=o._addMember({user:i,roles:n.roles,deaf:!1,mute:!1},!1),t.emit(s.Events.GUILD_MEMBER_AVAILABLE,e)),e){if(0===t.listenerCount(s.Events.PRESENCE_UPDATE))return void o._setPresence(i.id,n);const a=r.cloneObject(e);e.presence&&(a.frozenPresence=r.cloneObject(e.presence)),o._setPresence(i.id,n),t.emit(s.Events.PRESENCE_UPDATE,a,e)}else o._setPresence(i.id,n)}}}e.exports=o},function(e,t,n){const i=n(1),s=n(39);class r extends i{handle(e){const t=this.packetManager.client,n=e.d;t.ws.heartbeat(),n.user.user_settings=n.user_settings;const i=new s(t,n.user);t.user=i,t.readyAt=new Date,t.users.set(i.id,i);for(const e of n.guilds)t.dataManager.newGuild(e);for(const e of n.private_channels)t.dataManager.newChannel(e);for(const e of n.relationships){const n=t.dataManager.newUser(e.user);1===e.type?t.user.friends.set(n.id,n):2===e.type&&t.user.blocked.set(n.id,n)}n.presences=n.presences||[];for(const e of n.presences)t.dataManager.newUser(e.user),t._setPresence(e.user.id,e);if(n.notes)for(const e in n.notes){let i=n.notes[e];i.length||(i=null),t.user.notes.set(e,i)}!t.user.bot&&t.options.sync&&t.setInterval(t.syncGuilds.bind(t),3e4),t.once("ready",t.syncGuilds.bind(t)),t.users.has("1")||t.dataManager.newUser({id:"1",username:"Clyde",discriminator:"0000",avatar:"https://discordapp.com/assets/f78426a064bc9dd24847519259bc42af.png",bot:!0,status:"online",game:null,verified:!0}),t.setTimeout(()=>{t.ws.normalReady||t.ws._emitReady(!1)},1200*n.guilds.length);const r=this.packetManager.ws;r.sessionID=n.session_id,r._trace=n._trace,t.emit("debug",`READY ${r._trace.join(" -> ")} ${r.sessionID}`),r.checkIfReady()}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;1===n.type?t.fetchUser(n.id).then(e=>{t.user.friends.set(e.id,e)}):2===n.type&&t.fetchUser(n.id).then(e=>{t.user.blocked.set(e.id,e)})}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;2===n.type?t.user.blocked.has(n.id)&&t.user.blocked.delete(n.id):1===n.type&&t.user.friends.has(n.id)&&t.user.friends.delete(n.id)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=t.ws;n._trace=e.d._trace;const i=n.sequence-n.resumeStart;n.resumeStart=-1,t.emit("debug",`RESUMED ${n._trace.join(" -> ")} | replayed ${i} events. `),t.emit("resume",i),n.heartbeat()}}e.exports=s},function(e,t,n){function i(e,t){return e.client.setTimeout(()=>{e.client.emit(r.Events.TYPING_STOP,e,t,e._typing.get(t.id));e._typing.delete(t.id)},6e3)}const s=n(1),r=n(0);class o extends s{handle(e){const t=this.packetManager.client,n=e.d,s=t.channels.get(n.channel_id),o=t.users.get(n.user_id),c=new Date(1e3*n.timestamp);if(s&&o){if("voice"===s.type)return void t.emit(r.Events.WARN,`Discord sent a typing packet to voice channel ${s.id}`);if(s._typing.has(o.id)){const e=s._typing.get(o.id);e.lastTimestamp=c,e.resetTimeout(i(s,o))}else s._typing.set(o.id,new a(t,c,c,i(s,o))),t.emit(r.Events.TYPING_START,s,o)}}}class a{constructor(e,t,n,i){this.client=e,this.since=t,this.lastTimestamp=n,this._timeout=i}resetTimeout(e){this.client.clearTimeout(this._timeout),this._timeout=e}get elapsedTime(){return Date.now()-this.since}}e.exports=o},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.UserNoteUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0);class r extends i{handle(e){const t=this.packetManager.client;t.user.settings.patch(e.d),t.emit(s.Events.USER_SETTINGS_UPDATE,t.user.settings)}}e.exports=r},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.actions.UserUpdate.handle(n)}}e.exports=s},function(e,t,n){const i=n(1);class s extends i{handle(e){const t=this.packetManager.client,n=e.d;t.emit("self.voiceServer",n)}}e.exports=s},function(e,t,n){const i=n(1),s=n(0),r=n(4);class o extends i{handle(e){const t=this.packetManager.client,n=e.d,i=t.guilds.get(n.guild_id);if(i){const e=i.members.get(n.user_id);if(e){const i=r.cloneObject(e);e.voiceChannel&&e.voiceChannel.id!==n.channel_id&&e.voiceChannel.members.delete(i.id),n.channel_id||(e.speaking=null),e.user.id===t.user.id&&n.channel_id&&t.emit("self.voiceStateUpdate",n);const o=t.channels.get(n.channel_id);o&&o.members.set(e.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,t.emit(s.Events.VOICE_STATE_UPDATE,i,e)}}}}e.exports=o},function(e,t,n){const i=n(4);e.exports={Client:n(67),Shard:n(70),ShardClientUtil:n(71),ShardingManager:n(72),WebhookClient:n(68),Collection:n(3),Constants:n(0),EvaluatedPermissions:n(9),Permissions:n(9),Snowflake:n(7),SnowflakeUtil:n(7),Util:i,util:i,version:n(38).version,escapeMarkdown:i.escapeMarkdown,fetchRecommendedShards:i.fetchRecommendedShards,splitMessage:i.splitMessage,Channel:n(14),ClientUser:n(39),ClientUserSettings:n(40),DMChannel:n(41),Emoji:n(17),Game:n(11).Game,GroupDMChannel:n(28),Guild:n(24),GuildChannel:n(25),GuildMember:n(18),Invite:n(42),Message:n(19),MessageAttachment:n(43),MessageCollector:n(44),MessageEmbed:n(45),MessageMentions:n(46),MessageReaction:n(47),OAuth2Application:n(48),PartialGuild:n(49),PartialGuildChannel:n(50),PermissionOverwrites:n(51),Presence:n(11).Presence,ReactionEmoji:n(29),RichEmbed:n(69),Role:n(15),TextChannel:n(52),User:n(16),VoiceChannel:n(53),Webhook:n(30)},"browser"===n(23).platform()&&(window.Discord=e.exports)},function(e,t,n){const i=n(66),s=n(3);class r extends i{constructor(e,t,n={}){super(e.client,t,n),this.message=e,this.users=new s,this.total=0,this.client.on("messageReactionAdd",this.listener)}handle(e){return e.message.id!==this.message.id?null:{key:e.emoji.id||e.emoji.name,value:e}}postCheck(e,t){return this.users.set(t.id,t),this.options.max&&++this.total>=this.options.max?"limit":this.options.maxEmojis&&this.collected.size>=this.options.maxEmojis?"emojiLimit":this.options.maxUsers&&this.users.size>=this.options.maxUsers?"userLimit":null}cleanup(){this.client.removeListener("messageReactionAdd",this.listener)}}e.exports=r},function(e,t){class n{constructor(e,t){this.user=e,this.setup(t)}setup(e){this.type=e.type,this.name=e.name,this.id=e.id,this.revoked=e.revoked,this.integrations=e.integrations}}e.exports=n},function(e,t,n){const i=n(3),s=n(180);class r{constructor(e,t){this.user=e,Object.defineProperty(this,"client",{value:e.client}),this.mutualGuilds=new i,this.connections=new i,this.setup(t)}setup(e){this.premium=e.premium,this.premiumSince=e.premium_since?new Date(e.premium_since):null;for(const t of e.mutual_guilds)this.client.guilds.has(t.id)&&this.mutualGuilds.set(t.id,this.client.guilds.get(t.id));for(const t of e.connected_accounts)this.connections.set(t.id,new s(this.user,t))}}e.exports=r},function(e,t){class n{constructor(e){this.id=e.id,this.name=e.name,this.vip=e.vip,this.deprecated=e.deprecated,this.optimal=e.optimal,this.custom=e.custom,this.sampleHostname=e.sample_hostname}}e.exports=n},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){}]); \ No newline at end of file