From 9e03e8be42a85ea5df435733488951f32c4a07f8 Mon Sep 17 00:00:00 2001
From: Tom <git@tom.al>
Date: Thu, 3 Feb 2022 16:30:03 +0100
Subject: [PATCH] Some fixes and improvements

---
 data/database.db         | Bin 405504 -> 413696 bytes
 src/commands/invites.rs  |   1 +
 src/commands/schedule.rs |   1 +
 src/main.rs              |  21 ++++++++++++++++++---
 4 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/data/database.db b/data/database.db
index 81d319e840638119f48be37aa864b185ba52cad2..8222985aad7685228d1ac3f43d1255dd87d2af4c 100644
GIT binary patch
delta 6471
zcmb_g3v^WFwLbrO%*>f*c&Vt+0TaUOFX#Orpauvb)hG}K2%zRauP_o4Oo%S*!pV%i
z3REwV6wk6P4Yqi_7O7fV=Bn3)i&_`j)!N!ySXE1<?V{yguhP=%qbS@xGnqKoh1a?E
zX65nc%s$`Q|G)SC_P5W#o0kpjoj7;}7ojN1eIR)aiagb^uO~D%@pZUBIYZIG+Jj?i
zHYON5=MC-6IB_<y1i>dAiC-ojNh~>7GhilAyZ_P-ZYEoR7`k)k9CikiqW#l<<Z8oc
zGF)6fok=0T;WS%|7UTvG4I*|EYTwP#vuJwkZh@W~pgmru=k4yIm+XFqzK^DUHZ-Q@
zWq**S*^Dk|rsTK|b~RVVitHGen39Mk%OIvoWJi|?b)oP;Q&1GeR&1<#j)E1}aIs|?
zGS*~66>Uo+L=&j<1xv#-6it#W>={JBilKPegbP?UWyNzu)A4kR`lw*3<#*F`&(_OZ
zsFx}J2(yMA4jzlXOWz;*4mT<K(?~dSz`t^U-kSf$0R2K3Ed#e(i*C;pT-S3=&%&~$
ziQtSWVWNr(HZ{=`WXZ8yL7~1?JeMh3=-T{+uhJY_vx>fgN*qsokDVVpM)%NH_%(y{
z3Yu=pJA?F7sDR96JVCd0S;VHNYFH5+6B~}>U_n%gYrsLdu1q~#@ZB;5S#wk!TaFI9
zv~33yVi7DTrYaE2G>PI+dyBhtC8B$-jZIb5vEmsjHZ8%#x+M@<lZmX@5;a_~)RlXO
zchT^}<cD{$*>L9E$qSMoNm!7uB&`s{xq<-SSKKrBlgBBRVr6pf<oQtpvC`nh?PY@x
zMh%2YgXd3`4c;vqh-Rh1vp=Hz;XN$JoI82Oe{>H!85VE*M@x(U^iP)-fAYiMDt`1w
ze^zPn2mkug;-tT^wD_(6kEO*M{u8CeasTI~#jF0GVFCMmrR;>DS2(fr!{M@*KN&U9
zDh=NKux#-1sDWB(@aJEb4PG2IP$~`HIz)v=&hkk9!C@BZ^zm!+4;^DSOk}3B>;2#v
zwk5>PV$ZPq+4WGYHEibE>=ZUNpVF#GmK%Dy@v3xpr|TqJ({^u9vTajux_fiqf^3pa
zHB!}NQA;miw36=R^<=Y~Z0&I}ZdbC+?M=IVM)nJA3R7AY8P?q2<t3LBCvB6i<ih?<
zE3=c?RGO-$l3Kc*G(7$WvN_$;4R?oIdp7s<+FR@{*S~Ew8XsJooy4YED1Xl`sI@2l
zi(P(shP{Joqh2qT8=ay*N_-`;HX$WKY%BdsbRhoQ_@VfHXinUYoAH|1Df+S4zp_`w
zcE#4mu8vJ$mPOx+9*I5_-4ty`?a@i-c;sy4rO4jM?U7b=cjT(TW#JFPKMy||-WqNT
z&)_fczoIkz<9v>9XFlKsJ`j3?d1V3fW#*C4!O-?lM@S1rgTD_x9UKgLfd#>N!Lc+7
zoTg_XE^s*TAoY5ni>c?{;eO10gS(Au<|eUc*_YV8>>Up@PV|><qq#cZ154K|tQnSB
zpfeF$nrdRz&}~9I!?SD!Ir-nzaCg$vBwO?((S<VCWe@n27}#(v1IsEgY~4~d!4go)
z-#U)FYjvUG1y59gP*v=y9^B*z0=7iU#hNXMx@wBLB57z<(NfoSTlFL?>Y9q-GFa-G
zj0MNhL|Yd<Q&G`Mib4-Vj_xV48M{<;4MJ?u#Imcq01u84PxG)PDd3UkYPRg4TMO{A
zrU1iRB782{SP@);O^K+O2#O>_FA%{&l+Jfu!tLgp=qITaD2AX?)^RUzU*|S)i@7V=
zzpzKyVfJ?RdRk`QM<>t^(N`145(gmkYZ7826h9IFL3~G?#PxU##psZqOmbIWjY#N3
z=m()45GOqp3;rSaOmL8$8te?t4~`3*h6wErYzQ>c_XIBE-ez899%BZWRSaer`Zaj^
zlh6^S(DXWANU*b~siNdLwqamVbb*mwLNL)Zf-S4i(iDS;j)iXWCtkwMoLShirrMtF
zn84c>@T=n3CTw2Ouq<h&=(>(zm=0PybZqBL|J*okhTk@h`(iy%xam4J!4Q0>&<1sE
zI<|rhOCp9U5yf^Tw1V<$$8*>}I{_Z0OOEE6#KO@2pv4-ZjfpHl^ekC3Eh0cXG-N^G
zmO$VZjRa0nJtAqu!=md!gClmq-nF0$h_+zp2J{>SZ7lA>6(NZrGj&HP^dZlIybv^O
ztCC|ol3)m)fHve?$8-OL@_(u0j(vgoamPIWwjOS!pIOZ<&UY^6>N&dkO@EBZ8Tq5v
zaVASMPy5VLZYp{%KW!;D#1zyEo4qbOo=;8jpKs%4CYJS+uC%uWh|L;vrBa03nZIuZ
z*FP)6yiYYzClHbmk6xp*;g`aD!?%Z9!?pb1_+Rjk@>}^8{4Aah{W|nS=pRDsLQ*Ic
zJb|7>_t2}EpE3KGJDH`-H2Nd@i}b(I`=MPQNZg%hPY8)X{Ehhc<J;ml$CY@PIuUyl
zt&1Is-5;}KW~?T9D*9Y>h-Ra=j*VU$y(IEh<VfV9NKa&OWK#I7f7bvfJkWS$Q9IO|
zx~z$!=wU}UA=7PJgRnyufJSjm(J?IeLhF%#TOGG*rfFCNWRQ$SyI`zB!C3^d%QjWj
z1hrv^rh@E39Q=8&a<%@Nshr?nSI5m<YC4MIXr_U6gMeOAp_VMe^01^DswS!6f+eAj
z!kvaE>bB#GSd|2VL1e)*1dva<EXkg&s+MPoXwA@LJ7@Tl06D)u$F(9*gUl&NnBOtQ
zUHSX}1D^i9sod;hY8$F5*ecM9t3WC!pzxrYJ@7>XZKOInJjq4t@~=(hrlC4p)g4>X
zux`o*P?lt3Qv@GeT~}@5dXj3Z=$8DstGIep2S+9q^o}Zm+EQ!~fy9BwXrOp3T~a|R
znaInZ-NB8SFf|d8sl<-NjllNz#plM(#SX`|$68`s^o3}9^wP)^5gGiCMOwCGGi<7_
zr5Y*Pn(peddecs)3w;zy^bWFRcCrmpvCr!7-Qtg#z)s-*=f4>@dl#EpYgQv)7xZj#
z>ia5?mqUJc_H;S3lg(~VZ)cj!PNv!#FMjo!>{d3_Kz&mD&bpZTZ6!`G>4R1dZ4`R4
z?Iu_B5_?0w{c&#p!s$0M^;F=wz);}UKx5!i<`M4g5t1!8r(w3AS;l<XpLT|uOEdNP
zjx*e0x|jwTS5{?L0Xgi*#pDJ(Z@9XJMIZ-FR}|f`Y}8%II@>h_n?S;uG9<quS{61S
zzp*IWmZyNOmR%LyT(ESY1=z0WV8?^afTfHLU4UP*Y?~rblcDOUy@*+-d6MJ+@mdb3
zRz*-<47965>oj#pWKkDH3$4z-a+XtP&mK=LqY};WyJA0#{(E#vq$9kYKf-gNdBJqx
z+uU*XJ$5eBNq-leL~*Jh{in>!nmLb8O=MBZP1WmFq+;=C6>{P5lF9y*3|i`cX?#Fx
zxH0FJQQ8O;ilSIL79|}DMNmaJFVDl!s9n!8Bu}xVB8p5dJY|faJUKS7WKmPj;Zw7U
zzF@fuiBLjGPH*aV`g?n3kPE~6aM7vE=TUEP6n1$N_0^D6c@w*ypR7PhJFW?%o2^5^
z`$7gamQThigSJ)Ewu+z<xv=rtij!$DbEJ$?59-4sFiT>hXpm*H4m?W?;15tehOT+0
zD>!A8j&&7L%B;(E@F{3TslL?wYPb|c_GY(tL>DLLBp0Vas=DO-vq|dA=b)Cv#keK&
z_bC2sbM6*CbrtMrZK@HZ+-H*RLSm)6lZ)Nk-QLnR%uE$Cc$Fmfxdx9#qk~6wVeaN~
zkQ=I@l93>vAK2zUe2TjtitwiL{cY6<x8nUGIp4RhBGnc)<<^ZBVKqIk<VA9NX$YG^
z&U?=n+*$T{YjACO5B1fE$?_i7hCaOp=Pt~xDT6jtqYTQRH`Epn_L{a_JE*iGFSS*}
z+#f4Ba{lT+O)v3ef#I&1pIco<s<*2k_DZDb`$muoj0<5}H5#UBCZ5usD#A47n}0``
znsY15`)ClVn4&88acRx?3cB=XXHb*>%{RDtnWkKdPhASd+>lCFGxRMYTaps_=p6(7
z^^+3e|DX^?r*-vzdGYnhas3n1dM4YHTQTZ;HS<itcaeO!|LFgV?=WC}`b)dd@ZE2o
z6L|W;y&O9(#CK5%E#4K|75$gUJCSMO7Ty;Hrr}_+=5l^zwmsL)r>=wW*eSIdO*BFb
zzZ)1zD#;~1{k?t39xvHw^(Pmt2O74<Dody{Lk~QAqrdffWEAi>j^bA{tBqvzr{dSV
z_|Fyi3m`;Ye5wwr82l%e2h)Awje`SIq#~LEHl)I^YB)rO_p^ecS|8_ZQnG4xeoY$n
zwScu@6icgOTCBhlt(xptKE_&}U75R;Pc4LVbyI3JFBdL;u8aCDlD2|}R#Rt6d{a2o
z0(g29yqfnB7eCYzcwptxO7I2Q#kuvRQvlDa838L!L9zn$dg)_N3t*k2V3sIIiU#j<
zWgA8(g*XHonk>OgWWZmU5Y;v+z(kAt>*@+HFAT%=oX|}ayeoOUIO>XtVEi|so8kxK
z+vB&ywRkl4``9zF!I&4D7aJEn9X%Y~9o-OJ5S<8l|6*iMq%ZQNNHY9h_^09TgzpS5
z3r{b+665#tS$-9dc{cQV=&8`XFlxOQEY1kis>vtRm4E+kZa!OA#pY0_FKpxP_V3Mc
cwfO_vxaFv>3e|^*|F`YjuWCPAe<Sz50Y{=qe*gdg

delta 1553
zcmYk63rtmY9LLZ9@jI`39ujDnqF207sK~w72Z7=vCyxZZ;~}EBKuQ!f(Iu8eaM4f@
z<;oTQ!$weAuKAwE8K$$DHno|g6DISOm7C3(j&dVy^p7iy?VRnq-}#*X`JV6Z_y3o-
z3@^VM>Kg&7AP5D!>@$&iEN|ahImm3`1);#N6^9=WvTrc`d&}|-VwNCY%`>l>Uz#Pn
zUTC5m|EAg)wx|N4D1VgBwvT~v6~0y<qQz)oJ>c>6ZXA!5N%iY-vWN?D0uHV}iEA)Q
z<?kmW=Glg+wHxE&($Hk#lAxR=i)pjep*_Vr<h>B4UAC!gR5>n1zgT<9@p%<}=nt}Q
zWWJr4vN0cEht<0s1JyEdqhNNLhiQV;!9sjE(<<`eW5{o}Z|VEQ)}}hlZ(=po(amaE
zPe_s5>2^mu-O+A$rqdPgbn<INrSHds0u|__{GO1)0l+mF_@SyFSUvza2Ls>T?+2Fk
z1FpEiz_;HEthtE-=?Qs@?Qf!^xLC?A1Vj#d5D<%)`dQzjY&Je1(phRi%x7x?BAM+B
zh`H=YK+Iz80WpI;;e!9?w0;xL*g+<0pEviroH_tZ9Sl5u-VaO}0HzEEp4{jMVg`W8
zgMo*wg8U-OiB>~1MX~tWDXX!At{P4pu!TvFX$qf#$si?q!)R8Dz<7@w){(zy`YUC8
zmX->)`dW&k@pW^Hxx{pvGCqJlG42?xMh%jT0wc~CqTk0}{ghs(uh3`cLrIkOP&=zN
zYQ<U-a%o}ch^^ap(bi%sv8ACUwy|oD+OF<bOVtcDO6gUu<80-iQlaFKpB1Mf$~Vb=
zQYs&ptKN|F<f*bI{VKIdK54l$U3v-K5FcP7+!D`-4dQCtE6x#z!=G>-K81CV1YxwB
zUZgE_BTb_Yl0lyBnmywG$pdydSR89b2SGY!_xR>ue+&~Hya)^FYa|P?m^SJ_GMf|*
z(U!*nUm%tj&Z%i*AkyDi8)dB?2KCBlo<|mT3ucFTh-b0bbeXbo+c;rV8~H}8p|eCg
z%y?VAEuWC9x%F6CmwuB@a_fasf)p%1;HK-vRpM+h6du930n2~UOZ0R4KAle^$TM=4
zd`-$pHi;$#cj2SB66az!R?r>v4cd<KQ7kfq-}&x~z$lG3E+w#e+4QU6V28cnWcRj$
z$I9IXk%+D7gt6>O74)*o3W#7`UYOXB%Q=@9V*H0{Bdtdf&^4M|-aVbITMG+W*&;}^
z3KQW~z;m~;pg4Hlx-bvoC>8`pJP?lBtVj>|iR4}24N<b9*trZC7o52A-Tc*d&-(m=
z_f{6Xvn*)j<i6!<t(r{OFg}=vmVvzj`HAc!n}~-*;(ytj<uG!-epheRcjyIroIXUm
zubtNXT9GzO8)kcGJ8NsSt+gfE!qjf{qS~yMsHv($`A2D2zEVC?GL$GqkUQl=*eh?A
z7t2mrly0)Ra&U&=Y&;QD)P;_sN|cM-ND=Pxu<V$G^01m-gjJL#Mp_3dAPretlf?we
z9;J#OTMcPqDq`9KvE83u>#(}3A!z7GP0JC?YI6af_ZlN!f2N<&tMn8dv~yYxUolRz
zat^|QIpOoj6+t{L`o$vN-<SLPy9bH~MzWc1U=togytU#noWcA+JQ_H2uXTfKf{4r{
P!A#=IC73KJMr`{Ja>c?W

diff --git a/src/commands/invites.rs b/src/commands/invites.rs
index d8cd426..b7c7f44 100644
--- a/src/commands/invites.rs
+++ b/src/commands/invites.rs
@@ -60,6 +60,7 @@ pub enum InviteActions {
     User,
 }
 
+/// Information about invites
 #[poise::command(slash_command)]
 pub async fn invites(
     ctx: Context<'_>,
diff --git a/src/commands/schedule.rs b/src/commands/schedule.rs
index 67cb3fc..9239a33 100644
--- a/src/commands/schedule.rs
+++ b/src/commands/schedule.rs
@@ -358,6 +358,7 @@ async fn autocomplete_session(_ctx: Context<'_>, partial: String) -> impl Stream
     .map(|name| name.to_string())
 }
 
+/// F1 schedules
 #[poise::command(slash_command)]
 pub async fn schedule(
     ctx: Context<'_>,
diff --git a/src/main.rs b/src/main.rs
index 5a65496..42d2128 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -46,7 +46,7 @@ pub async fn boop(ctx: Context<'_>) -> Result<(), Error> {
     let uuid_boop = ctx.id();
 
     ctx.send(|m| {
-        m.content("I want some boops!").components(|c| {
+        m.content("I want some boops! 🐇").components(|c| {
             c.create_action_row(|ar| {
                 ar.create_button(|b| {
                     b.style(serenity::ButtonStyle::Primary)
@@ -60,7 +60,6 @@ pub async fn boop(ctx: Context<'_>) -> Result<(), Error> {
 
     let mut boop_count = 0;
     while let Some(mci) = serenity::CollectComponentInteraction::new(ctx.discord())
-        .author_id(ctx.author().id)
         .channel_id(ctx.channel_id())
         .timeout(std::time::Duration::from_secs(1200))
         .filter(move |mci| mci.data.custom_id == uuid_boop.to_string())
@@ -70,7 +69,23 @@ pub async fn boop(ctx: Context<'_>) -> Result<(), Error> {
 
         let mut msg = mci.message.clone();
         msg.edit(ctx.discord(), |m| {
-            m.content(format!("Boop count: {}", boop_count))
+            m.content(match &boop_count {
+                2 => "Boop count: <:HamSmile:738765923401596991>".to_string(),
+                42 => "Boop count: 42, but what is the question?".to_string(),
+                43 => "Boop count: 43 A wild <@230001507481681920> appeared".to_string(),
+                69 => "Boop count: 69 Nice!".to_string(),
+                77 => "Boop count: 77 <@547041420733841409> Aproved".to_string(),
+                308 => "Redirect 308: Boop count is in another castle".to_string(),
+                400 => "ERROR 400: Bad booping".to_string(),
+                401 => "ERROR 401: Unauthorized booping".to_string(),
+                402 => "ERROR 402: Payment required, no free boops".to_string(),
+                403 => "ERROR 403: Forbidden boop".to_string(),
+                404 => "ERROR 404: Boop count not found".to_string(),
+                420 => "Boop count: 420 Blaze it".to_string(),
+                666 => "Boop count: 666 😈".to_string(),
+                777 => "Boop count: 777 A wild <@117992484310745097> appeared".to_string(),
+                _ => format!("Boop count: {}", boop_count),
+            })
         })
         .await?;