Build 541864stable
Module 130553
4,011 characters · in no known chunkDependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>B});var i=n(627968);n(64700);var r=n(192308),s=n(616356),a=n(495544),o=n(763827),l=n(735438),u=n(451988),c=n(228366),d=n(401843),_=n(439372),f=n(487329),h=n(601900),p=n(885386),E=n(734057),m=n(498642),g=n(873985),A=n(309010),I=n(116956),T=n(287809),S=n(927813),N=n(652896),y=n(325278),C=n(652215);let v=(0,l.debounce)(d.a8,1e3),O={},R={},b=3*S.A.Millis.MINUTE,D=5*S.A.Millis.SECOND,L=12*S.A.Millis.SECOND,w=null;function M(e){O[e]?.stop(),delete O[e]}function P(e){R[e]?.stop(),delete R[e]}function x(e,t){if(A.A.getVoiceChannelId()!==e)return!1;let n=E.A.getChannel(e);if(null==n||!n.isDM()&&!n.isGuildStageVoice()||null!=s.A.getActiveStreamForUser(t,n.getGuildId()))return!1;let i=s.A.getStreamForUser(t,n.getGuildId());if(null==i)return!1;let r=(0,N._z)(i);return r!==w&&(w=r,(0,d.A9)(i,{noFocus:!0}),!0)}function U(e,t){let n=t??g.A.getPreferredRegion();null!=n&&n!==g.A.getRegion(I.A.getHostname(e))&&(0,d.dA)(e,n)}function k(e,t){if(I.A.getAllActiveStreamKeys().includes(e))return;let n=R[e]??new u.Ep;R[e]=n,n.start(t?L:D,()=>{c.h.dispatch({type:"STREAM_TIMED_OUT",streamKey:e})})}class G extends _.A{handleStreamWatch=e=>{let{streamKey:t,allowMultiple:n}=e,{channelId:i}=(0,N.Iy)(t),r=E.A.getChannel(i);k(t,r?.isGuildStageVoice()),M(t),n||s.A.getAllActiveStreams().forEach(e=>{let n=(0,N._z)(e);e.ownerId===a.default.getId()||n!==t&&(0,d.vN)(n,!1)})};handleStreamStart=e=>{let{channelId:t,streamType:n,guildId:i}=e,r=E.A.getChannel(t);k((0,N._z)({streamType:n,guildId:i,channelId:t,ownerId:a.default.getId()}),r?.isGuildStageVoice()),this.platformHandleStreamStart(e)};handleStreamCreate=e=>{let{streamKey:t}=e;P(t);let{ownerId:n,guildId:i}=(0,N.Iy)(t);if(null==i||null==n||n!==T.default.getCurrentUser()?.id)return;let r=m.A.getMemberCount(i);null==r||r<=y.oe||r>y.G1||p.wv.getSetting()&&v(t)};handleStreamUpdate=e=>{let{streamKey:t}=e;P(t)};handleStreamDelete=e=>{let{reason:t,streamKey:n}=e;P(n),t===C.H2B.STREAM_FULL&&((0,f.QW)({type:f.iy.STREAM_FULL,...(0,h.id)(n)}),(0,d.Xi)(n,!1),this.platformShowStreamFull())};handleStreamClose=e=>{let{streamKey:t}=e;M(t),P(t)};handleVoiceChannelSelect=e=>{let{channelId:t}=e;if(null==t)return;w=null;let n=s.A.getAllApplicationStreamsForChannel(t).filter(e=>{let{ownerId:t}=e;return t!==a.default.getId()})[0];null!=n&&x(t,n.ownerId)};handleVoiceStateUpdates=e=>{let{voiceStates:t}=e;t.forEach(e=>{let{userId:t,channelId:n,guildId:i,selfStream:r}=e;if(this.platformHandleVoiceStateUpdate(e),t!==a.default.getId()&&null!=n){if(r&&x(n,t))return;let e=s.A.getActiveStreamForUser(t,i);if(null!=e&&e.channelId===n){if(!r&&e.state!==C.XYD.ENDED){let t=(0,N._z)(e),n=O[t]??new u.Ep;n.start(b,()=>(0,d.Xi)(t,!1)),O[t]=n}if(r&&e.state===C.XYD.ENDED){M((0,N._z)(e));let n=s.A.getStreamForUser(t,i);if(null==n)return;(0,d.A9)(n)}}}})};handleCallUpdate=e=>{let{channelId:t,region:n}=e,i=s.A.getCurrentUserActiveStream();i?.channelId===t&&U((0,N._z)(i),n)};handleChannelUpdates=e=>{let{channels:t}=e,n=s.A.getCurrentUserActiveStream();if(null!=n)for(let e of t)n.channelId===e.id&&U((0,N._z)(n),e.rtcRegion)};actions={STREAM_WATCH:this.handleStreamWatch,STREAM_START:this.handleStreamStart,STREAM_CREATE:this.handleStreamCreate,STREAM_UPDATE:this.handleStreamUpdate,STREAM_DELETE:this.handleStreamDelete,STREAM_CLOSE:this.handleStreamClose,CALL_UPDATE:this.handleCallUpdate,CHANNEL_UPDATES:this.handleChannelUpdates,VOICE_CHANNEL_SELECT:this.handleVoiceChannelSelect,VOICE_STATE_UPDATES:this.handleVoiceStateUpdates}}var F=n(725792),V=n(338771);let B=new class extends G{_initialize(){super._initialize(),F.Ay.initializeIfNeeded()}platformShowStreamFull(){(0,r.openModalLazy)(async()=>{let{default:e}=await n.e("25894").then(n.bind(n,166789));return t=>(0,i.jsx)(e,{...t})})}platformHandleStreamStart(){}platformHandleVoiceStateUpdate(e){let{userId:t,sessionId:n}=e;if(t!==a.default.getId()||n!==a.default.getSessionId())return;let i=s.A.getAllActiveStreams(),r=o.A.getChannelId();i.forEach(e=>{e.channelId!==r&&(0,V.A)(e,!1)})}}}