diff --git a/discord.master.js b/discord.master.js index 73263f77..f623b08d 100644 --- a/discord.master.js +++ b/discord.master.js @@ -16799,7 +16799,7 @@ class RESTMethods { } deleteMessage(message) { - return this.rest.makeRequest('del', Endpoints.Message(message), true) + return this.rest.makeRequest('delete', Endpoints.Message(message), true) .then(() => this.client.actions.MessageDelete.handle({ id: message.id, @@ -16946,7 +16946,7 @@ class RESTMethods { deleteChannel(channel) { if (channel instanceof User || channel instanceof GuildMember) channel = this.getExistingDM(channel); if (!channel) return Promise.reject(new Error('No channel to delete.')); - return this.rest.makeRequest('del', Endpoints.Channel(channel), true).then(data => { + return this.rest.makeRequest('delete', Endpoints.Channel(channel), true).then(data => { data.id = channel.id; return this.client.actions.ChannelDelete.handle(data).channel; }); @@ -16966,7 +16966,7 @@ class RESTMethods { leaveGuild(guild) { if (guild.ownerID === this.client.user.id) return Promise.reject(new Error('Guild is owned by the client.')); - return this.rest.makeRequest('del', Endpoints.User('@me').Guild(guild.id), true).then(() => + return this.rest.makeRequest('delete', Endpoints.User('@me').Guild(guild.id), true).then(() => this.client.actions.GuildDelete.handle({ id: guild.id }).guild ); } @@ -16998,7 +16998,7 @@ class RESTMethods { // Untested but probably will work deleteGuild(guild) { - return this.rest.makeRequest('del', Endpoints.Guild(guild), true).then(() => + return this.rest.makeRequest('delete', Endpoints.Guild(guild), true).then(() => this.client.actions.GuildDelete.handle({ id: guild.id }).guild ); } @@ -17041,7 +17041,7 @@ class RESTMethods { } kickGuildMember(guild, member) { - return this.rest.makeRequest('del', Endpoints.Guild(guild).Member(member), true).then(() => + return this.rest.makeRequest('delete', Endpoints.Guild(guild).Member(member), true).then(() => this.client.actions.GuildMemberRemove.handle({ guild_id: guild.id, user: member.user, @@ -17061,7 +17061,7 @@ class RESTMethods { } deleteGuildRole(role) { - return this.rest.makeRequest('del', Endpoints.Guild(role.guild).Role(role.id), true).then(() => + return this.rest.makeRequest('delete', Endpoints.Guild(role.guild).Role(role.id), true).then(() => this.client.actions.GuildRoleDelete.handle({ guild_id: role.guild.id, role_id: role.id, @@ -17075,7 +17075,7 @@ class RESTMethods { deletePermissionOverwrites(overwrite) { return this.rest.makeRequest( - 'del', `${Endpoints.Channel(overwrite.channel).permissions}/${overwrite.id}`, true + 'delete', `${Endpoints.Channel(overwrite.channel).permissions}/${overwrite.id}`, true ).then(() => overwrite); } @@ -17221,7 +17221,7 @@ class RESTMethods { reject(new Error('Took too long to receive the ban remove event.')); }, 10000); - this.rest.makeRequest('del', `${Endpoints.Guild(guild).bans}/${id}`, true).catch(err => { + this.rest.makeRequest('delete', `${Endpoints.Guild(guild).bans}/${id}`, true).catch(err => { this.client.removeListener(Constants.Events.GUILD_BAN_REMOVE, listener); this.client.clearTimeout(timeout); reject(err); @@ -17265,7 +17265,7 @@ class RESTMethods { } unpinMessage(message) { - return this.rest.makeRequest('del', Endpoints.Channel(message.channel).Pin(message.id), true) + return this.rest.makeRequest('delete', Endpoints.Channel(message.channel).Pin(message.id), true) .then(() => message); } @@ -17283,7 +17283,7 @@ class RESTMethods { } deleteInvite(invite) { - return this.rest.makeRequest('del', Endpoints.Invite(invite.code), true).then(() => invite); + return this.rest.makeRequest('delete', Endpoints.Invite(invite.code), true).then(() => invite); } getInvite(code) { diff --git a/discord.master.min.js b/discord.master.min.js index d534bbbd..9cffbb9d 100644 --- a/discord.master.min.js +++ b/discord.master.min.js @@ -20,5 +20,5 @@ ${e} \`\`\``,split&&(split.prepend=`\`\`\`${"boolean"!=typeof code?code||"":""} `,split.append="\n```")),(disableEveryone||"undefined"==typeof disableEveryone&&this.client.options.disableEveryone)&&(e=e.replace(/@(everyone|here)/g,"@​$1")),reply&&!(t instanceof h||t instanceof p)&&"dm"!==t.type){const t=this.client.resolver.resolveUserID(reply),i=`<@${reply instanceof p&&reply.nickname?"!":""}${t}>`;e=`${i}${e?`, ${e}`:""}`,split&&(split.prepend=`${i}, ${split.prepend||""}`)}split&&(e=u.splitMessage(e,split))}else if(reply&&!(t instanceof h||t instanceof p)&&"dm"!==t.type){const t=this.client.resolver.resolveUserID(reply);e=`<@${reply instanceof p&&reply.nickname?"!":""}${t}>`}const o=t=>{if(e instanceof Array){const s=[];!function e(o,r){const a=r===o.length?{tts:tts,embed:embed}:{tts:tts};t.send(o[r],a,r===o.length?i:null).then(t=>{return s.push(t),r>=o.length-1?n(s):e(o,++r)})}(e,0)}else this.rest.makeRequest("post",a.Channel(t).messages,!0,{content:e,tts:tts,nonce:nonce,embed:embed},i).then(t=>n(this.client.actions.MessageCreate.handle(t).message),s)};t instanceof h||t instanceof p?this.createDM(t).then(o,s):o(t)})}updateMessage(t,e,{embed,code,reply}={}){if("undefined"!=typeof e&&(e=this.client.resolver.resolveString(e)),"undefined"==typeof code||"boolean"==typeof code&&code!==!0||(e=u.escapeMarkdown(this.client.resolver.resolveString(e),!0),e=`\`\`\`${"boolean"!=typeof code?code||"":""} ${e} -\`\`\``),reply&&"dm"!==t.channel.type){const t=this.client.resolver.resolveUserID(reply),i=`<@${reply instanceof p&&reply.nickname?"!":""}${t}>`;e=`${i}${e?`, ${e}`:""}`}return this.rest.makeRequest("patch",a.Message(t),!0,{content:e,embed:embed}).then(t=>this.client.actions.MessageUpdate.handle(t).updated)}deleteMessage(t){return this.rest.makeRequest("del",a.Message(t),!0).then(()=>this.client.actions.MessageDelete.handle({id:t.id,channel_id:t.channel.id}).message)}ackMessage(t){return this.rest.makeRequest("post",a.Message(t).ack,!0,{token:this._ackToken}).then(e=>{return e.token&&(this._ackToken=e.token),t})}ackTextChannel(t){return this.rest.makeRequest("post",a.Channel(t).ack,!0,{token:this._ackToken}).then(e=>{return e.token&&(this._ackToken=e.token),t})}ackGuild(t){return this.rest.makeRequest("post",a.Guild(t).ack,!0).then(()=>t)}bulkDeleteMessages(t,e,i){return i&&(e=e.filter(t=>Date.now()-l.deconstruct(t).date.getTime()<12096e5)),this.rest.makeRequest("post",a.Channel(t).messages.bulkDelete,!0,{messages:e}).then(()=>this.client.actions.MessageDeleteBulk.handle({channel_id:t.id,ids:e}).messages)}search(t,e){if(e.before&&(e.before instanceof Date||(e.before=new Date(e.before)),e.maxID=s.fromNumber(e.before.getTime()-14200704e5).shiftLeft(22).toString()),e.after&&(e.after instanceof Date||(e.after=new Date(e.after)),e.minID=s.fromNumber(e.after.getTime()-14200704e5).shiftLeft(22).toString()),e.during){e.during instanceof Date||(e.during=new Date(e.during));const t=e.during.getTime()-14200704e5;e.minID=s.fromNumber(t).shiftLeft(22).toString(),e.maxID=s.fromNumber(t+864e5).shiftLeft(22).toString()}e.channel&&(e.channel=this.client.resolver.resolveChannelID(e.channel)),e.author&&(e.author=this.client.resolver.resolveUserID(e.author)),e.mentions&&(e.mentions=this.client.resolver.resolveUserID(e.options.mentions)),e={content:e.content,max_id:e.maxID,min_id:e.minID,has:e.has,channel_id:e.channel,author_id:e.author,author_type:e.authorType,context_size:e.contextSize,sort_by:e.sortBy,sort_order:e.sortOrder,limit:e.limit,offset:e.offset,mentions:e.mentions,mentions_everyone:e.mentionsEveryone,link_hostname:e.linkHostname,embed_provider:e.embedProvider,embed_type:e.embedType,attachment_filename:e.attachmentFilename,attachment_extension:e.attachmentExtension};for(const i in e)void 0===e[i]&&delete e[i];const o=(n.stringify(e).match(/[^=&?]+=[^=&?]+/g)||[]).join("&");let r;if(t instanceof x)r=a.Channel(t).search;else{if(!(t instanceof w))throw new TypeError("Target must be a TextChannel, DMChannel, GroupDMChannel, or Guild.");r=a.Guild(t).search}return this.rest.makeRequest("get",`${r}?${o}`,!0).then(t=>{const e=t.messages.map(t=>t.map(t=>new d(this.client.channels.get(t.channel_id),t,this.client)));return{totalResults:t.total_results,messages:e}})}createChannel(t,e,i,n){return n instanceof c&&(n=n.array()),this.rest.makeRequest("post",a.Guild(t).channels,!0,{name:e,type:i,permission_overwrites:n}).then(t=>this.client.actions.ChannelCreate.handle(t).channel)}createDM(t){const e=this.getExistingDM(t);return e?Promise.resolve(e):this.rest.makeRequest("post",a.User(this.client.user).channels,!0,{recipient_id:t.id}).then(t=>this.client.actions.ChannelCreate.handle(t).channel)}createGroupDM(t){const e=this.client.user.bot?{access_tokens:t.accessTokens,nicks:t.nicks}:{recipients:t.recipients};return this.rest.makeRequest("post",a.User("@me").channels,!0,e).then(t=>new b(this.client,t))}addUserToGroupDM(t,e){const i=this.client.user.bot?{nick:e.nick,access_token:e.accessToken}:{recipient:e.id};return this.rest.makeRequest("put",a.Channel(t).Recipient(e.id),!0,i).then(()=>t)}getExistingDM(t){return this.client.channels.find(e=>e.recipient&&e.recipient.id===t.id)}deleteChannel(t){return(t instanceof h||t instanceof p)&&(t=this.getExistingDM(t)),t?this.rest.makeRequest("del",a.Channel(t),!0).then(e=>{return e.id=t.id,this.client.actions.ChannelDelete.handle(e).channel}):Promise.reject(new Error("No channel to delete."))}updateChannel(t,e){const i={};return i.name=(e.name||t.name).trim(),i.topic=e.topic||t.topic,i.position=e.position||t.position,i.bitrate=e.bitrate||t.bitrate,i.user_limit=e.userLimit||t.userLimit,this.rest.makeRequest("patch",a.Channel(t),!0,i).then(t=>this.client.actions.ChannelUpdate.handle(t).updated)}leaveGuild(t){return t.ownerID===this.client.user.id?Promise.reject(new Error("Guild is owned by the client.")):this.rest.makeRequest("del",a.User("@me").Guild(t.id),!0).then(()=>this.client.actions.GuildDelete.handle({id:t.id}).guild)}createGuild(t){return t.icon=this.client.resolver.resolveBase64(t.icon)||null,t.region=t.region||"us-central",new Promise((e,i)=>{this.rest.makeRequest("post",a.guilds,!0,t).then(t=>{if(this.client.guilds.has(t.id))return e(this.client.guilds.get(t.id));const n=i=>{i.id===t.id&&(this.client.removeListener(r.Events.GUILD_CREATE,n),this.client.clearTimeout(s),e(i))};this.client.on(r.Events.GUILD_CREATE,n);const s=this.client.setTimeout(()=>{this.client.removeListener(r.Events.GUILD_CREATE,n),i(new Error("Took too long to receive guild data."))},1e4)},i)})}deleteGuild(t){return this.rest.makeRequest("del",a.Guild(t),!0).then(()=>this.client.actions.GuildDelete.handle({id:t.id}).guild)}getUser(t,e){return this.rest.makeRequest("get",a.User(t),!0).then(t=>{return e?this.client.actions.UserGet.handle(t).user:new h(this.client,t)})}updateCurrentUser(t,e){const i=this.client.user,n={};return n.username=t.username||i.username,n.avatar=this.client.resolver.resolveBase64(t.avatar)||i.avatar,i.bot||(n.email=t.email||i.email,n.password=e,t.new_password&&(n.new_password=t.newPassword)),this.rest.makeRequest("patch",a.User("@me"),!0,n).then(t=>this.client.actions.UserUpdate.handle(t).updated)}updateGuild(t,e){const i={};return e.name&&(i.name=e.name),e.region&&(i.region=e.region),e.verificationLevel&&(i.verification_level=Number(e.verificationLevel)),e.afkChannel&&(i.afk_channel_id=this.client.resolver.resolveChannel(e.afkChannel).id),e.afkTimeout&&(i.afk_timeout=Number(e.afkTimeout)),e.icon&&(i.icon=this.client.resolver.resolveBase64(e.icon)),e.owner&&(i.owner_id=this.client.resolver.resolveUser(e.owner).id),e.splash&&(i.splash=this.client.resolver.resolveBase64(e.splash)),this.rest.makeRequest("patch",a.Guild(t),!0,i).then(t=>this.client.actions.GuildUpdate.handle(t).updated)}kickGuildMember(t,e){return this.rest.makeRequest("del",a.Guild(t).Member(e),!0).then(()=>this.client.actions.GuildMemberRemove.handle({guild_id:t.id,user:e.user}).member)}createGuildRole(t,e){return e.color&&(e.color=this.client.resolver.resolveColor(e.color)),e.permissions&&(e.permissions=o.resolve(e.permissions)),this.rest.makeRequest("post",a.Guild(t).roles,!0,e).then(e=>this.client.actions.GuildRoleCreate.handle({guild_id:t.id,role:e}).role)}deleteGuildRole(t){return this.rest.makeRequest("del",a.Guild(t.guild).Role(t.id),!0).then(()=>this.client.actions.GuildRoleDelete.handle({guild_id:t.guild.id,role_id:t.id}).role)}setChannelOverwrite(t,e){return this.rest.makeRequest("put",`${a.Channel(t).permissions}/${e.id}`,!0,e)}deletePermissionOverwrites(t){return this.rest.makeRequest("del",`${a.Channel(t.channel).permissions}/${t.id}`,!0).then(()=>t)}getChannelMessages(t,e={}){const i=[];e.limit&&i.push(`limit=${e.limit}`),e.around?i.push(`around=${e.around}`):e.before?i.push(`before=${e.before}`):e.after&&i.push(`after=${e.after}`);let n=a.Channel(t).messages;return i.length>0&&(n+=`?${i.join("&")}`),this.rest.makeRequest("get",n,!0)}getChannelMessage(t,e){const i=t.messages.get(e);return i?Promise.resolve(i):this.rest.makeRequest("get",a.Channel(t).Message(e),!0)}putGuildMember(t,e,i){if(i.access_token=i.accessToken,i.roles){const t=i.roles;(t instanceof c||t instanceof Array&&t[0]instanceof f)&&(i.roles=t.map(t=>t.id))}return this.rest.makeRequest("put",a.Guild(t).Member(e.id),!0,i).then(e=>this.client.actions.GuildMemberGet.handle(t,e).member)}getGuildMember(t,e,i){return this.rest.makeRequest("get",a.Guild(t).Member(e.id),!0).then(e=>{return i?this.client.actions.GuildMemberGet.handle(t,e).member:new p(t,e)})}updateGuildMember(t,e){e.channel&&(e.channel_id=this.client.resolver.resolveChannel(e.channel).id),e.roles&&(e.roles=e.roles.map(t=>t instanceof f?t.id:t));let i=a.Member(t);if(t.id===this.client.user.id){const n=Object.keys(e);1===n.length&&"nick"===n[0]&&(i=a.Member(t).nickname)}return this.rest.makeRequest("patch",i,!0,e).then(e=>t.guild._updateMember(t,e).mem)}addMemberRole(t,e){return new Promise((i,n)=>{if(t._roles.includes(e.id))return i(t);const s=(t,n)=>{!t._roles.includes(e.id)&&n._roles.includes(e.id)&&(this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),i(n))};this.client.on(r.Events.GUILD_MEMBER_UPDATE,s);const o=this.client.setTimeout(()=>this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),1e4);return this.rest.makeRequest("put",a.Member(t).Role(e.id),!0).catch(t=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,s),this.client.clearTimeout(o),n(t)})})}removeMemberRole(t,e){return new Promise((i,n)=>{if(!t._roles.includes(e.id))return i(t);const s=(t,n)=>{t._roles.includes(e.id)&&!n._roles.includes(e.id)&&(this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),i(n))};this.client.on(r.Events.GUILD_MEMBER_UPDATE,s);const o=this.client.setTimeout(()=>this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),1e4);return this.rest.makeRequest("delete",a.Member(t).Role(e.id),!0).catch(t=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,s),this.client.clearTimeout(o),n(t)})})}sendTyping(t){return this.rest.makeRequest("post",a.Channel(t).typing,!0)}banGuildMember(t,e,i=0){const n=this.client.resolver.resolveUserID(e);return n?this.rest.makeRequest("put",`${a.Guild(t).bans}/${n}?delete-message-days=${i}`,!0,{"delete-message-days":i}).then(()=>{if(e instanceof p)return e;const i=this.client.resolver.resolveUser(n);return i?(e=this.client.resolver.resolveGuildMember(t,i),e||i):n}):Promise.reject(new Error("Couldn't resolve the user ID to ban."))}unbanGuildMember(t,e){return new Promise((i,n)=>{const s=this.client.resolver.resolveUserID(e);if(!s)throw new Error("Couldn't resolve the user ID to unban.");const o=(e,n)=>{e.id===t.id&&n.id===s&&(this.client.removeListener(r.Events.GUILD_BAN_REMOVE,o),this.client.clearTimeout(c),i(n))};this.client.on(r.Events.GUILD_BAN_REMOVE,o);const c=this.client.setTimeout(()=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,o),n(new Error("Took too long to receive the ban remove event."))},1e4);this.rest.makeRequest("del",`${a.Guild(t).bans}/${s}`,!0).catch(t=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,o),this.client.clearTimeout(c),n(t)})})}getGuildBans(t){return this.rest.makeRequest("get",a.Guild(t).bans,!0).then(t=>{const e=new c;for(const i of t){const t=this.client.dataManager.newUser(i.user);e.set(t.id,t)}return e})}updateGuildRole(t,e){const i={};return i.name=e.name||t.name,i.position="undefined"!=typeof e.position?e.position:t.position,i.color=this.client.resolver.resolveColor(e.color||t.color),i.hoist="undefined"!=typeof e.hoist?e.hoist:t.hoist,i.mentionable="undefined"!=typeof e.mentionable?e.mentionable:t.mentionable,e.permissions?i.permissions=o.resolve(e.permissions):i.permissions=t.permissions,this.rest.makeRequest("patch",a.Guild(t.guild).Role(t.id),!0,i).then(e=>this.client.actions.GuildRoleUpdate.handle({role:e,guild_id:t.guild.id}).updated)}pinMessage(t){return this.rest.makeRequest("put",a.Channel(t.channel).Pin(t.id),!0).then(()=>t)}unpinMessage(t){return this.rest.makeRequest("del",a.Channel(t.channel).Pin(t.id),!0).then(()=>t)}getChannelPinnedMessages(t){return this.rest.makeRequest("get",a.Channel(t).pins,!0)}createChannelInvite(t,e){const i={};return i.temporary=e.temporary,i.max_age=e.maxAge,i.max_uses=e.maxUses,this.rest.makeRequest("post",a.Channel(t).invites,!0,i).then(t=>new m(this.client,t))}deleteInvite(t){return this.rest.makeRequest("del",a.Invite(t.code),!0).then(()=>t)}getInvite(t){return this.rest.makeRequest("get",a.Invite(t),!0).then(t=>new m(this.client,t))}getGuildInvites(t){return this.rest.makeRequest("get",a.Guild(t).invites,!0).then(t=>{const e=new c;for(const i of t){const t=new m(this.client,i);e.set(t.code,t)}return e})}pruneGuildMembers(t,e,i){return this.rest.makeRequest(i?"get":"post",`${a.Guild(t).prune}?days=${e}`,!0).then(t=>t.pruned)}createEmoji(t,e,i,n){const s={image:e,name:i};return n&&(s.roles=n.map(t=>t.id?t.id:t)),this.rest.makeRequest("post",a.Guild(t).emojis,!0,s).then(e=>this.client.actions.GuildEmojiCreate.handle(t,e).emoji)}updateEmoji(t,e){const i={};return e.name&&(i.name=e.name),e.roles&&(i.roles=e.roles.map(t=>t.id?t.id:t)),this.rest.makeRequest("patch",a.Guild(t.guild).Emoji(t.id),!0,i).then(e=>this.client.actions.GuildEmojiUpdate.handle(t,e).emoji)}deleteEmoji(t){return this.rest.makeRequest("delete",a.Guild(t.guild).Emoji(t.id),!0).then(()=>this.client.actions.GuildEmojiDelete.handle(t).data)}getWebhook(t,e){return this.rest.makeRequest("get",a.Webhook(t,e),!e).then(t=>new g(this.client,t))}getGuildWebhooks(t){return this.rest.makeRequest("get",a.Guild(t).webhooks,!0).then(t=>{const e=new c;for(const i of t)e.set(i.id,new g(this.client,i));return e})}getChannelWebhooks(t){return this.rest.makeRequest("get",a.Channel(t).webhooks,!0).then(t=>{const e=new c;for(const i of t)e.set(i.id,new g(this.client,i));return e})}createWebhook(t,e,i){return this.rest.makeRequest("post",a.Channel(t).webhooks,!0,{name:e,avatar:i}).then(t=>new g(this.client,t))}editWebhook(t,e,i){return this.rest.makeRequest("patch",a.Webhook(t.id,t.token),!1,{name:e,avatar:i}).then(e=>{return t.name=e.name,t.avatar=e.avatar,t})}deleteWebhook(t){return this.rest.makeRequest("delete",a.Webhook(t.id,t.token),!1)}sendWebhookMessage(t,e,{avatarURL,tts,disableEveryone,embeds,username}={},i=null){return username=username||t.name,"undefined"!=typeof e&&(e=this.client.resolver.resolveString(e)),e&&(disableEveryone||"undefined"==typeof disableEveryone&&this.client.options.disableEveryone)&&(e=e.replace(/@(everyone|here)/g,"@​$1")),this.rest.makeRequest("post",`${a.Webhook(t.id,t.token)}?wait=true`,!1,{username:username,avatar_url:avatarURL,content:e,tts:tts,embeds:embeds},i)}sendSlackWebhookMessage(t,e){return this.rest.makeRequest("post",`${a.Webhook(t.id,t.token)}/slack?wait=true`,!1,e)}fetchUserProfile(t){return this.rest.makeRequest("get",a.User(t).profile,!0).then(e=>new v(t,e))}fetchMeMentions(t){return t.guild&&(t.guild=t.guild.id?t.guild.id:t.guild),this.rest.makeRequest("get",a.User("@me").mentions(t.limit,t.roles,t.everyone,t.guild)).then(t=>t.body.map(t=>new d(this.client.channels.get(t.channel_id),t,this.client)))}addFriend(t){return this.rest.makeRequest("post",a.User("@me"),!0,{username:t.username,discriminator:t.discriminator}).then(()=>t)}removeFriend(t){return this.rest.makeRequest("delete",a.User("@me").Relationship(t.id),!0).then(()=>t)}blockUser(t){return this.rest.makeRequest("put",a.User("@me").Relationship(t.id),!0,{type:2}).then(()=>t)}unblockUser(t){return this.rest.makeRequest("delete",a.User("@me").Relationship(t.id),!0).then(()=>t)}updateChannelPositions(t,e){const i=new Array(e.length);for(let n=0;nthis.client.actions.GuildChannelsPositionUpdate.handle({guild_id:t,channels:e}).guild)}setRolePositions(t,e){return this.rest.makeRequest("patch",a.Guild(t).roles,!0,e).then(()=>this.client.actions.GuildRolesPositionUpdate.handle({guild_id:t,roles:e}).guild)}setChannelPositions(t,e){return this.rest.makeRequest("patch",a.Guild(t).channels,!0,e).then(()=>this.client.actions.GuildChannelsPositionUpdate.handle({guild_id:t,channels:e}).guild)}addMessageReaction(t,e){return this.rest.makeRequest("put",a.Message(t).Reaction(e).User("@me"),!0).then(()=>this.client.actions.MessageReactionAdd.handle({user_id:this.client.user.id,message_id:t.id,emoji:u.parseEmoji(e),channel_id:t.channel.id}).reaction)}removeMessageReaction(t,e,i){const n=a.Message(t).Reaction(e).User(i===this.client.user.id?"@me":i.id);return this.rest.makeRequest("delete",n,!0).then(()=>this.client.actions.MessageReactionRemove.handle({user_id:i,message_id:t.id,emoji:u.parseEmoji(e),channel_id:t.channel.id}).reaction)}removeMessageReactions(t){return this.rest.makeRequest("delete",a.Message(t).reactions,!0).then(()=>t)}getMessageReactionUsers(t,e,i=100){return this.rest.makeRequest("get",a.Message(t).Reaction(e,i),!0)}getApplication(t){return this.rest.makeRequest("get",a.OAUTH2.Application(t),!0).then(t=>new E(this.client,t))}resetApplication(t){return this.rest.makeRequest("post",a.OAUTH2.Application(t).reset,!0).then(t=>new E(this.client,t))}setNote(t,e){return this.rest.makeRequest("put",a.User(t).note,!0,{note:e}).then(()=>t)}acceptInvite(t){return t.id&&(t=t.id),new Promise((e,i)=>this.rest.makeRequest("post",a.Invite(t),!0).then(t=>{const n=i=>{i.id===t.id&&(e(i),this.client.removeListener(r.Events.GUILD_CREATE,n))};this.client.on(r.Events.GUILD_CREATE,n),this.client.setTimeout(()=>{this.client.removeListener(r.Events.GUILD_CREATE,n),i(new Error("Accepting invite timed out"))},12e4)}))}}t.exports=y},function(t,e,i){const n=i(44);class s extends n{constructor(t,e){super(t,e),this.client=t.client,this.limit=1/0,this.resetTime=null,this.remaining=1,this.timeDifference=0,this.resetTimeout=null}push(t){super.push(t),this.handle()}execute(t){t&&t.request.gen().end((e,i)=>{if(i&&i.headers&&(this.limit=Number(i.headers["x-ratelimit-limit"]),this.resetTime=1e3*Number(i.headers["x-ratelimit-reset"]),this.remaining=Number(i.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(i.headers.date).getTime()),e)if(429===e.status){if(this.queue.unshift(t),i.headers["x-ratelimit-global"]&&(this.globalLimit=!0),this.resetTimeout)return;this.resetTimeout=this.client.setTimeout(()=>{this.remaining=this.limit,this.globalLimit=!1,this.handle(),this.resetTimeout=null},Number(i.headers["retry-after"])+this.client.options.restTimeOffset)}else t.reject(e),this.handle();else{this.globalLimit=!1;const e=i&&i.body?i.body:{};t.resolve(e),this.handle()}})}handle(){super.handle(),this.remaining<=0||0===this.queue.length||this.globalLimit||(this.execute(this.queue.shift()),this.remaining--,this.handle())}}t.exports=s},function(t,e,i){const n=i(44);class s extends n{constructor(t,e){super(t,e),this.endpoint=e,this.timeDifference=0}push(t){super.push(t),this.handle()}execute(t){return new Promise(e=>{t.request.gen().end((i,n)=>{if(n&&n.headers&&(this.requestLimit=Number(n.headers["x-ratelimit-limit"]),this.requestResetTime=1e3*Number(n.headers["x-ratelimit-reset"]),this.requestRemaining=Number(n.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(n.headers.date).getTime()),i)429===i.status?(this.queue.unshift(t),this.restManager.client.setTimeout(()=>{this.globalLimit=!1,e()},Number(n.headers["retry-after"])+this.restManager.client.options.restTimeOffset),n.headers["x-ratelimit-global"]&&(this.globalLimit=!0)):(t.reject(i),e(i));else{this.globalLimit=!1;const i=n&&n.body?n.body:{};t.resolve(i),0===this.requestRemaining?this.restManager.client.setTimeout(()=>{this.waiting=!1,e(i)},this.requestResetTime-Date.now()+this.timeDifference+this.restManager.client.options.restTimeOffset):e(i)}})})}handle(){super.handle(),0===this.remaining||0===this.queue.length||this.globalLimit||this.execute(this.queue.shift()).then(()=>this.handle())}}t.exports=s},function(t,e,i){(function(e){const n=i(0);class s{constructor(){this.build(this.constructor.DEFAULT)}set({url,version}={}){this.build({url:url||this.constructor.DFEAULT.url,version:version||this.constructor.DEFAULT.version})}build(t){this.userAgent=`DiscordBot (${t.url}, ${t.version}) Node.js/${e.version}`}}s.DEFAULT={url:n.Package.homepage.split("#")[0],version:n.Package.version},t.exports=s}).call(e,i(20))},function(t,e,i){(function(e){const n="browser"===i(16).platform(),s=i(24).EventEmitter,o=i(0),r=i(4).convertToBuffer,a=i(42),c=i(99);let l,u,h=JSON.stringify;if(n)l=window.WebSocket;else{try{l=i(142)}catch(t){l=i(143)}try{u=i(141),h=u.pack}catch(t){u=null}}class p extends s{constructor(t){super(),this.client=t,this.packetManager=new c(this),this.status=o.Status.IDLE,this.sessionID=null,this.sequence=-1,this.gateway=null,this.normalReady=!1,this.ws=null,this.disabledEvents={};for(const e of t.options.disabledEvents)this.disabledEvents[e]=!0;this.first=!0,this.lastHeartbeatAck=!0}_connect(t){this.client.emit("debug",`Connecting to gateway ${t}`),this.normalReady=!1,this.status!==o.Status.RECONNECTING&&(this.status=o.Status.CONNECTING),this.ws=new l(t),n&&(this.ws.binaryType="arraybuffer"),this.ws.onopen=this.eventOpen.bind(this),this.ws.onmessage=this.eventMessage.bind(this),this.ws.onclose=this.eventClose.bind(this),this.ws.onerror=this.eventError.bind(this),this._queue=[],this._remaining=120,this.client.setInterval(()=>{this._remaining=120,this._remainingReset=Date.now()},6e4)}connect(t){t=`${t}&encoding=${u?"etf":"json"}`,this.first?(this._connect(t),this.first=!1):this.client.setTimeout(()=>this._connect(t),5500)}heartbeat(t){return t&&!this.lastHeartbeatAck?void this.ws.close(1007):(this.client.emit("debug","Sending heartbeat"),this.client._pingTimestamp=Date.now(),this.client.ws.send({op:o.OPCodes.HEARTBEAT,d:this.sequence},!0),void(this.lastHeartbeatAck=!1))}send(t,e=false){return e?void this._send(h(t)):(this._queue.push(h(t)),void this.doQueue())}destroy(){this.ws&&this.ws.close(1e3),this._queue=[],this.status=o.Status.IDLE}_send(t){this.ws.readyState===l.OPEN&&(this.emit("send",t),this.ws.send(t))}doQueue(){const t=this._queue[0];if(this.ws.readyState===l.OPEN&&t){if(0===this.remaining)return void this.client.setTimeout(this.doQueue.bind(this),Date.now()-this.remainingReset);this._remaining--,this._send(t),this._queue.shift(),this.doQueue()}}eventOpen(){this.client.emit("debug","Connection to gateway opened"),this.lastHeartbeatAck=!0,this.status===o.Status.RECONNECTING?this._sendResume():this._sendNewIdentify()}_sendResume(){if(!this.sessionID)return void this._sendNewIdentify();this.client.emit("debug","Identifying as resumed session");const t={token:this.client.token,session_id:this.sessionID,seq:this.sequence};this.send({op:o.OPCodes.RESUME,d:t})}_sendNewIdentify(){this.reconnecting=!1;const t=this.client.options.ws;t.token=this.client.token,this.client.options.shardCount>0&&(t.shard=[Number(this.client.options.shardId),Number(this.client.options.shardCount)]),this.client.emit("debug","Identifying as new session"),this.send({op:o.OPCodes.IDENTIFY,d:t}),this.sequence=-1}eventClose(t){this.emit("close",t),this.client.clearInterval(this.client.manager.heartbeatInterval),this.status=o.Status.DISCONNECTED,this._queue=[],this.reconnecting||this.client.emit(o.Events.DISCONNECT,t),[4004,4010,4011].includes(t.code)||this.reconnecting||1e3===t.code||this.tryReconnect()}eventMessage(t){const e=this.tryParseEventData(t.data);return null===e?(this.eventError(new Error(o.Errors.BAD_WS_MESSAGE)),!1):(this.client.emit("raw",e),e.op===o.OPCodes.HELLO&&this.client.manager.setupKeepAlive(e.d.heartbeat_interval),this.packetManager.handle(e))}parseEventData(t){return u?(t instanceof ArrayBuffer&&(t=r(t)),u.unpack(t)):((t instanceof e||t instanceof ArrayBuffer)&&(t=a.inflateSync(t).toString()),JSON.parse(t))}tryParseEventData(t){try{return this.parseEventData(t)}catch(t){return null}}eventError(t){this.client.listenerCount("error")>0&&this.client.emit("error",t),this.tryReconnect()}_emitReady(t=true){this.status=o.Status.READY,this.client.emit(o.Events.READY),this.packetManager.handleQueue(),this.normalReady=t}checkIfReady(){if(this.status!==o.Status.READY&&this.status!==o.Status.NEARLY){let t=0;for(const e of this.client.guilds.keys())t+=this.client.guilds.get(e).available?0:1;if(0===t){if(this.status=o.Status.NEARLY,this.client.options.fetchAllMembers){const t=this.client.guilds.map(t=>t.fetchMembers());return void Promise.all(t).then(()=>this._emitReady(),t=>{this.client.emit(o.Events.WARN,"Error in pre-ready guild member fetching"),this.client.emit(o.Events.ERROR,t),this._emitReady()})}this._emitReady()}}}tryReconnect(){this.status!==o.Status.RECONNECTING&&this.status!==o.Status.CONNECTING&&(this.status=o.Status.RECONNECTING,this.ws.close(),this.packetManager.handleQueue(),this.client.emit(o.Events.RECONNECTING),this.connect(this.client.ws.gateway))}}t.exports=p}).call(e,i(14).Buffer)},function(t,e,i){const n=i(0),s=[n.WSEvents.READY,n.WSEvents.GUILD_CREATE,n.WSEvents.GUILD_DELETE,n.WSEvents.GUILD_MEMBERS_CHUNK,n.WSEvents.GUILD_MEMBER_ADD,n.WSEvents.GUILD_MEMBER_REMOVE];class o{constructor(t){this.ws=t,this.handlers={},this.queue=[],this.register(n.WSEvents.READY,i(126)),this.register(n.WSEvents.GUILD_CREATE,i(106)),this.register(n.WSEvents.GUILD_DELETE,i(107)),this.register(n.WSEvents.GUILD_UPDATE,i(117)),this.register(n.WSEvents.GUILD_BAN_ADD,i(104)),this.register(n.WSEvents.GUILD_BAN_REMOVE,i(105)),this.register(n.WSEvents.GUILD_MEMBER_ADD,i(109)),this.register(n.WSEvents.GUILD_MEMBER_REMOVE,i(110)),this.register(n.WSEvents.GUILD_MEMBER_UPDATE,i(111)),this.register(n.WSEvents.GUILD_ROLE_CREATE,i(113)),this.register(n.WSEvents.GUILD_ROLE_DELETE,i(114)),this.register(n.WSEvents.GUILD_ROLE_UPDATE,i(115)),this.register(n.WSEvents.GUILD_EMOJIS_UPDATE,i(108)),this.register(n.WSEvents.GUILD_MEMBERS_CHUNK,i(112)),this.register(n.WSEvents.CHANNEL_CREATE,i(100)),this.register(n.WSEvents.CHANNEL_DELETE,i(101)),this.register(n.WSEvents.CHANNEL_UPDATE,i(103)),this.register(n.WSEvents.CHANNEL_PINS_UPDATE,i(102)),this.register(n.WSEvents.PRESENCE_UPDATE,i(125)),this.register(n.WSEvents.USER_UPDATE,i(131)),this.register(n.WSEvents.USER_NOTE_UPDATE,i(130)),this.register(n.WSEvents.VOICE_STATE_UPDATE,i(133)),this.register(n.WSEvents.TYPING_START,i(129)),this.register(n.WSEvents.MESSAGE_CREATE,i(118)),this.register(n.WSEvents.MESSAGE_DELETE,i(119)),this.register(n.WSEvents.MESSAGE_UPDATE,i(124)),this.register(n.WSEvents.MESSAGE_DELETE_BULK,i(120)),this.register(n.WSEvents.VOICE_SERVER_UPDATE,i(132)),this.register(n.WSEvents.GUILD_SYNC,i(116)),this.register(n.WSEvents.RELATIONSHIP_ADD,i(127)),this.register(n.WSEvents.RELATIONSHIP_REMOVE,i(128)),this.register(n.WSEvents.MESSAGE_REACTION_ADD,i(121)),this.register(n.WSEvents.MESSAGE_REACTION_REMOVE,i(122)),this.register(n.WSEvents.MESSAGE_REACTION_REMOVE_ALL,i(123))}get client(){return this.ws.client}register(t,e){this.handlers[t]=new e(this)}handleQueue(){this.queue.forEach((t,e)=>{this.handle(this.queue[e]),this.queue.splice(e,1)})}setSequence(t){t&&t>this.ws.sequence&&(this.ws.sequence=t)}handle(t){return t.op===n.OPCodes.RECONNECT?(this.setSequence(t.s),this.ws.tryReconnect(),!1):t.op===n.OPCodes.INVALID_SESSION?(t.d?setTimeout(()=>{this.ws._sendResume()},2500):(this.ws.sessionID=null,this.ws._sendNewIdentify()),!1):(t.op===n.OPCodes.HEARTBEAT_ACK?(this.ws.client._pong(this.ws.client._pingTimestamp),this.ws.lastHeartbeatAck=!0,this.ws.client.emit("debug","Heartbeat acknowledged")):t.op===n.OPCodes.HEARTBEAT&&(this.client.ws.send({op:n.OPCodes.HEARTBEAT,d:this.client.ws.sequence}),this.ws.client.emit("debug","Received gateway heartbeat")),this.ws.status===n.Status.RECONNECTING&&(this.ws.reconnecting=!1,this.ws.checkIfReady()),this.setSequence(t.s),void 0===this.ws.disabledEvents[t.t]&&(this.ws.status!==n.Status.READY&&s.indexOf(t.t)===-1?(this.queue.push(t),!1):!!this.handlers[t.t]&&this.handlers[t.t].handle(t)))}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.ChannelCreate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.ChannelDelete.handle(i);n.channel&&e.emit(s.Events.CHANNEL_DELETE,n.channel)}}t.exports=o},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.channels.get(i.channel_id),o=new Date(i.last_pin_timestamp);n&&o&&e.emit(s.Events.CHANNEL_PINS_UPDATE,n,o)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.ChannelUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id),o=e.users.get(i.user.id);n&&o&&e.emit(s.Events.GUILD_BAN_ADD,n,o)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildBanRemove.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.id);n?n.available||i.unavailable||(n.setup(i),this.packetManager.ws.checkIfReady()):e.dataManager.newGuild(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.GuildDelete.handle(i);n.guild&&e.emit(s.Events.GUILD_DELETE,n.guild)}}t.exports=o},function(t,e,i){function n(t){const e=new Map;for(const i of t)e.set(...i);return e}const s=i(1);class o extends s{handle(t){const e=this.packetManager.client,i=t.d,s=e.guilds.get(i.guild_id);if(s&&s.emojis){const t=n(s.emojis.entries());for(const o of i.emojis){const i=s.emojis.get(o.id);i?(t.delete(o.id),i.equals(o,!0)||e.actions.GuildEmojiUpdate.handle(i,o)):e.actions.GuildEmojiCreate.handle(s,o)}for(const o of t.values())e.actions.GuildEmojiDelete.handle(o)}}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);n&&(n.memberCount++,n._addMember(i))}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildMemberRemove.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);if(n){const t=n.members.get(i.user.id);t&&n._updateMember(t,i)}}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);if(n){const t=i.members.map(t=>n._addMember(t,!1));e.emit(s.Events.GUILD_MEMBERS_CHUNK,t,n),e.ws.lastHeartbeatAck=!0}}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildRoleCreate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildRoleDelete.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildRoleUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildSync.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.MessageCreate.handle(i);n.message&&e.emit(s.Events.MESSAGE_CREATE,n.message)}}t.exports=o},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.MessageDelete.handle(i);n.message&&e.emit(s.Events.MESSAGE_DELETE,n.message)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageDeleteBulk.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageReactionAdd.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageReactionRemove.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageReactionRemoveAll.handle(i); -}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0),o=i(4);class r extends n{handle(t){const e=this.packetManager.client,i=t.d;let n=e.users.get(i.user.id);const r=e.guilds.get(i.guild_id);if(!n){if(!i.user.username)return;n=e.dataManager.newUser(i.user)}const a=o.cloneObject(n);if(n.patch(i.user),n.equals(a)||e.emit(s.Events.USER_UPDATE,a,n),r){let t=r.members.get(n.id);if(t||"offline"===i.status||(t=r._addMember({user:n,roles:i.roles,deaf:!1,mute:!1},!1),e.emit(s.Events.GUILD_MEMBER_AVAILABLE,t)),t){if(0===e.listenerCount(s.Events.PRESENCE_UPDATE))return void r._setPresence(n.id,i);const a=o.cloneObject(t);t.presence&&(a.frozenPresence=o.cloneObject(t.presence)),r._setPresence(n.id,i),e.emit(s.Events.PRESENCE_UPDATE,a,t)}else r._setPresence(n.id,i)}}}t.exports=r},function(t,e,i){const n=i(1),s=i(29);class o extends n{handle(t){const e=this.packetManager.client,i=t.d;e.ws.heartbeat();const n=new s(e,i.user);n.settings=i.user_settings,e.user=n,e.readyAt=new Date,e.users.set(n.id,n);for(const o of i.guilds)e.dataManager.newGuild(o);for(const r of i.private_channels)e.dataManager.newChannel(r);for(const a of i.relationships){const t=e.dataManager.newUser(a.user);1===a.type?e.user.friends.set(t.id,t):2===a.type&&e.user.blocked.set(t.id,t)}i.presences=i.presences||[];for(const c of i.presences)e.dataManager.newUser(c.user),e._setPresence(c.user.id,c);if(i.notes)for(const l in i.notes){let t=i.notes[l];t.length||(t=null),e.user.notes.set(l,t)}!e.user.bot&&e.options.sync&&e.setInterval(e.syncGuilds.bind(e),3e4),e.once("ready",e.syncGuilds.bind(e)),e.users.has("1")||e.dataManager.newUser({id:"1",username:"Clyde",discriminator:"0000",avatar:"https://discordapp.com/assets/f78426a064bc9dd24847519259bc42af.png",bot:!0,status:"online",game:null,verified:!0}),e.setTimeout(()=>{e.ws.normalReady||e.ws._emitReady(!1)},1200*i.guilds.length),this.packetManager.ws.sessionID=i.session_id,this.packetManager.ws.checkIfReady()}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;1===i.type?e.fetchUser(i.id).then(t=>{e.user.friends.set(t.id,t)}):2===i.type&&e.fetchUser(i.id).then(t=>{e.user.blocked.set(t.id,t)})}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;2===i.type?e.user.blocked.has(i.id)&&e.user.blocked.delete(i.id):1===i.type&&e.user.friends.has(i.id)&&e.user.friends.delete(i.id)}}t.exports=s},function(t,e,i){function n(t,e){return t.client.setTimeout(()=>{t.client.emit(o.Events.TYPING_STOP,t,e,t._typing.get(e.id)),t._typing.delete(e.id)},6e3)}const s=i(1),o=i(0);class r extends s{handle(t){const e=this.packetManager.client,i=t.d,s=e.channels.get(i.channel_id),r=e.users.get(i.user_id),c=new Date(1e3*i.timestamp);if(s&&r){if("voice"===s.type)return void e.emit(o.Events.WARN,`Discord sent a typing packet to voice channel ${s.id}`);if(s._typing.has(r.id)){const t=s._typing.get(r.id);t.lastTimestamp=c,t.resetTimeout(n(s,r))}else s._typing.set(r.id,new a(e,c,c,n(s,r))),e.emit(o.Events.TYPING_START,s,r)}}}class a{constructor(t,e,i,n){this.client=t,this.since=e,this.lastTimestamp=i,this._timeout=n}resetTimeout(t){this.client.clearTimeout(this._timeout),this._timeout=t}get elapsedTime(){return Date.now()-this.since}}t.exports=r},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.UserNoteUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.UserUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.emit("self.voiceServer",i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0),o=i(4);class r extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);if(n){const t=n.members.get(i.user_id);if(t){const n=o.cloneObject(t);t.voiceChannel&&t.voiceChannel.id!==i.channel_id&&t.voiceChannel.members.delete(n.id),i.channel_id||(t.speaking=null),t.user.id===e.user.id&&i.channel_id&&e.emit("self.voiceStateUpdate",i);const r=e.channels.get(i.channel_id);r&&r.members.set(t.user.id,t),t.serverMute=i.mute,t.serverDeaf=i.deaf,t.selfMute=i.self_mute,t.selfDeaf=i.self_deaf,t.voiceSessionID=i.session_id,t.voiceChannelID=i.channel_id,e.emit(s.Events.VOICE_STATE_UPDATE,n,t)}}}}t.exports=r},function(t,e){class i{constructor(t,e){this.user=t,this.setup(e)}setup(t){this.type=t.type,this.name=t.name,this.id=t.id,this.revoked=t.revoked,this.integrations=t.integrations}}t.exports=i},function(t,e,i){const n=i(3),s=i(134);class o{constructor(t,e){this.user=t,Object.defineProperty(this,"client",{value:t.client}),this.mutualGuilds=new n,this.connections=new n,this.setup(e)}setup(t){this.premium=t.premium,this.premiumSince=t.premium_since?new Date(t.premium_since):null;for(const e of t.mutual_guilds)this.client.guilds.has(e.id)&&this.mutualGuilds.set(e.id,this.client.guilds.get(e.id));for(const i of t.connected_accounts)this.connections.set(i.id,new s(this.user,i))}}t.exports=o},function(t,e){class i{constructor(t){this.id=t.id,this.name=t.name,this.vip=t.vip,this.deprecated=t.deprecated,this.optimal=t.optimal,this.custom=t.custom,this.sampleHostname=t.sample_hostname}}t.exports=i},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e,i){const n=i(4);t.exports={Client:i(45),Shard:i(48),ShardClientUtil:i(49),ShardingManager:i(50),WebhookClient:i(46),Collection:i(3),Constants:i(0),EvaluatedPermissions:i(6),Permissions:i(6),Snowflake:i(5),SnowflakeUtil:i(5),Util:n,util:n,version:i(28).version,escapeMarkdown:n.escapeMarkdown,fetchRecommendedShards:n.fetchRecommendedShards,splitMessage:n.splitMessage,Channel:i(8),ClientUser:i(29),DMChannel:i(30),Emoji:i(12),Game:i(7).Game,GroupDMChannel:i(21),Guild:i(17),GuildChannel:i(18),GuildMember:i(13),Invite:i(31),Message:i(9),MessageAttachment:i(32),MessageCollector:i(33),MessageEmbed:i(34),MessageReaction:i(35),OAuth2Application:i(36),PartialGuild:i(37),PartialGuildChannel:i(38),PermissionOverwrites:i(39),Presence:i(7).Presence,ReactionEmoji:i(22),RichEmbed:i(47),Role:i(10),TextChannel:i(40),User:i(11),VoiceChannel:i(41),Webhook:i(23)},"browser"===i(16).platform()&&(window.Discord=t.exports)}]); \ No newline at end of file +\`\`\``),reply&&"dm"!==t.channel.type){const t=this.client.resolver.resolveUserID(reply),i=`<@${reply instanceof p&&reply.nickname?"!":""}${t}>`;e=`${i}${e?`, ${e}`:""}`}return this.rest.makeRequest("patch",a.Message(t),!0,{content:e,embed:embed}).then(t=>this.client.actions.MessageUpdate.handle(t).updated)}deleteMessage(t){return this.rest.makeRequest("delete",a.Message(t),!0).then(()=>this.client.actions.MessageDelete.handle({id:t.id,channel_id:t.channel.id}).message)}ackMessage(t){return this.rest.makeRequest("post",a.Message(t).ack,!0,{token:this._ackToken}).then(e=>{return e.token&&(this._ackToken=e.token),t})}ackTextChannel(t){return this.rest.makeRequest("post",a.Channel(t).ack,!0,{token:this._ackToken}).then(e=>{return e.token&&(this._ackToken=e.token),t})}ackGuild(t){return this.rest.makeRequest("post",a.Guild(t).ack,!0).then(()=>t)}bulkDeleteMessages(t,e,i){return i&&(e=e.filter(t=>Date.now()-l.deconstruct(t).date.getTime()<12096e5)),this.rest.makeRequest("post",a.Channel(t).messages.bulkDelete,!0,{messages:e}).then(()=>this.client.actions.MessageDeleteBulk.handle({channel_id:t.id,ids:e}).messages)}search(t,e){if(e.before&&(e.before instanceof Date||(e.before=new Date(e.before)),e.maxID=s.fromNumber(e.before.getTime()-14200704e5).shiftLeft(22).toString()),e.after&&(e.after instanceof Date||(e.after=new Date(e.after)),e.minID=s.fromNumber(e.after.getTime()-14200704e5).shiftLeft(22).toString()),e.during){e.during instanceof Date||(e.during=new Date(e.during));const t=e.during.getTime()-14200704e5;e.minID=s.fromNumber(t).shiftLeft(22).toString(),e.maxID=s.fromNumber(t+864e5).shiftLeft(22).toString()}e.channel&&(e.channel=this.client.resolver.resolveChannelID(e.channel)),e.author&&(e.author=this.client.resolver.resolveUserID(e.author)),e.mentions&&(e.mentions=this.client.resolver.resolveUserID(e.options.mentions)),e={content:e.content,max_id:e.maxID,min_id:e.minID,has:e.has,channel_id:e.channel,author_id:e.author,author_type:e.authorType,context_size:e.contextSize,sort_by:e.sortBy,sort_order:e.sortOrder,limit:e.limit,offset:e.offset,mentions:e.mentions,mentions_everyone:e.mentionsEveryone,link_hostname:e.linkHostname,embed_provider:e.embedProvider,embed_type:e.embedType,attachment_filename:e.attachmentFilename,attachment_extension:e.attachmentExtension};for(const i in e)void 0===e[i]&&delete e[i];const o=(n.stringify(e).match(/[^=&?]+=[^=&?]+/g)||[]).join("&");let r;if(t instanceof x)r=a.Channel(t).search;else{if(!(t instanceof w))throw new TypeError("Target must be a TextChannel, DMChannel, GroupDMChannel, or Guild.");r=a.Guild(t).search}return this.rest.makeRequest("get",`${r}?${o}`,!0).then(t=>{const e=t.messages.map(t=>t.map(t=>new d(this.client.channels.get(t.channel_id),t,this.client)));return{totalResults:t.total_results,messages:e}})}createChannel(t,e,i,n){return n instanceof c&&(n=n.array()),this.rest.makeRequest("post",a.Guild(t).channels,!0,{name:e,type:i,permission_overwrites:n}).then(t=>this.client.actions.ChannelCreate.handle(t).channel)}createDM(t){const e=this.getExistingDM(t);return e?Promise.resolve(e):this.rest.makeRequest("post",a.User(this.client.user).channels,!0,{recipient_id:t.id}).then(t=>this.client.actions.ChannelCreate.handle(t).channel)}createGroupDM(t){const e=this.client.user.bot?{access_tokens:t.accessTokens,nicks:t.nicks}:{recipients:t.recipients};return this.rest.makeRequest("post",a.User("@me").channels,!0,e).then(t=>new b(this.client,t))}addUserToGroupDM(t,e){const i=this.client.user.bot?{nick:e.nick,access_token:e.accessToken}:{recipient:e.id};return this.rest.makeRequest("put",a.Channel(t).Recipient(e.id),!0,i).then(()=>t)}getExistingDM(t){return this.client.channels.find(e=>e.recipient&&e.recipient.id===t.id)}deleteChannel(t){return(t instanceof h||t instanceof p)&&(t=this.getExistingDM(t)),t?this.rest.makeRequest("delete",a.Channel(t),!0).then(e=>{return e.id=t.id,this.client.actions.ChannelDelete.handle(e).channel}):Promise.reject(new Error("No channel to delete."))}updateChannel(t,e){const i={};return i.name=(e.name||t.name).trim(),i.topic=e.topic||t.topic,i.position=e.position||t.position,i.bitrate=e.bitrate||t.bitrate,i.user_limit=e.userLimit||t.userLimit,this.rest.makeRequest("patch",a.Channel(t),!0,i).then(t=>this.client.actions.ChannelUpdate.handle(t).updated)}leaveGuild(t){return t.ownerID===this.client.user.id?Promise.reject(new Error("Guild is owned by the client.")):this.rest.makeRequest("delete",a.User("@me").Guild(t.id),!0).then(()=>this.client.actions.GuildDelete.handle({id:t.id}).guild)}createGuild(t){return t.icon=this.client.resolver.resolveBase64(t.icon)||null,t.region=t.region||"us-central",new Promise((e,i)=>{this.rest.makeRequest("post",a.guilds,!0,t).then(t=>{if(this.client.guilds.has(t.id))return e(this.client.guilds.get(t.id));const n=i=>{i.id===t.id&&(this.client.removeListener(r.Events.GUILD_CREATE,n),this.client.clearTimeout(s),e(i))};this.client.on(r.Events.GUILD_CREATE,n);const s=this.client.setTimeout(()=>{this.client.removeListener(r.Events.GUILD_CREATE,n),i(new Error("Took too long to receive guild data."))},1e4)},i)})}deleteGuild(t){return this.rest.makeRequest("delete",a.Guild(t),!0).then(()=>this.client.actions.GuildDelete.handle({id:t.id}).guild)}getUser(t,e){return this.rest.makeRequest("get",a.User(t),!0).then(t=>{return e?this.client.actions.UserGet.handle(t).user:new h(this.client,t)})}updateCurrentUser(t,e){const i=this.client.user,n={};return n.username=t.username||i.username,n.avatar=this.client.resolver.resolveBase64(t.avatar)||i.avatar,i.bot||(n.email=t.email||i.email,n.password=e,t.new_password&&(n.new_password=t.newPassword)),this.rest.makeRequest("patch",a.User("@me"),!0,n).then(t=>this.client.actions.UserUpdate.handle(t).updated)}updateGuild(t,e){const i={};return e.name&&(i.name=e.name),e.region&&(i.region=e.region),e.verificationLevel&&(i.verification_level=Number(e.verificationLevel)),e.afkChannel&&(i.afk_channel_id=this.client.resolver.resolveChannel(e.afkChannel).id),e.afkTimeout&&(i.afk_timeout=Number(e.afkTimeout)),e.icon&&(i.icon=this.client.resolver.resolveBase64(e.icon)),e.owner&&(i.owner_id=this.client.resolver.resolveUser(e.owner).id),e.splash&&(i.splash=this.client.resolver.resolveBase64(e.splash)),this.rest.makeRequest("patch",a.Guild(t),!0,i).then(t=>this.client.actions.GuildUpdate.handle(t).updated)}kickGuildMember(t,e){return this.rest.makeRequest("delete",a.Guild(t).Member(e),!0).then(()=>this.client.actions.GuildMemberRemove.handle({guild_id:t.id,user:e.user}).member)}createGuildRole(t,e){return e.color&&(e.color=this.client.resolver.resolveColor(e.color)),e.permissions&&(e.permissions=o.resolve(e.permissions)),this.rest.makeRequest("post",a.Guild(t).roles,!0,e).then(e=>this.client.actions.GuildRoleCreate.handle({guild_id:t.id,role:e}).role)}deleteGuildRole(t){return this.rest.makeRequest("delete",a.Guild(t.guild).Role(t.id),!0).then(()=>this.client.actions.GuildRoleDelete.handle({guild_id:t.guild.id,role_id:t.id}).role)}setChannelOverwrite(t,e){return this.rest.makeRequest("put",`${a.Channel(t).permissions}/${e.id}`,!0,e)}deletePermissionOverwrites(t){return this.rest.makeRequest("delete",`${a.Channel(t.channel).permissions}/${t.id}`,!0).then(()=>t)}getChannelMessages(t,e={}){const i=[];e.limit&&i.push(`limit=${e.limit}`),e.around?i.push(`around=${e.around}`):e.before?i.push(`before=${e.before}`):e.after&&i.push(`after=${e.after}`);let n=a.Channel(t).messages;return i.length>0&&(n+=`?${i.join("&")}`),this.rest.makeRequest("get",n,!0)}getChannelMessage(t,e){const i=t.messages.get(e);return i?Promise.resolve(i):this.rest.makeRequest("get",a.Channel(t).Message(e),!0)}putGuildMember(t,e,i){if(i.access_token=i.accessToken,i.roles){const t=i.roles;(t instanceof c||t instanceof Array&&t[0]instanceof f)&&(i.roles=t.map(t=>t.id))}return this.rest.makeRequest("put",a.Guild(t).Member(e.id),!0,i).then(e=>this.client.actions.GuildMemberGet.handle(t,e).member)}getGuildMember(t,e,i){return this.rest.makeRequest("get",a.Guild(t).Member(e.id),!0).then(e=>{return i?this.client.actions.GuildMemberGet.handle(t,e).member:new p(t,e)})}updateGuildMember(t,e){e.channel&&(e.channel_id=this.client.resolver.resolveChannel(e.channel).id),e.roles&&(e.roles=e.roles.map(t=>t instanceof f?t.id:t));let i=a.Member(t);if(t.id===this.client.user.id){const n=Object.keys(e);1===n.length&&"nick"===n[0]&&(i=a.Member(t).nickname)}return this.rest.makeRequest("patch",i,!0,e).then(e=>t.guild._updateMember(t,e).mem)}addMemberRole(t,e){return new Promise((i,n)=>{if(t._roles.includes(e.id))return i(t);const s=(t,n)=>{!t._roles.includes(e.id)&&n._roles.includes(e.id)&&(this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),i(n))};this.client.on(r.Events.GUILD_MEMBER_UPDATE,s);const o=this.client.setTimeout(()=>this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),1e4);return this.rest.makeRequest("put",a.Member(t).Role(e.id),!0).catch(t=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,s),this.client.clearTimeout(o),n(t)})})}removeMemberRole(t,e){return new Promise((i,n)=>{if(!t._roles.includes(e.id))return i(t);const s=(t,n)=>{t._roles.includes(e.id)&&!n._roles.includes(e.id)&&(this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),i(n))};this.client.on(r.Events.GUILD_MEMBER_UPDATE,s);const o=this.client.setTimeout(()=>this.client.removeListener(r.Events.GUILD_MEMBER_UPDATE,s),1e4);return this.rest.makeRequest("delete",a.Member(t).Role(e.id),!0).catch(t=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,s),this.client.clearTimeout(o),n(t)})})}sendTyping(t){return this.rest.makeRequest("post",a.Channel(t).typing,!0)}banGuildMember(t,e,i=0){const n=this.client.resolver.resolveUserID(e);return n?this.rest.makeRequest("put",`${a.Guild(t).bans}/${n}?delete-message-days=${i}`,!0,{"delete-message-days":i}).then(()=>{if(e instanceof p)return e;const i=this.client.resolver.resolveUser(n);return i?(e=this.client.resolver.resolveGuildMember(t,i),e||i):n}):Promise.reject(new Error("Couldn't resolve the user ID to ban."))}unbanGuildMember(t,e){return new Promise((i,n)=>{const s=this.client.resolver.resolveUserID(e);if(!s)throw new Error("Couldn't resolve the user ID to unban.");const o=(e,n)=>{e.id===t.id&&n.id===s&&(this.client.removeListener(r.Events.GUILD_BAN_REMOVE,o),this.client.clearTimeout(c),i(n))};this.client.on(r.Events.GUILD_BAN_REMOVE,o);const c=this.client.setTimeout(()=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,o),n(new Error("Took too long to receive the ban remove event."))},1e4);this.rest.makeRequest("delete",`${a.Guild(t).bans}/${s}`,!0).catch(t=>{this.client.removeListener(r.Events.GUILD_BAN_REMOVE,o),this.client.clearTimeout(c),n(t)})})}getGuildBans(t){return this.rest.makeRequest("get",a.Guild(t).bans,!0).then(t=>{const e=new c;for(const i of t){const t=this.client.dataManager.newUser(i.user);e.set(t.id,t)}return e})}updateGuildRole(t,e){const i={};return i.name=e.name||t.name,i.position="undefined"!=typeof e.position?e.position:t.position,i.color=this.client.resolver.resolveColor(e.color||t.color),i.hoist="undefined"!=typeof e.hoist?e.hoist:t.hoist,i.mentionable="undefined"!=typeof e.mentionable?e.mentionable:t.mentionable,e.permissions?i.permissions=o.resolve(e.permissions):i.permissions=t.permissions,this.rest.makeRequest("patch",a.Guild(t.guild).Role(t.id),!0,i).then(e=>this.client.actions.GuildRoleUpdate.handle({role:e,guild_id:t.guild.id}).updated)}pinMessage(t){return this.rest.makeRequest("put",a.Channel(t.channel).Pin(t.id),!0).then(()=>t)}unpinMessage(t){return this.rest.makeRequest("delete",a.Channel(t.channel).Pin(t.id),!0).then(()=>t)}getChannelPinnedMessages(t){return this.rest.makeRequest("get",a.Channel(t).pins,!0)}createChannelInvite(t,e){const i={};return i.temporary=e.temporary,i.max_age=e.maxAge,i.max_uses=e.maxUses,this.rest.makeRequest("post",a.Channel(t).invites,!0,i).then(t=>new m(this.client,t))}deleteInvite(t){return this.rest.makeRequest("delete",a.Invite(t.code),!0).then(()=>t)}getInvite(t){return this.rest.makeRequest("get",a.Invite(t),!0).then(t=>new m(this.client,t))}getGuildInvites(t){return this.rest.makeRequest("get",a.Guild(t).invites,!0).then(t=>{const e=new c;for(const i of t){const t=new m(this.client,i);e.set(t.code,t)}return e})}pruneGuildMembers(t,e,i){return this.rest.makeRequest(i?"get":"post",`${a.Guild(t).prune}?days=${e}`,!0).then(t=>t.pruned)}createEmoji(t,e,i,n){const s={image:e,name:i};return n&&(s.roles=n.map(t=>t.id?t.id:t)),this.rest.makeRequest("post",a.Guild(t).emojis,!0,s).then(e=>this.client.actions.GuildEmojiCreate.handle(t,e).emoji)}updateEmoji(t,e){const i={};return e.name&&(i.name=e.name),e.roles&&(i.roles=e.roles.map(t=>t.id?t.id:t)),this.rest.makeRequest("patch",a.Guild(t.guild).Emoji(t.id),!0,i).then(e=>this.client.actions.GuildEmojiUpdate.handle(t,e).emoji)}deleteEmoji(t){return this.rest.makeRequest("delete",a.Guild(t.guild).Emoji(t.id),!0).then(()=>this.client.actions.GuildEmojiDelete.handle(t).data)}getWebhook(t,e){return this.rest.makeRequest("get",a.Webhook(t,e),!e).then(t=>new g(this.client,t))}getGuildWebhooks(t){return this.rest.makeRequest("get",a.Guild(t).webhooks,!0).then(t=>{const e=new c;for(const i of t)e.set(i.id,new g(this.client,i));return e})}getChannelWebhooks(t){return this.rest.makeRequest("get",a.Channel(t).webhooks,!0).then(t=>{const e=new c;for(const i of t)e.set(i.id,new g(this.client,i));return e})}createWebhook(t,e,i){return this.rest.makeRequest("post",a.Channel(t).webhooks,!0,{name:e,avatar:i}).then(t=>new g(this.client,t))}editWebhook(t,e,i){return this.rest.makeRequest("patch",a.Webhook(t.id,t.token),!1,{name:e,avatar:i}).then(e=>{return t.name=e.name,t.avatar=e.avatar,t})}deleteWebhook(t){return this.rest.makeRequest("delete",a.Webhook(t.id,t.token),!1)}sendWebhookMessage(t,e,{avatarURL,tts,disableEveryone,embeds,username}={},i=null){return username=username||t.name,"undefined"!=typeof e&&(e=this.client.resolver.resolveString(e)),e&&(disableEveryone||"undefined"==typeof disableEveryone&&this.client.options.disableEveryone)&&(e=e.replace(/@(everyone|here)/g,"@​$1")),this.rest.makeRequest("post",`${a.Webhook(t.id,t.token)}?wait=true`,!1,{username:username,avatar_url:avatarURL,content:e,tts:tts,embeds:embeds},i)}sendSlackWebhookMessage(t,e){return this.rest.makeRequest("post",`${a.Webhook(t.id,t.token)}/slack?wait=true`,!1,e)}fetchUserProfile(t){return this.rest.makeRequest("get",a.User(t).profile,!0).then(e=>new v(t,e))}fetchMeMentions(t){return t.guild&&(t.guild=t.guild.id?t.guild.id:t.guild),this.rest.makeRequest("get",a.User("@me").mentions(t.limit,t.roles,t.everyone,t.guild)).then(t=>t.body.map(t=>new d(this.client.channels.get(t.channel_id),t,this.client)))}addFriend(t){return this.rest.makeRequest("post",a.User("@me"),!0,{username:t.username,discriminator:t.discriminator}).then(()=>t)}removeFriend(t){return this.rest.makeRequest("delete",a.User("@me").Relationship(t.id),!0).then(()=>t)}blockUser(t){return this.rest.makeRequest("put",a.User("@me").Relationship(t.id),!0,{type:2}).then(()=>t)}unblockUser(t){return this.rest.makeRequest("delete",a.User("@me").Relationship(t.id),!0).then(()=>t)}updateChannelPositions(t,e){const i=new Array(e.length);for(let n=0;nthis.client.actions.GuildChannelsPositionUpdate.handle({guild_id:t,channels:e}).guild)}setRolePositions(t,e){return this.rest.makeRequest("patch",a.Guild(t).roles,!0,e).then(()=>this.client.actions.GuildRolesPositionUpdate.handle({guild_id:t,roles:e}).guild)}setChannelPositions(t,e){return this.rest.makeRequest("patch",a.Guild(t).channels,!0,e).then(()=>this.client.actions.GuildChannelsPositionUpdate.handle({guild_id:t,channels:e}).guild)}addMessageReaction(t,e){return this.rest.makeRequest("put",a.Message(t).Reaction(e).User("@me"),!0).then(()=>this.client.actions.MessageReactionAdd.handle({user_id:this.client.user.id,message_id:t.id,emoji:u.parseEmoji(e),channel_id:t.channel.id}).reaction)}removeMessageReaction(t,e,i){const n=a.Message(t).Reaction(e).User(i===this.client.user.id?"@me":i.id);return this.rest.makeRequest("delete",n,!0).then(()=>this.client.actions.MessageReactionRemove.handle({user_id:i,message_id:t.id,emoji:u.parseEmoji(e),channel_id:t.channel.id}).reaction)}removeMessageReactions(t){return this.rest.makeRequest("delete",a.Message(t).reactions,!0).then(()=>t)}getMessageReactionUsers(t,e,i=100){return this.rest.makeRequest("get",a.Message(t).Reaction(e,i),!0)}getApplication(t){return this.rest.makeRequest("get",a.OAUTH2.Application(t),!0).then(t=>new E(this.client,t))}resetApplication(t){return this.rest.makeRequest("post",a.OAUTH2.Application(t).reset,!0).then(t=>new E(this.client,t))}setNote(t,e){return this.rest.makeRequest("put",a.User(t).note,!0,{note:e}).then(()=>t)}acceptInvite(t){return t.id&&(t=t.id),new Promise((e,i)=>this.rest.makeRequest("post",a.Invite(t),!0).then(t=>{const n=i=>{i.id===t.id&&(e(i),this.client.removeListener(r.Events.GUILD_CREATE,n))};this.client.on(r.Events.GUILD_CREATE,n),this.client.setTimeout(()=>{this.client.removeListener(r.Events.GUILD_CREATE,n),i(new Error("Accepting invite timed out"))},12e4)}))}}t.exports=y},function(t,e,i){const n=i(44);class s extends n{constructor(t,e){super(t,e),this.client=t.client,this.limit=1/0,this.resetTime=null,this.remaining=1,this.timeDifference=0,this.resetTimeout=null}push(t){super.push(t),this.handle()}execute(t){t&&t.request.gen().end((e,i)=>{if(i&&i.headers&&(this.limit=Number(i.headers["x-ratelimit-limit"]),this.resetTime=1e3*Number(i.headers["x-ratelimit-reset"]),this.remaining=Number(i.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(i.headers.date).getTime()),e)if(429===e.status){if(this.queue.unshift(t),i.headers["x-ratelimit-global"]&&(this.globalLimit=!0),this.resetTimeout)return;this.resetTimeout=this.client.setTimeout(()=>{this.remaining=this.limit,this.globalLimit=!1,this.handle(),this.resetTimeout=null},Number(i.headers["retry-after"])+this.client.options.restTimeOffset)}else t.reject(e),this.handle();else{this.globalLimit=!1;const e=i&&i.body?i.body:{};t.resolve(e),this.handle()}})}handle(){super.handle(),this.remaining<=0||0===this.queue.length||this.globalLimit||(this.execute(this.queue.shift()),this.remaining--,this.handle())}}t.exports=s},function(t,e,i){const n=i(44);class s extends n{constructor(t,e){super(t,e),this.endpoint=e,this.timeDifference=0}push(t){super.push(t),this.handle()}execute(t){return new Promise(e=>{t.request.gen().end((i,n)=>{if(n&&n.headers&&(this.requestLimit=Number(n.headers["x-ratelimit-limit"]),this.requestResetTime=1e3*Number(n.headers["x-ratelimit-reset"]),this.requestRemaining=Number(n.headers["x-ratelimit-remaining"]),this.timeDifference=Date.now()-new Date(n.headers.date).getTime()),i)429===i.status?(this.queue.unshift(t),this.restManager.client.setTimeout(()=>{this.globalLimit=!1,e()},Number(n.headers["retry-after"])+this.restManager.client.options.restTimeOffset),n.headers["x-ratelimit-global"]&&(this.globalLimit=!0)):(t.reject(i),e(i));else{this.globalLimit=!1;const i=n&&n.body?n.body:{};t.resolve(i),0===this.requestRemaining?this.restManager.client.setTimeout(()=>{this.waiting=!1,e(i)},this.requestResetTime-Date.now()+this.timeDifference+this.restManager.client.options.restTimeOffset):e(i)}})})}handle(){super.handle(),0===this.remaining||0===this.queue.length||this.globalLimit||this.execute(this.queue.shift()).then(()=>this.handle())}}t.exports=s},function(t,e,i){(function(e){const n=i(0);class s{constructor(){this.build(this.constructor.DEFAULT)}set({url,version}={}){this.build({url:url||this.constructor.DFEAULT.url,version:version||this.constructor.DEFAULT.version})}build(t){this.userAgent=`DiscordBot (${t.url}, ${t.version}) Node.js/${e.version}`}}s.DEFAULT={url:n.Package.homepage.split("#")[0],version:n.Package.version},t.exports=s}).call(e,i(20))},function(t,e,i){(function(e){const n="browser"===i(16).platform(),s=i(24).EventEmitter,o=i(0),r=i(4).convertToBuffer,a=i(42),c=i(99);let l,u,h=JSON.stringify;if(n)l=window.WebSocket;else{try{l=i(142)}catch(t){l=i(143)}try{u=i(141),h=u.pack}catch(t){u=null}}class p extends s{constructor(t){super(),this.client=t,this.packetManager=new c(this),this.status=o.Status.IDLE,this.sessionID=null,this.sequence=-1,this.gateway=null,this.normalReady=!1,this.ws=null,this.disabledEvents={};for(const e of t.options.disabledEvents)this.disabledEvents[e]=!0;this.first=!0,this.lastHeartbeatAck=!0}_connect(t){this.client.emit("debug",`Connecting to gateway ${t}`),this.normalReady=!1,this.status!==o.Status.RECONNECTING&&(this.status=o.Status.CONNECTING),this.ws=new l(t),n&&(this.ws.binaryType="arraybuffer"),this.ws.onopen=this.eventOpen.bind(this),this.ws.onmessage=this.eventMessage.bind(this),this.ws.onclose=this.eventClose.bind(this),this.ws.onerror=this.eventError.bind(this),this._queue=[],this._remaining=120,this.client.setInterval(()=>{this._remaining=120,this._remainingReset=Date.now()},6e4)}connect(t){t=`${t}&encoding=${u?"etf":"json"}`,this.first?(this._connect(t),this.first=!1):this.client.setTimeout(()=>this._connect(t),5500)}heartbeat(t){return t&&!this.lastHeartbeatAck?void this.ws.close(1007):(this.client.emit("debug","Sending heartbeat"),this.client._pingTimestamp=Date.now(),this.client.ws.send({op:o.OPCodes.HEARTBEAT,d:this.sequence},!0),void(this.lastHeartbeatAck=!1))}send(t,e=false){return e?void this._send(h(t)):(this._queue.push(h(t)),void this.doQueue())}destroy(){this.ws&&this.ws.close(1e3),this._queue=[],this.status=o.Status.IDLE}_send(t){this.ws.readyState===l.OPEN&&(this.emit("send",t),this.ws.send(t))}doQueue(){const t=this._queue[0];if(this.ws.readyState===l.OPEN&&t){if(0===this.remaining)return void this.client.setTimeout(this.doQueue.bind(this),Date.now()-this.remainingReset);this._remaining--,this._send(t),this._queue.shift(),this.doQueue()}}eventOpen(){this.client.emit("debug","Connection to gateway opened"),this.lastHeartbeatAck=!0,this.status===o.Status.RECONNECTING?this._sendResume():this._sendNewIdentify()}_sendResume(){if(!this.sessionID)return void this._sendNewIdentify();this.client.emit("debug","Identifying as resumed session");const t={token:this.client.token,session_id:this.sessionID,seq:this.sequence};this.send({op:o.OPCodes.RESUME,d:t})}_sendNewIdentify(){this.reconnecting=!1;const t=this.client.options.ws;t.token=this.client.token,this.client.options.shardCount>0&&(t.shard=[Number(this.client.options.shardId),Number(this.client.options.shardCount)]),this.client.emit("debug","Identifying as new session"),this.send({op:o.OPCodes.IDENTIFY,d:t}),this.sequence=-1}eventClose(t){this.emit("close",t),this.client.clearInterval(this.client.manager.heartbeatInterval),this.status=o.Status.DISCONNECTED,this._queue=[],this.reconnecting||this.client.emit(o.Events.DISCONNECT,t),[4004,4010,4011].includes(t.code)||this.reconnecting||1e3===t.code||this.tryReconnect()}eventMessage(t){const e=this.tryParseEventData(t.data);return null===e?(this.eventError(new Error(o.Errors.BAD_WS_MESSAGE)),!1):(this.client.emit("raw",e),e.op===o.OPCodes.HELLO&&this.client.manager.setupKeepAlive(e.d.heartbeat_interval),this.packetManager.handle(e))}parseEventData(t){return u?(t instanceof ArrayBuffer&&(t=r(t)),u.unpack(t)):((t instanceof e||t instanceof ArrayBuffer)&&(t=a.inflateSync(t).toString()),JSON.parse(t))}tryParseEventData(t){try{return this.parseEventData(t)}catch(t){return null}}eventError(t){this.client.listenerCount("error")>0&&this.client.emit("error",t),this.tryReconnect()}_emitReady(t=true){this.status=o.Status.READY,this.client.emit(o.Events.READY),this.packetManager.handleQueue(),this.normalReady=t}checkIfReady(){if(this.status!==o.Status.READY&&this.status!==o.Status.NEARLY){let t=0;for(const e of this.client.guilds.keys())t+=this.client.guilds.get(e).available?0:1;if(0===t){if(this.status=o.Status.NEARLY,this.client.options.fetchAllMembers){const t=this.client.guilds.map(t=>t.fetchMembers());return void Promise.all(t).then(()=>this._emitReady(),t=>{this.client.emit(o.Events.WARN,"Error in pre-ready guild member fetching"),this.client.emit(o.Events.ERROR,t),this._emitReady()})}this._emitReady()}}}tryReconnect(){this.status!==o.Status.RECONNECTING&&this.status!==o.Status.CONNECTING&&(this.status=o.Status.RECONNECTING,this.ws.close(),this.packetManager.handleQueue(),this.client.emit(o.Events.RECONNECTING),this.connect(this.client.ws.gateway))}}t.exports=p}).call(e,i(14).Buffer)},function(t,e,i){const n=i(0),s=[n.WSEvents.READY,n.WSEvents.GUILD_CREATE,n.WSEvents.GUILD_DELETE,n.WSEvents.GUILD_MEMBERS_CHUNK,n.WSEvents.GUILD_MEMBER_ADD,n.WSEvents.GUILD_MEMBER_REMOVE];class o{constructor(t){this.ws=t,this.handlers={},this.queue=[],this.register(n.WSEvents.READY,i(126)),this.register(n.WSEvents.GUILD_CREATE,i(106)),this.register(n.WSEvents.GUILD_DELETE,i(107)),this.register(n.WSEvents.GUILD_UPDATE,i(117)),this.register(n.WSEvents.GUILD_BAN_ADD,i(104)),this.register(n.WSEvents.GUILD_BAN_REMOVE,i(105)),this.register(n.WSEvents.GUILD_MEMBER_ADD,i(109)),this.register(n.WSEvents.GUILD_MEMBER_REMOVE,i(110)),this.register(n.WSEvents.GUILD_MEMBER_UPDATE,i(111)),this.register(n.WSEvents.GUILD_ROLE_CREATE,i(113)),this.register(n.WSEvents.GUILD_ROLE_DELETE,i(114)),this.register(n.WSEvents.GUILD_ROLE_UPDATE,i(115)),this.register(n.WSEvents.GUILD_EMOJIS_UPDATE,i(108)),this.register(n.WSEvents.GUILD_MEMBERS_CHUNK,i(112)),this.register(n.WSEvents.CHANNEL_CREATE,i(100)),this.register(n.WSEvents.CHANNEL_DELETE,i(101)),this.register(n.WSEvents.CHANNEL_UPDATE,i(103)),this.register(n.WSEvents.CHANNEL_PINS_UPDATE,i(102)),this.register(n.WSEvents.PRESENCE_UPDATE,i(125)),this.register(n.WSEvents.USER_UPDATE,i(131)),this.register(n.WSEvents.USER_NOTE_UPDATE,i(130)),this.register(n.WSEvents.VOICE_STATE_UPDATE,i(133)),this.register(n.WSEvents.TYPING_START,i(129)),this.register(n.WSEvents.MESSAGE_CREATE,i(118)),this.register(n.WSEvents.MESSAGE_DELETE,i(119)),this.register(n.WSEvents.MESSAGE_UPDATE,i(124)),this.register(n.WSEvents.MESSAGE_DELETE_BULK,i(120)),this.register(n.WSEvents.VOICE_SERVER_UPDATE,i(132)),this.register(n.WSEvents.GUILD_SYNC,i(116)),this.register(n.WSEvents.RELATIONSHIP_ADD,i(127)),this.register(n.WSEvents.RELATIONSHIP_REMOVE,i(128)),this.register(n.WSEvents.MESSAGE_REACTION_ADD,i(121)),this.register(n.WSEvents.MESSAGE_REACTION_REMOVE,i(122)),this.register(n.WSEvents.MESSAGE_REACTION_REMOVE_ALL,i(123))}get client(){return this.ws.client}register(t,e){this.handlers[t]=new e(this)}handleQueue(){this.queue.forEach((t,e)=>{this.handle(this.queue[e]),this.queue.splice(e,1)})}setSequence(t){t&&t>this.ws.sequence&&(this.ws.sequence=t)}handle(t){return t.op===n.OPCodes.RECONNECT?(this.setSequence(t.s),this.ws.tryReconnect(),!1):t.op===n.OPCodes.INVALID_SESSION?(t.d?setTimeout(()=>{this.ws._sendResume()},2500):(this.ws.sessionID=null,this.ws._sendNewIdentify()),!1):(t.op===n.OPCodes.HEARTBEAT_ACK?(this.ws.client._pong(this.ws.client._pingTimestamp),this.ws.lastHeartbeatAck=!0,this.ws.client.emit("debug","Heartbeat acknowledged")):t.op===n.OPCodes.HEARTBEAT&&(this.client.ws.send({op:n.OPCodes.HEARTBEAT,d:this.client.ws.sequence}),this.ws.client.emit("debug","Received gateway heartbeat")),this.ws.status===n.Status.RECONNECTING&&(this.ws.reconnecting=!1,this.ws.checkIfReady()),this.setSequence(t.s),void 0===this.ws.disabledEvents[t.t]&&(this.ws.status!==n.Status.READY&&s.indexOf(t.t)===-1?(this.queue.push(t),!1):!!this.handlers[t.t]&&this.handlers[t.t].handle(t)))}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.ChannelCreate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.ChannelDelete.handle(i);n.channel&&e.emit(s.Events.CHANNEL_DELETE,n.channel)}}t.exports=o},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.channels.get(i.channel_id),o=new Date(i.last_pin_timestamp);n&&o&&e.emit(s.Events.CHANNEL_PINS_UPDATE,n,o)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.ChannelUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id),o=e.users.get(i.user.id);n&&o&&e.emit(s.Events.GUILD_BAN_ADD,n,o)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildBanRemove.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.id);n?n.available||i.unavailable||(n.setup(i),this.packetManager.ws.checkIfReady()):e.dataManager.newGuild(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.GuildDelete.handle(i);n.guild&&e.emit(s.Events.GUILD_DELETE,n.guild)}}t.exports=o},function(t,e,i){function n(t){const e=new Map;for(const i of t)e.set(...i);return e}const s=i(1);class o extends s{handle(t){const e=this.packetManager.client,i=t.d,s=e.guilds.get(i.guild_id);if(s&&s.emojis){const t=n(s.emojis.entries());for(const o of i.emojis){const i=s.emojis.get(o.id);i?(t.delete(o.id),i.equals(o,!0)||e.actions.GuildEmojiUpdate.handle(i,o)):e.actions.GuildEmojiCreate.handle(s,o)}for(const o of t.values())e.actions.GuildEmojiDelete.handle(o)}}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);n&&(n.memberCount++,n._addMember(i))}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildMemberRemove.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);if(n){const t=n.members.get(i.user.id);t&&n._updateMember(t,i)}}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);if(n){const t=i.members.map(t=>n._addMember(t,!1));e.emit(s.Events.GUILD_MEMBERS_CHUNK,t,n),e.ws.lastHeartbeatAck=!0}}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildRoleCreate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildRoleDelete.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildRoleUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildSync.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.GuildUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.MessageCreate.handle(i);n.message&&e.emit(s.Events.MESSAGE_CREATE,n.message)}}t.exports=o},function(t,e,i){const n=i(1),s=i(0);class o extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.actions.MessageDelete.handle(i);n.message&&e.emit(s.Events.MESSAGE_DELETE,n.message)}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageDeleteBulk.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageReactionAdd.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageReactionRemove.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d; +e.actions.MessageReactionRemoveAll.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.MessageUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0),o=i(4);class r extends n{handle(t){const e=this.packetManager.client,i=t.d;let n=e.users.get(i.user.id);const r=e.guilds.get(i.guild_id);if(!n){if(!i.user.username)return;n=e.dataManager.newUser(i.user)}const a=o.cloneObject(n);if(n.patch(i.user),n.equals(a)||e.emit(s.Events.USER_UPDATE,a,n),r){let t=r.members.get(n.id);if(t||"offline"===i.status||(t=r._addMember({user:n,roles:i.roles,deaf:!1,mute:!1},!1),e.emit(s.Events.GUILD_MEMBER_AVAILABLE,t)),t){if(0===e.listenerCount(s.Events.PRESENCE_UPDATE))return void r._setPresence(n.id,i);const a=o.cloneObject(t);t.presence&&(a.frozenPresence=o.cloneObject(t.presence)),r._setPresence(n.id,i),e.emit(s.Events.PRESENCE_UPDATE,a,t)}else r._setPresence(n.id,i)}}}t.exports=r},function(t,e,i){const n=i(1),s=i(29);class o extends n{handle(t){const e=this.packetManager.client,i=t.d;e.ws.heartbeat();const n=new s(e,i.user);n.settings=i.user_settings,e.user=n,e.readyAt=new Date,e.users.set(n.id,n);for(const o of i.guilds)e.dataManager.newGuild(o);for(const r of i.private_channels)e.dataManager.newChannel(r);for(const a of i.relationships){const t=e.dataManager.newUser(a.user);1===a.type?e.user.friends.set(t.id,t):2===a.type&&e.user.blocked.set(t.id,t)}i.presences=i.presences||[];for(const c of i.presences)e.dataManager.newUser(c.user),e._setPresence(c.user.id,c);if(i.notes)for(const l in i.notes){let t=i.notes[l];t.length||(t=null),e.user.notes.set(l,t)}!e.user.bot&&e.options.sync&&e.setInterval(e.syncGuilds.bind(e),3e4),e.once("ready",e.syncGuilds.bind(e)),e.users.has("1")||e.dataManager.newUser({id:"1",username:"Clyde",discriminator:"0000",avatar:"https://discordapp.com/assets/f78426a064bc9dd24847519259bc42af.png",bot:!0,status:"online",game:null,verified:!0}),e.setTimeout(()=>{e.ws.normalReady||e.ws._emitReady(!1)},1200*i.guilds.length),this.packetManager.ws.sessionID=i.session_id,this.packetManager.ws.checkIfReady()}}t.exports=o},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;1===i.type?e.fetchUser(i.id).then(t=>{e.user.friends.set(t.id,t)}):2===i.type&&e.fetchUser(i.id).then(t=>{e.user.blocked.set(t.id,t)})}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;2===i.type?e.user.blocked.has(i.id)&&e.user.blocked.delete(i.id):1===i.type&&e.user.friends.has(i.id)&&e.user.friends.delete(i.id)}}t.exports=s},function(t,e,i){function n(t,e){return t.client.setTimeout(()=>{t.client.emit(o.Events.TYPING_STOP,t,e,t._typing.get(e.id)),t._typing.delete(e.id)},6e3)}const s=i(1),o=i(0);class r extends s{handle(t){const e=this.packetManager.client,i=t.d,s=e.channels.get(i.channel_id),r=e.users.get(i.user_id),c=new Date(1e3*i.timestamp);if(s&&r){if("voice"===s.type)return void e.emit(o.Events.WARN,`Discord sent a typing packet to voice channel ${s.id}`);if(s._typing.has(r.id)){const t=s._typing.get(r.id);t.lastTimestamp=c,t.resetTimeout(n(s,r))}else s._typing.set(r.id,new a(e,c,c,n(s,r))),e.emit(o.Events.TYPING_START,s,r)}}}class a{constructor(t,e,i,n){this.client=t,this.since=e,this.lastTimestamp=i,this._timeout=n}resetTimeout(t){this.client.clearTimeout(this._timeout),this._timeout=t}get elapsedTime(){return Date.now()-this.since}}t.exports=r},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.UserNoteUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.actions.UserUpdate.handle(i)}}t.exports=s},function(t,e,i){const n=i(1);class s extends n{handle(t){const e=this.packetManager.client,i=t.d;e.emit("self.voiceServer",i)}}t.exports=s},function(t,e,i){const n=i(1),s=i(0),o=i(4);class r extends n{handle(t){const e=this.packetManager.client,i=t.d,n=e.guilds.get(i.guild_id);if(n){const t=n.members.get(i.user_id);if(t){const n=o.cloneObject(t);t.voiceChannel&&t.voiceChannel.id!==i.channel_id&&t.voiceChannel.members.delete(n.id),i.channel_id||(t.speaking=null),t.user.id===e.user.id&&i.channel_id&&e.emit("self.voiceStateUpdate",i);const r=e.channels.get(i.channel_id);r&&r.members.set(t.user.id,t),t.serverMute=i.mute,t.serverDeaf=i.deaf,t.selfMute=i.self_mute,t.selfDeaf=i.self_deaf,t.voiceSessionID=i.session_id,t.voiceChannelID=i.channel_id,e.emit(s.Events.VOICE_STATE_UPDATE,n,t)}}}}t.exports=r},function(t,e){class i{constructor(t,e){this.user=t,this.setup(e)}setup(t){this.type=t.type,this.name=t.name,this.id=t.id,this.revoked=t.revoked,this.integrations=t.integrations}}t.exports=i},function(t,e,i){const n=i(3),s=i(134);class o{constructor(t,e){this.user=t,Object.defineProperty(this,"client",{value:t.client}),this.mutualGuilds=new n,this.connections=new n,this.setup(e)}setup(t){this.premium=t.premium,this.premiumSince=t.premium_since?new Date(t.premium_since):null;for(const e of t.mutual_guilds)this.client.guilds.has(e.id)&&this.mutualGuilds.set(e.id,this.client.guilds.get(e.id));for(const i of t.connected_accounts)this.connections.set(i.id,new s(this.user,i))}}t.exports=o},function(t,e){class i{constructor(t){this.id=t.id,this.name=t.name,this.vip=t.vip,this.deprecated=t.deprecated,this.optimal=t.optimal,this.custom=t.custom,this.sampleHostname=t.sample_hostname}}t.exports=i},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e){},function(t,e,i){const n=i(4);t.exports={Client:i(45),Shard:i(48),ShardClientUtil:i(49),ShardingManager:i(50),WebhookClient:i(46),Collection:i(3),Constants:i(0),EvaluatedPermissions:i(6),Permissions:i(6),Snowflake:i(5),SnowflakeUtil:i(5),Util:n,util:n,version:i(28).version,escapeMarkdown:n.escapeMarkdown,fetchRecommendedShards:n.fetchRecommendedShards,splitMessage:n.splitMessage,Channel:i(8),ClientUser:i(29),DMChannel:i(30),Emoji:i(12),Game:i(7).Game,GroupDMChannel:i(21),Guild:i(17),GuildChannel:i(18),GuildMember:i(13),Invite:i(31),Message:i(9),MessageAttachment:i(32),MessageCollector:i(33),MessageEmbed:i(34),MessageReaction:i(35),OAuth2Application:i(36),PartialGuild:i(37),PartialGuildChannel:i(38),PermissionOverwrites:i(39),Presence:i(7).Presence,ReactionEmoji:i(22),RichEmbed:i(47),Role:i(10),TextChannel:i(40),User:i(11),VoiceChannel:i(41),Webhook:i(23)},"browser"===i(16).platform()&&(window.Discord=t.exports)}]); \ No newline at end of file