From e663a869f875408ac3248c3a12e7766b20852775 Mon Sep 17 00:00:00 2001 From: Arti <59352535+artifishvr@users.noreply.github.com> Date: Sun, 28 Apr 2024 17:29:29 -0700 Subject: [PATCH] Revert "Merge pull request #39 from spongedsc/bun" This reverts commit 12398646b15d5ced5f6c172af0c93d732a38e674, reversing changes made to 26ff6586ab9da20be68ac232e114d07fec073b10. --- .dockerignore | 11 +- Dockerfile | 11 +- bun.lockb | Bin 45183 -> 0 bytes index.js | 33 +- package.json | 11 +- pnpm-lock.yaml | 1110 ++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 1146 insertions(+), 30 deletions(-) delete mode 100644 bun.lockb create mode 100644 pnpm-lock.yaml diff --git a/.dockerignore b/.dockerignore index 89a813a..97aca2e 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,11 +1,2 @@ -node_modules -Dockerfile* -docker-compose* -.dockerignore -.git -.gitignore -README.md -.vscode .env -.editorconfig -temp \ No newline at end of file +node_modules \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index a970b5e..4ff260a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,14 @@ -FROM oven/bun:alpine +FROM node:lts-alpine ENV NODE_ENV=production +RUN npm install -g pnpm + WORKDIR /app -COPY ["package.json", "bun.lockb", "./"] +COPY ["package.json", "pnpm-lock.yaml", "./"] -RUN bun install --frozen-lockfile --production +RUN pnpm install --prod COPY . . -USER bun -CMD ["bun", "run", "index.js"] \ No newline at end of file +CMD ["node", "index.js"] \ No newline at end of file diff --git a/bun.lockb b/bun.lockb deleted file mode 100644 index 9d95adc4d817f58731e406c1fcdf4f63026aac8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45183 zcmeHw30RFy`1ipgA<^| z4hWU=2ni4YVfk@AXL)n{*eq{ukiUB{D^y#gBZI-X_u^5^)^HiwlM8h>jmr{}%D(jY z(L;p;S0@i$+bQ>qcKqu-Pzb_oe#8*^C5{%{vjPPdR3yw`MBBlY7{r$Zu@~DT#0ReZ zc~lWbHbes;|2V{0P7l-(hd4}-uL$>;ZVCA!wDj;!3`Q@wXD}Izo)CLN+yi1KLHq?` zQMl&>__BjI!MwmAt|yzvW6T0vcSv^@;J0<*^QJ?LX2gbkJXDcWt0qGo`dr**j1S1vhu^w~4p?&SZ_^7`Zn@1_=5#sI54q`AkY&P4- zK%dbC3SoWj;T$e@St;CO`4fV4HgqPo*Pr9hW_fuqCc!=Gp$?74a_+o{0MA*R;Jr{D z``IrfoErc<+8|IgIuevaenq&)euIAW34)H4?Zek^AH>Mt7h){e0b=+sI<+s~u1g@s z_KlI`_eTWWBTo(7Bd$u2?&;2B`vEW5kV=n&3oPdjG3pyAh_6fW`9lJ{IG!8^qh6Yy zAI$UPcmUQP?y+6MP#&5TeH~(1h+hH@`}q{yqkh;~s4vlLiVWZGc7l9kh_QSykLAw^ zX9r2cJ?fz~kl!9Zt{3z$gP{)TXg8u4a8maoa{Tt%m_8J-7Oz~eRe4cN9&6kj$ypIw z9;;_tU}`r8>MSYpRkvo>6zI1JV|#wnJ8^y`RUQmVGv=b)vunE0)uCB_ZTR_1HR`58@2Y3Oz(XKwdnFGKGY zxrA3|nm-$U@0&{+)8p%t5xX_k`&2IVuVsmv9$xF!GxXM-9D`+dC%k88@fgpqa^7qb z8c@I+tmUD5P`Yz`tjQ_S)zX)>y$0|q-Pw#m7o*M%T6aoPqT4*#ZWsFG&wP7nN`b9; zw_7pw2NL~P)*Lpu@l9RPBu?>ce@2Gv#r3mHedE6_9r&`iYQObGCzZH&`3+&!7s$QZ zcgE~dG5KR37KptXv57J2iLZXaP~nV{A3r=QEW^i+egAgRe0OHA1r|yR0y@|n6d&r! z85XzfLFCCaudwfKUScUn{N6h!JryH%`qe%cOsq{(BDaj|eP`aW%bv#K`Aat)9?6Z} z>MEZR_5OKw(#10qt8&+0n0d*y`t6$RbvQa5MzTDjiF_g()SEv*j8DQ*|sKb$&~{r3CWEdk@g25mH`+|wu# zKEJ_|j;%3ve;BrWIVDhExC%U$(4KFGTGh=%Cmx;d8&&3QE~G1D zR!}o@{=fsX*H~|?$;px|{Jid4`u(!|xkCD@RQ2L*FQ@O&3$3rV9oVbH`SC;N3b#g2 z=fjouk}-*!FRY8$IJ1gF^b+O{JNs;WYT?csKF|C=C&-59-@bCaR$+>6*z+lCD!4!T zl_Uw*EY90`zq^h7TbpI#$M1)lW*FO7Zw{0=7rHb-m+1BUwfNW%>7PsTcAc+N9(2XF z1B}c6Nq}XL3NG;fQ83-{)Jl2hPl=cLIzXbqnKP+#Q?U1KEf#65Ng`GhE_TWevf=_}A z7T|>-1D+4s9SHs^T%i8g@0do?+ae<6210{}0Uqu4U-~Z&Ktz97=l;6>e87)}`myf6 z2}J*%;IP&LJoX_;Z;OkRn+ykEfJqnqht%6%A0YUpfJgno3{?F%hqosX{1X7^10L%|{YiRT z9Hg8wOgsjF$9rr;d*>j6cLw}W0Uqll>3H2*AmvsI@WgJ!j;&!akKii+kNt;jNBLX( zNx}m%!4pp8Z!3_pPJl=IW8K&W?8o*5f{&xskGQ{W|2e>03F=2Yu_Io$7D)Y~FyINE zq_u`4d8F)Az|+Uy-`2kd@J66Nwj1Xjv}1b$slOIL_O$l@EuIAquP3Pgzsx@~0FU-V z{o7kNwvXta4S0NhLchVZ_Hq#XRYCp4@BY^QhR|pWf&NhaU)LWBctgOW-tE;L>mmB@ z0z8gCv>yf%^Y2>zKfyl(Jg$GZ_M;7m9a={6a|qrFUh16zPjn}7d+{3pkMkeFk+{A1 z>wu@*?{DX?9`Mj*4fUhluuXs4{}Tmxf`#d{U4huI0Pt3V_G8=sw*8HO$NtBDLoDHK zO9@hL7;J(#0G{0cZT-stPwd}To%DQC-$}q*2-=VNe{27auvs&jhW}grodHkmkM$G1 z@Vd1?%54BVS-;v_H}VpEl>m?955wQKzb9;p5&I)&dvzf7j|4m!f5e9z~lTw+WxopGlES`V!w7*4h2d5k$}hfAF+R9LxSHAcw2$~FqA1DK(4j|!G8n1 zF5uDcvHtezK=7Ip48~Z%V|_UH!*bBBK=3huH~Amnj{)8i@Hln|XL}SNWwl}Rn*RRz zx8vUz@HqdGb({E6TRM>Xj{+W_Kgs+<(%Xyw40s%Wh(r0?`gQv<7&d@MzeoJv_J1zm z?Ez2fB{5L78b~`E0Pg^JVt10>Di|_Jxk>Q71KW?!-Y}J+E!!0cJ`wPifG79u0z)BE zz7Fu%e*{PRk=(Zw6TG5S^ZOgxj-cc->kc<>~>C;+7$@C%K-lS3*Mvr?ff$X@K#Vi&L7wZe`~*Nz>gBNAMr#lxNJ3$axVa{2Y8%6 z5f9rL?Fs}h3*Sj`{K7Iu?H~T_`;!;ohXWq#23MqXXpaJ<{w;t<|3?hkkj%q)-&!E} z7l0oDc(i+abw^%;A2G1`{TI{!w*MmmkI!$YH|p@W`k$cTvG3a32BLpg_!y4Q|EM>v zKd>CPD-gUX;L-mOkNTsuClLH%z+?X*4t?Nn+g}EFe1F9{;Z^9b>+d7iynbQbs6%@L z+8PDh4%-mrbSo9hL5zASf?&WH`IYbn z!k=QyR|Y|yv_Y^Qm}4m%jCE?Bg)vLT<`AP^Rv=goe36QwPpKH54XJYQj6;=kf*AFg z0)pk81+fdnIDdP9V89s5vGE21Jw}`lmCBE?+)NNm_Yahia1hL& z1A_B@3<#D>0KxVz1HsT*j65qrm>|g@$hSrir$CH>9%K1bDwQAOeFg~Dw?UAOG2U+! z+_x5ExlBPhj8Ttl!9B*P&sGpDw+#dX##nAA-ax<@^LOD51dK614{sp+DMp_x2EqB_ z90&%C@%|FtK)@JzEAa-xe~A%a1%mNq5DXaOeKkl|kXs-a=rOjthD!Z&jQ)Bb1lx%L zc~I~keID`u#vvF1f(HotDSiB5I^Lt5eDDSW##rv(IOO|LHW~#2#%QO1;}EU!^LYGu z95(iB#DV>PGXP%)2A`Ks&CJ{QayxHfWPZe@#0A20UU&u>CXc;8RC(an>mP@DZ0O0E zY$m_-d!LRWh9k4K1Q{I((Va7@?CaSBhZL6AKc17Yd<~5k`<4XeH}8@`Gl#`5HPc@l zyR@s@?B#Ni&(?HSlv&hk--73lgTp`FE0kS$Y3uBf14gXn@zkv)BD>$Q@7gswbJg@Y z>Qi4u(s*$!k-#+Vvv}ac)irltS|q^{=}v?KVA$#!Kcr($(c{DqK8QI zvKs8L-Y4d;+qNaffqR}`aQtdmUp%hzeAZg?5tlWTbJrbMR(UKn#OicWp}{cgrTE($ zVqfe_5}0AS{=V9bO>@Jg6yvt!g@$u4tvoYg%WWmiGfT=i#g~dtzi%|UH(;4xhsVjc z(p=dV+#A={R}5Kh^GzyeO%H_)6*OLaCLn?NF=NnRneGZ2y{&6T`23K#IX2X4{kPI- z<{7+xno-A$N-PXaFVBuGmDr}u?ZN9KwES*$O=NJD=j~gsuN{mx+x(Hni}O7ROp9Gk zHd09pr2&&3GG|N^x+>+h>-;Pi-kk;cHP_U?JMgyJ^flYZ3eD)Ex105vYckiV`m*)s zoWNZ!rBg@Ftl(Xz@#1?B3Csa+51r^bFRxl{+-;kZODUNK(qHD9J3W8wS?MdQWVYzp zbKUuhPaMKGY`AghiL1TP+b1PrgLgkTG5DZ+oy4_QjD0j-`g;{~WZ7zoOw-yoDYE{` z_XhPjW;i`puFTj#yyoDVEheFT?~VHss-abKG%N0$`N7zX0c&K!gEziU%3qq*+j($9 zY4#WzFFyN_z^uIf?TN4HWFvd!HI_+A@!wuqEgE6>F@W=?P?9m?&Z{jd`|2$UI#rK7 z_2$s6po?BA3*VgPsi9&icItj<@{muQny-t-ndk0N8F$7+z_z~swEPT$pDHnX@o#hS@198sN~N#iBY@2ECY?9G>*(^5)Y zY_kVlNLMvTk9c;cQ|c4L;hT;N#V$|g$VI<&h`VArLT7u&vN%b@Gg5O+U48fbVCjgx zmx>M8`;tfF#l3D4m`kiCza2YiS(59U!cMAwi9b58J(Hs@e!PRDQ*Gi!##d9b_p2Mp+8wr0_syt0z9avm$}7i+M! z>~mh(b}s&YeEnEOKV6lvMK(E?2JPN8J)^_XEUCvs@wb;`{_R6ZA!fcm;^HrBrYqTZ z_Nc^$YsEI*=ISYhnip(4;C8`DUOH+1ejqL6199O~8clc!FCC1?` z>r)u75u?&A@PN{*1y@qTt20Emn5xB=ez$|xmez$P_7_(`1r_YE?Hkj9G z+XZ>Ot!};*>kf8ZJK(5vO;&G3*_pL@{exUDEH4y#(QWbL&T%8J-x;}jt-KA_|1FId zwsV^TQ&`V<)uW_4W%J}FZ4Gj>%6EmNYC#6m*%r8z^aI@#Zc-z;nwb_p!yzx6* zIoY_ zG(;=>vk8qCw$YjbQ#+|>t=jspu>`lXq;nrh_5x;I8BwL&jM6 z)UEu`P+fbi{IT2Sh}ySbb*CLYYk%r`qFw5pfax{Ib+e;#BJ+FfDxY|R#w$_*oiu zS=HL3HHN?7eBXSDzFsKMc^mSUx^3FMZ;k4A^$6crr)Swsk`lGD`&d3o=-lR&!gCLe zn|exh(Y$Ms%j)`m(4Mo+ywKRVTru|c{7~Vz2g0Ae#L)Crr1RDl`Bj?Lu{{co4lEq7 z!u9;{$P?kqXMb8b?8Bqyh8^`qEDUwEW~{#Zs$W3Zk93t3i^ZBXlZP(T^tm@TIBZwf z9?NOGN_5_B^U{a7&8$q__35t1kg9c>0SiPNwlfutO{%6xSZ&GZcw$^%8M{3@raiqj zf9lZ*mKis!m3!suJ>H~nDQ&&YH6{AIu1x2hQ02lf)9tk>cUk>@=Lbc{HC0d8UXlG_ zuHgSpEV$>r;=I?B`Oc(Qgxl-kHTvIZ`l`@*d9@v) zBFAk|Fxz`UCfUDX)yomQ$jz?Iszqum9dvp`7LH#f{cN`?cjcMg((Z4ff4=6VP?h@C!C7 z?m}nduW01&>R;?~@pizPzP#}PXB`wJ3@&{tRg0XvVB@)IZ+^U9akIzt#KfVQx3fic zXuRrl-c?&OzulN0H9M~)_sIM{-8{?Cd=QWB_R9Cym@!vvcSQx7?v>2#** z;wDkYBX(Py1J*0pURUiVZQfsk{(dot&U?*mx@P|yleXjy_;fNw{pIPA(WRaB=7yuk0D)FL!&JQ+#w0=h$GGC1)my?T%K|UORqb`INh2n}xO+ z9qqF9%-{-7uW=1D-obR<^*@qDWwobXblUo2y1B1^l~U}ee4j&>Gn}0()YmQFsoc*w zyu??bj{!qNJL06*w$tuXL**)tf4&x%St}Ryan~gpFN@CmV$`i5w#v2r4t-zsOcl<# z88=1OT=n?*r?amOFHxH?L0e9xAHe(PNQaR;h`0l>GALukW9u z@oLg}m6j+6+{t{W>8buM?3~$iNy}@g-;)!E4QJUZbbcJ^*DYK+qFncwPT!<$CjGuj zOPrRKsah_5LwvE>N_+L(d0zQ6UM)JW{q;l9r3oP^_l&z3=o$U!u;W7f_K>MV;-W`= zdYZOw#I;+A1uA7e@}ibyruu2)>KEVYV_&<`c(v)g2REng8=m{X zOngYEv3noviHm-{%+e!0uGhkuk*s|yZ^T?)?=q>&bd&uJ`!#MhK8SW%EwSUq{L-t^ z8w|dESI%>Dq4Da_d6j3ZpOziJ__L>K@1x_?vMxNj-u2L+Fs~y&9&MNrDH2?@c(t6n zdj2E-T#IkKsCsMdL*nW0F2(FNs`Z{;>~LdA0*x2<ut~{^zBTaw$NgA&{owr}jYA^8-NfA?Cc%MJhz%ajLoezQMzcdcgFx1Ra2@AfY!_)6n7p!42ISUq&L ze7?vnFa%AZ;%)K4z6)-5_3;5U4Z^Spgq z&-EUp5GOJ9<4hVaeA{XY%!!BP zHRZKplJ2J7$JW1?W%#sQOl_C<#mrNF@2}B#@p}&m%r1j^T$8MianZYPGc;Ce)E(7D zedBiMN|&t-JR`dDLt}k}Zk+nzu0}TZuXCBlKlGTwyE*ftbzIG&4pItugNMv+pxcY%4c2*z&{U z%+)D}IX;Cyjy0t9x_C?IS}EPnOz6CQhAhm!?SE2b>HzC$vk#QaUUz!rgpM0;=QJjs zNiv>S_eQ78)W=tnWt89JdFg$<&!VFYP4?a_<7&xodeh0{dCm};zQgFeA!Ru+CfBMp zhpq{AnUuLhvq;l>-y{(RlH@ z9|_E!FCH3;rFFXY@!*vt4J&71nX_h%!GUEid(0%?*^e2k+^O1F`@xZTC2I%6rzHm^ z9!?Wtajdpq=`+%5K@mHAu?LOUf{;SY?4_f$Mn3CtjhIeamRq#>h@H1LN{U)Eazmep zZ@sIVkiABlmA?A@(*`N#k_XZQwDwC2*H>=~tzC2IQRBH%Tj^6Y-r;m!FGDlGFGtGt z&wPou+|}7MJy#++dY!4M*g?~=Y8%PHxBr+S^b)R48<(WCc)cO4EG+xm?VlJy>+P_eK; z%%qE$#r>74$7B7*9qeVm9t!W@tZk0rQpGfVN6>lubPCsze5HJ^_T}+u%#$PC#8>s$ zlb^`Y=rT2_OTCta{qU~iZ>UF3kYFxae1li7x9*hG+|@=t#hyJPe;k>8lNn0mwW9O- zC@p$%?faFi6O{wT+}*TOEpT$mUYY$4$Jg1oY?_qk7If;R+`a7UtiuZpeTC&-?!Gi; zx##H*>#r4rJ5_GejxeG>pN*vR8b2u-GM{BFBei4f*|U8bK3+CY>pY_<-STtQvcl+V!*Dqv+ zp1t>874k+}MJ;&r*~3=b`wW%ur?7tOc>l?LXUgP=-Euo#IybhjaD|gpZg!;p2pX>~ zA%&Q^ZjWN2P2H|7*XB=7sEd5L?Y4*6Zg;hEJwJUGPeN#~`d&lk-tB5%ZT3F;@I}Mm z<>p(}pG%`}O6Hv(yeBGQ-C9Q)?`S%&^L~@WgTw@f3=DbhFc)m!DS(k16b@P*@oaA4AA~)EGMNi_c3B z9AQ5^gKa0uguG%>1#*l4W7(cvHDV95m7zu{K=ioMBk*1DNNF`os=e4Vn1{13#~%Q z5gDmwyFR(4u1Oinu)Mb9$ld7jg%MsU13WXPd$W$yc*oLtMkk%26^}W>ZJndCL z-}khq^L~|KC+^$ib^7{>Sc8e9ZS@1nz1E~3DPPoM+_Qbz$s@&9xG6k{=_?usTzJl_qIYspMtO;~pNz2%1-RT!N$7}UO*Sp7` zIq``-o+Z5IoXq9K{l4Oy?uB0+-Fm&x z*L%%1pF8JnQ~lV%r9-2&$?>SPuB(?1>c2*F)JB`WOLC^~ZyaYq<8`9*_I`9pc!0S7 z)+~|!+-LTSPIfip$}ZTy^OaiCxs>&4=iWH0ANH6&G|{Bv;lP*qCAQYvJQt=8>$BMO zT$+^bFwXgTG~P*c-uqWOm#W_E^ENdoc13`$+rl`n6Usx*bh7rJA`yGFk7M6Uw`8_V zIKlOdbz0zZHg;*jl>IArs`hp1p`Y^L>i+)j^m%78owu=1p9;%?d&HNX7vG+pe&o!P zr+3eabo=n4O!%qifGd+42PrRYv>!8nMervh?l`%I0ZUY+#YRs)?iy`<;JVB*u{xT* z_`4z!m|ud1-RPGev*XP1ZmV2ucHHezIzL|f(5`_dx!D$oR)jnDL$A%n{uaYGb zr&OJHId;h0@s#fMZ$e$UZ+d0QzohX_C8Q8D<$F(ypZR!R@fWF6Rx1bBZ7=svTyZWp zdE>RX2h$5J8J!0nQn9Q4`fYL4X${V7refw4eed`#Pj4+fbyd=CUdJOTG+t*qZ$?DX z33Iia{LWS<28|8Y`C!mHe9UAAJ(Ud0*v0F=nz#?_zS2qfw&JajlV-bXS8eX8UKzRO zl5E6;edl_)`mc}pK;xZ8=XE!Tbt$NQI89@4S$g&<(-AxCyknwP*F;a9cj%kO_ID3f z9Ml>(KqljSmsIJ{#c#Kc^N941@_sn@oaDyOUzJB>)zWzJcUmMc)Y|Rik#0^=h2;v+(o{1k`a1cGjDFmNv)j{ zr4Q))a;}6FV&>7lY%dGR?ExjYPTg^880IoHV>J9fWBV1(RmrxIijCuv4_R;T=R2VYfE-11P>3NbnEbCrjhKUwI-*sJ$C46)Av)S(|H@m z9?a5_8v0oOqaPv2*}Cr~6`kKX&IaUFG#3FzPZJ>@-aK zcXnL0t!U;ngT}~V<7xJtLFe6EKUshBy)J9JZt37UZqual2Zh<&hSi=P7_rf{-eKcJ zQO=$<7c`=y%9lC#$My_eq+n-qKFVk?E5L^nt}Rv*ulX^I}7 zb~b^L6{m9Q)s?FTjnhxRA8?`Xi(Q*Lzgt+bq;uKs^gXlEXB;j!QI#*>YPsU$EUJp8NS4pYmpnZ%NBnHsjMTaDwZjdqorPu9mpu5IJa%9FjTfU? zN7Ax+p1ofW*B@WNaVq3=DcDi&@<5-)>q+N*Isc3VV@Qv1$qCaVzV_|!;5siLV~n(F z?Xt9h*J>Kx`8C2CGTpSDM{7rRw9{wr-~DW?&X&1bRs_xY-gn~BLzVRBUoSfE@;+JVwdiBZ|qxkqgZP?bec5#0leq)rl(MZ3I!A?c8GIr(|MkU#S4}o;xvBWU$?*j{c8mSN zem8G_m{ONNBFco*tw{CSwAxZniHyi^Bf4}n+4qtD9_vl#RdHBmQnxACQY2^m?Bp!j zNzoFMeDz+QF)1^@_c1hhr_uJk@{b+X*q1A56~(NZ8qwKBD|YU_Rr2-sj*aQ#{cKJ) zO<(-I775G~MnYG5xNI$V8|BM>{wn&Sp%=5C(=JJu4~ylM4{x^a>?u?wB%gdYCq(g1 z|H|X;!kJ>$s`UB6mykltlrov7c3$qmyxYcUJKvame6O^S-o@yX?)}~svBXo9&NXyBq5H<-{oDmfn;V-YnaRrZ0!id*t1Y zfSIornOS7L(he$~#B-A9=ny;7twW@mcrxic6(Z?-=)jr z{@NyaV+NU;%2e3QxcxoQ!>pknr<;OY_wBip%8fec&%H`~`nSg@Tl zY13z!Pc&XXI`1(~r(Ulj*VOecn6yaYfulLA@AhR&_&iCz;jGN=#o8MyhL)Fjb-KMM&p1NZ$$2v8nJ0}mfX-_> z>GQ2q%fdodTwS~7&XIzHYGn@?#p-p^v&KvGoBx`(r#9r)n;$!7)Z2Zwyp)sX&nuc- zbn|_;9<}p(SZXZ~QW;L;< zNi8s4yUzDm(z}=JEwVeeM6H(T_u#_nPrE*4Y+cgT)o%FnHCwK)&~eNxkIJ2uCprI$ zWP&s9@B9n@EPxh(SL3F?IjM<%#*_N%i~nrXUJIc8$luIVfggdv@06n3i~U#bp9TI| z;GYHlS>S)i0{fqxeGXMukf_-BEC7Wij@e-`*> zfqxeGXMukf_-BFt4=oTV_=+7oo8LH*VZ0zuO-=wW*xk=hlbji-IWdUMHj~rUmg8~e zu({rY<@Dv;{Wv}WTyOqgg=qZ24@iQ)zrcOmqj&>>+~aq-A}WRdw|}q<{_PTBK^p!J z0@IivI|OO?8wO0nzZpXQeIx$<0MojFkbj$qza7A|t{~*!>EU;OOvAskLH^AewieT{ z&iNo1u;rMBEm;VHbp?T-zM>%HcPhbfjpg8zBK{phDulrQF)dSIzHlBtU1V5@o~{{K zsRer>2Kll5*j}s?+fxH_2c#C{F33HQJdnL02S5&j90EB4QUFp2f_6r`W`b-2$pYC7 zvJs>Y2>!c#{5SOY@7?=>;J+hBJE2|B4%qHWkV_!dAlE?7ft&}q0J05aI|%kk4oEgg z3dlN;^&o3N)`BR5U>~W1sDY@1U|(o}3aPLCJ&+jvH>Im#04Y~1pOiq z1iK8o3;PxOGX`V{$WoAtAg4ikf$RiX2;v9g1EL3l{uT=o2Qm}H17y3P?=8aM20~jt zfO<>@84WTD#0EqJqyq^01NsK~L`T{^@fFMy1`z`33L+SOKg{6T1VjR)HwfCc8wmO_ zDT8f7+hg1lqz4H01D3&m6Q%<)7-S%b3<&lkmPOx@1VMiyeuX#`((i~tKf^MZt^|U8 zfPFCl1UWFBaQ7G7qfcTTn1|)?n%v95HI~PFdU;I8H1s7*M-GBT9)ibwyjKK~13@m- zhvcK~c#Zz627OUgkaIPF%5a}nxrGADhO#aau7YyR=Oal zpAiUR3_%P)^g+?pr zf{X*P2eAVg12Pr_{R(9gh$F~&5C;$(TTUQY5BknTkN^-55HFA!AUF>ELEJ!GK+vCj zL2%4W1#t$M0^$jR7+Q zV0ltErs4P{x&{jJv0fY(qXjWu2MWe-*$PO6ATn&4uAytl5Lo{Vo91(!=JgN9A@o5s zIrpz)2RCg^9YakW%G*UChn#2#IXe29I(nMgihuz-Mw2rYA;&;dS5uqsK`?5g$?1y} zn-PE*-N=tVa{__w4>YxVXoL+KHDCFn^8(@wD2HD6-p^#&!33~I_4$L8Ej8Yg~)Znk{(V?9XEI6UG zV+UPO4XXK1Y>FNET9b23K{vED)I&}hCMTLg&JaxQ6FRB>fjsbW!I`?`Oi#!$ z1Ply&a!N5dB^7d@f6zt9ImYB1Rmj15fQ_7VOio&b9MDWhQ%9SenM}@XrPwIU?>2A) z8-SPoRZGoG`AsEfE|W7~1$F~JU@-Zo*pgFFDGewa{El%$TZ0YAiN)l^RKP%E(AMP4 zXL9B&l|%IcIsKWOJ}c;Lu+Fb773(kv)WSecJSHcu3fKTc&QK<2xIzy0Hsp{~n8_)y z%{k;eXmTDc#YT-Ra$+<&v9>uUx(nZT$XTtOGV6=TnpOaRCD}3)+pGWKB-e zg&cv_YpSI!=aAE_$?3Y3ZWM-`e@)Kc zZPvPFi;}at$yvdG5!kH-t-)?B=!WA|a56VJ8JMpdy45Lo$ilHr&Jczin2^v9$SL3C zlwm4|vKu)koSah(o(TPe{`SY7qb9gN>PF2~E!Y6GZo#Wy%#jnz$%)CJ8}@cfHlT9I zY3Jm$WeTIO2@i%Xd*UCprr3VB0p+7$g_hY`&S|+Ga^^ZY^SQYfTCiKI8nj?Hz_hGE z%XVu)H|T|yTT0H7Cudnx?V(om7IXu)7Bm2@|4T3Yv89xcwygCZF_a&)+@3#Ts5yQd zEVH=MlJmNo`?Lj%LQ7lj?Uu*se`(JjXEADBXql}H8q*uvL(Ur)vCS|ujjsomHFd*K&^nOumHneMs)ttO@~KvW4FS33hhLX|6K#> zX&o%e;kgF|xkoU1-|sRnxC_vca2 zfXey(d6d!(FfFiw)_;7a(5Bwn#Q0Ae7tc(r%3Xh9X0yk)FpB|O3v(i9;Kk-q|AOR_ zYss^9o3wJ9*?zZMtIr2*%>FHpg)Y7L<8<P9cpG zWUW3^IaF`&1q_%Wy1zoFjpH-*A5l3v2AYP969TrC>ur4B_0Q3Q9Krln3OV?cwxXbW zUFzn{UVIFCh&wMLz;hNSxFVOWyO~uS4>@3I%$X$4e=ivqHfWJ8ZzODW|<6;Sm(tvue@6d0U&beZ( z2&Dm4k1XUsW23XZrq9c=<2pi)V8wuUK%XEsk5@X;ZQhQ}Yd{04Phl+V0}Qr@{e9<9 z8RMvr9XsGo6Nca4_+ju;q2(M;cOKgh>WP16l+kIV=Lx6>R(ez}0yfQXZ=>8*uj7NP zi`a95k+lSJaLf%m5>cKq*hn67@QpIk$oj%~;pBT4NJMJH)F zFIPEeYK%EB=wUIb66D1EIJlufst@!6g@Hb8!LPvvjNj)S)Bv8MYk&={!#$ahmz(zV z6tH16V4~|%{Qfy8uD|@mqtkt<-p0j@@e*=S>k{Y351lLAz<2aunFFP%g#>$U^M!R0 z8)sH=I(8TWImVD73`-35oc=0Ry?EQp&_B=?BTYjchBV~Ber$BVk|g1p#d$lC4YqLr zqYgPZ7B&Y;oC{r=pxdznF7;SXFwc+U0kQSQnw%`jLKr`~nugR)Nl1Vf$CCrQVm_Jrr(zH+@*VG3nYBOE1mkOS@$z4M08Gyl&C zvXpi7P&s#j)~OzwPp2Fml_cl|U<(xF)QNu6R;;~K0XaB+fGrAg&_fRGeKcvCa-L{2 z=9HiwPv^sx_L4D)R1SDHG!b%swkV7e%B0sJ2ljZQcj$%ISKAK6QLhW*2Q+Be*1y{g zFqGkbw+??lME4JVK>WJpmbPr2mRtI}SHUQu-0Huy)E~CRaZX(KE&YDk{am4Di?(co zmVKw?_WV9dh;`~g1N7^Hnwj$l9+K|&|{(Wo@f{w;81wK6BS})8UcJ|r$)Iyj? z!F>&3acsFywFdHMm;2pq?BCifgS8&)W{f`CGUoR&2N-J51@l<`oN#uKZrJlFYbv-u zfK9M7*RtLI%P47C13#`8Jo&<|>-|vE3}gFh&;W)#3}I?x`Ojma<(7)b@#oRJUFYkR z2VJoRHryjN_|qKH_E>NSHtf@T8@|Qd+BHW+qJtx(pr8G^vn|mf5OS0tXEnsAb+@C- zW~RsY^@sgYnEJ4PG9U-%-kM0CK2e>xQB)4K2KQabpaO}1{yfcN`-ifFG)IO9vx5TM z{TzdXH~~Ipayrf1^h27q=`93Ib$j@X@O2J$^mYEQq0bBC2Kcaj0)s8QI6O~okk?F} zRw$R_$rjwg!<4tTe<0h31s}=bEeB>`9@mQ#;?D{Tat{n-2l4!QY%d=+D>#_P<9g0w z2WxV;EGWhf2=)yQ4&)8h(h6exaCpH%5t;#k{xf-++#nyVUyEw7eoJEE-o1flu+JQe zrqWuTTz^m)xLIs}PB2)44S&=lfZbeYQ&Co+dk~Ku)Gi(PMSs$Pp9DI+z z0AMNx1b(Mz9pTS|;{H4qt`NFylx?l?!19|xSU9A0+93VaYC!aB5{r6?MV{syzEQ&c z{m>dg?Aak~UNDQtqi$R1=-&%NUB4%SDewWLb+d(`*}`}%{$~p;%>SYg63p=n3HD|U zVTHo)G`!q{*{$@}udVs1>4ILzx6QWtrP=L)q4|bIeTzcfJcA+vgSjkt)ei$db3^R zPacMq(mf6|ZhMIR=Cr`_TN+L=I9_o8HhDM8lN0F64x%OS;3rd_;3L6o7TeRyS8$2j zOXSku-P4QX?ag7cd|@xf-#s8O#KRAU2ODrOcyKF@>+cZ}%;xbgy*YlZ%{9%1Kmc<`JGV+2;+ z)*eCsP#ReOkV@&*mP=E6{n#A*12(8r+pa*fA1-Zi?<$?deGR^m`xC*@(WzS|5H4V0DNd6}nzBzDK2J^RV2f?7k zbq0{MJF3pM<_7X10HEZOdi>=NOjxB@UO^r{Ke>irQN$+{UaQuixg;G!nWlxjb~&6c zQ45%wuG@!%xeA;Var`UF!qigIN=sZRe@OvL<5!K=pH6>yWCWI9QeYK;FC)kT zFQaT0^#sV_k;k9_b~udfSuFP;pVqAY^YbTE@^b>!-nRUZ_N<2lKRx-i{nqv;g@NWz z$<(^nmNtStX(?10=ttQB0Knv@G}x(>`B#+YlK}ri4`BHhfN6V{;IB1UAAixI_PD4=D0o6L)Mw3XO=-c`8$b)Lph|p!Z{6YX z*^6SvTFEsa@#(E~B=tKwKv6Lu4Ee*to9pMt4Pynt1`WJW1@pYQLH;aw=XD3)3XfoU z2XX!3`8l)|>;GI3YWO*!U6yRB72r+R)LcvXBf%4}Bim|PM zOTOR%nq0ywAihPk?lZqS2jG8A!tR9+i)|25KfeVu6~ps2{PMOf#BUpe2>&e+nt|T| zk*q1R6=OD)`H8HVqZQ~++m>hu`Zgx@`c7HX0(K~TLtq~>SPRMUxf*sq143c{FxZzr zAF%iX#NDU$JxwS@eT;;<$R#zmw>8UBZJ^fy1iz(G&t=qN!yd%A8jdU4d1Y^cPH3T_2dS?b`Wjb38pmMjE2`+uE$K6+4!%zp6;H$ zY!(y_4&t`*1vSHI1;Cyc)qQ{7`KFZu zMl8(2_ZRpm+ScIy$zp*0>7Md5ib1fp;X;54c~QR!X+@#tLcrO40|OO42)8llX>|dZ zc89YJ^mOa975S=;ZGoi`Kd|FQSKHHe^S23rHs7%Dm)!W)1l7_$XL!Pj3I4?423WwB z3+%rJv9)*s+%RuH_gQQ~cZBf-G%WW(4vXqYZ+F<-_F}UGS+LO!|2~lVK&8nG01#?R ztH2|K;|H?{kCudMqC0+{peN$PEUgSU68)=7SZfa-G#J?p#+8ZhcTKIL)(RGE%ZIQn zLjBymyy5-HCxpL*OlOC}^fg`Z*`yVJpjCwmgN3Pw@TTh82gSw#6eDWtpj^}6-3Q*x zsog1f0cjsmbMK*>G<9XOzqdle|FnxOpne~KlRkV=q}&607xv`AXL%mnh*mf(el7`Q zdAQ(sR3LdAd(?2orn-OnZh=+6l_uG-$k{mqww=eIN%YSd3L+Gs)>js(n< z*Zu5XRF}8)#PEmF2y9Iw6DHQSACj9nXueN$;*SI{8Saa;-ce1{0AQ&vOz>li_Cat4 z2M{%p>r%59^(HOwIBF(orMv0HfQ5dG-iqJg+E853ukb$KJm&yY^9}ZMoA2ecK~H8g zAR(7vLik|}YSL_P*zd*Xd5(8$du-%)1;9lvsYj5uT;rFy7u)mmYz)qUAKKcmP1D5K ztSnG9-vEm-e-FKtF5*x8fa71lOAht3gf{B_b-8H5H?JVb)aDFA>zL-r56GHtDF1HL z6wPizeccBJD#rB|{_!3*CNPM@^Jn?Pd!>6T)}WOF4%!{4fddwZ%uMl>Nn36hE*aXi z25IxqYwW+a$g;98(@P#0l|1*aF_x}HX02v!s AKmY&$ diff --git a/index.js b/index.js index a3f699d..9122f64 100644 --- a/index.js +++ b/index.js @@ -1,13 +1,18 @@ import { Client, GatewayIntentBits } from 'discord.js'; import { joinVoiceChannel, createAudioPlayer, createAudioResource } from '@discordjs/voice'; -import { constants } from 'node:fs'; -import { access, mkdir } from "node:fs/promises"; +import fs from 'fs'; +import path from 'path'; import { DateTime } from 'luxon'; +import axios from 'axios'; import { io } from "socket.io-client"; import { MsEdgeTTS } from "msedge-tts"; +import * as dotenv from 'dotenv' + +dotenv.config() + const channels = process.env.CHANNELIDS.split(","); const backendsocket = io(process.env.BACKEND_URL, { @@ -29,12 +34,7 @@ backendsocket.on("connect_error", (err) => { console.error(`Error connecting to backend: ${err.message}`); }); -// Create the temp directory if it doesn't exist -try { - await access("./temp", constants.F_OK); -} catch (e) { - await mkdir("./temp", { recursive: true }); -} +if (!fs.existsSync('./temp')) fs.mkdirSync('./temp'); // Map to store the last message timestamp per person const cooldowns = new Map(); @@ -63,8 +63,17 @@ function shouldIReply(message) { async function getPronouns(userid) { // this is spagetti i'm sorry try { - const response = await fetch(`https://pronoundb.org/api/v2/lookup?platform=discord&ids=${userid}`); - let pronounsresponse = await response.json();; + const response = await axios.get('/api/v2/lookup', { + baseURL: 'https://pronoundb.org', + params: { + platform: 'discord', + ids: userid + } + }); + + let pronounsresponse = response.data; + + for (let userId in pronounsresponse) { if (pronounsresponse[userId].sets.hasOwnProperty('en')) { @@ -134,7 +143,7 @@ client.on("messageCreate", async message => { // Handle long responses if (response.length >= 2000) { - await Bun.write('./temp/how.txt', response); + fs.writeFileSync(path.resolve('./temp/how.txt'), response); message.reply({ content: "", files: ["./temp/how.txt"], failIfNotExists: false }); return; } @@ -207,7 +216,7 @@ async function tts(message, text) { }); const player = createAudioPlayer(); - const resource = createAudioResource(Bun.file(filePath).stream()); + const resource = createAudioResource(fs.createReadStream(filePath)); connection.subscribe(player); player.play(resource); diff --git a/package.json b/package.json index 8e2cec5..4e88747 100644 --- a/package.json +++ b/package.json @@ -1,22 +1,27 @@ { "name": "spongegpt", - "version": "1.29.0", + "version": "1.28.4", "description": "custom AI chatbot for discord", "main": "index.js", "type": "module", "scripts": { - "start": "bun index.js", - "dev": "bun --watch index.js " + "start": "node index.js", + "dev": "nodemon index.js" }, "author": "artifish", "license": "AGPL-3.0", "dependencies": { "@discordjs/voice": "^0.16.1", + "axios": "^1.6.8", "discord.js": "^14.13.0", + "dotenv": "^16.3.1", "ffmpeg-static": "^5.2.0", "libsodium-wrappers": "^0.7.13", "luxon": "^3.4.4", "msedge-tts": "^1.3.4", "socket.io-client": "^4.7.2" + }, + "devDependencies": { + "nodemon": "^3.1.0" } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..73c7d2d --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,1110 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@discordjs/voice': + specifier: ^0.16.1 + version: 0.16.1(ffmpeg-static@5.2.0) + axios: + specifier: ^1.6.8 + version: 1.6.8 + discord.js: + specifier: ^14.13.0 + version: 14.14.1 + dotenv: + specifier: ^16.3.1 + version: 16.4.5 + ffmpeg-static: + specifier: ^5.2.0 + version: 5.2.0 + libsodium-wrappers: + specifier: ^0.7.13 + version: 0.7.13 + luxon: + specifier: ^3.4.4 + version: 3.4.4 + msedge-tts: + specifier: ^1.3.4 + version: 1.3.4 + socket.io-client: + specifier: ^4.7.2 + version: 4.7.5 + +devDependencies: + nodemon: + specifier: ^3.1.0 + version: 3.1.0 + +packages: + + /@derhuerst/http-basic@8.2.4: + resolution: {integrity: sha512-F9rL9k9Xjf5blCz8HsJRO4diy111cayL2vkY2XE4r4t3n0yPXVYy3KD3nJ1qbrSn9743UWSXH4IwuCa/HWlGFw==} + engines: {node: '>=6.0.0'} + dependencies: + caseless: 0.12.0 + concat-stream: 2.0.0 + http-response-object: 3.0.2 + parse-cache-control: 1.0.1 + dev: false + + /@discordjs/builders@1.7.0: + resolution: {integrity: sha512-GDtbKMkg433cOZur8Dv6c25EHxduNIBsxeHrsRoIM8+AwmEZ8r0tEpckx/sHwTLwQPOF3e2JWloZh9ofCaMfAw==} + engines: {node: '>=16.11.0'} + dependencies: + '@discordjs/formatters': 0.3.3 + '@discordjs/util': 1.0.2 + '@sapphire/shapeshift': 3.9.6 + discord-api-types: 0.37.61 + fast-deep-equal: 3.1.3 + ts-mixer: 6.0.4 + tslib: 2.6.2 + dev: false + + /@discordjs/collection@1.5.3: + resolution: {integrity: sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==} + engines: {node: '>=16.11.0'} + dev: false + + /@discordjs/collection@2.0.0: + resolution: {integrity: sha512-YTWIXLrf5FsrLMycpMM9Q6vnZoR/lN2AWX23/Cuo8uOOtS8eHB2dyQaaGnaF8aZPYnttf2bkLMcXn/j6JUOi3w==} + engines: {node: '>=18'} + dev: false + + /@discordjs/formatters@0.3.3: + resolution: {integrity: sha512-wTcI1Q5cps1eSGhl6+6AzzZkBBlVrBdc9IUhJbijRgVjCNIIIZPgqnUj3ntFODsHrdbGU8BEG9XmDQmgEEYn3w==} + engines: {node: '>=16.11.0'} + dependencies: + discord-api-types: 0.37.61 + dev: false + + /@discordjs/rest@2.2.0: + resolution: {integrity: sha512-nXm9wT8oqrYFRMEqTXQx9DUTeEtXUDMmnUKIhZn6O2EeDY9VCdwj23XCPq7fkqMPKdF7ldAfeVKyxxFdbZl59A==} + engines: {node: '>=16.11.0'} + dependencies: + '@discordjs/collection': 2.0.0 + '@discordjs/util': 1.0.2 + '@sapphire/async-queue': 1.5.2 + '@sapphire/snowflake': 3.5.1 + '@vladfrangu/async_event_emitter': 2.2.4 + discord-api-types: 0.37.61 + magic-bytes.js: 1.8.0 + tslib: 2.6.2 + undici: 5.27.2 + dev: false + + /@discordjs/util@1.0.2: + resolution: {integrity: sha512-IRNbimrmfb75GMNEjyznqM1tkI7HrZOf14njX7tCAAUetyZM1Pr8hX/EK2lxBCOgWDRmigbp24fD1hdMfQK5lw==} + engines: {node: '>=16.11.0'} + dev: false + + /@discordjs/voice@0.16.1(ffmpeg-static@5.2.0): + resolution: {integrity: sha512-uiWiW0Ta6K473yf8zs13RfKuPqm/xU4m4dAidMkIdwqgy1CztbbZBtPLfDkVSKzpW7s6m072C+uQcs4LwF3FhA==} + engines: {node: '>=16.11.0'} + dependencies: + '@types/ws': 8.5.9 + discord-api-types: 0.37.61 + prism-media: 1.3.5(ffmpeg-static@5.2.0) + tslib: 2.6.2 + ws: 8.14.2 + transitivePeerDependencies: + - '@discordjs/opus' + - bufferutil + - ffmpeg-static + - node-opus + - opusscript + - utf-8-validate + dev: false + + /@discordjs/ws@1.0.2: + resolution: {integrity: sha512-+XI82Rm2hKnFwAySXEep4A7Kfoowt6weO6381jgW+wVdTpMS/56qCvoXyFRY0slcv7c/U8My2PwIB2/wEaAh7Q==} + engines: {node: '>=16.11.0'} + dependencies: + '@discordjs/collection': 2.0.0 + '@discordjs/rest': 2.2.0 + '@discordjs/util': 1.0.2 + '@sapphire/async-queue': 1.5.2 + '@types/ws': 8.5.9 + '@vladfrangu/async_event_emitter': 2.2.4 + discord-api-types: 0.37.61 + tslib: 2.6.2 + ws: 8.14.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /@fastify/busboy@2.1.0: + resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} + engines: {node: '>=14'} + dev: false + + /@sapphire/async-queue@1.5.2: + resolution: {integrity: sha512-7X7FFAA4DngXUl95+hYbUF19bp1LGiffjJtu7ygrZrbdCSsdDDBaSjB7Akw0ZbOu6k0xpXyljnJ6/RZUvLfRdg==} + engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + dev: false + + /@sapphire/shapeshift@3.9.6: + resolution: {integrity: sha512-4+Na/fxu2SEepZRb9z0dbsVh59QtwPuBg/UVaDib3av7ZY14b14+z09z6QVn0P6Dv6eOU2NDTsjIi0mbtgP56g==} + engines: {node: '>=v18'} + dependencies: + fast-deep-equal: 3.1.3 + lodash: 4.17.21 + dev: false + + /@sapphire/snowflake@3.5.1: + resolution: {integrity: sha512-BxcYGzgEsdlG0dKAyOm0ehLGm2CafIrfQTZGWgkfKYbj+pNNsorZ7EotuZukc2MT70E0UbppVbtpBrqpzVzjNA==} + engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + dev: false + + /@socket.io/component-emitter@3.1.0: + resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} + dev: false + + /@types/node@10.17.60: + resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} + dev: false + + /@types/node@20.11.20: + resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==} + dependencies: + undici-types: 5.26.5 + dev: false + + /@types/ws@8.5.9: + resolution: {integrity: sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg==} + dependencies: + '@types/node': 20.11.20 + dev: false + + /@vladfrangu/async_event_emitter@2.2.4: + resolution: {integrity: sha512-ButUPz9E9cXMLgvAW8aLAKKJJsPu1dY1/l/E8xzLFuysowXygs6GBcyunK9rnGC4zTsnIc2mQo71rGw9U+Ykug==} + engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + dev: false + + /abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + dev: true + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /asn1.js@4.10.1: + resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} + dependencies: + bn.js: 4.12.0 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: false + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false + + /axios@1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: true + + /bn.js@4.12.0: + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + dev: false + + /bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + dev: false + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + dev: false + + /browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.4 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: false + + /browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + dev: false + + /browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + dependencies: + cipher-base: 1.0.4 + des.js: 1.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: false + + /browserify-rsa@4.1.0: + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + dependencies: + bn.js: 5.2.1 + randombytes: 2.1.0 + dev: false + + /browserify-sign@4.2.3: + resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==} + engines: {node: '>= 0.12'} + dependencies: + bn.js: 5.2.1 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.5.5 + hash-base: 3.0.4 + inherits: 2.0.4 + parse-asn1: 5.1.7 + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + dev: false + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: false + + /buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + dev: false + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + dev: false + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /cipher-base@1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: false + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: false + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + dev: false + + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: false + + /create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + dependencies: + bn.js: 4.12.0 + elliptic: 6.5.5 + dev: false + + /create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + dependencies: + cipher-base: 1.0.4 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + dev: false + + /create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + dependencies: + cipher-base: 1.0.4 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + dev: false + + /crypto-browserify@3.12.0: + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.3 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + inherits: 2.0.4 + pbkdf2: 3.1.2 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + dev: false + + /debug@4.3.4(supports-color@5.5.0): + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + supports-color: 5.5.0 + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: false + + /des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: false + + /diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + dependencies: + bn.js: 4.12.0 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + dev: false + + /discord-api-types@0.37.61: + resolution: {integrity: sha512-o/dXNFfhBpYHpQFdT6FWzeO7pKc838QeeZ9d91CfVAtpr5XLK4B/zYxQbYgPdoMiTDvJfzcsLW5naXgmHGDNXw==} + dev: false + + /discord.js@14.14.1: + resolution: {integrity: sha512-/hUVzkIerxKHyRKopJy5xejp4MYKDPTszAnpYxzVVv4qJYf+Tkt+jnT2N29PIPschicaEEpXwF2ARrTYHYwQ5w==} + engines: {node: '>=16.11.0'} + dependencies: + '@discordjs/builders': 1.7.0 + '@discordjs/collection': 1.5.3 + '@discordjs/formatters': 0.3.3 + '@discordjs/rest': 2.2.0 + '@discordjs/util': 1.0.2 + '@discordjs/ws': 1.0.2 + '@sapphire/snowflake': 3.5.1 + '@types/ws': 8.5.9 + discord-api-types: 0.37.61 + fast-deep-equal: 3.1.3 + lodash.snakecase: 4.1.1 + tslib: 2.6.2 + undici: 5.27.2 + ws: 8.14.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + dev: false + + /elliptic@6.5.5: + resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==} + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + dev: false + + /engine.io-client@6.5.3: + resolution: {integrity: sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==} + dependencies: + '@socket.io/component-emitter': 3.1.0 + debug: 4.3.4(supports-color@5.5.0) + engine.io-parser: 5.2.2 + ws: 8.11.0 + xmlhttprequest-ssl: 2.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + + /engine.io-parser@5.2.2: + resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==} + engines: {node: '>=10.0.0'} + dev: false + + /env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + dev: false + + /evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: false + + /ffmpeg-static@5.2.0: + resolution: {integrity: sha512-WrM7kLW+do9HLr+H6tk7LzQ7kPqbAgLjdzNE32+u3Ff11gXt9Kkkd2nusGFrlWMIe+XaA97t+I8JS7sZIrvRgA==} + engines: {node: '>=16'} + requiresBuild: true + dependencies: + '@derhuerst/http-basic': 8.2.4 + env-paths: 2.2.1 + https-proxy-agent: 5.0.1 + progress: 2.0.3 + transitivePeerDependencies: + - supports-color + dev: false + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + /hash-base@3.0.4: + resolution: {integrity: sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==} + engines: {node: '>=4'} + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: false + + /hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + safe-buffer: 5.2.1 + dev: false + + /hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: false + + /hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + dev: false + + /http-response-object@3.0.2: + resolution: {integrity: sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==} + dependencies: + '@types/node': 10.17.60 + dev: false + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + dev: false + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false + + /ignore-by-default@1.0.1: + resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: false + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: false + + /isomorphic-ws@5.0.0(ws@8.14.2): + resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + peerDependencies: + ws: '*' + dependencies: + ws: 8.14.2 + dev: false + + /libsodium-wrappers@0.7.13: + resolution: {integrity: sha512-kasvDsEi/r1fMzKouIDv7B8I6vNmknXwGiYodErGuESoFTohGSKZplFtVxZqHaoQ217AynyIFgnOVRitpHs0Qw==} + dependencies: + libsodium: 0.7.13 + dev: false + + /libsodium@0.7.13: + resolution: {integrity: sha512-mK8ju0fnrKXXfleL53vtp9xiPq5hKM0zbDQtcxQIsSmxNgSxqCj6R7Hl9PkrNe2j29T4yoDaF7DJLK9/i5iWUw==} + dev: false + + /lodash.snakecase@4.1.1: + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + dev: false + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: false + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /luxon@3.4.4: + resolution: {integrity: sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==} + engines: {node: '>=12'} + dev: false + + /magic-bytes.js@1.8.0: + resolution: {integrity: sha512-lyWpfvNGVb5lu8YUAbER0+UMBTdR63w2mcSUlhhBTyVbxJvjgqwyAf3AZD6MprgK0uHuBoWXSDAMWLupX83o3Q==} + dev: false + + /md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: false + + /miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + dev: false + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + dev: false + + /minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + dev: false + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /msedge-tts@1.3.4: + resolution: {integrity: sha512-0dj86Gg9VzdOJZVCkSSK/O5Eg0NM9W5p8LsXAEPe7qUmsvdAugPUTcPwt9tyz4GThAzAFBBu554kevH8StLEHQ==} + dependencies: + axios: 1.6.8 + buffer: 6.0.3 + crypto-browserify: 3.12.0 + isomorphic-ws: 5.0.0(ws@8.14.2) + process: 0.11.10 + stream-browserify: 3.0.0 + ws: 8.14.2 + transitivePeerDependencies: + - bufferutil + - debug + - utf-8-validate + dev: false + + /nodemon@3.1.0: + resolution: {integrity: sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + chokidar: 3.6.0 + debug: 4.3.4(supports-color@5.5.0) + ignore-by-default: 1.0.1 + minimatch: 3.1.2 + pstree.remy: 1.1.8 + semver: 7.6.0 + simple-update-notifier: 2.0.0 + supports-color: 5.5.0 + touch: 3.1.0 + undefsafe: 2.0.5 + dev: true + + /nopt@1.0.10: + resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} + hasBin: true + dependencies: + abbrev: 1.1.1 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /parse-asn1@5.1.7: + resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==} + engines: {node: '>= 0.10'} + dependencies: + asn1.js: 4.10.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + hash-base: 3.0.4 + pbkdf2: 3.1.2 + safe-buffer: 5.2.1 + dev: false + + /parse-cache-control@1.0.1: + resolution: {integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==} + dev: false + + /pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + dev: false + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /prism-media@1.3.5(ffmpeg-static@5.2.0): + resolution: {integrity: sha512-IQdl0Q01m4LrkN1EGIE9lphov5Hy7WWlH6ulf5QdGePLlPas9p2mhgddTEHrlaXYjjFToM1/rWuwF37VF4taaA==} + peerDependencies: + '@discordjs/opus': '>=0.8.0 <1.0.0' + ffmpeg-static: ^5.0.2 || ^4.2.7 || ^3.0.0 || ^2.4.0 + node-opus: ^0.3.3 + opusscript: ^0.0.8 + peerDependenciesMeta: + '@discordjs/opus': + optional: true + ffmpeg-static: + optional: true + node-opus: + optional: true + opusscript: + optional: true + dependencies: + ffmpeg-static: 5.2.0 + dev: false + + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: false + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: false + + /progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: false + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + + /pstree.remy@1.1.8: + resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} + dev: true + + /public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + dependencies: + bn.js: 4.12.0 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + parse-asn1: 5.1.7 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + dev: false + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.2.1 + dev: false + + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: false + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: false + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + dev: false + + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: false + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: false + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: false + + /simple-update-notifier@2.0.0: + resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: true + + /socket.io-client@4.7.5: + resolution: {integrity: sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==} + engines: {node: '>=10.0.0'} + dependencies: + '@socket.io/component-emitter': 3.1.0 + debug: 4.3.4(supports-color@5.5.0) + engine.io-client: 6.5.3 + socket.io-parser: 4.2.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + + /socket.io-parser@4.2.4: + resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} + engines: {node: '>=10.0.0'} + dependencies: + '@socket.io/component-emitter': 3.1.0 + debug: 4.3.4(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + dev: false + + /stream-browserify@3.0.0: + resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: false + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /touch@3.1.0: + resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} + hasBin: true + dependencies: + nopt: 1.0.10 + dev: true + + /ts-mixer@6.0.4: + resolution: {integrity: sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==} + dev: false + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: false + + /typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + dev: false + + /undefsafe@2.0.5: + resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: false + + /undici@5.27.2: + resolution: {integrity: sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.0 + dev: false + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: false + + /ws@8.11.0: + resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: false + + /ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: false + + /xmlhttprequest-ssl@2.0.0: + resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} + engines: {node: '>=0.4.0'} + dev: false + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true