From d005cc48d1837e21334392491f6e749f3758beab Mon Sep 17 00:00:00 2001 From: Eartharoid Date: Sat, 4 May 2019 16:09:05 +0100 Subject: [PATCH] update --- commands/add.js | 22 +++++++++++++++++++++ commands/close.js | 22 +++++++++++++++++++++ commands/example-command.js.example | 3 ++- commands/help.js | 2 ++ commands/new.js | 12 ++++++++++++ commands/ping.js | 29 ++++++++++++++++++++++++++++ commands/remove.js | 22 +++++++++++++++++++++ image.png | Bin 0 -> 28249 bytes index.js | 14 +++++++++----- package.json | 3 ++- 10 files changed, 122 insertions(+), 7 deletions(-) create mode 100644 commands/add.js create mode 100644 commands/close.js create mode 100644 commands/ping.js create mode 100644 commands/remove.js create mode 100644 image.png diff --git a/commands/add.js b/commands/add.js new file mode 100644 index 0000000..9bdf93d --- /dev/null +++ b/commands/add.js @@ -0,0 +1,22 @@ +const Discord = require('discord.js'); +const config = require('../config.json'); +module.exports = { + name: 'add', + description: 'Add a member to a ticket channel', + usage: '<@member>', + aliases: ['adduser'], + example: 'add @exampleUser', + args: false, + cooldown: config.cooldown, + guildOnly: true, + execute(message, args) { + const client = message.client; + // command starts here + message.delete(); + + + + + // command ends here + }, +}; diff --git a/commands/close.js b/commands/close.js new file mode 100644 index 0000000..e6c7e8e --- /dev/null +++ b/commands/close.js @@ -0,0 +1,22 @@ +const Discord = require('discord.js'); +const config = require('../config.json'); +module.exports = { + name: 'close', + description: 'Close a ticket', + usage: '', + aliases: ['none'], + example: '', + args: false, + cooldown: config.cooldown, + guildOnly: true, + execute(message, args) { + const client = message.client; + // command starts here + message.delete(); + + + + + // command ends here + }, +}; diff --git a/commands/example-command.js.example b/commands/example-command.js.example index a14ab67..931e39b 100644 --- a/commands/example-command.js.example +++ b/commands/example-command.js.example @@ -4,10 +4,11 @@ module.exports = { name: 'example-command', description: 'An example command', usage: '[args]', - aliases: ['command', 'commands'], + aliases: ['none'], example: 'example-command', args: false, cooldown: config.cooldown, + guildOnly: true, execute(message, args) { const client = message.client; // command starts here diff --git a/commands/help.js b/commands/help.js index 1c4e8b6..4fd5f70 100644 --- a/commands/help.js +++ b/commands/help.js @@ -9,6 +9,7 @@ module.exports = { example: 'help new', args: false, cooldown: config.cooldown, + guildOnly: true, execute(message, args) { const client = message.client; // command starts here @@ -65,6 +66,7 @@ module.exports = { const cmd = new Discord.RichEmbed() .setAuthor(`${client.user.username} / Commands`, client.user.avatarURL) .setColor(config.colour) + .addField(`Command`,`\`${command.name}\``, true) .setFooter(`${client.guilds.get(config.guildID).name} : DiscordTickets by Eartharoid`); if (command.aliases) cmd.addField("Aliases", `\`${command.aliases.join(', ')}\``, true); diff --git a/commands/new.js b/commands/new.js index 191fe90..09d6db6 100644 --- a/commands/new.js +++ b/commands/new.js @@ -1,5 +1,6 @@ const Discord = require('discord.js'); const config = require('../config.json'); +const randomString = require('random-string'); module.exports = { name: 'new', description: 'Create a new ticket', @@ -8,11 +9,22 @@ module.exports = { example: 'new I found an error', args: true, cooldown: config.cooldown, + guildOnly: true, execute(message, args) { const client = message.client; // command starts here message.delete(); const ticketChannel = "channel"; + let topic = args.join(" "); + + function num(){ + return randomString({ + length: 4, + numeric: true, + letters: false, + special: false, + }) + }; // log if(config.useEmbeds) { diff --git a/commands/ping.js b/commands/ping.js new file mode 100644 index 0000000..41ea0a8 --- /dev/null +++ b/commands/ping.js @@ -0,0 +1,29 @@ +const Discord = require('discord.js'); +const config = require('../config.json'); +module.exports = { + name: 'ping', + description: 'Calculate latency', + usage: '', + aliases: ['none'], + example: '', + args: false, + cooldown: config.cooldown, + guildOnly: true, + execute(message, args) { + const client = message.client; + // command starts here + message.delete(); + const embed = new Discord.RichEmbed() + .setAuthor(`${client.user.username} / Pong!`, client.user.avatarURL) + .setColor(config.colour) + .setTimestamp() + .addField("API Latency", `${Math.round(message.client.ping)}ms`, true) + .setFooter(`${client.guilds.get(config.guildID).name} : DiscordTickets by Eartharoid`); + message.channel.send({embed}) + + + + + // command ends here + }, +}; diff --git a/commands/remove.js b/commands/remove.js new file mode 100644 index 0000000..0160c1d --- /dev/null +++ b/commands/remove.js @@ -0,0 +1,22 @@ +const Discord = require('discord.js'); +const config = require('../config.json'); +module.exports = { + name: 'remove', + description: 'Remove a member from a ticket', + usage: '<@member>', + aliases: ['kick'], + example: 'remove @exampleUser', + args: false, + cooldown: config.cooldown, + guildOnly: true, + execute(message, args) { + const client = message.client; + // command starts here + message.delete(); + + + + + // command ends here + }, +}; diff --git a/image.png b/image.png new file mode 100644 index 0000000000000000000000000000000000000000..ecf605f0ae12a2bace3fa3b5883dae5bd983977f GIT binary patch literal 28249 zcmeFZ^#l!$<|f=G9_(v9@cBi-FY2?`=5H8hAc3@|hd-O}AH-QD$$&vWT@ z-+#gT!}s}t&t~u0Gqcutt~l1Q*6h&t$}%`lNS`1eAmGT!N~$3sAiqRFK>UV*1ivyP z6KeuLAiAi@h$EB?l5fLLP%Pdly+c4Ki^975fC@jybd=R`K|sK5|NV#9?T~K@zxcvc z3gD{lVD9Si!PyMK@q?AUE33Vk>q~A{4ptsh836oi?0V%S-)VRn?k|LZ2()iR?{Ypr zi+Qharf~3ropm}l``1@QveiYV*RL{Pzy5@qd1;J&z#D8@F{5<&`E`n|w+gRWMT+Sd z@A@t1G3+v0TF^2*TAId6gZ__%I0)5&RG^_!Rp4s%!B7lW$D|Mfq($WkQCp z!26E@wC&FEExo^&L*pf|2dYmC<@|j@hymba*2aWj!~cJaiUh{)(?t5exBTCV{l8@} zoDK}K3=9O*S&jno3=G{4PY}KnqcD?zi%_)Cay4rn3!05yOpL|qYP4A|pK$v2@!l@Q zLE({R7#C3?c%AWMJR%mr^rWRMoK``HL|-}%(PrmJRSWKUq_6(*H7YqafcwJWZRwnw z*uBTsnG%LMk05&l~CJu1Wr*#MKw!9sza9|Isk zXR-J-z>UO(9NMe(J5CHE{pYP^$O~QVmu0li$p9gB9-@OkfIRfH>LI; zekY5jTT^E1}-{%jschGUr#(#~s5md>u~<7ERQ-8GUK)5b69YDfjE zBMDprefV@H`^?$0Y*CrpNMT5Mz)g zQ7 z`A{bhG;3vmBHD~D7m(P@{WcwP6lPujLf`TS1cY$UfAnDHN970NxVl7 zU2Z7lcwk!KLKj?$!2f>jDYS*`x4MGjf7Hc9#A^8X-#4))1jI+{#Ti1G-Fi+06co5l zz@|%yeNWyp>~7qJ-_f2$46rh&=;^1{0(qD7GiNJaGP%zKf!YA!k)~Gxp5rc zNEJxYaux0-i*HSKdWj;r>PHOGIV|nc$nE6yZCC%z%^OMqQum>*Pr*b6 zCqzhEzyU+UcSYpIewE^a(~37YUGA>KY@)uWleHVwXMs6;+Xzo>|L)$8FD>r9hIil*#X9hh@I`oS{sR6N)DUBa>BCWB6xU6ay)whBCgT*UH-N*=;q?mXeadr;E~`t zFk&$nT)Ncq-|^QAt@NrR_SZ}xwUQtDpyrKT(2`%tBDbuKwho8mc0z!U zmud;j&1XdS_m!N(=^rN$!iE1DZG;e^Bntq(NOXsDL)Mj99YB~{l_wA0aHuFq$>IDW z*uEhOmvAqlvH}las%S(UmW_En5Q|G$UFwA8YsJANLdDSTfv8aTMsaI5(aC~|X{@uO zU1l2eIdyix+O>7j%++6||K6jF)J>;mEo8};4MgD)Ap&|+GE*csX@=NG?R_Y%wMt6_ z{h570z<@IW!3KVM_s0wwWRbL_4OO?gl=f7I^gV!w!YUxk&$hE|hDvO?b0Ug<%s~A1 z?fp>+7ckfm^hkM;Z;^X&0cGfvLA2=|yq)QbVQ7~z@qn1b!``Fq_DIl;G4=wI65>Kv z3O{m1TP#@KhT0kAkdsWC#70tH@ZT^YPoAx`CxwLplKA3`rmk8CYgwACJ5ey6{l|Kd zTq%5#n>f#^ub+|N^li+#0d=2wL~S4b@IR6veB(}@;gLm0{H~4H)|4$L>s#8~^qf^D zHXw5oZ+OXM*51tja&*lEeSb-t#s~$n9cg^PBhlT?O0LMH*ZS2hQ=f|t+x^W_;VEjt zRWQ*7Yb=^d=boF-fHp(58!ZUNm30g1Pm#;mWieB{Ow!@ufp3iC3+M)`VOwv*3OlgV z-l(q^LHfmCw@0FcieDblR60&9C)o_9rFuWmQ|Po0?&BRcE;)MFuZ&j@H!Y|KM;VH^ zTF<{F27PrLC}`hXs7h4Tw0NY>y7BJ9b&a6fO64AZr{KJBRA$v4f=Qu}i$}#Nq|)!7 zBq3`rd$*hq-n>};r`#bB( z!Pkq$+cyw-*pI5X81%;H#V>xzMD5KIF1q;t9R6sv8Kp1c>8#%zG$;Am#JgVjC*UI{ z02u?oe)2cqxN5!?s*Bq8`1Vcu^87vScVuJ=I%D@G9vd?WZ#hg*!JgiU8dIO>0u%K_oS)&m2R;$-|3dV#!QbJmY@keNiguyVS_`zAy7M*Mtdm3mJX-d; z0_bGE_^bb}(}kGWjM+dQOQ61h*Xq7E@pj5c$kTN`U{yl*EcbkmVuAsg$V~Kt7@llH z)G#R4ER&Q#2kBmVF1j;cz4&@q;|J?G_^QfE%Td8+1F1!Ft9SPm3R?A zu{}ymN~Pc6rsv}Em_%s%29KL9#0)LEYWSBP|MZ3QEA;B|<>F9fx&_BG(9$P2L2kV1 z^nO@KKBiAo>~7^)rkRR)PyV zYd>*(r?*@{4p)u(jd@H#pyb7#Jj`Zdo?6KxK2Iy&XkmLfQtSzJ#q5qw8Btu)#<*5) z0_%`r+z{m`{cUh+T<}f--DSBHwaHDrI@7||d=@sKf2--hW+;g*gGA7yA23yN{F1LC z$IrMX$celQCsoeMF-t_EJ7AsNK?+eynL2!h`0bz`4F6R5R4sPbZov`VRgEC8Y5KvWv? ze_#)mvQHjWZ2-@QW!InA68OIL7FB#uI%|&Wj#n3frZ)v5kp3ZRzJ+$8P(`7NjQE20 zcmUTp91(x^lm5Xt@0!Ds-X;NuQ3mu@?mH+Mi@!H2bI7)J1Fb=)gF*XO-*+>|VWL0v z4M27kQ+Wgd!>^`n0$1k+;EBH)k{OGrb*T2M7d+yN%L#T0BeN?)v~Cp)3P7cy{3~4R zQ>gU$r6K6x1qJ)B>f(Xkb06lSk%hb28BJshpEI3GteI9CjI=L91!JV|Qc)qQz9Ml5 z{W3EH9%>rKL!*k>)*0U7=1bF7sxDRJxIKyzUJ)k?T^AVaFM~+3S^?s78{vz z7Uxia4R%#0omH2I?$bxBTC7gaX2bJ`y%__944uLV5oBBPFc2ZrDZs~s33Lw+*sJ6Fk<^K$^Ajr zbgIOa?{-=+i+s*|C!kb%ebRomdf&Dn7n^EqdR>YH+J)^p*2;Xc7kOq}ypO|JZr@8b z(Js^wk~Y)Xn|jO%6sUWc_+X!O+86&02Wcc#AO*8 zhX$SQNLn3&=n?d>!TomH z$0-NEPQUNuRc^h@_=gtp(TX!ov5lT^Yu+(QdZRsAo)>;_h}r1q*rn@hpRWk9Gc8q_ z5wW_L*V_1YQhzc=+m?2)@CnOt=5MauE?lLXHtf$p3>zKl*NlMlll9VbefaK@yGSDq zQ}DVD9qhE2&)nW%gQM=mCW2teg)(qsXGi83Lqu}Pw6gYV-3UacwWfi+P}9+Gb^DAX zJ$Fk@=75TH7QFT4@h85)ylF3+3BLV!=Bsu-r_p|}GKIc<8@e}}qrE}1`kbXHGmo3c z(6C+zzGN%_N7R3jcMGD;)~6;!8+SPYP*@S#pywC`fOv*)4VpvBH%wTsFjiOFPQ-k8 zTQpW%Sv+0ew7w8X=VNH7Il5T0V8VYVNr6wg5b8%vO^I^b!Ac%vEIX&|z|@)(#1D zV}sS)furQnw&k`iR@Ie_K7|6aCH{aTE1zXO=vjjwU(}@XwO%;I7B8i%gR8UAi>X&+I3N1o zs+@(gK)PPRw@Xq!HXX6=9V5lC_iJ^-ZFNil9K&UiD+w~-jB*qW#2ycw5&lSYx`VZ5 zr4QIxvF%ZccCU}G&~RxLRYlNFa6|JH$#-05w$@Ab$XsSTao`{%0$txiem(!pvK49g z4~tGHNL|Gi5V{CGMi21(3^f- zEwq;*zGeIR!wY}Y&3{=h3(@Dv-_q-C4KQuI5nZsJEe3Zb z+Jak(B!kqWP@+krF?!*$f;8mrDHMY&6KLzNJ+4Y@0+g>rfxs=J7qs=W_G87^P)c{o z@MU=dUq6eWZ#hvK$Nd84r5B-19C9Wc6}evTGR=+Bhwgwx3^Z2w66mwt-m`XOZ|pN$(aPK-S5*H z4iP{^pGU?S@A(whMY1b3b2Z~CIN!Wv0chj6QUhDRg#1G+298~=`e6f@C@O)pOB=gH zkj0<&X`m8MphlGKMUCox7#^3s`qBZDQOh zH}LAkrIfhGhoTL2EI)e{?)q;~6a=OnDYT4^Yh~Lno`-EP>)|gAKdbUq>VVZt94>I% z?OyDAjMh)nIxfCkciV=wnJ8Xj9F&~XiYkA|~@Lf%jc3LpO*!Caem;zfH_hQb`B z2UYH$tcn#{LA3ckw`|aotfR`ck{^_my}kLJFuYv+#F{uL5nX=chj?|r2|BEi1oF|% z`NyG_f`+jNa$*KgZNkKs@!+W1Eg$tNx{!hUg^nz{%rAV_png@9%hbO26NQd}+D_v3k~p@FOFg?QVGcOiksDzPyHO z3+!P2_)`Qcnv)y1W7kZ+NwU3=qqcXe+B&Gtmi~!i3n@QA1v(;@H2=SFQM=TK1Zr<` zXto`+z8WBMert@h1GlrW_<)X{$|gmGN&Faa7tfW5*&%8 zk440a--hwmzGMCMpya5KIXB9Nxp!FL>M*Bg>mo)?Z_C(zsHnGm)#(3XOPQNl7a8x> z^R8uQcswwN7AUvPn6oHVh`~6(SzN>m>d4MFT%kEnq|Tk)2_XuQACIGPGd-+N|d&6M2aRdi24 z>k7mY@qgK{=_kl)zPVPBXW4D;LpC9Us4!-58ErE;Cl(Dr0++JkUs&P-zJ4Gbq#)ya zNv5g!Vqq+8`1$g7YE_tiU-Pw`1ciNsq}w^7PT%_U#}f8aY=KUQq7|Hexlnn%iayj~ zXVBj3x^na^voC;$K{p8d6C6s zcm%1t?CM+=+w=g9_0#ltSvR+B=-h_X*pe+fhm-u8KiUI$@~Tf@>dFo+*h@ZCpy=i7 zJu6XIsgTtI9BqX=Uj@N&ERXWrIIY@nk;}r?3Q?G3KDlh0@as=So+5U;?ib9DmB7wD zDJ-IJ$G^^eU4h!C+9D`mQne|;FSteztc&FAC7J2MbA>~Q-TbbQk)2%}s^Q5%!o+|H z6aHcr;6ghaz9FBjfxqHq3CYx9EyM0?(CwblYfFQA5T4%2E)1`X)FQm5#C#~t@8Mh5 zSZJL9d`WK@^scgxyH?n7MoNM|Vf?RC7aFv2i_Ue*b1tra5jM){8fZa|%e`~b7)STo4-?QN zpM=ng{KtOi+{pw;tPmC2J8Nh9nBXV?UI^m~)%chAsW%H?0D_WrosgbGVKhUQ)~!#} zQ6LN(0kkQM{H{?!gLbB_4j#rPS-xgZNxL^u_M-ULyb-W^BlmR9is}e)#AyL3b41g|cm(-G9-X6n7ePbjnHFAI@3kEZF7?~pD z%`QgW9ds+FyD36tQq#i%JHIh`0w~Zd50EmRETtS{dqlGhxAAp$Ni~dHYWC8&G$y8) zAdDqCgGYs}$x`0xEQyOJzKx{lgN_N#%Qc}v6i#ynuK5{oQPvkDQV|j;{>IrmGN@MB z<%vwos3S*Y&L`EgI4txr1qGcXK4}jIU1)G+6%dsXm3)1XSz^*!*G)+A$S3gLp46$kiB3z891>->}@Yr zLy82I)cjU+J{=)-ViTS)mF(crm9`0tvOga@os zvlvuZWZbLwr}^M*&u4m`>2%Vzxx9nNd29eaDKa=q;nN@z__ZruGwgNUMt*L`wtsJ^ z4V>dDkbGL5K9)e@zOtOUBd?XK>_zZvEt3G^lENC-$SyHRC0`6^?R~NSdTA^;>Pi%t z#skMyvVZf=*q6h#l67Npg``zCz%u>;3w(@#^q*m)EC})VLyI+zBo(A-@x8X4lx@d8 zyk_b;81;HDLkXq7u)+dF!hXUvIKSovM%T`1MIM;kkM_Sw6YOOSY7OrdtWJd&NcdT* z(+Y(fu`iS!ecZJLP)^7LoGJh-=tjTL+NLOYH z{GP?1tVRaZ&&|1c!nb3M1gdIbG%vU&JF@PKy|3P(ukt9))b%w5bH1DY9Awp(P{GO4 zbzC-cljpYWL#Qe6wAoA08mCzD>)h*s)$u&;NhqfSKQ6$sH8A>5>kl=L=@qbUZ@=R} zfGAn>HL1*xxC!C zm`;P83#k=a#Q!U>E1j&;woOmQ?={|y_bh0}g}!&C#}q5J`i8XMm9B*X!Ad@W;la&Y z3b9CLj#m5-i6}`&Q>1I8s?F+_hb2HviQg%eC40qh<~TjVMnx{oZ+#}cdiS;V_;fQV z$-)wu|BxM|-vr){*gNk&OUcU`bmZwJR+aAIxECoCa!a`mcnNHc$NUpf^WYho`^;VK zLbC2+{urW9eD6~g*0hg%aU*HdqT3iOGD3w|)Xb-^*Yf025E#97b2HM2%c(Uz$O7Sn z#zg?&ID`w#8c#XUkP{#x=(UyI#Xym!%Il+iAOQA7W;+c(!TkkK&%p$`&8Hj|Yub&s zw-Q4;0<}GH6y;&XD2P}kDF3EBJ|ODWv&^DJ<=#5CQc~gA(eElD&&*JwQQTT~b}w<#l#kj`jp|km?`>BS>jwdL3ZC@59i+c9_hE#nU;e7j>rGtr` z;ys%4yr#t~9M)ig32^~z6gX%7`gdmD4(CKrA{S0GRBP)M{^q8>SXFOEQzictx-1{? zw_Ji(7jRA_1hFV5tuX-(3!1?PYrWq|+<(p`$#D`BD$Z30HA22~02%U*kJYiXN~;5M zWU#=m%W}*#N~ulG&$|{2=A<|d8OX}uwXRZ?kKx6oToAppNbagBkb zoXVVEloON8EyWw|dC`E&8z(7|i1ac4O^>cm5&NtaiOC8J9}5r07-;R6DtY)kj?a|z zrWF`awOe9_q%4~x^UF{b@)SM=IzbipGA>U1+ zZLad`S}xp}8%+yAI4x%q&pNvYEZ1F+Z;kBFDvRWXL0IY||RF zc{2l_{g+TDo3w4U%eVksP)_*Hexy!L6$Q1Olhf4=4l_hn`ux=8{yQ!JUiJDWzd;`t z0Y(qorOepG$XP@UscWG1cC0pl__@rkEcYU-_H-x}@*T`e*+>@VDCP>Q`o`x|#Y4Ql z{ASq%{D*@sc-I?0#f*q7l4A38e`?*iGm4d41A!S;{93m1_E=rH&E1>s zp&TWJK9>-_+J5%oEiw^_fAVAGYv)^OEh73Ua>sf66n)S^ZFf*uA;w%uZPsvfS)PiD zu#f58@oLuk{SNsLDsRS|q6(qLBx%Q+$l^V-M%VLYxmm$q)uj}^TJ95+{}nmPtge2> zlS5^t{YE|=;9fkTthGMci(AP$o5Z|Kawyb}G%Iu}2!}U?8dvUJjD`^9{=Oolp>S!#S zH7Xy1-TD$g+UxpnVWpN;rx}6=xZurlZKS_YB+f(fmL14*yv^f-5ACAb}8p14C&Ms&2o8w#lK>kuBm}#b@>B`HgDCbAYa_>DES(Z zh~z9c7J7OTn@ai{#NmRfdz@&=Iq%o42FK!V(2pzJ!88eO8buIaEKIo!2)Hn*!Y3!T zbJF``^G&B4K2-jgiW9mip%gST%#O4xm{=dRVWe}HYzf5wTa?iW9z}uiMAzyA;(a9s zKM{2AE%gy2_6d81-7zmM1ki@gRGN=IrRX8Q)K~ox>rj{>=<{iD(DSNEpep{N6kJ{F z>C??{t36h$LE@!QvJ*$~-WMO5Yd`nlF~IUe% zrPnj<#!XBqHRs#C+htGk3d5;Cpb#4_*h4#rsRRe7i@lhsa+#D*n?q8!E-Kj;*l}zD z5WWz&kH!wso|Y84IryhgV{8FTktl>)E1$4G{;2 zneE7FUMf}kINYwbO1jOQ3q2b4E@5C&WqVAankYtENDGNBwqP;w5H$>)`B}Y<@APnv z+1LxHthbY#X}9~WgI;%l)W*1`bUN(pCgw^h*L{V2u%6*EmWIm*sLO48@I}bwVFbLbTCsTmA9NYjjw`1#R6V-{1D*?ANb4g#_~r zmUIu300PX<#gNoM_-xlUGp+CSNu88Jd0-Y6#aqWeLoEpGob+^B$v~1Qnkw-jn=AxJ z)PG+>>K`x=&aF_Vgx$V=P(FP9O8bk;!CjY+KsCVYI%%xihHdXkN4_y%o!qJO=m?q?azBsQ3S}zzi zyn8Q|zK~Q!pFxO>;EDZLWHSqQx$C&J%L+@WH+pXrl#5R$veghA&HgIwSogDugRda> z!_7u9v$otD-C#ncrs7Z$_;8lOUl9U{I&+;UD74e~<)l3XQgWtke*w{RiayGhT)8((=BbCc%us+|_@mYE$_=Oupe(>y{4b z-w7$ix5F^|DSL4KC)ImjIHZKvTVMBPdFso8Meq^c%KR(LWW(ngebCPG^v8n{UydYYWM3dek(@b)6$Dg zg3P3*G;KnS?=YBL3mah>4zB)h#`gc05o4@pQ*8ZKgN(CaEobT+TN7O;JNK0cEEfO{ zeBAkp>JPPAt4FlvKEV3up}6~Kq1);6Y|7PB+3Fxr|KfQ-^bWc@lNWzo@;yZhvTp@r zHqY045n1N61U8n%$;xLJPf^JJBxk^Yj+9YX^%u$W!$h!(aZ2-7tLuev`^)Z0Ax>~P z9a6aLs9;n8D(rgzZL#X!;k!U2aHZ#*IzBY;FUkA85Ym=mJe!TPH!%&PYqLqmC?GV% zF7{_@IQExzX>E#I->XAt-7Z@r#k{ST9^E+d(l}kLRl9hq|B*MBP@zcOchdOc8xb{7 zgq$cm+5iROFF9GNsMAJC@gaMu%*Gw{_ICZxEGMcwT*K}1<)Pea3u;!WqEq~M1J(7$ z;IA?g{r*00vM-8{y3pGSt;d9Cnh~yMw95u6wfxD(+8#=xT^p`PhvB1srbDUgql_cp zbbeBfilZ>kCX|N+!ilWIPkhDl48~EB?4xwP-qP$3Pj&y)?r*n~4U}!>4s$QUKDen> z&Jx!6=$NPb4#Yt2c(@WoU+79jEsENFa`0p4lttXNFq!-KLgiUZC9!l1QYZ$%H}_=S z<#Z;C)j$-n=y-BQTe9V*W!%+BjRUk*{-?G=GCsa*FpAhP)OzIR9s@s4ecRdL&fB!$ z8yd1wcy~&uPnjKXZsU53{6TZ?6-#y_I}(wsWQ(^zWr-^aI^;{2W`)cZt@w8AL*KCX z&n)%QfIr@jSVl7do4Nu4+OuBq)ZU@f1ScTwR@W&QVih&N(1P!5M_+(uw81ciwzSRo z`f%Xq0K)M zoZEY@+F<}%asHr=Pp-a4?O)!^?v41M(u7_j76}%Ai!*x;ZEh$0c^gp0%%!56HN6z{ z(YFQW3m-Ck|3}^j?Pvq~V(Zcno>Z(-(j(SND#w>1saJclztD~AyF8-LfpOok~_gAbLC?>N+;Dq`s#nC zlpo~~cloleiQ3w1XMX-bND%t{h4IgzZDfaUvHs%&FNgcBb%*@Q!bhNvulzNLYnXqs zBqcO^J`g4>5;5ynn)(^S-TDV=-Cicp{k|>L?DV9t;>nYZTemV|mY)UvtoovCM%|@M zKaq)ihX`jrd-+|bTiIpPSStNbFqoET4JS&upd_3@{fu?8wX~-yhSe5ecCB-|Wsx%w zBC^I>A28v%2?1KQGM4X&yNUV8W;{o<`2_quzU%ikw0F_MX@h3?u6?bkL9gQohyVIKZJt_h zu!W{*f<`yx392rX#zm_EJpFQDpMLoA$X&eMq=%Paz{@o?vtR9%l1X*N5H>)ec&DFvC_|xmGDO8)K-*ga-n%2@7Ne7qgEV z`#4yF*h->BUS|&X8%pv=tG)RhDi3~~KAr7pD7n&U4zmOGmB-E`Y5i)QDPN#%>k>Mz zm8=ytVXz}U^AfU1s0h)RuY74?quYZeSGDw0j3P5_r?UfQVAW@(U@@dt^TveXHYuAp z`@TP+i|FE8He2oHN9lhCAN*cwY1R0U6j{OM;Td7H`mD;hCjYFyAdOd8a1p9K{KYx^ zOpt7h96fSiyR$N=S}fT2*;K#vSru*ZRnV36u{)#RS1Ynq&3AcbdxRSATVm4d+1vy` zvgNN#X2!Uz{n-t^GCW3DnepJNzRaS@_XIz=;oP3Cwr#?tJ8=ED>>{=pXb9mvg2#4Jfnnl6}GjD zGZzgIiVvX8?fu|CWe>9MkvUfS)u=IC^4(uc$_-4mV7-3}EIt+ljy$~gu2NY|nU)yT zFe4P@%nBBdI+JvB1*>Iw5z8Zni7e!tRs_P-5&y}lr^td#zKa@kK6cz8nM*&k{hp4P zK6-3~ChiP`vd$`7^4U=pKTwRFI4drkj<^klOf@~#_27U!3_#HY`ECSZ>v(g18OB7# z-3RHBPw}CYe3RUR(F=F7p)2c>=rZL)N=hZR6{yfzWbz3lE zYHOn>#s04t>PNo4Nu`*m4XE+*h)C z5*FhkiK1R>UUq3?%V^%w_6tYxdogBTtPkH@Qj_|HHdPkgR|LmZSbiAHh%H*=;l&V> zOd-CV+Pa9sQM&LaUgY4-_fZ(tYqqhSU$b6MK$<-4iVq>wCO=Ryu+L}^`)cRMTXHaz zTi8rmn1NmFD*$;ohXxPPr0hpAp>KG)%>(Jzd$G$ZJ>L9G>(R$D?JV+_ zYL5_RL~oZk1MuF`THTL+Ax)9tmUR-=ztmkVk^m4&d_Up<@nmn%)n!UggzGB1pa)k{ z#z6i>MkgPS+0D`7X44FzL-J1N>`A`qGXGF)D-GA8vH&GD1lnZDdw-H2b5dy)%0`srZOtk*M%oCx{nkxYItJn}$hy z=EYYySkPdae(m$t`$;CxN>1%fcld-#h_)E9@gnhv=tr%Eu*~yANnSsjIb!^qkCsIi zrMcs&RaZS7q_-Jz-ZyNj`x*Q*Tn#S_Y6Mz4wW!|y1F`$XAVSPxY}gycsyjhB%4RP{ z;f^e7?lGS2dF*P61A;YLi0>@oINW9IA6*;R+UVtilys4x zM=Tc)hrtYu4*uB>GzIPh)d$=?dQK54B;%s|nL+c!(Fqp;@L0>1wt2%0ZwBJgB=6m3 zj6O&;j9YLF5G%QrN+r^yof+Z@9C}LTwfzb$?U=&r)c8W{x)A{lKKua*X;Jx=T$v#% zUt(074+5WqHBUU%lq`HmKv+Gi?vJ_jFBi|MI=mCK!4ByeOz8@KWx@%Q+_z$!jnT@b zsIrGeX5|*}trau5Z9h3|SaMgSEgikI)woR;3$1-l!J7*zcVSD+xXm@l!b)2aCM&5H zAI&|kTbQj?SQKSMg*-~t7+{>PJnbMG``Y}qg0)=_6GudDJqVw5vTL(H%uYo6dZF?} zG^&XyLNJT9IHz(dW-(5gxRWYgAC0;2175*ym0s9lxQ!?0*Jc_Cp(Hk(gu!(~IS5<& zCTwL!6j-cuAq-U20vm2d0CsD*pJuw(*}-$qV?~;CGsTpnX!Xg+Q@uj>Usc1wkCHkj zL=>W0He0gq6JXO1gxQ;ZCYDu?G!-Z+lXwWkw zF!1Zzt8{MGp()&|I!bGkhOve&Ze9>1=cc>z3(`;?j`T!gH#Q-S8!SSqcB&}5ZxKE4 zXd&Q~M__L;#X$ZHakueH?#0Zc)I1H{TJoAPTS#FN9s$-Jy$ zj>utEcO(7n{R;4~mO*M#Grv$NW25859<3|s)CcavQX}l*$I0rTE74rdMkZ{0#NE{| zxo*|I8M4~Vq}rkmurrR&hC!?Mvzc*(qXc3RHlkD}c6`+B`0+xk34D1(@#brrgIrXv z=}U+4Ja!>Da4a|^lgPv{@?g$w)OkBH?wz-RtM)4#{Jv6Bje|Fyk_xB5ODm_0ML zv+B#pxJ})U%IM-1vrA|IVXvped?iyOF8xVQ|8tP3r@vH%Wgh%qoa(}E?p12j;x(27 zerYLcPEn2B_D)b@?xsYsgN(9F!q~-JjIQJy@SVH8ocTN7*__n@tV}nf>60g)fyaS( zItKxnp5BXmF2chl63j>4P6HyC>!U+TTU6-A@>a1r$w~fMTlQ5);Jdxli?|;PPJIO% z1JJI=Fy7Ly@H$K=NM4d8VH1!Kt$$=V@sHav0^jsVfK|IspZpudU4`5+x+0?<0e!dukPYx)N54 zZ`%hgtI!UWwkMfFE6IG=tJUCFOu@p*AJ=s?LyX=pAv+UL?*fKh5B1wcjbd$TcoD+aCdgJGt6kbL zuI?I3w5sSTU>6Zl5Vp;3{^)9;Uup2=jy?C-YEFof4?OY^smWPcpdj-_#ZIOw!(`U- zu&Z}3G~is$^wa>1cqs+*X30I!QD73>=FqTJ)Ro2zrB1sa+jpCl76tKDACt@xL?vns ztCh*q-n{^X&& zLW0XXSlBl$_MrpnxW$p;fb&{fAdeaA!}zFnu;@v9S%Px+c0S}Gnva&q-_)jiN6C3L zb~dkQDm-CUo4$rc+qb)IuVEi^qw08K7;T$#eYJ;YR6?!dj7`-pu2`zEsR>$XAVTJV zdpU|U_Cz{FQ!7_ekDGQ?TfBH~86IFM=Y@WiD0tupPk%u-gqk<=M?Rr>nTk;bpxXb4A1)|M)f6g!Q{veLYAdnyl#~pQQa<0Cvt#zF#C43QDARkHS8w&7 z4?C-Bp5)}HFSDf^uEi`476(XWL_S;^D8O#o#~;3r+#tJ2#oOGaYY!Syr#av8!IVHW zlj_xeo~1H+{xj-bocpi7(=#1D)UL;oWrr2w^>fn|=CPE@35A^EH^C%5ZEj*@vLJJ| z&6zRhd9DR!gTFkeA$ER^J@#v=L(`}b!Sm^zZ}o^aE$%cw_1^3*p6g3Wr39ZbF!%NE zhO<5nSI2tMG^G<5(s~sabke)%c`gMh8zAQ;{`EcwTTqC4MQU}< z96H1Va}vwPSf-lEzRp!j#XwUl(^YSMii2fzhMgja*y~J+&|(9Rj4=mrH#BX|!sjwV zLf5!T^J;=gz0we1+JWxRp=E>ILJTH?82y-I`*d4?8Ya5>eZTf9e7*douc-$e<+WaF z6)jMvJQuAExf=OVuiABers2mKnFxs%4UbBCn!!WNx`YmVL`@fp@fl5b+2A5;?t4RHHXKNdK6Ry@^xbvVbZ#m^LTKh{3><-CLv|}pg zN%NIcxQ)+Te~YaPW%d94h=Be_VO&7X0FTkxtECruIZQ!ugn$Tlh4Pb((8_d##zOC8 z+A=&qGeA&Q)J%cQRju#qd6nh6LA*Doxc5uBTHCs7O@PwDkJYqEw<(WCu5kV;PXcWk z9rBpStgZR0-$AKTrSB# zKp#y7-svnLe1=#>1%cYtZT{U4p&nB=mNL20b{_Q6X)pbyRcG zlb++I3z!NEFEqZ~CM;oaWjsp_W%ZbJQpz$ZW6Dm6TnZcGX8d$^U?ip1aZQ94pXD7g&vja$Ek(L**1!h_cRzTIIJ0K= zS*{|FOuC)m(h14oA!+HjKlrn}`zCB%S#3~fTWZ%^nf}b@g;~?twIiUao&t^Bd(;xg zPDov!Dm+{M3E;L-NCfxag@Lc_`SzsK+#(jA!z(yR2~(^X1M9v{6MP)oGL~UL0 zoNOh@gMj(t^z=i=*=)DCHF(IaUZ*qjr0%*|w}igYLXE6UU1n4yJVTP##tJ)Dx;XpG zvJM%xNJ1?cG+l+A%3Ri@a5MANxZygvPepZqCl<_{;vhorhi_%ywBzo)lwa?>x$a|A zAGMOVRlSS{P@x6D!lY^xY8tM-2m|YUm%_UOs$2~hA9aG~?(@v(#w_y3&4ecc_k_Kx znm>=vADYsw+P7H$WRBbEQAgVqEX^U9h^^izB4(!BT(o_20sr)e?wE?^Pft9cgJZSx;4j& z^C@e6P$)v<;FjhBahE_L1G|QmhHGl$K5JN-VJpFdt$1^ zx+P3<_rk)F7^9ocOu&1iGkGh^4)a4+O$Cq8(V_yp6R*k1bjIRun%l7AZ*+E33zl4B zd4iFu?9;}2?NQy{qEAW`9xwqx)tuhMh2u`666cfeYmmTO)Z*!QHMvD^a8wIA-KB0T zWL zNXr&o7PSN5K_-DY@13r<7f1yrv}c6oV$<3Lcuc#QMrYn0&DNt3rz$s)@`h91KAt&E zu^VdKafWxaSz_j(xGvl)2aObPx^#wo0)|M$|Eek%f@8rFJ-aVoLD@&enUC{<&5iT6 z#;idy>NZs9G}P?Z$Be8wv>;L7f|bys807~FlQ!Zz0%&%RV^jH_X@gO8{SNztcTIk)63hh2#&-4DbIhDisNq2efzQkD>Kn&BnFm~k1)dIQx5W$;6)GW^%T z4q5#fQwxzvMmo|=SCc0O+nfc?xSn4VsX;!eL58y zB)FLqLRo_+#Ga|89lE8Ia67;7dNpokTl}*+eW!uYesCUE`i-q4MQj{y`$0{6Yb9Y9 zb(5e6BdnsK)0sLj6_VC(DJ-^`wp;5x6-`=Z)6LURe);EK5Zi4R>bvMYFokZ!e~sin zW3CYtuso9tyhaJXz+=*6BT}GR!IG#*@W4ZP@*f)v=DwJ?RJE)8yfx=TJCk6%5O&@n zC_?`=;QV6_p3YM3WFreD&duZyzftTBcntf6hke zs5TWk3K~r{YbKimVV88TKTbb``fh9Fjt0D zOR8skxt|3_$HZz}Nyf{FbGx~6>-PhsXBnxJQXD6nH~7sDV~>97i;Lv~3x}aN7+TrG)x@;jO{n8I5_}G^*X- z?cB|Fm2LKNID?rfTW?jx+LZx#4Sc5JJA=+lA@qa85B@9=@Wd@~pTo|;2iot^yqEX+_H<8Y7=gHS#HO&`Pv{3$1+dFKEdLo!V+PdkB?P5d#57PfUXz0;} z4;XrO8gVv?&tG+>iPcp{rmg+ z{6F{1oco+}o$I>Z%eh3?{qomafLG>`Q6^W2iy2yyU29J4(Cr$eMnm$P-iq6SS9m<0 z43)UVvnEyr(elvU)gPHVshCfiON`66jVG$|=Ni{bS|MIrCU_z=I4>Cl)C?Zw%dQS> zTRm&C-SJfgtN65MxyhA9WI3d{(c~L6b98Kd`Bl3x^fkb+^aPKYFJOYT+ks!mfNKRu zZJ0Kc1ep_by)0}N%wmeU6=f2P$3&Wf^x}vsTx%kzS{uge0w4WMj|0c%tD=4aYA^P> z_aSF3xsX6xGAC~}Y4gxmc&>B>u@PpCv}EamjY_xKBLF*cPv2WRm~qbD3b`7=qc4`z zbzu8Eyvm2?^=}FB4%CATrve-QsNZo@?C#;J_t$ZuMHxBZ93GcqUQ)h*9`Cp*>R!5= z=6dC{`|J0~PWRbzIs+pcyDCWD_k5Gu_&btCA7{UxzEg-NQtTT3%0Y!Gqm2LV_p4a? zEv-8vG}sGcnz{q`fGRa>>PR|_5=&Y?9CUpQ$Cj(fXy_<~AI|KZoYpaeHR4W1D!qEe zM{p{a^ad39&Sop<}GRFYz3!- z2^R~QBpReFIliMVvd+UZ5#0ZN1rd}=cIf3A^|iqxP-V59Mr zqH|rUK6_Ls)3WH$B;E;J{)oMQ*aU2FG5=ut>vZl2Tn-Nuy6&DBKAkxj#rUKg72u}D}r>)8&b7iF?_cEeb~<99Fee455!%AxM#BPQ*oCRle) z;8Rt%3FULZO=gzTzF=RU8Z~N_^viEmr}H?-uiefA&}F29*1~%kZCgh4FeV)8Eo%2T zr5VjcZdkLm&F02;teQQ*1zfk1en%exTJwVetWd>718+f(BXg~GEYJknEB6jTR);&p zTSLR(+rx(S@K38dlgwQJ;+;+qN= z^a2{gk60Y(wE+j)T>ld2wiA?cK6%lu?FLdq|9Qalw*H+#dnqqoQ)HMo7eF+0qAB6g zznzDepXRc4g20aggb2MTRz(#j)cAfJq=8q2mfcV>{_NCh1k~zPMm3FQw zS+#p(=*!Po#_((Ls&5uKnF?K~8B6Ad@bG~56>2gCv^(xX~O&)g!d@g?<39OlN4+eZtR2y&X*JO4f)%NPc$+gn*&gdGYQZ4;M1R6vL2~rZ?l|s^85pNzgR1!1L6UQQzx!0g zh~V8(6G|ZGfrjYK#6Ls(C4Bm_`#D0ni@|LAlEJ2tz*Vf~qG3mL^@QUE^u3wNcP8z2 zXqU>j0X7J2AO<+sEpl_ua18d^hvv&P81H%XGxv{Il+YyrsJ@&KZ}mO{-}`!l7{U>}=-Y4yEby zTb1AS#GyegJux{N8@yoLmGapN(crTyGpm!Fe%SpyY4cNtvC{FeYE@9b@1?niFO>AL z+%g-x>fh_g`DRLe@N4CJ-98V$B$bLm7@OQMZ7q7Rcl(HTdYb!y1`B(Svs%vG1(Y8bF6Id1AjliVW87?09g%p|$cAs#`Y*OrbMZVI)tCE?+=j z4f_8%7%<}QV2Nr8L%l&8@ZKl8Dk3j|#>rJ|tbxz`5Ut63C;E$7mN6K=XALgbYmi7q z#v$c%_c@YW6O-`#J~}1&pD~6P{qj1xBdD8=E*7dzg7Ks%*OEgY7x|w#Gzvz5977<) zr}iS>sbl>$P&obTDjiBhtE}@E@lb*XsQAT`4KQkMS4KFAqKz%GV0ZgW4@%BA73WAG zN3*Tq>gum7Y{KG*WmM5lmN3)m8WD-Lw_ENxdzUtgsq9{BP>D}U(qj9npthg?iq-=* z{lCKsf0PV&?99ur_mN6g_^wd3B)eKGDe(Z%4Dcj4v3=e^zVk*>lwk(KxSuRS!w*>rd5&_k@gq^2(fXP;YJ!}E@}e} z+zTNPA?9K}g@cm;g@3r?*cwi0uG*UAyleCt>Q`2p0=cw@lKlyN zKnh>>o*!d$(JnwV2S0i5b`D?mH-Z*!$RK11Zs+X7KRdmylFuep z1t>TK%Dx$6@rh71W2Bk9Ppo2fdIO>|m?u*$i{H$~>m8U!Q(Oni9x-uPd2cW?t}jh| z@TdKzP!zpso!Va}89kk)bev5<*amc_r{g1A(A;2;Vsh0oL+f=iRMkt0QZqPP;T&*U zu=w34i)JW?Bgg%W=?nMcL=lYwB0>ic^H9WrFH?Chq+&63piZlV>kRn=fC*r7#SFd} z#b=GI>#lO!Sb{@p1-x#6T^A4S!RPqh9fE|=MdTbR0iGR{e_PQ34T1}3RTp-a6b*bQRFeee2xNqYvuK^aw%qf*qN!hNFTNIIuC zQWuJnUIhtJggcR;kXet@FQR7?ad%I$LzD1tcAX2i282KH=B^qeMKVvh@V-}W6A;Vq zx%Afevy&#|&UTZpg6uE+$LQ>A2_Tj`btZm*oinvmx|a^cr{p|&d3L|H?TS&pvz%TA zsow0#G&E}vc`=$86#3L zZIGt~$R}sgEKc91N0wO7c@^?aHIlFco_z;*agU7Fd#I-k+IvpvCJT;TxqA}T(504c^$UVVAwCtZJmETEW2%569(@&KvIb_18>Ib%!Z zLl}lvMf)QcL9r%ntchH;@$eh4viL)fjH_BP?qrwzOa^7B4J;purvuM8pxq!<7Ln)f z!W`x;*Jr;9_p~hQ#ONI$V1?yx2&!baGNwNIW*V}u=l)aP+#oc9OYw}$Fk zwMW}L+J&_r0gXS2b5jmZ9~)Tq4ogMS#ynP5lrn0QhTY$X2c0ebv}Ptb2SaI!W%$;a z53*NHdeD6+X&z_Gs1#vfmgs8FO-M04f$AJz6S4cUB(cHGMQ7j`5V8+Jomi~B*S$~Z z>OT8$W9O~%&BfJUR?_#Yj*b&>JuxQYnOBc^mS?X1yOk)=afqjFFn7?oP|bAZ;}EO- zhgN5tSl^{z>|+8_pvwmHnVxG|GI0eMH)h1+JJCzedva9U@xuMyo}RoK=`69dxdz9@ z8%i!mR;M%Ax4WAKs0Huci8uu+4nPh#nurhJHyB2CTs@jLDFXx`;%c}K-5v+F#*2E^ zOlMQVb3dF=Uh!=r)v3c$=An5Ra$Azd9L;06u@47g=9Bn7U$*kzI~9vU!o60?rQ$mf6xBPW8f0tUPe{eQpilbplOnGB+G6^?k zW|{NpEf72|{1ZGV__p<94jblkI~&(p>=`7?ljqlpmlq-V<3-|TQGg2|Y;nQ=CW0+| z^LbcZNOgw``c6rJLt-F$Vi+mac!6&_XgGze_b_o*toj*V;M~v3q2-Ec&6M&jnOMtH zSKF9oX(iQbaVL%vtM-=-$_`t|*P02iawR|fcL4Hs>DHn&|InE0Y1%4U*_}8qymAFl zUVCdkQiITAvHs6@Ym>DM-CtF=(*x^Th&~Ny9&9vE2jJa>6_-4HvKO`()@CHY3Q5N; z60Bc!8OtBtl(QH1 zrZrK(THy}qe~4~SCsIc13{8jRYpLvB(~(>kTaP|X{BkHb{AC{RQVe+fM2(5W``efQ zlKAR5H2>EU-LV5xM#+ex(`;0g&vBU&sa1eUUR%F zBV#laaq05_5Kx35{%(^48P=Z}In(!$b$uLw-(3UvZYcMsWNji10|t$Ic3M@pftiKh zFLRjhzzGV;IL|8A|z}UO@ZVPKfI>==gjgL zB_Vm34F^(TKxJYW(>!lh+vU$U8FPvUqDT(=W$gA>%VIkD$$0ooTieYgWyo#(E37ki zgu8QErfT_=QgsQ61gQ>m9B9Yp$=$potq;`g?_54*6P5aA0-p{k>Yl+v<)6RM3vPlu zni^4UtsMXz$y&~s%afm?%@PNaYd?_cX}NEdp;(;H@7GAJUC+@tso&2L$RMEO<~>J43zTz?R<2$^f$Bf znu<&{>rO8~c`cn>5VvbGuD^pk^gy|rY`dw2kGely8kD$s(TwVC;M055{zz(GXc8Xr z0dt8ptMi3$uA1G*U2wOk^2q&S)^1lID4DCR*w&ujOzk5ojeA3wf628FX5c{QTxpj2*Yhuulss!XywPYn(49bT%(IOjKQxnDrC4 z5jax}`k{fqx~#y9UJ86Byyr!b+t7J+zYeSs71=Da7$dNti4=s+Y6lNDX#AVjTz!WY zk|tY}2lK#+ovLN%XwpJ9FeTlvWTybJ+D-K_{HmU0S%#H+!zk&K^p`Fwp$rtc@mYRR zfZX)(5w3A=7b4kO746JVB!daF@x7)1g{Oq_oOk0^PY4M(GJFywegKp0v;tE#lic=K z%dU=jDb~b0%xfNHn~jF{&C*oUuNKVATW;!=tz%FlA@$;UD)Sfg#+_;V?EU$$V;?W&(o`XA4K zmb&YbEXEArz!DIgIN%&(G+TLZ?@~(T}75tCzU)AE) z8&oh|hWmTaL_95qo4z?Z2Fs2L4W ziQ`OKhsvF~Wk($ccU5+*Ba`02AJpHmS|O`F-duKAlE;PtyzgCU)se(D$A%}LJb>Ef zP@+tJ^xU#3Yga+Gqev}(jUGt~Fom9G3o@q|Hdu5EBe>8Sys<+#|1djf@_L6@Xw8ah z7wIG6>^vF!mm5LTYfMQ2Wi`zGXDP<~dujeceNWmrFr<1zCn=H3!pDP4#S@HQUR0A- zsmQLm>nwf`acC=?XUlejjMx_#L@(^_>h=Wc#>PRC@+3|6G5{n~cJn~B+U>!CXzNOE z%Ju5hO5sd_rk~RTDu@*FZEJ`AYgZp&DVljFBa*eDHKJdmF_y{VxlBwL@iwcuphrjQ zE0kQRCRdy!#SUoybdxv9Q1ct})~;{meLyQ4mQ=)TQ%wg?O9h&ienNDynJT&tqdPw` zv1r?Y?m^%WYN}0?gE-BVX}d~2xvMoqt(9BfA^rI)UdilzLx(ZZugSy*yx7)K`@tKv z$mrwzx!y9$uBx^bq*}?JIY0TaQP2U>6CJL+M>m9)lxjNpmVzCr>gRqooS$KmaPQz= z>y}rxTZP~oeZ5@!mij8Lig`AI7$uS?kQB-i~!aqVpT-#0XSKE*oDFS@X}f_)B+z&5?4!N^O&>0;R3ipke77Dv-N zHJ`G|#y5|TOS;Mx@wiC(|%-58dr zJ+*s0s|L>i((UA5bh!YF8XlK16MTC0P0%8Nz95; z6$L&O<6<1i_vA;v8k+L2sF|18ttvddt|Lt@yz=^5{Hf17LEyj>ahWuevooc#&v<^4 zUFmQ2n5vy>&m$@yQv-dIJHrm%i+iYOPWU11%n;!L?00Evvk!r);nnX`X*4n zL#D(K7V>w4IsWY;l#dW62kv>WKU6Tm)Mk8i5k5z(%d^cLF7jnASAwYwAHFLB2$lja zKc}`L=s0z0lhF3$nK2iRPrIQsi`kpv!~8sT#-3$&OCEd4a(Rig&S~lF-MPK^V730c zWl9f7l>;fWn~c>^Fcx^R4AGh5720Fy&2b8aCl;s>0-tL17&@77uHWYJ?g4^}U?Lq@ zozR45GEpm#V$$dK!#uyA^|`9gLi1+7%zJpWqgw60m&1<8%LjDK=(6;+%~v9rOc&sFu!r(&&4GrNg}hp7qO`c|ugH`mf4&_3AO z$(Ygt=eS9{F5loljOpzgz>J_0J?_~AS1Xl;j0ZeUpZR)_S+Sy{Gs0W3hfy4tVKLm{ zSm1%>ak6z+x)0XL5rm=o-l#}mn+)~OAPqsi_7;1ailVKK4xas^kC$2nd&ZzQ^>>yg zil~Qm>E4)y>9s^H#12fX!R3!X#VG95xe5)ic0z?j{VW~41@pEJ>+!bV?b1c{plpW6 z6RvCi>att!f;XGjjl;Gz4fI4JcCuLOnpZ?_ySd&9kVd~cJ8m}V=8C<|s<8x-UKKW< zDZjrIiy$wV@UAhB`aa-`P<<(7Zur&4O{^#-?d+Knk;Q_BVUQpy+KhDYoqTp4U%%>- z_vKZ=m$pe-t?EHXO#{KLc>SNF9ZOd2%w)iDJ(p+G(Hun zsL|{iePmtW#WCQ`tR#DA+CV5T>3aZCYc=^c29O^Ca*DQ`GSFr|0-y=_h(F$Oi~Ulu z^TW4A4AGPTpQBoZl@YLWxd>48!DHr=eWGnQVf)P$kwZp<(v$gSN2T}Vs;5#@3i>g% z8_(RR403v~=^xO&FZ>>y1C%PP-D5blA2e%)#;PM(hz8s#ilsXIu{B25rI-4l)VJOF zI!rdCghm8aD1Kg?(L(sRFb41Pc~G79nU}40necs&%5Tm;4R1#MTaR@`@*-a!AS?p< zsMxTz0W-Ox{jNB%JOR_?74zj!jOCoVE5Qtud?5joOEvrPU+pA!+&#XjgUR`n4HZDd zBaC7Jzt|+W&bX2FNA8r3VCG&#OMOe*+fml{+$M>YoIQP|RXi<$S(kO~(mf+9(ax#O zSM(ZqTXVz)SHhL71;`jBEQG;_K+^Wq5cgmjfDj6md8e=G^Q7)P9Ca$lsrMZrJ(J(A z2HfAK3iQk<`1$}Mr#7wL%e##yz{$ilRL5q7ELeA~#xNyl6wppoMz&aW3x}Bv*_8hh zHdls2sz$~%7U#MoXM279%buO4 z0kl{ynWaj3V z<{0j5GnClu(WtCsS86_z`jSm`>a2u4cP=ZQnhhXUvWMbkaj{w0hQro_Gz2jVTyeMM zBQ4A;$%l;MHylkyLP<|B%=0@DtxTkyUB692dF!8Lcah}EWff%0I)Tn$zI)0!Uf$*&P6}is>Azzq35jD=V^-VT zusnW9X@}ty?%?x9xQo<>frRvr`k17CA*fGs%Xpm6FZ!cs>pd?3PY(TvkBGcDa3PT7 z-*4LR7RO2o5$}lDZ9iK|c2UkLrpr#gXJSHG=4?;POY)QK&)~n6CRKl?;}~Gt>lGK` zXAurFe8pHSg7Rf>@{7_}$1w-N*wn!nNL~g17AliGD!1sa9PeQ9uNefLIA{|is~5=e zMpZZ)zH2o4^G~zg1ZqvTZlr>4-T2M0B_Y9})lH9N;iqlcM)J=%1i8k*X*!KUE%gto z3Or5EfE?eMX&z<0w5h=_eLp|ec}%||eiix->C5>=l6wkwA%{2c*8lhedhvP(j}69D zGu_e^M9(cNYi$r)`}Id5>hXXR7o;yH{5{Dx@IR>DWs-K5;7PBZ_tx4Pf1~f|QT%2J zM*hNyAC`n;dZa)=uZ)A?BYN!- z7Q^MCD}+V;NKc literal 0 HcmV?d00001 diff --git a/index.js b/index.js index b3c52c8..f979102 100644 --- a/index.js +++ b/index.js @@ -1,6 +1,6 @@ /* ############################################################################################### - ____ _ _____ _ _ _ + ____ _ _____ _ _ | _ \ (_) ___ ___ ___ _ __ __| | |_ _| (_) ___ | | __ ___ | |_ ___ | | | | | | / __| / __| / _ \ | '__| / _` | | | | | / __| | |/ / / _ \ | __| / __| | |_| | | | \__ \ | (__ | (_) | | | | (_| | | | | | | (__ | < | __/ | |_ \__ \ @@ -138,12 +138,12 @@ client.once('ready', () => { // after bot has logged in }); -client.on('message', message => { +client.on('message', async message => { // if (!message.content.startsWith(config.prefix) || message.author.bot) return; if (message.author.bot) return; if (message.channel.type === "dm") { if (message.author.id === client.user.id) return; - message.channel.send(`Sorry, commands can only be used on the server.`) + // message.channel.send(`Sorry, commands can only be used on the server.`) if (config.logDMs) { if (config.useEmbeds) { const embed = new Discord.RichEmbed() @@ -167,9 +167,9 @@ client.on('message', message => { // const args = message.content.slice(config.prefix.length).split(/ +/); + const prefixRegex = new RegExp(`^(<@!?${client.user.id}>|\\${config.prefix})\\s*`); if (!prefixRegex.test(message.content)) return; - const [, matchedPrefix] = message.content.match(prefixRegex); const args = message.content.slice(matchedPrefix.length).trim().split(/ +/); const commandName = args.shift().toLowerCase(); @@ -180,6 +180,10 @@ client.on('message', message => { if (!command) return; + if (command.guildOnly && message.channel.type !== 'text') { + return message.channel.send(`Sorry, this command can only be used on the server.`) + } + if (command.args && !args.length) { // let reply = `:x: **Arguments were expected but none were provided.**`; // @@ -238,7 +242,7 @@ client.on('message', message => { } catch (error) { console.error(error); message.channel.send(`:x: **Oof!** An error occured whilst executing that command.\nThe issue has been reported.`); - console.log(leeks.colors.red(`[ERROR] An unknown error occured whilst executing '${command}' command`)); + console.log(leeks.colors.red(`[ERROR] An unknown error occured whilst executing the '${command.name}' command`)); } }); diff --git a/package.json b/package.json index 14e0e13..3538a54 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "main": "index.js", "dependencies": { "discord.js": "^11.4.2", - "leeks.js": "^0.0.1" + "leeks.js": "^0.0.1", + "random-string": "^0.2.0" }, "devDependencies": {}, "scripts": {