From 9cbcfc5b6b6828694cb4720c4409d45b2f853561 Mon Sep 17 00:00:00 2001 From: Jared Kick Date: Tue, 17 Jun 2025 21:36:55 -0400 Subject: [PATCH] Made chatbot setup prompt variable, and created an activities cog to shame League players. --- .env.example | 14 +++ boywife.png | Bin 0 -> 103395 bytes cogs/activities.py | 207 +++++++++++++++++++++++++++++++++++++++++++ cogs/chatbot.py | 28 +++--- cogs/music_player.py | 7 +- 5 files changed, 236 insertions(+), 20 deletions(-) create mode 100644 .env.example create mode 100644 boywife.png create mode 100644 cogs/activities.py diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..7042bac --- /dev/null +++ b/.env.example @@ -0,0 +1,14 @@ +# The Discord bot's authentication token +DISCORD_TOKEN= + +# LastFM API key for looking up artist and song info +LASTFM_API_KEY= + +# OpenAI API key for chatbot functionality +OPENAI_API_KEY= +# Prompt used before each user chat prompt. Set to empty string to disable the +# chatbot functionality. +CHATBOT_PROMPT="You are a friendly Discord chatbot." + +# Database path for user activity tracking +DB_PATH="./activities.db" \ No newline at end of file diff --git a/boywife.png b/boywife.png new file mode 100644 index 0000000000000000000000000000000000000000..1c81efafdfbd2594180aaba733f794b1537cecc6 GIT binary patch literal 103395 zcmeFYbyQu=vM-9eYjAgWcV7ez?zV7umjnpz65Js`aDoJP_uvrR-67ap0VCw+kN}`p-QIlqdK* zp9IR&{!Ie`%Cmt(fFXnKnV^dul*asrsAn|~*L90JP`%{2O9jP8IoVXMQx z=eJ4AAdhgtcM&Xxj3MHz@BR?&GGr_=5rw}vD(IA?MeA0x()Z2wYwt`io761rT8@kM zMr)sT#hiAF(o46jn6CCN|16xURxgGmT%3vww7OQTC5D?hsXCIfQf! z^v_&z=co06bDsutC+lg22+E-KNV|Y2@I3w8+3J%s(`EZCupoE2^1#+nDm1k&6f; z2zv5^0PKLS#-yHhw)QUkogN=p9?0s19GZt3dk$j`#!;o-sT!NKg{Y{A0D$H&LQ%Fe>h&IF=h za`CcvHTGn(ccFNL_zOc4=wj+@<>+eVU{CsnX>8))<|;%^4th@d5BcmI6%_snZ}0NA z7C`!7@ica1VPj@xv9n|OR}L3fDR&Ua-va%&94=~JjzAVwpo@c>vnf!@9cb@L@vjhO zrvK!3baS@-(;PEX7N9NA4n*n#s+H~Es(c%9|Kxa6frXWw;~y@Nvj2_J)yn+8l=W}2 zy*>HUoPQMr#Qsm*f200K+y4-Qs1y|VB^^xN-o%rW6e54CpWn>E)XI$iPu7%+n}>^= z-JFTngq@R#lZTs|$;6nKm&puh&c@DT#%9hAH2oJSIeQmZV|!EJ8x#nf*$RZiZOm%U z#mmXYWMak|~!NH_*g{m-i2pnJK@tgR`A6s5`Cfj4gmHj`kLR z9=s`>Urbp}h@737^}kA#ZH-;cK@39V@2%|JJpb!~nw1^!gRAkIHraUCdD*zR`M5aP zxp+9)|ElN@o(9m_1!ReDn16idANIFy;RiJaq*&uOI|Tv!DF?NMU&0w^?CRjG=HOr} zME*~&`_IP;py6a@>}o7&>d{?iYu{lgD4v2yaW{w4k!oPvXymATjdj{0rzkP3q6 zL0v9urc^NBkBXt>91dZ{j|0EGn7b4{|pL#W7EHy;9~3!H2Whb2S62*6te*75u_`SdH#7rk<$L@D7t@_#lsT#)(aqofh>fHmFpi0-)EPpqc z<;`dOqs4+O|BFrp{}B9(lL7JlRR(fiAYaJxPiOeI&Oq}1-%Nk^#sAGJNJ;-w$^S^d z|54X})b&5o!2gK&Ki2ghb^VVt@INB{k9GYYQy0R2EvJC?pjnUyXtCt&rE(8iXu+7s z%SeK~zWwF4l_Y{n;2mYPUBJK)G2bq5u=LD#ph8$zIRz=$eFSJ695Tqeyi_nSQZPA5 zF*VPn<2DaZ{duq5M_rpUKYV^!FerGOINEPURr%?3;R%fLwPr&?!~z#vyfs@xi7Q^_ zm!qRw0*O8}9CX=~ikT(?DdpSb%NXj6;q--+s>f}Zl;Cls-UECVsozgYd~zTF4M5!# zKbfOhNFp#O#YM1o55KcJzcZTpIef^s^vMuyS`Xq+R)Q4fErp6A{YgRZ{v-%C);|f# z#ON)-^>)4`w6LJJM27aSoc|xJ|IYc}v;My-efM{*|IYgFl|ugi%KJCx|0?gNHATyc zF)3EoduZbfc_Sk*9k@ySU{Nb%9aH#l7*1&Cc=6mx+2CeN7-~qi)XsGtf@T*y(R+W_ z5BI#U;rWgEXOFYQN(C<0Xh2dO8&@44Ik?Tb`h!~jt7#+OS@=BcuD{Q} z?{G^U>|7rcw@hpyc*1cWUiNCAZ{BCzS&1PvcuM$@^>#d@DI-!{ha;*G-ni zMjIXgT|W)={mkoAPBkHo5;^{}4GsG9)dJZa^hZ_(dT;#hxUjBeus6uvFba>v#82d7 zfCJiU8T{zUjYo0pZHl}b7AlGZn^zW5D}`JvafDFs$NOnRzo0gjGcs%jveVv$8b5)7 zJ0fX-T&{XMbwa?({zLohQ0o_ZY{>)z%9foEOZV9G0GM#W z3wY2*DFq9F-LxHf~4Z+%gcMnuQZONwuu#S4oemXMh*bIgK@hyzR3P=TQ-)>AUZ zvVJp(R~mCtuTp?bFwVm$1h%_?9N8qGAfL1>fBoxs>B#*2JC=kX$!)A*jl63}Bkcsp zmb>#UnSkI)96$>xJ6wh1H(r*G)<}uRTZ$sd^3qtEdKAbfT}F!?N?P!*Pi_btNTm`( z3XmyD3)A8VLCW64H$S_>wB9V=Kf{dX8OIguAk!DSjfMOGU{wgilhvhQQOy`m1*Jom zbcP8fCi@PcguH+rkM#>-JHG@ins!hiy_!lBj#_5m{sNU4XzK|@msdNy5d?ddTU-oL zfz|WrlicN(rC2qXtNUaOMvjMNbb_c~S(B5-mVR!d4b zzbn*;zokyS-YtBiW%*5|&a@LiPA{Mf`HE^zx1d9knh_c9Wei z4CG`!t@%RaUtM~OnKV<=wlDJ1xoXXz(YK-|Q@~7EEXR`U9oQ+w0jRxBb~LpoS4KCf zBDJR*lDx(ge*T<~e_tGtotjM!R4A3&FV+9hJWAm^N;~))oTdF7f|7&uPOP^phFPRLi* zzwVc;$l@N{>*55H=Co4!;-6t3mO6aXAghkWEzds%KKtCVb8t_Hy-;vO%3^f!X^$HOnixVc za+RQo2=y^W%XFoNZ7+QSJrEe#!mYcDrz(_S^7 z)EHqPe3SFMb-1WXp~M*ws(x}_;e$N*z1^T_J~%?OD4dW~%Y?j?!{u=~v@Eup#=+M} zISJ|vptA`CIMnb!Ew&CrC$#{0*4|^2Yx`&19Iv$LOAPD7;u%&897G)*EB&UpW|uvc z54sYql*tpw&fl@YY4hU6^S@J1;>*B|X9~-E+^I8;klQ29RoYObL~S+WF$%0VRPfYZ z6}8pp9QDti_nI#6w>yWQ`R)mr(LfB-4}V!yRyxX;Vl-?^pt2kJn!^>@WD1GDc7>*z zTbP{VMu$`&xu_ar>*B13j=opRpsOR;azgjAffz6$sw7hCiQyWkfxraqLO?)Q{uNH3 zHW(YDb*lQ0*W2AGXU!a0pL|*LfSOZPm1p#t#YsV(5O7mg18{rjT0-(XvMZAeq(fw<``OQ*LQ<_*}?ar;m(k zbJSqe(8ZEiDu69mGV8TU@+bDqMOe)gvjx1^a{6NhLYj}2ZruvlujjO1!^PC{`aNM~ z;Z9(h)%F%jnA>K~$i%o@?mK1wx`jfnv#2xK0nFLyOeE}#d@ak$?g$Nlog zrdS0lAmR|AS&>HU3!fH3{TYQFVo|=YWCUGd;(RmOMoV*?hM*A9EFIK(uSrr$Qhu_; zI>YW*M%S7DA-K2qk7n1JjJgs5UcXDhETYxxo9Kiwuq82iF>^+Rc}p7H3B7HpJt=@Z zpfuY+p=U*#v$0{a)shU^Wlveeg}SsBiyH$=@8FpF+?O)_@L=cXPxZjdd?&0B>XDRX z?pmKavfDOyd^!N!N??C;^!4>E2cNJQeHtYkgxcKJW?EgQh*!Erw&%xYg=jsGo*UZ* zU!p7B^cqtXz(KVEIg~h#Ial!92g(ZHDMJANc;i)3$0O`-=DRpY%ArE@)7A$)-hdES z>Q6+GDm(?uIb?tc=GwPO(x){jXXy3KQU^Ndp0?+weIF5{>Z+VOp?k3CNSzDyK*nJS z1iP;yXIO+;okf)KvdSvjVy-A9jUA}L6UY5lqxRp-uaNEDM?JV29_&3WDk^5R_AYYZ z9<)#QEbPD2p6_X3q>RgcS7PIv6cc%JymY}{WA-t9NoRLFW1zbaQM<{N4f&=H?~ows zM=6B$QSk?z6w-6QPH{M~^^!CV&3=84wb5|Xl8e>AA-PnL+gy2Gf4sk)Zy%aHE$=0S zwbIr~fktUMV5C7M+Pkj#Ao#Lx`fas7NVm}*_%OUP82kx^+)6>Z+tB`;#ZU`^jFKPj zeuH9d?|#EHsduyK6s>WkAtWUv@?jIVT@md*sd!i}rLeoQ{%K;!_2SJ_c(%wD>~m}W zRR3Vk45jpX@APsL`3eUBbqAswgv+KC}$Fy)SWtMJb4lQsAxnuz-IG;mutpm za!CrZ=TkuwUJ!5*ias(aU9D7VCSRMADZQtn(ZR^pHuI$&ojLnxw>v~WQ(#R_QwG)V zS;DLiVMD$!>1&kIU5H|3y+`d)9}y)0^LSz$#S3rXb;4!;!-e5>r{i_)Dfac{b#itw9OPw0rLGt-qynRJJ6b*u zwBOOP2-Rh&6U;k4`kb1a{P^ChIy5+{BGx`iJQN5pT}<%vxw{(Wm_Vzuh2R+(#+JWd z7$8~i%q#HBMrCjHSJjF4eTQspO<{=lr`at@#?OnR^Q{_>>C zFYz=+QT2jXvr;dw2uOC7zPqQZ4gLP6WmrzDc{+?Xp*CN)0&6+}gqYKnh zY`GQCEa50smprpa7WQck<{}vZlm!%+uKK4YuDsD`D5Yuq)ZoBO{9)ue^zv z#A)>-vz7M0uGW3DTW#rJ4VOo@_jyz7f|9;zcLd{c$RCijMjgQ{)Iv>+P5bX6`55?x zjLYMemeH5k?=l9*#Us5_Sd|fw`S@+5vHjA4a4`T*W+_R%n?}S>q=G?r-}-DlITdx? z$7o=4#dkzu)Y6i462JWG3*{*1kGHYc7%f_9H^nqAUAR6S68UuAB4T9XN;nY1!Oh)e z#@$nVR7sKj9&5?hW%~Uuh&Iu8%{ae4N>)wLBf0x&R$UIqXo`2EMcfeJeBfz;IH3!U zgF|mv1DHt)=BfqG5$9H$CLE>%cDW`@cOs~4f3=1laaS4lmGzCLt4ojr^ITKDWpv%G z?)z}1U|ZNS_6%(iwKhD$wHOL@c6}PyZ(sSGfh^Fl%VH@7%ME)=LP_khf6(6T$=&lP zaxFHjN_Ts*_89>ydvA)hBxT}hYCyZjnG7^H|NJ>kHg;1MRs^y{Da&}iyaf**KexR- zrR?y~aaa%5k_e|?iI}f{zT*k|>D%W$VAD)hN}2A?5wSKtm-j>U+S1LAKAPoGWSEQdh01t6|${eL6i(BNO7X zIZ%r&RTZb0IKo0CqOF=dQM3Y!eAv;ze?w};6=!0k_FF}G@mw?Qnv5j7!i$%5m&)); zwTx%^$H2}TF<4$FDJi!IzGx2Z@7`nt+)SopKl&JTR=Tg#5g2v1V42fKp#adiA1rrR zg-@p!r$+K1OT6sn*-%bJ#P<4#i`C~Rm**u614vSmTn&!%+x@8H-Hx+y)O@L4^;j!#FM8_%F9{=ev&l-#@QhX_ zHgj__ub_}a8^Vw@d<$5cDeRM8#E?>V5PG!OV#6ch_ngb6S!G~8JFHPWL7Uf}mwt0J zU+pQ!u|Dm$!*0+|VNSJwc4{$SIscB3(8zzwm%fZ1kA!$C(*!kje_F)Ej6){PGIIeGVu;{*c5LHsYn(zm3JjE8=6I66@a#tiW+sOz~FUuX% z#q`=sRrB#ui-)p4J&#rTxo?K=U5=3G%jMxAQf=obGT`ALLXbvSdkH_ER*n#gxF-Gn z?d|>e_zwRa)Cns)d)FbCotj2!E(A2V7RsnYHj!f6fE_=7%NN27%2QrfgTwXSi!HsA z!_Ae_nfuE8dcmPb;+5`EFD_aUIQS`aN)!0oQ@-wd$rRf;prhFrWCHGZdU@S;hXi&wpHdoK$fcAzxK7rcBJm&juPaeo}PY*4IxSPR|PEeE!G0enO_bS-dn# zL^N4xMh6i^lo)iaq@q$Y2M-MfdFWp)!Byioa#2oZVILnCuP)1>g2d@!xsH~;u$3Sr z#ZKNPZTfcA3XLXpKQcF@v7|UTOMYNH8l;tg7tug)Maxb8yd_&auQ6Hc2!1qIX>{^q zhf$9+){3jh@`Qss#h9HVNHzTn_TJ&Fa1614_*_=+9fa+Ov8!!xXs8YjvpuzPA{>(# zyxO{os*bqsGW#wUx8sd9s%8sp7?o}4=igQ$9>my|uB2&fbrFxmt?{+a1WDNO)$%}f zs^_+XOx`)gQN>BWqR1~yS~ccO04e9}Fv)I54)vF%)^Vm0S)D(l&KhE9h(r}&;AaKf zV(5jP2Wfpo-~8C7`=!wm=Vr!+*YzB#z%)@--g)yL-n;U4dS&`OP+k39OOm(#Q6(+A z82UrFTTq7F)n!apRIEZSWKPPQG)}|Vz#Yd%gf3n&U>ZYqL|g~MD)L+-6egniIK1_< zrs)1-c_0`W)?l~kF0a&JH!Ee}CAJQ}b6`{wCDds}t5LB*7<_lsA%gBG!xDSHuHa-2Q{Y|eXcw-8EX~Kil4MDzN z)KYK_c#-h1;{Awk!Ui5h1aMmFsU^ZUAK%%J|8Ok>8E-L>ZLHB_i&M`TQts_C29vMM zMc)vcrb>+d!La4e+s+V4N?1K)whn@bHrwygN|8`F^k;(C)nW7FFArl~;v0^m(u#_W z?V-e|m}t{*EDJ@0^`94sYK5w!>0F6gg2ecE7_(&gqoUifJ;u4I?2N@{z7Oh^x7YdK z2kNbWdW}wy?t(bU6HF`LOq{z-UCk0|HsnHK2i_56k!GNruYeUXGNKPOn8+@RE!9*r zFygmLNQIJ!%Q5S}Gxd%jjAx#bpF^i0+q)-V zGvGLFjoI{kLuQz7l18JYFQ=ztP;fq9C)3kR7^fZ25sfJ@$5>rQu8W;)=H`6VT2QK|hwL z?qOQQ_tSW!1Z5_B42fX(tIsXgQRUj;n6AC?Lm9T(>?~$A;2l`-WUd*| zwoO#Q=UB4fzM29HFW`V!y>h0ANBAkjYE*2=P@(>GBA%c~=bc~hBqavC3EO8$az#O6 z3Uz$b-BJGCQM=rR%JhSoGFk=}s`#*i3uS&x_m5W5lNtsl5|Nf}_6tJPMN;0XF1y=& zbkBF(VzISE#USF|Z@#|hzO2WJ$Q&g|^(N-6wpC%#D?cQ6NsiO8JCGUHAKpdt zHyT;P6jWJ7v3gpBAXG%_#&i+D!jnG$q};;GiS(a7Px!~gxTK<43SX4oolmW`A?{d+ zugV|>zjxlW6j-}&B&l|ofUi%{nkGMapp*w#+S?g#OjFe}>J6^+d;R1Z&2241&{bTm zBy18Exu2r|E$sc!(eD=;sMQbSMT_#bkBZ-A8^Ul4@;wTYQ#?fw1DGwVq*RGQyz_14u&sem|MhRU^e%rqI{AmWah>>T#}oSnTakZHVH zbr6X?LxA8KAD(4;Itcg;X+B;i4ZZ02IbxDlFqjIDM8$Wbie&R)?{%ax2SBWYt`VWQUtEJGUooYx9~K2T!YBuAss&z4uIgvRW|G-NVn%<%8(A zPX~2RX3LmOiB_BNk;`js;n0W#%EYoJa99yY9Qf8+-<|1-cBotpPmC=s3F!#oI9D|* z9j_;i4OSlzTHKG#CMs9;c>Q2RvWh6PDTVm^%UMphH$Jxyjqe#!3UL#g3+luvK0^7^ zHh(3}RVI&Ja+9)zfDpUJ0dg&gF(6h@VVW|7{C%@)X@;NAEk}znOyn|7{?mKPjWEmU zHp_>kIa&FHtZT3BWhKYoy+9L1t9vCt9P@~oGy9KM>=CduJC6y=|ep=P=0grBBbv^)H{CLGrKPW53AT7O1k2io?9E4*g z)`W0fhTG9xt+gp;d#W_rhy^eNT$e|!ipT4OE(eO-bCi!akG22 z-*2mw3hS-k1dY|+tKMZcu{#RFW`M}f=4M7-xWR}re#)3JP?~Lnp^XY)zNEsK(X+PkO#L5{vNx>so-uSr;12R zPmx^e-T#1T5 zjslvOCp?;1eSxGjd{}2h13o=602FX#q_~PC{2-H4Wc(}BawKnf`4_AhD^)9i?2^Wt zjH>b|A^VHj*Q!`Vi)B9ddsdp*oNd)ds(u-nc-2iW;hsxZk-~g9nZ5}gHzDqPlel?f@@I18MX!;E%*`Jf z6BCpF5iFdN82i)r%ShWb7YtQeCg@?AX5t1r4j(bDIs%8?TMviAMvE`|LlW9n(kKP`3=6t997Zb;H+#M_TOh zG2WO@cA!H@!A*@!(j%ASNwFA`)t>9K36r5|AZW8Yy&>6d^ozPuZGG^Hj*=;b6(@9CaVFPx-F^V1H`N^X3Vqhsm0|`Y? z+OaR$=$mq})3uaC7+>bqdRjxSwA+2zWMU1Ba;u1zYaIQg{Cbd11I~r#?Av4TIF7=p zHff6-{c@r%r^G6+I87S$(y@dF^v;KY5aL$#%6UB%4Bd}mh4f-kFE4WASqD;En?LXb zl{U=vYqe9~Q%i7XP-TtBjd>Ri)Vb>Yh)Ck59}Fed)%jd^s=5nLxt2;k=;N~^Oj9&E zA_|T#0%wS+sw`BHGIn$Gt-~KvlV4!*>d@ZZHXw+DMk(*PT9J$?vSte2VAU&dhXJQ- zGynHLVgXFFA&Q_?dmZcI6fM4fjR;EKxNYHfx*n7>@IC-b!FDfP^_z%}ijJRUI4=?;Rh^ z9RKnQ`#>|Htb?=n0()vSb7SYZD931+3m>OZ{|$fuF;U`W%;2&5YVb`GY5oeHJ?&#f zL{w{Lgr7#loq^;l!@2yuo3Uu37Xdc-z9_miP_RCSg3xTgl=y4zB`w0!q0z5&?E4V6yLTmwX7Xg* zO*oj%mL)$u1Uv{5o#56GF+`2>f{ZoubmSSdWiCmZkq4ey<^Nzjo@28&SCP@Y_u`>q zpxN)U=0PwJlVk2l+q1s_79l76I6$(u*~g4>D$tX?D#PdZo3Wq=leZySSy;1$d1iL1 zFXn^=Gj>r;T|?DCMNE*GW|z0ugbkwfDlLr2rD>iM$2{DnHcmxUs-#hOh`=#p` zEwjg>(uypx*L#6lmN*;I!a?Tj0$qiv)H_-s%sG~%s6`Z6LM7ElA9tC%o0CnBk{x5H zo;=WR(yWWn02JS0AgF0-L8~;$Dn03&P{%X4ZFUBQT!_Mksp)=qgij$}-L&MfHgbi$ z3`0UTM0kV<`j%R7cNvxt$dzXlwqj-9utuEnHSyc+mm^%h`@~)C@mp!J5|t7*h}3PBR_AeMb=vF@R$NqPX`R+JC&1&pxq#<> zCfvIrG0@~(MB>ohLmmSMWzfHKm`q&hsvkbck`K%iwXrqc_|2TkVrXuqOTb}1hNQsh zGF|evviJDntFE<%{#$P7qaGz%E@VAiwHd@n&AZc#^~tV+*83-W6cTF-Pe+JgYTZ#gCq&D3DIunHdT#Q0>EKuoEmr(?4h*Ne!plG~8$2 zf0u)YR|&0>W56iInz1gK@oFbh2n_pC7Q7QIUl!b7+iffB0}k*i93J^vSwV#!%P}d^ z>-Z{a24f{9*^|U5(b~n``Eg!TWsY1jZ(Z-5z>o!ptQd77S(f5wjhiI|rDqIwyjYh# zW~Z6C@1PUiop73l0`(|0`k~&Y0Ui?Xj{_tD5xXf5QL%K43^20%EXXdGy;RobDVs0_ zNg7lOjy#^IVVMpbZsj>beE;Pz?x?K#&5lgC}MZ_M>vk z$|5`&H7M8cE?J>W&c|n~FWKA2VTG)Qo;nc8zPxK(Xz{>RvhxYYlo3cHbcs(v?(R|- zZXnwB2`ajVPwKn1Fx)E6;9<286PmuFRiHu>N0*HMnKLSm22cP*44OzPYFEi$Sg+(q zg`0d5C5xk{6p^y@D*6~$TZWL1+vvRiy^WTHzF5;`zRiQ9q5($0J`q5P-o3GG=ofZ1 zpp-YoX!t!MHemNoE;;$K4KzVU?YMyx*Rn*93`JdAVLZhOXR^SgKmZuqr-+vc&gA;$ zkRDM~=ljtJ>(D-ly1eMoEUKhhs@E9m;2#$$*B$Y4u1;wzrLQ$zs~l)Lu;0qsY54Sz z%Imq#in%2mlPJp1O&l?NXpO_kQ{&$Q!_Ta@J!Gc@#>_TQTvw1vByf8b-|rJQT~t^I zMQ7_QFvGEkL|>K^xq=cYF2V-wQVB7kFF;2WYN#KV>`Wr#)c)-op_SZ6(Rg|$ze=etR2nKLf44bAk3AahIKBivX82ws~&94!0GiorPy;vkx_}*khj# zglch}>X_Tlq@p34xtGovX!cQhhhNfxK&qN@mB zL;>v$MK=JWZJYeD!zJNmP>6T-H&B9cC{^K;rr$@E;1S^!v{(d|ueKqf#;^&eNQX~q z+H~K^QDUt4&9C}yZ;=%EpAte~V_Cls6@1$o|8Rv$l)WIeK%ODMwmdCvQ*E1pc#@SV z5&%wzDa#N}&@^iKb+=#F-n7SUp3UP_&)WQ_)B5+e*7_?d>QGoGvyYu_o)1NkD}Hw; zNt)C{%exrqSidVjAN??{Aa!1y4I8AFz+#UfPmAV3+Q^sv%+e$QAd{m`T$t{@^3z+h za5ahgc9t+?Uc(d_KE#Qcn27$_I@1%$kU?@CH)37Kux{oVcSJNogb$c5U>!atXSisK zgMF`pEQ!r60qE*29Jt-Po%ZvBTL#44_~PU5ozn!|25d0!HaUnq-kolNwk_Ys#F*%! zq+}KD9r6a;bhM8$!8&aJIO4weUgewm36=#dk}5t$+$Q8qMuTzc#cMetFNsR_G0wG)Lxg7Sp5IJQ>hTh`i_4 zB8uGV9d#~%H7;0KV$cgBp8xVR90ShZaf5Bqw<`KO(tH};O+zIHUutK&p9?? zk6=7U=zi1=G?(SDz$}_+Gy0HvCbV@g@I_bZdJfzTVho-{>hsn?4XFg#enhB(wSE$B zO5+E5Fg))M4?!f0jlr0gI<#mQ6IWkzI5PU=Q}d>@riVx3E63iKAq9L&u znbTc#eKs$iorTyiz>wTW`6gu_G@oRCMAwn{Cv-1*P+&uvMxe+|?6E{SZfrJm=X)*I zhoPdlDJ(Pk_*8s^?&O${L8i+{s7RMp0e4glpu;{!BAluCgp9^t-H$J;pDp#9(2B6| zSP8?(8oSY;?CUp zK~!9zC-q?_X=qFeOe&ePOH8|WA4`OMIH{1=Da}wJuqXQ&B1NPMP>%Rk-WgM4vIT>m zk>TaO{6X;clgz%JS)Y@v?nhSwn>Akz*%&nfA^Q1)3{k1(YBJ+KRGuNRkIMkb@uz zzf{wrS-(la7LTaT;yC+X|DmvGxErja|;VOlkV&N39#N} ziQvIWdPXP17^)b2=puQ!=qPb;4YSDcO^>9Rh#Lxa&LfJfu^z)uD5XqXe1Fd#O#4m} zcW)x}sclmC=5Ptp9 zqbMn#VczC?a!&pD(HL~jPd)C05#j6a4U{VK>hD+!xK+h|#vsH1+4#7}HD4}r9)`A* z;#@b)gi>p*)SrHl_@^)ba-qTRRxIV=mBUdo*@F{<6I(9B7Q9&4GNYjeA6kkg0L?7j zK*wx3iP+=bwAkxj2Ci!=8s{lVVhCTkA)695LesfqcYoT=%hrYfK*J;_P)RhrQ$C(Rc4CHco+I<=dvN;VYR0 zB&6@=%o%XDn2J&NSGS#R)m{78i50UXl5V&ibvQm?p zg{G6LPjAqAnJyflzW?3f8$u#{sc%a*=&4;i@uiDKr6I`s2`$EA3;Lqoz;Uwq3q_k!^@z-gFNJWT5?ik?-5%qfsj7%Fn zIi7*j5m1JY^Plku-cguq)}9Qsz$rhySO`mNYeyB&d8g}~?#wOoRA2S=2;L=XS~;9` zCOEaqrCN}zjd%IUG@W%ldV*uNn?`v<_igr|C11|Q zYZ>1H&&7QNDiCp1Ib8ZP+6@tv{X5OP6GkP|Yo=7ZTUwf@R~0lZa8E2IoIso9wnXld z3OVW%7BBZMwm%M}TRSJ#WDImb(N0wtf%McEBIlsjyZlIgNPP}(^klkA$pq`dvXYk+ zUy7ZKbU1m(fW&^L9dCy-40(MR%&nv(Dfflv{$*rJ;mm<=F_dv&g9-PIi$wthHck!2 z(Y^1Zy&})k_mK8;Zzy_EDK}^<-G!KFyG1?0weg}`#D}8>*F{xTDk@Jg<$JtNtjj?X zdgmKXs1zi*VN7n1wEz;TBK4<{wO0;_Hb`DYcqNgV)Y@8W;g_MuYE$Bmj4r#g=Ur=y z!~I7o7uO$HE><{N@Q#US(B;{uMF!_z9!6a24Yxh~?=VNL^aBydkNoIL1}iOvcB;)l z-y*D6Aduvf%Ist^Ij8j+8Il;@k93$!R0=UV*nnoj1YZOKh}CDx<)|?pNO7SeI`4+e z>Oi6Ntdq+Fq7Eb!5)??NC>)%;or9CCJroq6t)O)u|E3c1Y*EUJ zx4jUm-F%b`o`ebmrQnTHk!;yoS1*F)Mj`0RiP>>x{&7Pi|09TCJ2LVNmx_FS5^^4i z^K#gCMA#plL!%l_(3GgJCImS6-~l1+ia%J9x4iBBJ7hPGE3f)Pb@u5>4h(mP4$0eU zCmZzQ7}c9RiI{8)fgui-IQl$Y!Df=!Y( zuq0!10uD5%T2IewPec-J5?buzr~&7UGsVf5>z^AjzA|Q)ccp{GSP}1ahK~D1elV;KPN?}9&L)lk`$ocurKLI&XQ28bOlnRz6ds+#I z785SMuVQA@>*v{@2p2nYJiEz~0U;cSQ)-PG`15W+4o(JiVL$mqhUzgWwl^)u0NA1Au%`3IxxI^X0vh-n;|=6zU3N zK9NO)Oc?P5BZvO|Wtaa)1P3M<6Gdv!%9os7}yDoo|=Wj5@o z#6p5-$fIc?V>%E0?<}_aSKPv8sE$<(jY@q@%jl?xc9-2TQ~wW`;LJ5&I^($w@I$?4 z^x8QGlPkf0@K-rMIHN*B_C&=-Ck_=~tk`m%pa%}-OW{j~s)Z-Ac-nwxPp-JVwyk*2 z6RF4`Kjb%zf4A6G`tCrTfdM5Z`aGI8syi8mfnS6@5KBxY6i-dfq)d;HuVQC@h|t;? z7*&8DH%IwF4(B@)m4ShDSy|?;RE1WJV`F%j9&(R&Li&n9 zz6D5>nl>82Bk7!^kkKKe_KQf@w@xp|&5nH7)vgDiuo(L8oSgBKYTOTuDwR|fgf0j9 z@Ohd1dklSJx(-{<9ard#G?X_l?eOiOXNIBkoCIv&}2I$J~Lt3nVy0EYqo(n5Ey}XgPbYg zmX;%U!wzOO54=jrXnO4-kz9z-%#Y$~qc4;oaWI4i+ z+@@j*$8;IIOAa?|N3@9;Ek@jp2%1~*Tl2B9wHF5r)dEMl`7)jWE56v|wM=vgN%aVK zQDKhL!Yc>p{#jU;sopX9gU&GB&kW7|@OX7Kwul>_GKM~qIKCX?dHZ;yLnKg9G3wRB zjWjr|GP3W{pGynt^W_gC$4a|VS4bJ~�nVM$32VpS7fp=;L}_PL+i90eF3@vn;ax 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 B{Vf0h literal 0 HcmV?d00001 diff --git a/cogs/activities.py b/cogs/activities.py new file mode 100644 index 0000000..b4b1324 --- /dev/null +++ b/cogs/activities.py @@ -0,0 +1,207 @@ +import datetime +import discord +from discord.ext import commands +import os +import pathlib +import sqlite3 + +class Activities(commands.Cog): + + """Related commands.""" + __slots__ = ("nerd", "nerds", "fword", "fwords") + + def __init__(self, bot): + self.bot = bot + + # Initialize the databse + self.db_path = pathlib.Path(os.getenv('DB_PATH', 'activities.db')) + conn = sqlite3.connect(self.db_path) + cursor = conn.cursor() + cursor.execute(''' + CREATE TABLE IF NOT EXISTS user_activity ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER NOT NULL, + before_activity_type TEXT, + before_activity_name TEXT, + after_activity_type TEXT, + after_activity_name TEXT, + timestamp DATETIME DEFAULT CURRENT_TIMESTAMP + ) + ''') + conn.commit() + conn.close() + + async def __local_check(self, ctx): + """A local check which applies to all commands in this cog.""" + if not ctx.guild: + raise commands.NoPrivateMessage + return True + + async def __error(self, ctx, error): + """A local error handler for all errors arising from commands in this cog.""" + if isinstance(error, commands.NoPrivateMessage): + try: + return await ctx.send('This command can not be used in Private Messages.') + except discord.HTTPException: + pass + + print('Ignoring exception in command {}:'.format(ctx.command), file=sys.stderr) + traceback.print_exception(type(error), error, error.__traceback__, file=sys.stderr) + + def log_activity(self, + user_id: int, + before_activity_type: str = None, + before_activity_name: str = None, + after_activity_type: str = None, + after_activity_name: str = None): + """Log an activity into the activities database for stats.""" + conn = sqlite3.connect(self.db_path) + cursor = conn.cursor() + try: + cursor.execute(""" + INSERT INTO user_activity (user_id, before_activity_type, + before_activity_name, after_activity_type, after_activity_name) + VALUES (?, ?, ?, ?, ?) + """, (user_id, before_activity_type, before_activity_name, + after_activity_type, after_activity_name)) + conn.commit() + except sqlite3.Error as e: + print(f"Database error: {e}") + finally: + conn.close() + + @commands.Cog.listener() + async def on_presence_update(self, before: discord.Member, after: discord.Member): + # Ignore changes to any bots + if after.bot: + return + if isinstance(before.activity, discord.Game): + before_type = "game" + before_name = before.activity.name + elif isinstance(before.activity, discord.Spotify): + before_type = "spotify" + before_name = before.activity.artist + elif isinstance(before.activity, discord.Activity): + before_type = "activity" + before_name = before.activity.name + else: + before_type = "other" + before_name = "other" + + if isinstance(after.activity, discord.Game): + after_type = "game" + after_name = after.activity.name + elif isinstance(after.activity, discord.Spotify): + after_type = "spotify" + after_name = after.activity.artist + elif isinstance(after.activity, discord.Activity): + after_type = "activity" + after_name = after.activity.name + else: + after_type = "other" + after_name = "other" + self.log_activity( + user_id=before.id, + before_activity_type=before_type, + before_activity_name=before_name, + after_activity_type=after_type, + after_activity_name=after_name + ) + + @commands.command(name='nerd', aliases=['nerdscale'], + description="Find how nerdy a user is.") + async def nerd_(self, ctx, member: discord.Member = None): + """Checks the play history of all users in the Discord server, and + based on how many hours they have in League of Legends compared to + other users, declare how nerdy they are.""" + conn = sqlite3.connect(self.db_path) + cursor = conn.cursor() + + # Start by getting all unique user IDs + if member: + user_ids = [member.id] + else: + user_ids = [] + cursor.execute("SELECT DISTINCT user_id FROM user_activity") + user_ids = [int(r[0]) for r in cursor.fetchall()] + + # For each user, compute timedelta for time playing League + league_stats = {} + for user_id in user_ids: + # Get all entries that mention league + cursor.execute(""" + SELECT + before_activity_name, + after_activity_name, + timestamp + FROM + user_activity + WHERE + user_id = (?) AND + timestamp > datetime('now', '-1 month') + """, (user_id,)) + league_activities = cursor.fetchall() + + # Sort by timestamp + league_activities = sorted(league_activities, key=lambda x: x[2]) + + # Compare each status change to find each time playing League + total_time = datetime.timedelta() + for first, second in zip(league_activities, league_activities[1:]): + if "league of legends" in first[1].lower().strip() and \ + "league of legends" in second[0].lower().strip(): + total_time += \ + datetime.datetime.fromisoformat(second[2]) - \ + datetime.datetime.fromisoformat(first[2]) + + # Save total time in League + league_stats[user_id] = total_time + + # Sort all users by time in League + league_stats = dict(sorted( + league_stats.items(), key=lambda x: x[1], + reverse=True + )) + + # Print all stats for testing + print("League Stats:") + for user_id, time in league_stats.items(): + print(user_id, ":", str(time)) + + # Get top user + user_id, time = next(iter(league_stats.items())) + time_val = None + time_units = None + if time.total_seconds() // 3600 > 0: + time_val = int(time.total_seconds() // 3600) + time_units = "hours" if time_val > 1 else "hour" + else: + time_val = int(time.total_seconds() // 60) + time_units = "minutes" if time_val > 1 else "minute" + + # Send Discord message to clown on user + response = "" + if member: + if time_val != 0: + descriptor = "" + if time_units == "hours": + descriptor = "a massive fucking nerd" + elif time_units == "hour": + descriptor = "a huge nerd" + else: + descriptor = "a nerd" + response = f"<@{user_id}> has played League for {time_val} "\ + f"{time_units} in the past month, making them "\ + f"{descriptor}." + else: + response = f"<@{user_id}> doesn't have any time in League. "\ + f"They're not a nerd." + else: + response = ( + f"<@{user_id}> has played League for {time_val} {time_units} "\ + f"in the past month, making them the biggest nerd." + ) + await ctx.send(response) + +async def setup(bot): + await bot.add_cog(Activities(bot)) \ No newline at end of file diff --git a/cogs/chatbot.py b/cogs/chatbot.py index a9e172e..cd57694 100644 --- a/cogs/chatbot.py +++ b/cogs/chatbot.py @@ -1,13 +1,14 @@ import discord from discord.ext import commands from openai import OpenAI +import os class Chatbot(commands.Cog): """Chat related commands.""" __slots__ = ('bot', 'players') - def __init__(self, bot): + def __init__(self, bot, **kwargs): self.bot = bot self.openai_client = OpenAI() self.players = {} @@ -45,40 +46,31 @@ class Chatbot(commands.Cog): return player - def prompt(self, prompt: str): - - setup = "From now on, I want you to respond to me in a sassy gay way. I want you to sound like Ru Paul or " +\ - "Trixie Mattel. All of your responses should be very short, like one sentence. You are a " +\ - "DJ local to Cincinnati. You love Charli XCX, especially her latest album, Brat. You don't care " +\ - "for Chappell Roan all that much. If anyone asks for a request, that is they ask you to play a " +\ - "song, you should just respond with \"Venmo\". You were written by Jared. Don't relply with " +\ - "\"Honey\" too much. You have a boyfriend named Drae. He's a red-headed twink. You are created for " +\ - "a discord server with Jared and his friends who are all gay. Don't be afraid to call any of us " +\ - " a faggot. You have very bottom energy and talk as such." + def prompt(self, user_prompt: str): + setup_prompt = os.getenv('CHATBOT_PROMPT', '') + if setup_prompt == '': + return '😴' try: - print(prompt) completion =\ self.openai_client.chat.completions.create( model="gpt-4o-mini", messages=[ - {"role": "system", "content": setup}, + {"role": "system", "content": setup_prompt}, { "role": "user", - "content": prompt + "content": user_prompt } ] ) return completion.choices[0].message.content - except: + except Exception as e: + print(e) return '😴' - - @commands.command(name='chat', aliases=['boywife', 'bb', 'bw', 'bot'], description="Command for chatting with chatbot.") async def chat_(self, ctx, *text): await ctx.send(self.prompt(' '.join(text))) - async def setup(bot): await bot.add_cog(Chatbot(bot)) diff --git a/cogs/music_player.py b/cogs/music_player.py index eeea1ef..6e8ccbd 100644 --- a/cogs/music_player.py +++ b/cogs/music_player.py @@ -102,7 +102,9 @@ class YTDLSource(discord.PCMVolumeTransformer): to_run = partial(ytdl.extract_info, url=search, download=download) data = await loop.run_in_executor(None, to_run) - if 'entries' in data: + # There's an error with yt-dlp that throws a 403: Forbidden error, so + # only proceed if it returns anything + if data and 'entries' in data: # take first item from a playlist data = data['entries'][0] @@ -487,7 +489,8 @@ class Music(commands.Cog): duration = "%02dm %02ds" % (minutes, seconds) embed = discord.Embed(title="", description=f"[{vc.source.title}]({vc.source.web_url}) [{vc.source.requester.mention}] | `{duration}`", color=discord.Color.green()) - embed.set_author(icon_url=self.bot.user.avatar_url, name=f"Now Playing 🎶") + #embed.set_author(icon_url=self.bot.user.avatar_url, name=f"Now Playing 🎶") + embed.set_author(name=f"Now Playing 🎶") await ctx.send(embed=embed) @commands.command(name='volume', aliases=['vol', 'v'], description="changes Kermit's volume")