Build 573682stable
Module 545185
2,030 characters · in no known chunkDependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>h}),n(321073);var i=n(493336),r=n(439372),s=n(451909),a=n(734057),o=n(309010),l=n(25201),u=n(46013),d=n(381941),c=n(375708);class _ extends r.A{actions={CHANNEL_SELECT:e=>this.handleChannelSelect(e),DICE_ROLL_START:e=>this.handleStartRoll(e)};rollTimer=null;postRollDismissTimer=null;collapseTimer=null;handleChannelSelect=e=>{let{channelId:t}=e,n=l.Ay.getState();null!=n.channelId&&n.channelId!==t&&(this.clearTimers(),this.dismiss())};handleStartRoll=e=>{let{channelId:t,diceCount:n=1,diceSides:i=6}=e;if(o.A.getChannelId()!==t||null!=l.Ay.getState().channelId)return;let r=42===n?42:Math.min(Math.max(n,1),10),s=u.j.has(i)?i:6;l.Ay.setState({channelId:t,rolling:!0,diceCount:r,diceSides:s,results:null});let a=[];for(let e=0;e<r;e++)a.push(Math.floor(Math.random()*s)+1);this.rollTimer=setTimeout(()=>{this.rollTimer=null,this.finishRoll(t,r,s,a)},1500)};finishRoll(e,t,n,i){l.Ay.setState({rolling:!1,results:i}),this.postRollDismissTimer=setTimeout(()=>{this.postRollDismissTimer=null,this.dismiss()},2e3),this.sendMessage(e,t,n,i)}sendMessage(e,t,n,r){let o=a.A.getChannel(e);if(null==o)return;let l=o.getGuildId()??"@me",u=`${location.protocol}${window.GLOBAL_ENV.WEBAPP_ENDPOINT}/channels/${l}/${e}/roll-dice/${t}d${n}`,_=c.intl.formatToPlainString(c.t.uV5JaG,{count:t,sides:n}),h=`[\`${_}\`](${u})`,f=r.reduce((e,t)=>e+t,0),E=c.intl.formatToMarkdownString(c.t.tmSbYW,{total:f,count:t,sides:n}),p=`-# ${r.map(e=>`:game_die: ${e.toString()}`).join(" ")}`,m=1===t?`### ${E} ${h}`:`### ${E} ${h}
${p}`;i.A.sendMessage(e,s.Ay.parse(o,m),!0,{location:d.Hx.CHAT_INPUT})}dismiss(){l.Ay.setState({dismissing:!0}),this.collapseTimer=setTimeout(()=>{this.collapseTimer=null,l.Ay.setState(l.N_)},300)}clearTimers(){null!=this.rollTimer&&(clearTimeout(this.rollTimer),this.rollTimer=null),null!=this.postRollDismissTimer&&(clearTimeout(this.postRollDismissTimer),this.postRollDismissTimer=null),null!=this.collapseTimer&&(clearTimeout(this.collapseTimer),this.collapseTimer=null)}}let h=new _}