Build 574548stable
Module 232835
10,750 characters · in no known chunkDependencies
Required by (83)
271698422046521878242263614945787909249296093474112753113051123917135978138617140069171076180662183041191701192311241188256265274541282108287245310031320080328857348833349230394953399263403895436405439147456874463105464792470020477427493336530789538899546183553366557740568006568548578434578839580745602902627669649963659617677877679276715757722855724029739008739181751258768038806621835835837528853145859524868132879732892340928078951727953832966833969632970309973153977347978914981714
Lazily required by (0)none
Requires (33)
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>Z}),n(938796),n(321073),n(142703);var i=n(735438),r=n.n(i),s=n(665260),a=n(17928),o=n(228366),l=n(155718),u=n(292446),c=n(779185),d=n(723176),_=n(626584),h=n(390248),f=n(508602);function E(e){let{type:t}=e;return t!==f.A.AUTO_MODERATION_MESSAGE&&t!==f.A.AUTO_MODERATION_NOTIFICATION}var p=n(164956),m=n(931480),g=n(320095),A=n(697470),I=(n(763754),n(491001)),T=n(815807),S=n(773669),N=n(935208),C=n(280450),y=n(734057),O=n(72314),R=n(808728),v=n(696451),b=n(71393),L=n(576705),D=n(994500),w=n(309010),P=n(967198),M=n(287809),x=n(652215);let U=new Set,k=new _.A("MessageStore"),G=!1;function V(e,t){if(t.hasMoreAfter)return t;let n=m.A.getMessages(e);if(0===n.length)return t;let i=n.filter(e=>!t.has(e.id));return 0===i.length?t:t.mutate(e=>{e._merge(i),e._array.sort((e,t)=>N.default.compare(e.id,t.id))},!0)}function F(){u.A.forEach(e=>{u.A.commit(e.mutate({ready:!1,loadingMore:!1}))}),U.clear()}async function B(e,t,n){let i=d.A.database(),r=y.A.getBasicChannel(e);if(null!=i&&null!=r)try{let n=d.A.messages(i),s=await n.get(r.guild_id,e,t.id);if(null!=s)return}catch{}k.log("Push notification message not in cache, adding directly",t.id,t.channel_id);let s=u.A.getOrCreate(e);u.A.commit(s.receivePushNotification(t,n)),q.emitChange()}function H(e){if(e.media_mention?.message_id==null)return;let t=e.media_mention.attachment_id,n=u.A.getOrCreate(t),i={...e,channel_id:t,type:x.lAJ.MEDIA_MENTION_MESSAGE,id:e.media_mention.message_id,message_reference:{channel_id:e.channel_id,message_id:e.media_mention.message_id,type:x.SH7.DEFAULT,guild_id:y.A.getChannel(e.channel_id)?.guild_id}};n=n.receiveMessage(i,!1).mutate({ready:!0}),u.A.commit(n)}function j(e){if(null==e)return;let t=e.mediaMention?.attachment_id;if(null==t)return;let n=u.A.get(t);if(null==n)return;let i=e.mediaMention?.message_id;null!=i&&(n=n.remove(i),u.A.commit(n))}function W(){u.A.forEach(e=>{let{channelId:t}=e;null==y.A.getChannel(t)&&u.A.clear(t)})}function Y(){let e=!1;return u.A.forEach(t=>{u.A.commit(t.reset(t.map(t=>(t.blocked!==D.A.isBlockedForMessage(t)&&(e=!0,t=t.set("blocked",D.A.isBlockedForMessage(t))),t.ignored!==D.A.isIgnoredForMessage(t)&&(e=!0,t=t.set("ignored",D.A.isIgnoredForMessage(t))),t))))}),e}function K(e){let{type:t,channelId:n,messageId:i,userId:r,emoji:s,reactionType:a}=e,o=u.A.get(n);if(null==o||!(0,T.vp)(e))return!1;let l=C.default.getId()===r;o=o.update(i,n=>"MESSAGE_REACTION_ADD"===t?n.addReaction(s,l,e.colors,a):n.removeReaction(s,l,a)),u.A.commit(o)}function $(e){let{type:t,messageData:n}=e,{message:i}=n,r=(0,c.cR)(n),a=i.channelId,o=u.A.getOrCreate(a);if(!o.has(r))return!1;o=o.update(r,e=>(e.embeds?.filter(E).length>0&&(e=e.set("embeds",[])),"MESSAGE_SEND_FAILED_AUTOMOD"===t&&(e=e.set("flags",(0,s.UI)(e.flags,x.pr7.EPHEMERAL))),e)),u.A.commit(o)}class z extends a.Ay.Store{static displayName="MessageStore";initialize(){this.waitFor(C.default,y.A,O.A,m.A,R.Ay,v.Ay,b.A,p.A,S.default,L.A,D.A,w.A,P.A,M.default),this.syncWith([p.A],()=>{})}getMessages(e){if(p.A.hasViewingRoles()){let t=y.A.getChannel(e),n=t?.getGuildId();if(p.A.isViewingRoles(n)&&!L.A.can(x.xBc.VIEW_CHANNEL,t))return new u.A(e)}return u.A.getOrCreate(e)}getMessage(e,t){return u.A.getOrCreate(e).get(t)}getLastEditableMessage(e){let t=M.default.getCurrentUser();return r()(this.getMessages(e).toArray()).reverse().find(e=>(0,A.A)(e,t?.id))}getLastChatCommandMessage(e){let t=M.default.getCurrentUser();return this.getMessages(e).toArray().reverse().find(e=>e.interaction?.type===l.G4.APPLICATION_COMMAND&&e.interactionData?.type===l.kc.CHAT&&e.interaction.user.id===t?.id)}getLastMessage(e){return r()(this.getMessages(e).toArray()).reverse().get(0)}getLastNonCurrentUserMessage(e){let t=M.default.getCurrentUser();return r()(this.getMessages(e).toArray()).reverse().find(e=>e.author.id!==t?.id)}jumpedMessageId(e){let t=u.A.get(e);return t?.jumpTargetId}focusedMessageId(e){let t=u.A.get(e);return t?.focusTargetId}hasPresent(e){let t=u.A.get(e);return null!=t&&t.ready&&t.hasPresent()}isReady(e){return u.A.getOrCreate(e).ready}whenReady(e,t){this.addConditionalChangeListener(()=>{if(this.isReady(e))return setImmediate(t),!1})}isLoadingMessages(e){return u.A.getOrCreate(e).loadingMore}hasCurrentUserSentMessage(e){let t=M.default.getCurrentUser();return null!=this.getMessages(e).findNewest(e=>e.author.id===t?.id)}hasCurrentUserSentWaveBlockingMessage(e){let t=M.default.getCurrentUser();return null!=this.getMessages(e).findNewest(e=>e.type!==x.lAJ.FRIEND_REQUEST_ACCEPTED&&e.author.id===t?.id)}hasCurrentUserSentMessageSinceAppStart(){return G}}let q=new z(o.h,{BACKGROUND_SYNC_CHANNEL_MESSAGES:function(e){let{changesByChannelId:t}=e;for(let e in t){let n=u.A.get(e);null!=n&&(n.cached,n.mergeDelta(t[e].new_messages,t[e].modified_messages,t[e].deleted_message_ids))}},CONNECTION_OPEN:F,OVERLAY_INITIALIZE:F,CACHE_LOADED:function(e){for(let[t,n]of N.default.entries(e.messages)){let e=u.A.getOrCreate(t).addCachedMessages(n,!0);u.A.commit(e)}},LOAD_MESSAGES:function(){return!0},LOAD_MESSAGES_SUCCESS:function(e){let{channelId:t,isBefore:n,isAfter:i,jump:r,hasMoreBefore:s,hasMoreAfter:a,messages:o,isStale:l,truncate:c,avoidInitialScroll:d}=e,_=u.A.getOrCreate(t);for(let e of(_=_.loadComplete({newMessages:o,isBefore:n,isAfter:i,jump:r,hasMoreBefore:s,hasMoreAfter:a,cached:l,hasFetched:!0,avoidInitialScroll:d}),null!=c&&(n||i)&&(!n||!i)&&(_=_.truncate(n,i)),_=V(t,_),u.A.commit(_),o))H(e)},LOAD_MESSAGES_FAILURE:function(e){let{channelId:t}=e,n=u.A.getOrCreate(t);u.A.commit(n.mutate({loadingMore:!1,error:!0}))},LOAD_MESSAGES_SUCCESS_CACHED:function(e){let{channelId:t,jump:n,focus:i,before:r,after:s,limit:a,truncate:o}=e,l=u.A.getOrCreate(t);n?.present?l=l.jumpToPresent(a):i?.messageId!=null?l=l.focusOnMessage(i.messageId):n?.messageId!=null?l=l.jumpToMessage({messageId:n.messageId,flash:n.flash,offset:n.offset,returnTargetId:n.returnMessageId,jumpType:n.jumpType,onJumpComplete:n.onJumpComplete}):(null!=r||null!=s)&&(l=l.loadFromCache(null!=r,a)),null!=o&&(null!=r||null!=s)&&(null==r||null==s)&&(l=l.truncate(null!=r,null!=s)),l=V(t,l),u.A.commit(l)},LOCAL_MESSAGES_LOADED:function(e){let t=u.A.getOrCreate(e.channelId);if(e.isForegroundCacheLoad||t.cached||!t.ready){let n=t.addCachedMessages(e.messages,e.stale);e.isForegroundCacheLoad&&e.messages.length>0&&null==n.jumpTargetId&&(n=n.mutate({initialScrollSequenceId:n.initialScrollSequenceId+1,suppressRowAnimationSequenceId:n.suppressRowAnimationSequenceId+1})),u.A.commit(n)}},LOAD_MESSAGE_INTERACTION_DATA_SUCCESS:function(e){let t=e.messageId,n=e.channelId,i=u.A.get(n);if(null==i||!i.has(t))return!1;i=i.update(t,t=>t.set("interactionData",e.interactionData)),u.A.commit(i)},TRUNCATE_MESSAGES:function(e){let{channelId:t,truncateBottom:n,truncateTop:i}=e;k.log(`Truncating messages for ${t} bottom:${n} top:${i}`);let r=u.A.getOrCreate(t);r=r.truncate(n,i),u.A.commit(r)},CLEAR_MESSAGES:function(e){let{channelId:t}=e;k.log(`Clearing messages for ${t}`),u.A.clear(t),U.clear()},MESSAGE_CREATE:function(e){let{channelId:t,message:i,optimistic:r,isPushNotification:s}=e,a=u.A.getOrCreate(t),o=n(617710).A.isConnected();return s?(0,I.K)()?(B(t,i,o),!1):(k.log("Inserting message tapped on from a push notification",i.id,i.channel_id),void u.A.commit(a.receivePushNotification(i,o))):!(!a.ready||r&&a.has(i.id))&&void(null!=i.nonce&&i.state!==x.cmJ.SENDING&&U.has(i.nonce)&&(a=a.remove(i.nonce),U.delete(i.nonce)),a=a.receiveMessage(i,!0===O.A.isAtBottom(t)),u.A.commit(a),H(i))},MESSAGE_SEND_FAILED:function(e){let{channelId:t,messageId:n,reason:i}=e,r=u.A.getOrCreate(t);if(null==r||!r.has(n))return!1;let a=r.get(n,!0);r=a?.isPoll()===!0?r.remove(n):r.update(n,e=>((e=e.set("state",x.cmJ.SEND_FAILED)).isCommandType()?e=(e=e.set("interactionError",i??"")).set("flags",(0,s.UI)(e.flags,x.pr7.EPHEMERAL)):null!=i&&(e=e.set("interactionError",i??"")),e)),u.A.commit(r)},MESSAGE_SEND_FAILED_AUTOMOD:$,MESSAGE_EDIT_FAILED_AUTOMOD:$,MESSAGE_UPDATE:function(e){let t=e.message.id,n=e.message.channel_id,i=u.A.getOrCreate(n);if(null==i||!i.has(t))return!1;i=i.update(t,t=>(0,g.IU)(t,e.message)),u.A.commit(i),function(e){if(e.media_mention?.message_id==null||!("content"in e))return;let t=e.media_mention.attachment_id,n=u.A.getOrCreate(t);n=n.update(e.media_mention.message_id,t=>(0,g.IU)(t,{content:e.content})),u.A.commit(n)}(e.message)},MESSAGE_EXPLICIT_CONTENT_SCAN_TIMEOUT:function(e){let{messageId:t,channelId:n}=e,i=u.A.get(n);if(null==i||!i.has(t))return!1;i=i.update(t,h.Td),u.A.commit(i)},MESSAGE_DELETE:function(e){let{id:t,channelId:n}=e,i=u.A.getOrCreate(n);if(null==i||!i.has(t))return!1;if(i.revealedMessageId===t){let e=i.getAfter(t);i=null!=e&&e.blocked?i.mutate({revealedMessageId:e.id}):i.mutate({revealedMessageId:null})}j(i.get(t)),i=i.remove(t),u.A.commit(i),U.delete(t)},MESSAGE_DELETE_BULK:function(e){let{ids:t,channelId:n}=e,i=u.A.getOrCreate(n);if(null==i)return!1;t.forEach(e=>{j(i.get(e))});let s=i.removeMany(t);if(i===s)return!1;if(null!=s.revealedMessageId&&r().some(t,e=>s.revealedMessageId===e)){let e=s.getAfter(s.revealedMessageId);s=null!=e&&e.blocked?s.mutate({revealedMessageId:e.id}):s.mutate({revealedMessageId:null})}u.A.commit(s),t.forEach(e=>{U.delete(e)})},MESSAGE_REVEAL:function(e){let{channelId:t,messageId:n}=e,i=u.A.getOrCreate(t);u.A.commit(i.mutate({revealedMessageId:n}))},THREAD_CREATE_LOCAL:function(e){let{channelId:t}=e,n=u.A.getOrCreate(t);n=n.loadComplete({newMessages:[],hasMoreAfter:!1,hasMoreBefore:!1}),u.A.commit(n)},CHANNEL_DELETE:W,THREAD_DELETE:W,GUILD_DELETE:W,RELATIONSHIP_ADD:Y,RELATIONSHIP_UPDATE:Y,RELATIONSHIP_REMOVE:Y,GUILD_MEMBERS_CHUNK_BATCH:function(e){},THREAD_MEMBER_LIST_UPDATE:function(e){},MESSAGE_REACTION_ADD:K,MESSAGE_REACTION_ADD_MANY:function(e){let{channelId:t,messageId:n,reactions:i}=e,r=u.A.get(t);if(null==r)return!1;r=r.update(n,e=>e.addReactionBatch(i,M.default.getCurrentUser()?.id)),u.A.commit(r)},MESSAGE_REACTION_REMOVE:K,MESSAGE_REACTION_REMOVE_ALL:function(e){let{channelId:t,messageId:n}=e,i=u.A.get(t);if(null==i)return!1;i=i.update(n,e=>e.set("reactions",[])),u.A.commit(i)},MESSAGE_REACTION_REMOVE_EMOJI:function(e){let{channelId:t,messageId:n,emoji:i}=e,r=u.A.get(t);if(null==r)return!1;r=r.update(n,e=>e.removeReactionsForEmoji(i)),u.A.commit(r)},LOGOUT:function(){u.A.forEach(e=>{u.A.clear(e.channelId)}),U.clear()},UPLOAD_START:function(e){let{message:t}=e;t?.nonce!=null&&U.add(t.nonce)},UPLOAD_FAIL:function(e){let{channelId:t,messageId:n}=e;if(null==n||!U.has(n))return!1;let i=u.A.getOrCreate(t),r=i.get(n);if(null==r)return!1;i=(i=i.remove(n)).merge([r]),U.delete(n),u.A.commit(i)},LOCAL_MESSAGE_CREATE:function(e){let{message:t}=e,n=M.default.getCurrentUser();null!=t&&null!=t.author&&null!=n&&t.author.id===n.id&&(G=!0)}}),Z=q}