Module 224868

2,415 characters · in no known chunk
Dependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{f:()=>S,p:()=>T});var i=n(47167),r=n(159273),s=n(7584),a=n(695633),o=n(734057),l=n(808728),u=n(696451),c=n(317525),d=n(71393),_=n(576705),h=n(994500),f=n(287809),E=n(768038),p=n(690521),m=n(935208),g=n(408018),A=n(652215),I=n(307731);function T(e,t,n,g){let{allowUsers:T=!0,allowRoles:S=!0}=g??{};switch(e[0]){case"@":return function(e,t,n,i,r){let[s,a]=e.slice(1).split("#",2),l=null!=t?d.A.getGuild(t):null;if(r&&null==a&&null!=l){for(let e of c.A.getSortedRoles(l.id))if(s===e.name)return{type:"roleMention",roleId:e.id,children:[{text:""}]}}if(i){let e=null!=n?o.A.getChannel(n):null;if(null==e)return null;let i=(e.isPrivate()?e.recipients:u.Ay.getMembers(t).map(e=>{let{userId:t}=e;return t})).map(e=>f.default.getUser(e)).filter(e=>void 0!==e&&N(s,a,e));if(1===i.length){let e=i[0];if(N(s,a,e,{requireExact:!0}))return{type:"userMention",userId:e.id,children:[{text:""}]}}}return null}(e,t,n,T,S);case":":var C=e,y=t,O=n;let R=s.Ay.EMOJI_NAME_RE.exec(C);if(null==R)break;let v=R[1],b=r.Ay.getDisambiguatedEmojiContext(y).getCustomEmoji().get(v),L=null!=O?o.A.getChannel(O):null;return null==b||p.Ay.isEmojiFiltered({emoji:b,channel:L,intention:I.EmojiIntention.CHAT})?null:{type:"customEmoji",emoji:{emojiId:b.id,name:"require_colons"in b&&b.require_colons?`:${b.name}:`:b.name,animated:!0===b.animated,jumboable:!1},children:[{text:""}]};case"#":let D;var w=e,P=t;if(null==P)break;D=w.length>3&&'"'===w[1]&&'"'===w[w.length-1]?(0,i.LG)(w.slice(2,w.length-1)):w.slice(1);let M=l.Ay.getTextChannelNameDisambiguations(P);for(let e of m.default.keys(M))if(M[e].name===D)return{type:"channelMention",channelId:e,children:[{text:""}]};for(let e of E.L3)if(e!==l.I6){for(let{channel:t}of l.Ay.getChannels(P)[e])if((0,i.m1)(t,f.default,h.A)===D){if(t.isCategory()&&!_.A.can(A.xBc.VIEW_CHANNEL,t))continue;return{type:"channelMention",channelId:t.id,children:[{text:""}]}}}let x=a.A.getActiveJoinedThreadsForGuild(P);for(let e of m.default.keys(x))for(let t of m.default.keys(x[e])){let{channel:n}=x[e][t];if((0,i.m1)(n,f.default,h.A)===D)return{type:"channelMention",channelId:n.id,children:[{text:""}]}}break}return null}function S(e,t,n,i){let r=T(e,t,n,i);return null==r?null:(0,g.QR)(r)}function N(e,t,n){let{requireExact:i=!1}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return null!=n&&(i?n.username===e:n.username.startsWith(e))&&n.discriminator===(t??"0")}}