From 0a43da51f1d85c511e53c5167b8c9079dec67367 Mon Sep 17 00:00:00 2001 From: bytedream Date: Wed, 20 Apr 2022 23:41:25 +0200 Subject: [PATCH] Initial commit --- .gitignore | 3 + Dockerfile | 9 + LICENSE | 21 ++ README.md | 11 + assets/kaizen-round.png | Bin 0 -> 225494 bytes assets/kaizen.jpg | Bin 0 -> 36233 bytes assets/man_of_culture.jpg | Bin 0 -> 40387 bytes assets/rules.png | Bin 0 -> 65908 bytes install.sh | 5 + kaizenbot/__init__.py | 26 ++ kaizenbot/commands.py | 679 ++++++++++++++++++++++++++++++++++++++ kaizenbot/database.py | 203 ++++++++++++ kaizenbot/flags.py | 295 +++++++++++++++++ kaizenbot/user.py | 13 + kaizenbot/utils.py | 476 ++++++++++++++++++++++++++ main.py | 444 +++++++++++++++++++++++++ 16 files changed, 2185 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 README.md create mode 100644 assets/kaizen-round.png create mode 100644 assets/kaizen.jpg create mode 100644 assets/man_of_culture.jpg create mode 100644 assets/rules.png create mode 100644 install.sh create mode 100644 kaizenbot/__init__.py create mode 100644 kaizenbot/commands.py create mode 100644 kaizenbot/database.py create mode 100644 kaizenbot/flags.py create mode 100644 kaizenbot/user.py create mode 100644 kaizenbot/utils.py create mode 100644 main.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d1bedc0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.idea/ + +__pycache__/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..663c5cf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM python:3.9 + +ADD . /kaizen-bot + +RUN apt-get update -y && \ + apt-get install mariadb-client mariadb-server python3-pip -y && \ + ./kaizen-bot-old/install.sh + +CMD ["python", "/kaizen-bot/main.py", "run"] \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2733b66 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 ByteDream + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..370174e --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# Kaizen bot (old) + +Code for the discord bot of the official discord server from the german anime youtuber [kaizen](https://www.youtube.com/c/KaizenAnime). +It is outdated and ran until half a year ago, seen at the time of writing (20.04.2022). + +The only changes I made to the code is removing hardcoded tokens (very secure I know) and add some comments just because I've felt the urge to comment the mess. +Additional comments are prefixed with `ADDED AFTERWARDS: `. + +I don't know if the code is able to run anymore, may some dependencies broke, have changed or something else ¯\_(ツ)_/¯. + +Feel free to use the code for whatever you want, but as a warning: it's ugly and nested af. diff --git a/assets/kaizen-round.png b/assets/kaizen-round.png new file mode 100644 index 0000000000000000000000000000000000000000..f300bbca4f56324c4b0562dfdca03e9d83b294fb GIT binary patch literal 225494 zcmXtg2RN4h_rJY&_V$#$g{%mVk?g(77G#C}pUOt}Au5M0PSbS+AX;(FS^=V`DjLJ}Sgo)2&9G~gZqt#enlc+tT zx)Wo{rhV&}P>15 z?+*{xR2U(f}nqji!yCj}2qWO2|e*f~7G5p8)g-qg;l>tjc_2w=P zWyuy3ALA9cIB`s2GLy|Fn*`wS8Xu0l-uE&Y8J=@< zw2;tsRzlSzHqYxnWg6T@8Xd1^Il0%&f4sTz@{7`X0K3`Ums#uo_T<+5o*xK=v`y^? zDgHYN2@^-7(T>~=;ek&Y-9Ba{OX{K-s4cyK2QMMK*3e~V8g>yID`3ZNk zJBhl(tP7EP2$i8G|IchZo=EXq(qjY;WHJ}N6jIFdqEM(C8Ifev)M@?Hgr6g%ZEwz+ zvm}{nEvgBY(NQ&cC3Nv?6%X)Z9L01qlCMN8XP7>Ui;Ek=F?_^@LP;pKzE!_1CKoxO z%U}Iyb?Z{uwdG`6R?>kDCskOCfTnUReD<{~eqhADQz=EpcJl`(I3zM~EmI#^ zv7mwA3x38@r;BADhDfro|2$4!iz*ft0E?CI4N+02t=3Y`7)nbU-D&1WachK!bRCQg zC}*mn(OH7X0vhsvYPM=L>66Ubsgl8jYh7;fbA!zpMs7 zqiY``&u*c=+Evpf-2L6?I(mhK4Ue6Cpc6;KmrG-M#?Xqrb ziggfcS6xD(d}PnB8$Q7G(`^q$4_zo)ec>Z2j*+H`)gR2;3(NP)%HH-Pd5D0;KL7xYmuWK5yTh6 z;P;Fb)$sN&X_@}AvTf&EE>uGUawZnC9$3H1Xl;KQ%A(O&hZNw;RnO{TaGUjFEBSjGn{;Y*l2bQnFZoFT(8&GU1Cyh~qUV z{KWrNN_&f}iWO|OPXiY@!Us(#sME@Hz#u~(UgI_^G3FtEz^|t~Jh4?M^#ND9itH;Z zOBqARAH#6vIea&9onI?r;Bmy`^Y1Dn-(9*}Mtkcor`Ka-E0;o|44>>cVKR_k{AnHG zCKR}bSlg$zeI_*2X->sh!TgLicnV;8N4s;Ym|rm>5mUsv2UbCid}hh$NfO0Lt%P4l zk)s;=Yeo52U(7=vc53?66W4}lzz*5fDPpo5B@VpMY{PKyx2i#g@NwL*D#N%q<3jMF zw6~vi`P&cev;+a<9QWn4`QINZY*)jo44IHk)!L98+C+Lc!5>fzJ5<|Ox`&VjOzR@g zeBFla&&jx9OaU&3!yA4k%D7+(&#yhdaaB5&B5hLJ`9+EatW!D009eqgNV)&+B^BkrsqrG^jCzh7?Ox8;(SEx(txLJKq7fc;;#j+fCL-PwlYQ|{GgH+ zu0{X5xc#_m;W;g;As5V>HuW6)&_%2fIrfGm1=3&<#tYyf)zV-C$Jb0ap_2dGrp16R zRv2{>E^>|j{91F2q5qCUcrk2bh-3*nOqc(?Klol+CSsxLdrF%8?ag{+09hs&4!#&> z8&iI?V;K_Og8P1RgOT3ph-ItZH-(?Eli48Olb&Uuw%}h6Ple-_M)rYH&;#>a*3xK6 zh!YAz9?I>4tEkN1_uT;YjTZ5WHq73s=*ojN3Ef66%Wjm?+6LpeoL`>*#H3|6P=rGW zj%bkrHXQPKMSZwqYm96aW#&$B=-KVB3=dvK!-9o)=OFTwuxH?AaYOe7al%x!i=V zUbZ5~cu73FJbo=;V#6-opjYf$aJ3yH-5XB}siiJ{t5A8Uy6)0Cs=&3D;Vu41Gigyw!k}D7g6MQ#D?)d!q^V|zGmuQG{b8|&n zGM^e+-RQ|=u=A(sU{CCi8(f|cNZa<#RHDac_FMIk_4Rd4o^;srT7W^g7{{V=03S^)R{Y@d$LVQ}#eshIrbx2N z@I_3^X*{OI2JJWxVV-uhdkdqC@$E`R&gNdnR=RFQPGMo;-k*DNI*LW9kugVie*I__ zsW*2UdrLOb@T|7ByrbjR0;dJv6@u}9lmx!m)M*LGqB8$bVCurd@aAiL;)d=}#}e9= z>hy}aczP1r`uO;aB_tiSo_XDmSqor{RhBE@DbRJWFr|HJz3!c8Jku7{(q)71iwn0x zKp^u2;a{$8#xmV+5OxW!xsDP{LL(^pM7ufZxh7BEym$W%JARYui{p9FeTR&1f8E8+ z?NW~RfA5^VS#OUy@GTeu&U~AA7}e6vLEwu|owgCyVML5xk(6jNdj4Es_ei1K^~2<(Dk=>#Q}2+Jnric+25qI~Nc|DZ z&+zjDL##rCHdwl-#l~4Dwnfxog%P+J$pSayqrAvE$W=71;kg&0^tmTZtLzX%sHCY_ zw6^-#ro6m7)=@%sD|Ng)pF|#wI4>^71!C9w+MRQ(K@K@qOd!@O(*tFCvIs zJ3zE;f!XMKgSY_CVkPI=K_-!nC@l$XqFSTdY|poMc}KteI!As?Rt&H0t@yMA1ZXcV z6YB}?D5U1*GJmSQc|(YP`RD9QgJ!My{E952kg96qAgEhtrn*FNQ?ZJSk%bFx z3ENqG%Acaxn66ukAY{k%#b5Zj&{^cKpj&TV?XQ%udyPBzjXt0L&6_%AW(-qPQ(%?L zva-Z4IIXPEwY|JivIC-ozL45S5PbGryV!LlVgbhzGMGh8&o-xZyd5J!y}8hOp25wV z@2(zvQPt2Oq*VGVHaR(Io<+x&C|8uq|M&Ro*RQ{S|JLWDmASu8o3d;>*BEFwbwD-ix9pg`E*l(qB+52>z7=+CIWU&-8`qmB-Qr+pcOFb(Q~39LQekiO z@>4^8i5%_z6Qk(j{v$4RRaM-YnwsqL;lo3j%a<=_mou>u3N~o}B>To*Ly^vhU(o1F$a%gEVFjwk%~=WguATemWoiPZ z#pg+_t#YkxZA{F}OJ$F5ErFl#yQ03qIE^&Xz#oe7dec0>!doJ*t z9e>t^1Mizx0;^FY+7j963aq0BK<5C@4Sg&|jJNzj%8re{m@7A~=)_ zxB4OD)$z$I`dKe0Y*TjoZO0(;^CQX9rfP@}-7zd(CvXU9H^4doZ|-y8&)Dy0XNPsJ zeC@+vIL8%Fgn0D|@v}ak^sC0FI1G4;tqNv2W@0zB$INvj$B=h ze&QrbcEpp=myz0{4DxODEe;AE+%t-22nnrCa-Rdw*Pe9Tnt$`fdyoxF;bjS55WE4dpYjq!aSd*b;rQCq|yH&(QY z7{?C7cQZq7tj&`iZ>kKL#KwkWD_}ebti5Wra7+)Ll!%k!QsTr&M@sE{`}TF7^p(AU zC$zd`EssMF>6GQ_nU2SYL;nc`NMS z{ql;6_~gtr)6&a!dyQ+cu(yNw2~DyIy#Cu zQ4BixwOSbT%g)E=zlZFBanrYg$jA4#Lpa9wzEy{Bhnyue=0@|TS>J(E7%Pw`%s6&} znA={js`L4K=xtwbey_83!%&F6bnwY7rUsH%1itxogud+57K@18-0nv5{;9*>IzNz` zj6@I=K6CC(6CXeJrRymUFQ+Og-nP;hlGL%D?)T15s2(Nid;lIsPEHPIvi&X3bE)-L ze%G>nQRx&@gI2p>_TJxHVuVoNX(`7Jz1_dI?O0ou1?2-(V*d;GytFiGb#?V2M~U|B z9@2cp5IH&fsRkjS6pijeBMHY2#`Y#?k;fNvv<(5592_o=E1fCC+S$%Yr!1onTrKF~ z=UivCpnGvbr5kxRMBlDa0s$91P-=~<7W&t9JED`|0m8`5L=;Tvo>W%eYjsdyPYrZ% zn{9|m4f*Nt`_G?UOcdqr;d1IYu~0%kDrH$83{#$u6{E7~zBP9c61*@dMh2V#^1A_J zn&u@jvZ!E1y_+}LmY0`hQlgwJCf4Wy3{HE6c`W0(s%BDbMSjoPdR#&Y0tTmLt`0)- zC^F^;AJj#qb>08!V$%Ebr<-eoBO`darIl67YL*qG>a~`&!sVSojC?g*kB)p3bnxNB2NjXWxSV7o1gS|fv-{EH zs=b4>9vqd=pO@6vrvZeBDJoKAq?nNF2|(~O6MfSRV;aptJLXKjEF9WB;Ky);r#^#9 zVOqp(=0~dstpHMKma`N*pv8O_sFJWiOq+%~%_8=vW zO8E2V!L5K*x?90JYGCpo_n7(i$KF3DOB38pvmN`*pQ+*)0KBFl*uCP_!JZQKS7bZ; zkn(_y)Vv^S$_0F{X_|iFECqhaBB0TG6I;VxM{fgUdy?)!6ByCk=JQy`HVyYFUe3*Kz0$8=7MU0A_ zZg!eBPr!8BeE&c)OTc<%#o=4Cj-Ciy!WZr=lag>ZI&zvGs$MZNh=vp^or=l!sYmtW2{`gdP!kS5JZ1!8P>$H;{aN`iLapUt&51Tqs+?A$#(zNN_j zdQwsGu=6OdbFug#yZxOz3E=)P(Y1ulHP*Y!uaBgStY#M!I0XjgR#x&`PnXr# zi+@(9>0tfyhbrwZeeKxc`RPCsZTOvx6^8xy_D52vqvy@DVzy2IIU8n$z)vYdzN;dL z129-b$Pp|i=X^gfQ0}v?As?;4ho6^!zNVhnfCwrmD3FwtL=V=)R%C+N->@nYP`8MD z?Y7#Ri{+A#u%%N2Z^587HiJ=x;T(cb-Nq$e&b z3&@R~?Yr`P>xAxZBh#NDEHBoFKYqCK@bF~k{2*0m$oO7% zVWD$ipydKFHq1a`Fa`c~>O@gyn-!6=vxML@Wl-Y{ zeJ~&lCOEXRMSP~=MNfG_X=&+~u(N-X($c$rVF!M}tAaMzak>}8$u8dc&E$b!**DC+ zIK3UBWXVP&y<3f@q@Zr$k&kMby&c(-8z+Q~ST%MoVjQ;t=~wNgbh)=R=J&{#6sVXZ#>qmUjGKt*W83qQBYx`XhT!yK1P! zV2v-We}@Z`8t#W^9HbZ1G%*45`HBo6@LqEmnQ##mY+}CNyGLL_#gQz=H|H$>W#8ow684 zk)o|`py|ivF~hoC5WpxRGlytVt1P;jaHz9ZAhmv*GP7B&viT=4n94yI7n!=7$%sO& z9hKRpG?{^8LuHSqAJD@&!)=CN;TRUh%NHA|_}qmp+8zi4A67W|`Lg}@hZ|Uz(yt3u zz4AACC#|;P{)J_9Kh&^{Dkp3`jZ32Q6HX`YUmpEB;IKlq2;}xa5q{XA=j(e}RaLcp zXMiR6WNyJZI5;0FDYv9#udULY5#;JQo=-Q7Swk+EOUgoP*l?uSI z_LhyhI1KNcf--wUv$>|PK?rzrqr2~~FS04@SDB^G$dq`jlkF@_e=Aa_3BD)&g1-{J z1vx*nj8pY#!zY7v%YPf!l9AYn=DAuf%liy=1KTHw!2$9Io})dPgp;%z%Df7Kn%Oe~ zf6Dh{3J)7|TvW|O*q^4#{*iQMZ z{Nt6275~Lqv%p5DJ$TDZ7&**aI8qPK@!dX zJ{#)~M2DFMK*ZFEUxrH315l38D)r_+8=y8&xEmgX&Ec=TO4Z^6$5Crdxy=z?MCgV{ zgKzn(0nKf3{csAp6m1Q;sRIz;{Ag573Qzs@Tdyn@wWP=aII=04LaRg94nU)~)Q*1}S z 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

Jw@by$38p9F} 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

A&b%3`)nHz^cMeee(f z1X^Y08-LS!Oc(O^xVM$+yqv1gHrwxf3=vKGBKEFg-%mhWwMd)H^)H9d$2!{wv&se6(VOPNKm>a@ zf^>6(j|vO!^S?ajIK4ys-3lMH-^nORsAhZ!*Sd8dyT z%%81)HBNDWks*L);!%K>FMT_^;Xr%|EWHpsK(}Fq`|hoKb=QxFCkin9$BD#>odtq>Kf8N2wqxhDniV1ugnGGQZ{G-5&w1H$x*y*!|sh*JoS&U2?uF#wjl3h3*yi9+L-hjIN8{G|xrL8NqbiDWG2p&}YcNsbZ4IP1&%~p` zE^nWhH(RHQ9jiXgK}(%%!AMU}%t!*}I0J%)HrIy;Pe=kg06D;@fP+mMRf1c;ATzzF zl;jB+0~X!TkUG8S9DbH4Z1=JA^IK0*HPDf*NL7J0FZ$?`g9QgURYe@4B>+ELgdBK$ zvMoL>EbQ{Aoo2o2-Feh0XC_hYVPPRkWOPa4HYniJQ!iY;OlY+Lf;=jy8|f~5Yd3oF z!uV$o4ds3Jt4SMs&z{$NLVXB-Rx^;p?$4hkj?>#)j34%;K7VBFjT6P)9C5(WH0nvh zU|GZdn11{A?Fz4%nq&-!3z_twu+Zt{ZjKn}zFL5^0mlJT0|O$a_|_I3r!sS>Itz3Z zkJ9A%tX<2YQZ-3ytyXo*)FvZgVn;}s%Rl{c+f7yZEJwvzUcab-H*53Gm?FH=8}Kmh zz}wr(V{OaCUp=KN+L_V3zL=%j?(wBR&McR)y&S;@rxE+HfgfQA84hAQ=g{WH;@sHI zO)hLZ$>F*6`HH+gYaJH>&RLO!B<+<>X_MAu18aS2_jW`(rxPh1#3LeQk$t>ec7iP| zWO~QpheB5cw>K~PyYK*Fr{4O0--%9jDt$x2O}fH0;fANDilZgE5b=mL!S!IUMG+H) zC2&6WBJd&)8qpRyr!Vc#*Nw2@V_pZyRj~VKFW*PfY>aQm-VWaHFn=RWSsw>n<%>r6M}S)dJrLkVmt^_D8~> zrPQgW3U0ksU3hPT^jrVIX6yP+RNooiKX(z}s&+liajT*u0w}(t9hq;uWAG^ z9JiUe)jfm$t8TvVwL{m3sgv!E(|zoF>1dxx+RDVIZf>m?LFvQDO4^_eR6KiK?@6{Z z4=$EuyQ2S^B9?(tTlFDy$?K0%eztk6rDlDpTup}QkKay^mm!!zGZP`%PK<%}R9#1P zA|=|de+Z8jC^dGtM;=PgK*+1%0Dvn8%Wi->#D^zzhLkwu$z#)B+o`IyuHT2W!V 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 H<2bN;^mBTX%zfO!>S_l;nNA)$YAJ#XQ|MpT* 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

i{x@L;jLY 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 literal 0 HcmV?d00001 diff --git a/assets/man_of_culture.jpg b/assets/man_of_culture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ec1e03f896fd999d678a2a67074a4f646eac129c GIT binary patch literal 40387 zcmbTc1yr2R5+^z^xVyW<;O->2yGsZ%xVsY)B)Gc;cL*LlxVsbFJ-9>O zQ3|3E0DvN^Xzkz#jR64IJGi;1%ZO9x>giL!Pe7VR1i%3}000v+S0^P6Y0baN$w^62 zxI%>f;{VXy0svAI05HoUt4cxfpZxz%2-D2T#SH*}QiVu!nS));AUGI;?L6I_{^nmm zFpjD1Ukv@%LO3oE1tFN=FSh&#GyhBGAN=kwHn(>$hsgZZ*~#4A{4ef<;IAI;UuHP{n^=OCEI&fVS`f*&9l#~xxW000K%Z@wGY%nE|pAsEF)Q(Xdrg#iEr6wCj@ zrvHWAz+MnN0RRa{CvO*PODi`D1~Wzq4gmpv3R$qH9oWr{Mb*U2*2Kk}Lc-DB$;81M z0Ql#f|CRz^{k1Ix#K^oH0=&E|oU9P@|C|1|%zsP$@4?@`{YTu}$26@=VhKfaVYYfMDf6c{JYu0Q6u0plR~I-UsimzxSSUDh76tm$%+533;vf{ z|D^}BI@kj20(O8jr48{iYX?h6cRQF{yIDIrP*^+suX_0ZveC$Q7Jvjm2jBn*0b~Gb00V#pzzN_32m#&!qyX{&6@Vr{5AXqC z2CxFy16%-}06#zwAQTV@hyx@8G61=NLO>ay8c+vl2DAgZ0RwMN1hth-k2xST70Obzl2lWLi5-I^I z11b-y45}8Y1*#ir7-|}78EOma2=C=w`!DDEgRC?zOAQI=7zQBhIp zP~V~Iqq?ESpq8QbqOPMppkbr2qRF9|qXnX6qBWt-pq-;5qSKMwBaR@hBVHkaCSf8`C-EgIAQ>aMB_$)3A$1~6C+#IYCBq|o zM`lBoMAk`mM2<}^N^VV_MBYVyOo2=Bp2ChIjiQg@f|7(%meQRvk8*Vo5;Z@y1$7d25A_8NIgJvHA58_#3N0cnKdlvQD(xWcJsmxr4qX^sGurn& znHO15Sl+XEuvD;YvEs2RvVLZ5W<6)4Vbf=eXB%XDW9MPFV=rX?#eu~k&+(a~mE($& ziPMZTlXH#>l}nl{kn0E6B{zs0%$>u%#DmSF#1qET!}H3^$Lqpd&3nX0!}pOdi*J!1 zhhLRHihoD|RzO@JP@rAlQIJ>AO|VYzw-Aevtx&npp)kELSh!GlM}$hmL?lmSQ_ReDut)iyOaHC44twS9FCbwBk%4Qvf# zjdG1UO>xaw&0ks!TJBms+UVMb+GX1JI+8jGI-9y|y8gPOdPI8GdO!5x^|kej^=}QN z43Z7@40#Mg4Ht~)jl7J8KM;Me`_N&GZfs&){}J}1&d2hPFD5D``6jofa;90P7iJP> zsb(kU@640TkH8|}1n_}{h(&_Mp{0mrqUDj5m{p3^skMZ4hV`Y5tWB=Xy{(FEiR~Xd z9lIKP1pANnEe==?whn!cWR6~r(@r3#P^V32LFZ)W3l{~KVpk|vBiA2pIFQBEm^*`e zi2Ig@s7I#9gQvDG(}12p z>cHT@y-zZqN`sJsY=g!>vwu$beDg);OKUJ`@TcIN5SfsQP_$5&(8VyJu-vaOU#-7R zgmZN!UqL zN^DA^NQy|hNj6R%PT@|;O+`v|Pu)yYO#6{elOC7;l3|rGpDCVMlSPsho^_vXo;{QE zE~h$|G&eH$>6`Vpr97FurhK~mlmfT{kAnR|?ZUw#{-UyCqT#66juWq1i$ZEuH zjA(*t@@~3lwrbw|q4#6DMZTq{Rj9SGjkT?$ow7Z%1Ggi#6R9(}^G}yg*X>WIpQqiH z-8((TJ->Q&d*}Mp`X>4n`iBOj2YLtJ4|WZS47Cpn4!4Z(k2H_+jy8?)j5Ut)j5kj3 zPBcyOP5zh?m};FCp6;9xo9UjFoE?~xn;V^1o}XUOT3A{%T-;nTUpid2TfSWJSb6^S zX%%)gVhv+0Wu0U_e}i$OW|McbV@q;tY+Gad*N)lF$*$|}%UVC=r`9aws=VAMi z^wHF@!SUXS)5-H`=o#i&);Ys@!|!*$$1Zd)_AXs6|6D~~6JD3xaNqRYs@|^O+21|i zM?4Tdls@u54nFBT9Xxx!z`vxuGQPIHDZH)zvH$bu&o6)k02T-X0|SJGB(SisaPTMy zkZ%+`Ix;dM3MM)h7A86-CN>@kJ~j>!E+!@cB>@pBDLFYgHa-;%6&Vc)89CYCN}wP` z;o;!X5D?JFa4>Pm{(sY-9sni+R2eiK5Q+)_jR^(Bg!^sl zgBulWy$6@uPL%@waLwU4jV4WmS>`Q$AChpU`wulci4&dAj=lb@D#yIu=t^95%JaA# zSQ_akB)c)20+FT2DXmqVYICq7g0(7XtyNixmCHjVP4>c>&!OoqOeg)-qGA&MI`I|D zJrxsr3*#D-zLZj!Yy1L(ABWAbub!6#<(<-gno4f>6MieNBG4L*tRM`)9(av~tJsZP z@IKF~lO8%s1FYuJ?J+1}HKk`*FNR6#l-zdlKGEqvw=p%73H(4*!n9F~(Bgqgq~Pp_ z!Ui#9CpA?i3p7u*5G)(s=&?I#?bN#qkPd6@$FkPB+!C6k|2PQW`CuEq?-MAVnsTGe z-D)TA68u>_@zc8$kttB*&>eerr*rJls`ui-c0 za(re3S;RADiNc9)YkNIoaUEO{e^QWf+T%h8xt%diGP$)VYyX|)Wm@Fv=yqK5owuL5 z$JYC1t;Vb! zZ?}Q{qKO1Pwj3+cpIZ`5@B}0gv5}%!BzpJ#qcLkH9M%lob_}5Fec5;pYmgoSmQNSngiNEf+aS@6q@AJwHyf8Q!xZj{0 zR=E+$MZ0YooS{E>x+co8P)-OHiqL0{(lCsX@o?@+&%PhHxVfA!VFq*7RjV^nspGs4 zXOwgf{sC4vSg+~b&_U{)dqNj}Ezvr-w)S_e0PTnvSC5nPp7|0=UUJ`f34yy8r+%GY zU)tR;Oh&WLjO}eSv41Q+Jk_oy%Gb_YFzlD}4qA!~6gZUTEj$cO+Ta_09{TlAf_y_K z;`YG%yU3~h(O=Yq`_-Zbi1~^p3b*^(vU7tz=Np^i+kW}0>2XppAv2hJVD1w(Z6QrX zil^T?*;g4b=Crrrs6XDxSBQCZ>r`mByJFVT!d2{eY66)?dq5;Pt!{gY#ch<(Mmq#8RlmaXWN$q4H{p068LmmJ|Z^d%b{Y)0eYDFhIj#h2bb_&A5QC8)3~%^`GmN+-~nzq8Xz_z zzkF!gPe|1OY?x3KWk$34R09AhR#bvLG&tqo1zO8|wV25L2lRD~HLym~6bisR zAMqPW0!%lWhBqb2&ibL!nu#4IXIvbtR%4L=#|2!{?-iuBz+@j zc5P*bi%a|bj(hX^2j6b4CGPFK(cYH-?}?7*&fu$YsXb;-ruXY*b`7Oc{Xoy8@YRa< z&g#e`l8@?`8{=(U>E|hPvFJ z)SPXTYS+4wowJQmZ<*Xa2(5deI||y>Q%AWk=g4iqBqkQkEfwHuw_leyOZHsV$tCx( zfl%RM(2HDx%guKvzXLuhX27gqrQu58(lOG+pudSanPj+>rW+Tz4j(x zTe9W-WLMhW=$<8**WE~0XA?USo-ES03uRdbgInCF4Uu+a;Hu=8^|C9cLPHX(G!Gd| zS#xX?eiT+mzx(l){$sp&iV;aU4MK%Wnt?dX#v_Rgvc5e-TAMYbjiuZRn;n}Lr)bM;N4NYl(QeB>b zY&*}*iF-};g%KPq=MZ0zrkS<^&(1Q@%_bPLI$MVjeEX3iolvtyTmlZ5MUeR(3mYd6 zFm>$YZ0>6NIlz*>V#{)R(r!}ALPSY;c=ZylF4kpHOJb;t`2wdi;)zO z*;I)!tMx?(DNiGxf%)~cLsUGGn^`q^;r^X>y1j$D<_`Gfd0F!)|iHHSERt5gYsBudjhDR zif~4QzwauOD!w2wpI+{;+AsUa@QyqwpskYR+!4j#_@uRR{x%xEaqUW~n0Y*yJP}w6 zkfB@s!N5wYIx8t)H@}y&CahoUn5w{X!~B^|%f@a~0(SlSJIGMQ0}TtQ7@8{yd% zDJ!XcSN*ITU5%ESM$+r0QIzUv_BlG-orua*^_h zZ?ADjC<3iUrG`PlvDThP308L2$~vZ;r}m@o()W`P)ZYTpDvEnJPlL>8nS1g&AB0D( zHiYp@ys~9KV@p{HcXm38rB8)$UcUu$-(Pv`FV~a0m*_jjrfLfcrdkgV`;TspFZH{5 zy4bc7yJ#(6uZM|ntr5D|>mWA|Y{bu%)CeEA>nmY>W4co>(M%Qqn^d0M`piVN1}s^* z^(O4(&W;Y8?A;o?h?Ne02+KP2I{t9F>x_9iNw9J!6L}K*;|2Bo4c{(j{pw>5AKbx7 z#h|H7o1aj9^~(!=5x(jLk+rYz2Lo;?U%vyD+}^XJUCZ6;=T2KTgRZu+w$Y>Q-p1U) zo|BnheZOYs*8}7Y4RboYl{^C~@Wto^+yryvUuzaD_8)W1mM*>VZd3xpNIDEW1Vsa9 zT(7R&&SJ$_wDfY=e@!lb(*H{8|5mQ*Pwvc)OXfJ^?f*TOY5DeQv$NCdEqqVNP|b%v zw+5ezw4=y~OiD-o9A76h(f%ZF+e@(N!YaCL-M6j~Ip)lVmGksDm0_4SXp{h+xS`ry zs)PmsC(&?H;Pm@m&17rFiLX>^iPUn%OsB7X)Lr+dqV55$4>C1F+ZQ~_!mB0Kv!YIPstubDLj z<-CZ*I0$YZ%^FQ4zMua!lhWc72#)Z1zvpAVpl2hu&!ZfrqI*C+(@R+@t$X@@Z2PIj zGJrboD8!qk)7M0z&a}utK(A#jMsnxpa*a&x=Jw#~B*_Eln6CEV#yjEwe1k!cN-8V0 zTT>(NceGZhOIa@=aC3u6@@V7H(*6hVJ|&m-CX6IHlc!{Iwo&|GunP0S&7p3G>K96@ zUuX7{M~_8;@&;rx#e)HWf`NjDYyyEWkf15#^90#I0bwvLZ>59d3n-64wk*+2*0Y zzm|k*^T>26ELjM!t4OB`Q|&;i*hUmDE1%6q+obqpplY+ygj;K8fEn(BPw67Ri#rTT z(4nc8GfZfK{rfnirnR~wTddjh;ATqbsz0|cGPD@Ss*t4W!EZpO8f|a0k^#0E{J?Kw zVlP$xmZ|;A9TjfgZ9mTWDCEOh8m>{m4z9gNWdt$%NQQ>$t&sECAkuf;&24A`hQ?B! z3Mf1tkqTf~3ucQ;P9}W0IHieEp7vDNH#wpVMiWo+gQ_A}>_{UG&1S6GTWh-XlIcll zuRSzeF(uqln?Y!&@E*53e0=KeFQmXZ4}kyIjBMxdMYYyjQ?GsdDp4%(XWdENO$;T* z$lgZwg}gzKuxl^qUqopcf_+2a>m2{Ay)$UD^r>fL|5MaxMqOQ9{bAArl}n;Z^%iR~ zQOXznY`vqgrnw_p#Ebc41!?UPp79d|x+<*nMhm*o?`T;i!Var-%`BrXBO|QHX?=D- zvF&*~HNTs0@RkP*JClHXgA_4>-fr4_mbiv}#c5ee$C`B-Mg z!fKPjn|kF@B27}5hdeb?=zDs!2+C(yMMi)v(M(vqv8`*TUUExlL?+2F9UC_$1pD=@ zJcjgNgCh6&@CR2ImeNPl4p@gfqFI#tJ&&%hDbNk#KrXbFq1xIv%3ffsAW4q}Za+3I z^1>6}M586#TXvyNdV3RQPRhJdK5SEa)NrEQ~r&_{<;#_~EvkSy92v;4->RgG> zH-zeA_tS75trXspmKU&dFg-!Q6%DL;6`5Y}h z(jNsg{IJWgYFW#ldPro@Mtw1TR`(KT;8B=a#FKb;=G=ylFl4!TT27ess|;juNSc`| zD{qfc(NiqLRnr1p93thPczLSphO`A6xxEHec*y*?GxaE<9JE#ruirBWBoDb65q9 zus{O}W~^$ZwDAB_-yu}pmPz9*ur0Vl8{JE7t1$so5I?BrlxKI@gD4GA8OWx4i1Sg>Na(zTvhG zZi*;m=}fmdy0%W3Ha&K1EX0wlJ{rlsh21Xx;PyWa38~a^az2WyIKObd_0n z3@h_(-DUb%uly&Th@4Sl_4zqw&q3)4M} zzGEFl)z#JA#KRK@%HR=r6v7DWj$nF#?}27h%Z8&9U|V#2*~c?+SM34UTszoyfkuC>ZC9 zbYSkcM+7EnA_Nfp0Z3V%-nf)|XLV&OG!>!$df?v_G3g6HIeEOH^BA(J2fOW6q1d?p z0mudrK;AlB?AV95ebWhK^antzad-B@F(*R#pdPR@ZJDtF&*J-%Z9GMOX8hbGU9y~< zB)_QgQYltEQ$L*}a56G7G6{8zR(m3LUoiFkRB{r;Sr@K9JW)fwf&}3~==baz7;G66 zIE}Oa2jC<);u}<(45?&3#=R+vF8LqIA=J~;+kxQRTL&j-V9FjC3|88|Bw)Zn8kt0? z{BOFL%on3_7$;lP|I*&s3u5dCOB`HMfEaL-X2Kzr=xrq@=Tu&jQeO=XRiA%9w+~6q zs=Q*Y98u3KqE$ zy$dpEqw~}|%Q^1>QF8BIO+kI@Vjv6iM7i4*jFmkig*22a&3k3Bt&u%ZyT{<+tfJTR zT{gCN2bYAjv8Klvjz2~t2!VN5U;=83`=ce)6?fH^H%a&k(YBfonvW^k@8ghMsYzS4 z9G*+eny=A_M5-W=h#HxD4y$7mmbZ3{#Y- zHCS+dF*Ar10SBx}?j;8XCa~H$+SVxON2KTOQMmW2C>o+ztRKq^F^yuDjQ90UNhD;S z!dAp))9&8nhLxQR>Ows`dg<$zxe_fsIhMxaAG>m>FCx-|wsptMZ-S9*S6e0#>r@1) zkUv^NHwpwN$Q)R_FbZWgvvUn?Lhs|FN>#g^#h>ZHaG!a$lFgH?#h!vJ)5TU*QavrZ z06C9}NdviS>?tW8y2Se)nhv9Z1Q+o^XF2d3W|%e7*5n4kSBu$w?i_8rw#!0E+Vf=5AE|4vXoJpS?s7Z#puGrx7 zh)opw*Q7wFxq~wbfr+5D*03!y82UxC#4>nZ1U+Q-+Mlp7wETDJ=k?s?=`>GFvXU(E zj|pusu~=jut4M}AqEbS=ufn9Sj3Qj_>NR}zz3oY7->P)sEyeuqM4!gdoCSC`eP;`* zaf=ZOD%R)IHYRM%k?_L$p=den3obdPWB7G%5Vdy?M%!!)f(M9+DZwqS27dtVnJc`g zcSXB{?6zA)_%p3PRafN5e@!PTpcUw1E|s?RO!U-yDp|e0->p&0oU6g?&mM8)kqvjx zUTze@?MmA4s znVwfR?A{`q5d6Gc+H42mskG}1#gXhU9frg5w0 zCTl=|K>qEhVjEe({+$Nd?4anU6NY39{3@+MT=zaYY9^L(eyr=8@<+}4Q-xQk(c2+gH|+aJC0>NMTb^LjqQxm zUq&}R-5L(G5KYyDA}0%};j8kcJlkgT8{_O<+9B^$PiI3evrKeO6@e=4^|JOHmV$r$9T8d{jd((8h=O|6cvPgm2GL5P-@mJoZHu=Rf;|%%5^gyWbUOC!KkR& z$|c@6F|FOn@?$Ziol4hEaH)znQ76PV7_Ac<6Z*3li@c=XsvXV84u+Cd$LW zaA73Tbcs;o55?B(a%}yYGTnOgfnRgm6=ki0cf>p&z-<^dDqYxqMmX`-6A4zk%Vl+P zb{mOG9cJndK{b7L>X#(sfa>Krh6-MH`HbSc>x_%9w`^bYtVUYyN~FCHXE#bywCcGM z8<8)ppR%5k5q1Q#^b4bY=%f7x>iz*#_Kq2&r`ru&4P7l*j$yvOLy#!ZcI>yoj4+-j za$~L7aYQD0NEM$eotrI85hxXVVeK+$s6on*{{9q*FbQMOBC{(>|7a{qJl?WRrt{MH zjp^4V{NuAh;3Ir**WD1KM&i3mLf@MX$Gt8V@L}aKQM6jA?Hlo<#TnmQdiDLqVnkc_ zw$JazD(zVLs%?4l*RUxSOR(A%c|t4WN&xyB}rmEsJJ?Tk>5F}b(kxo0oz{;q9d zU20xGo#zhUw=>`4hhI9Wac*-gKDY9iNb)IObGrb-$3$kibR3H*)scIKM-@EK=cz?eXH31L?`zVeX1lvq4v)Q! z*@D#-()$UdMS3$8!(<__{z@0eJg0t=%*`Z~1rEWi1vY1v!(z;tcsxkZzCL5)kIAV< z@w4{rZ2bXVzo#RHXO4S4*23nRad66)GtPdnEY6j4sa2M0X0V}+mmDt~9bX)46Ph1; z)DWI#PNT}R_$q>rd2d!;I{2`pl-EFlMfOc+#*HLBKXWFIYxOF`Zy*j;yjE0d9I5sY znPi@^I<*?9)lo_0!7_26=XPs5j#Fjcc(N=Q{G=F@pd&ttZMb2RQc#qwqNKS~TT)t> z#0MT~@HJh_#^+^)jQ;+8J2c8O*QIau?TS;w1)fkp-SuV;mm247$V`*dQ9f%U?3k-n zmhcZf#W^V5ZS#wqnF&;9=*e&Fx*E{1M=`>YypF31^PqQG?LCXDB!5X+CX)|bJ@29C zr#G2kWg+$y)j6XOg4!_Z2jh~hYsRScoWeCQ1lj2>s9z(Js6Bk#`^l%Cm*X+i)(p^u^ zdYR3g;3#x#ZCBOkW27PgG^x(P?t2X?Q3K?nXA(nlYKb{cA-{`M<_C?@0KpV zaurYCMgeq_vzOrA-!1P-o*^-rjtWQ+1%wHJhK2$HVW9sWTmLJ_4+V`0#K5A2q2R!# zVtBsW))sL?z0)H@6{h|J za|I5u2<47d^->cLX%lAz)_Lyd#=5@S7~Wx~vq9%4kSL>Z^$_U|Xp-7Hi!Z5r?bja||p!>=-PHF{lwS1sp(F3RGHY$h2t)@58mjGu6qSMC8 z$t4mmm-@Up%B5mi$OzNs$ku180JEFo~gdhP#a1bz4Xcptn%|pBKJdAAx4Ghcy^5ZAWFLlHwyV3TV%XKM5}YVv zv!PG!L>vmvq!m-rR7!ZJ4zGvtkRF~;a&fy>f?Uk5uoW!6cd~yLs8)ftOe`@z5uZ^n z^r_0nURBl{~8BS5ABflK|1IYVQ zlz1;`gr{fTWPWJx#2U#Kbdz2aWSX@;Sx+vJz(uYipz?+OeTGs!{`+yolP9ljYf96* zrCG(GFAvBA>3-y7YnNkDvPx6v85?5d9S;X%BnA#w?&1t%Lo931m!7f$ z>x(C2-L{uAg*~*gd98%q&0XKO)gFXJ;`s$C#%jPF_UDrCa$Rw}4Y{itDI5gdrX^mn zmXJpZ)=1l&u02sFvx&-``So?b!0yP;+8=k-aeYAOK~63#x~(V-j6cS;m#j=aLTvE{ zeP*myOic8PPgEW@4^YGZnKHdGJ=B%|up3!G{z29!-8AWD;Wh*CYfD_n$ckaxDfE2$_Q*kz5Wn$RtDs zi_7`W{0x?qQEbVCK=z2(kEk@% zL)!YDTRzo3#aP(tLXV({fp%AkN_m_*5|nXT;H><0&vb&Z*nUI_E2Ws#mT=lq_OR9z z4;zn3P)2sfnma=Z>w}Ue+mf?wM_yBKUq2mlG*+hR0qIcnoH#Kljg@R6L`F?=rwf#i zb!Vk`)VLDPswU-WX0;GgE@P;7dfa5Ho{2MuOKMg=u3pPI%AA{HH8(xaLuY3tofg4C z6K|Aj_-i+KDA!yoOPHI|ako$|W!z4khbX+``LynNQ4pVJ_nG~j0Ul%B=m9vvH%jWt zsChM#XAQ0Ev1gN;k!IIhbQ<|){QcE>WsS@E{;WkoYCK4M@I37q7=-!Z!bINf00LnsO!#* zFWF*=nppLNM|todtr&OvNA7&a#;HsN{p(pb_h-a@C&42|$gZ7Ttq>17BOy^LXel;E zoArjWl?O4B(m#b-E2CNXT<)Ax#guuzmgq_4p7d�_tUmxvrDY&}Jx+~@e7eA?3QL4` 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 z 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 z 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 W^0HlfEr>b*0000 kommen'], + 'extra vote': [150, self.bot.database.set_user_extra_vote, 'Extra Vote', False, 'Kann eine Umfrage starten, selbst wenn man normalerweise noch Umfrage cooldown hätte'] + } + + @commands.command(name='buy', aliases=['b'], usage='buy ', help='Kauft ein Shop Item. Tippe `$shop` um alle verfügbaren Items zu sehen') + async def buy(self, ctx: commands.Context, *item): + await ctx.send(embed=Embeds.error_embed(description='Der Befehl steht wegen bearbeitung temporär nicht zur Verfügung')) + return + to_buy = ' '.join(item) + if values := self.shop_items.get(to_buy, None): + if self.bot.database.has_remove_user_gold(ctx.author.id, values[0]): + embed = discord.Embed(title='Item kauf') + embed.add_field(name=values[2], value=f'*{values[4]}*\n\n' + f'<@!{ctx.author.id}> erhält:\n' + f'```diff\n' + f'+1 {values[2]}' + f'```\n' + f'<@!{ctx.author.id}> bezahlt:\n' + f'```diff\n' + f'- {values[0]} Gold\n' + f'```') + message = await ctx.send(embed=embed) + await message.add_reaction('❌') + await message.add_reaction('✅') + + def check(reaction: discord.Reaction, user): + return user.id == ctx.author.id and reaction.message.id == message.id and str(reaction.emoji) in ['❌', '✅'] + + try: + reaction, user = await self.bot.wait_for('reaction_add', timeout=30, check=check) + if reaction.emoji == '❌': + embed.colour = 0xff0000 + msg = 'Der Kauf wurde abgebrochen' + elif reaction.emoji == '✅': + values[1](ctx.author.id, 1) + embed.colour = 0x00ff00 + msg = f'**{values[2]}** wurde gekauft{f". Tippe `$use {to_buy}` um das Item zu benutzen!" if values[3] else "!"}' + else: + msg = 'Hackerman hat den Bot überlistet, weshalb diese Nachricht erscheint, die eigentlich niemals hätte erscheinen dürfen' + + embed.clear_fields() + embed.add_field(name=values[2], value=f'*{values[4]}*\n\n' + f'<@!{ctx.author.id}> erhält:\n' + f'```diff\n' + f'+1 {values[2]}' + f'```\n' + f'<@!{ctx.author.id}> bezahlt:\n' + f'```diff\n' + f'- {values[0]} Gold\n' + f'```\n' + f'{msg}') + await message.edit(embed=embed) + except asyncio.exceptions.TimeoutError: + pass + else: + await ctx.send(embed=Embeds.error_embed(description='Du hast nicht genügend Gold um dieses Item zu kaufen')) + else: + await ctx.send(embed=Embeds.error_embed(description=f'Es existiert kein Item mit dem Name `{to_buy}`')) + + @commands.command(name='items', aliases=['i'], usage='items', help='Zeigt alle Items im besitzt an') + async def items(self, ctx: commands.Context, *, user_mention: str = None): + await ctx.send(embed=Embeds.error_embed(description='Der Befehl steht wegen bearbeitung temporär nicht zur Verfügung')) + return + id = ctx.author.id + if user_mention is not None: + regex_id = re.match(r'^<@(!)?(?P\d{18})>', user_mention) + if regex_id: + id = regex_id.group('id') + else: + await Help(self.bot).show_help(ctx, ctx.command) + return + + embeds = [] + embed = discord.Embed(title='Items', description=f'Items von <@!{id}>') + embed.set_footer(text='Alle Items die mit 💫 beginnen können über `$use ` benutzt werden!') + for name, value in self.bot.database.get_user_items(id).items(): + if len(embed.fields) >= 10: + embeds.append(embed) + embed = discord.Embed(title='Items', description=f'Items von <@!{id}>') + embed.set_footer(text='Alle Items die mit 💫 beginnen können über `$use ` benutzt werden!') + if name == 'gold': + embed.description += f'\n\n:moneybag: **{value}** *Gold*' + elif value > 0: + item = self.shop_items[name] + embed.description += f'\n{":dizzy:" if item[3] else ":sparkles:"} **{value}** · `{name}` · *{item[2]}*' + embeds.append(embed) + + send_embeds = menus.MenuPages(source=MenuListPageSource(embeds), clear_reactions_after=True, timeout=30) + await send_embeds.start(ctx) + + @commands.command(name='leaderboard', aliases=['l'], usage='leaderboard', help='Zeigt das Server Leaderboard an') + async def leaderboard(self, ctx: commands.Context): + await ctx.send(embed=Embeds.error_embed(description='Der Befehl steht wegen bearbeitung temporär nicht zur Verfügung')) + return + gold_leaderboard = discord.Embed(title='Gold Leaderboard', description='*Man kann alle 2 Minuten zwischen 5 und 15 Gold bekommen, wenn man in diesen Zeitabständen eine Nachricht schreibt. ' + 'Die gedroppte Gold Anzahl wird mit deinem Kaizen-Sub Level addiert (Server Booster gelten als Sub Level 2).\n' + 'Also je aktiver, desto mehr Gold:moneybag:^^*') + gold_leaderboard.set_footer(text='Tippe `$shop` um dir anzusehen, was du alles kaufen kannst!') + gold_text = '' + + for i, (id, gold) in enumerate(self.bot.database.get_leaderboard().items(), 1): + gold_text += f'\n{i}. - `{gold}` Gold · __**{(await self.bot.guild.fetch_member(id)).display_name}**__' + + gold_leaderboard.add_field(name='Top 10', value=gold_text) + + menu = menus.MenuPages(source=MenuListPageSource([gold_leaderboard])) + await menu.start(ctx) + + @commands.command(name='shop', aliases=['s'], usage='shop', help='Zeigt alle Shop Elemente an') + async def shop(self, ctx: commands.Context): + await ctx.send(embed=Embeds.error_embed(description='Der Befehl steht wegen bearbeitung temporär nicht zur Verfügung')) + return + embeds = [] + embed = discord.Embed(title='Show durchsuchen') + for name, item in self.shop_items.items(): + if len(embed.fields) >= 10: + embeds.append(embed) + embed = discord.Embed(title='Show durchsuchen') + embed.add_field(name=item[2], value=f'*{item[4]}*\n' + f'```diff\n' + f'- {item[0]} Gold\n' + f'+ 1 {item[2]}\n' + f'> $buy {name}\n' + f'```', inline=False) + embeds.append(embed) + + embeds = menus.MenuPages(source=MenuListPageSource(embeds), clear_reactions_after=True, timeout=30) + await embeds.start(ctx) + + @commands.command(name='use', aliases=['u'], usage='use', help='Benutzt ein Item') + async def use(self, ctx: commands.Context, *args): + await ctx.send(embed=Embeds.error_embed(description='Der Befehl steht wegen bearbeitung temporär nicht zur Verfügung')) + return + pass + + # --- # + + @commands.Cog.listener() + @commands.guild_only() + async def on_message(self, message: discord.Message): + return + if not message.author.bot and message.channel.id not in [812436978809307156, # rank abfrage + 822938804461502524, # offene daten + 813135345725341736, # karuta + 813886662841073684, # rin + 813487848027193398]: # quiz erraten + now = time.time() + cooldown = self.cooldown.get(message.author.id, [0.0, 0]) + if cooldown[1] < 120 and cooldown[0] + 120 < now: + cooldown[0] = now + cooldown[1] += 1 + self.cooldown[message.author.id] = cooldown + + gold = random.randint(5, 15) + roles = role_names(message.author) + + if 'Kaizen-Sub: Level 3' in roles: + gold += 3 + elif 'Kaizen-Sub: Level 2' in roles: + gold += 2 + elif 'Kaizen-Sub: Level 1' in roles: + gold += 1 + if 'Server Booster' in roles: + gold += 2 + + self.bot.database.add_user_gold(message.author.id, gold) + + def reset(self): + for key in self.cooldown: + self.cooldown[key] = [0.0, 0] + + +# ADDED AFTERWARDS: I had the idea of implementing familiarly relationship and show it in a tree +# but this was never finished (not that I really started to try working on it) +class Family(commands.Cog): + + def __init__(self, bot): + self.bot = bot + + @commands.command(name='tree', usage='tree', help='Zeigt den Familienstammbaum') + @commands.guild_only() + async def family_tree(self, ctx: commands.Context): + self.bot.database.get_user_parents(ctx.author.id) + + def _family_tree(self, id: int) -> List[List[str]]: + parents = self.bot.database.get_user_parents() + if parents: + + return [].extend() + else: + return [self.bot.guild.fetch_member(id).display_name] + + +class Mod(commands.Cog): + + def __init__(self, bot): + self.bot = bot + + @commands.command(name='error', usage='error') + @commands.guild_only() + @commands.has_role('Mod') + async def error(self, ctx: commands.Context): + logger.info('NOTICE: Raising controlled exception...') + raise Exception('Exception raised by the error command') + + @commands.command(name='restart', usage='restart') + @commands.guild_only() + @commands.has_role('Mod') + async def restart(self, ctx: commands.Context): + for thread in glob['timers']: + thread.cancel() + logger.info('Restarting...') + os.kill(os.getpid(), signal.SIGKILL) + + @commands.command(name='transcript', usage='transcript', help='Schickt eine Datei mit dem gesamten Nachrichtenverlauf der letzten Stunde') + @commands.guild_only() + @commands.has_role('Mod') + async def transcript(self, ctx: commands.Context): + tmp = tempfile.mktemp('.txt') + with open(tmp, 'w+') as file: + for message in glob['transcript'].values(): + file.write(message + '\n') + file.close() + await ctx.send(file=discord.File(tmp, 'transcript.txt')) + os.remove(tmp) + + +class Help(commands.Cog): + + def __init__(self, bot): + self.bot = bot + + async def show_help(self, ctx: commands.Context, command: commands.Command): + embed = discord.Embed(title=f'`{command.name}` command\n\n', color=discord.Color(0xff0000)) + embed.set_footer(text='<...> - required; [...] - optional; <...|...> - or\nDo NOT include <>, [] or | when executing the command') + embed.add_field(name='Usage', value=f'`{self.bot.command_prefix}{command.usage}`', inline=False) + embed.add_field(name='Description', value=command.help, inline=False) + if command_flags := flags.get_flags(command): + all_flags = {} + for flag, info in command_flags.flags().items(): + if info['show_help']: + hash_sum = hash(str(info)) + if hash_sum not in all_flags: + all_flags[hash_sum] = copy(info) + all_flags[hash_sum]['names'] = [flag] + else: + all_flags[hash_sum]['names'].append(flag) + embed.add_field(name='Flags', value='\n'.join([f'• `{"`, `".join(flag["names"])}` - {flag["help"].format(flag=flag["names"][0])}' for flag in all_flags.values()]), inline=False) + await ctx.send(embed=embed) + + @commands.command(name='commands', usage='commands', description='Liste alle verfügbaren Befehle auf') + async def cmds(self, ctx: commands.Context): + commands = {command.name: command for command in self.bot.commands} + groups = {'default': []} + for command in sorted(commands): + if hasattr(command, 'group'): + if command.group not in groups: + groups[command.group] = [] + groups[command.group].append(commands[command]) + new_line = '\n' + embed = discord.Embed(title='Commands', description=f'Um Hilfe zu einem bestimmten Befehl zu bekommen, tippe `{self.bot.command_prefix}help [command]`', + color=discord.Color(0xff0000)) + + for group_name, group in groups.items(): + embed.add_field(name=group_name, value=f'```• {f"{new_line}• ".join([self.bot.command_prefix + command.usage for command in group])}```', inline=False) + await ctx.send(embed=embed) + + @commands.command(name='help', usage='help [command]', description='Zeigt Hilfe an') + async def help(self, ctx: commands.Context, command: Optional[str]): + if command: + if cmd := self.bot.get_command(command): + await self.show_help(ctx, cmd) + else: + embed = discord.Embed(title=f'{self.bot.user.name} help', description=f'Der Befehl {command} existiert nicht!', color=discord.Color(0xff0000)) + embed.add_field(name='Get help', value=f'Um Hilfe zu einem bestimmten Befehl zu bekommen, tippe `{self.bot.command_prefix}help [command]`', inline=False) + embed.add_field(name='Commands', value=f'Tippe `{self.bot.command_prefix}commands`, um eine Liste mit allen Befehlen zu bekommen', inline=False) + embed.set_footer(text='<...> - required; [...] - optional; <...|...> - or\nDo NOT include <>, [] or | when executing the command') + await ctx.send(embed=embed) + else: + embed = discord.Embed(title=f'{self.bot.user.name} help', color=discord.Color(0xff0000)) + embed.add_field(name='Get help', value=f'Um Hilfe zu einem bestimmten Befehl zu bekommen, tippe `{self.bot.command_prefix}help [command]`', inline=False) + embed.add_field(name='Commands', value=f'Tippe `{self.bot.command_prefix}commands`, um eine Liste mit allen Befehlen zu bekommen', inline=False) + embed.set_footer(text='<...> - required; [...] - optional; <...|...> - or\nDo NOT include <>, [] or | when executing the command') + await ctx.send(embed=embed) + + +class Info(commands.Cog): + + def __init__(self, bot): + self.bot = bot + + self.flag_parser = flags.Flag() + + @commands.command(name='info', usage='info [@user]', help='Zeigt Infos über einen Nutzer an') + @commands.guild_only() + async def info(self, ctx: commands.Context, *, user_mention: str = None): + id = ctx.author.id + if user_mention is not None: + regex_id = re.match(r'^<@(!)?(?P\d{18})>', user_mention) + if regex_id: + id = regex_id.group('id') + else: + await Help(self.bot).show_help(ctx, ctx.command) + return + if (infos := self.bot.database.get_user_infos(id)) is None: + await ctx.send(embed=Embeds.error_embed(description="Der Nutzer existiert nicht")) + return + else: + member = await self.bot.guild.fetch_member(int(id)) + name = member.display_name if member.display_name.lower().endswith(('s', 'z')) else member.display_name + "'s" + embed = discord.Embed(title=name + " Infos", color=member.roles[-1].color) + embed.set_thumbnail(url=member.avatar_url) + embed.set_footer(text='Tippe `$help addinfo` um zu sehen, was für Infos noch hinzugefügt / geändert werden können') + for key, value in infos.items(): + if value is not None: + embed.add_field(name=key, value=value, inline=False) + if len(embed.fields) == 0: + embed.description = "Es wurden noch keine Infos eingetragen" + await ctx.send(embed=embed) + + @commands.command(name='addinfo', aliases=['infoadd'], usage='addinfo ', + help='Fügt den Namen / das Alter / eine Anime Liste / einen Lieblings Anime / eine Waifu / ein Husbando zu einem Nutzer hinzu.\n\n' + 'Tippe `$help removeinfo` um Infos wieder zu entfernen') + @commands.guild_only() + async def infoadd(self, ctx: commands.Context, info_type: str, *info_value): + if info_type.lower() == 'name': + self.bot.database.set_user_name(ctx.author.id, ' '.join(info_value)) + await ctx.send(embed=Embeds.success_embed(description=f'Name (__{" ".join(info_value)}__) wurde hinzugefügt')) + elif info_type.lower() == 'age': + try: + age = int(info_value[0]) + except ValueError: + await ctx.send(embed=Embeds.error_embed(description='`age` sollte eine Zahl sein')) + return + if age < 0: + await ctx.send(embed=Embeds.error_embed(description='Hmmm noch nie von einer Person gehört die minus Jahre alt ist')) + return + elif age > 99: + await ctx.send(embed=Embeds.error_embed(description='Uff, bei so einem hohen Alter komm selbst ich in Bedrängnis und kann es nicht zu deinen Infos hinzufügen :/')) + return + + self.bot.database.set_user_age(ctx.author.id, age) + + # ADDED AFTERWARDS: hehe + if age == 69: + embed = Embeds.success_embed(title='Alter wurde hinzugefügt') + embed.description = 'Ah, I see you\'re a man of culture as well' + embed.set_thumbnail(url='attachment://man_of_culture.jpg') + await ctx.send(embed=embed, file=discord.File(Path.cwd().joinpath('assets', 'man_of_culture.jpg'))) + else: + await ctx.send(embed=Embeds.success_embed(description=f'Alter __{age}__ wurde hinzugefügt')) + elif info_type.lower() == 'list': + try: + requests.get(info_value[0]) + except Exception: + await ctx.send(embed=Embeds.error_embed(description='Ich konnte mich nicht mit der gegeben URL verbinden')) + return + self.bot.database.set_user_list(ctx.author.id, info_value[0]) + await ctx.send(embed=Embeds.success_embed(description='Anime Liste wurde hinzugefügt')) + elif info_type.lower() == 'fav': + self.bot.database.set_user_fav(ctx.author.id, ' '.join(info_value)) + await ctx.send(embed=Embeds.success_embed(description=f'Lieblings Anime (__{" ".join(info_value)}__) wurde hinzugefügt')) + elif info_type.lower() == 'waifu': + self.bot.database.set_user_waifu(ctx.author.id, ' '.join(info_value)) + await ctx.send(embed=Embeds.success_embed(description=f'Waifu (__{" ".join(info_value)}__) wurde hinzugefügt')) + elif info_type.lower() == 'husbando': + self.bot.database.set_user_husbando(ctx.author.id, ' '.join(info_value)) + await ctx.send(embed=Embeds.success_embed(description=f'Husbando (__{" ".join(info_value)}__) wurde hinzugefügt')) + else: + await Help(self.bot).show_help(ctx, ctx.command) + + @commands.command(name='removeinfo', aliases=['inforemove'], usage='removeinfo ', + help='Entfernt Name / Alter / Anime Liste / lieblings Anime / Waifu / Husbando von einem Nutzer.\n\n' + 'Tippe `$help addinfo` um Infos hinzuzufügen') + @commands.guild_only() + async def inforemove(self, ctx: commands.Context, info_type: str): + if info_type.lower() == 'name': + self.bot.database.set_user_name(ctx.author.id, None) + await ctx.send(embed=Embeds.success_embed(description='Name wurde entfernt')) + elif info_type.lower() == 'age': + self.bot.database.set_user_age(ctx.author.id, None) + await ctx.send(embed=Embeds.success_embed(description='Alter wurde entfernt')) + elif info_type.lower() == "list": + self.bot.database.set_user_list(ctx.author.id, None) + await ctx.send(embed=Embeds.success_embed(description='Anime Liste wurde entfernt')) + elif info_type.lower() == "fav": + self.bot.database.set_user_fav(ctx.author.id, None) + await ctx.send(embed=Embeds.success_embed(description='Lieblings Anime wurde entfernt')) + elif info_type.lower() == "waifu": + self.bot.database.set_user_waifu(ctx.author.id, None) + await ctx.send(embed=Embeds.success_embed(description='Waifu wurde entfernt')) + elif info_type.lower() == "husbando": + self.bot.database.set_user_husbando(ctx.author.id, None) + await ctx.send(embed=Embeds.success_embed(description='Husbando wurde entfernt')) + else: + await Help(self.bot).show_help(ctx, ctx.command) + + +class Kaizen(commands.Cog): + + def __init__(self, bot): + self.bot = bot + + @commands.command(name='kaizen', usage='kaizen', help='Alle Links zu den Social Media Kanälen von Kaizen') + async def links(self, ctx: commands.Context): + await Embeds.send_kaizen_infos(ctx) + + +class Vote(commands.Cog): + + def __init__(self, bot): + self.bot = bot + self.total_votes = [] + self.next_normal_time = datetime.datetime.now() + self.sub_or_booster_time = {} + self.number_emojis = ['1️⃣', '2️⃣', '3️⃣', '4️⃣', '5️⃣', '6️⃣', '7️⃣', '8️⃣', '9️⃣', '🔟'] + + self.flag_parser = flags.Flag(raise_errors=False, + double_flag_error='Die flag `{flag}` wurde schon gegeben', + flag_position_error='Flags müssen als letztes aufgerufen werden', + quotation_error='Es fehlen ein oder mehrere Anführungszeichen (`"` oder `\'`)') + self.flag_parser.add_flag('--duration', + store_type=(flags.StoreType.store_value, 60*5), + parser=self._duration_parser, + allowed_roles=['Mod', 'Server Booster', 'Kaizen-Sub'], + not_allowed_role_message='Nur Nutzer, die Server Booster oder Twich-Sub von Kaizen sind, können die `{flag}` flag benutzen!', + wrong_store_type_message='Die `{flag}` flag muss eine Zeitangabe haben (z.B. `{flag}=12m21s`)', + help='Zeit, bis das Ergebnis bekanntgegeben werden soll. Ist nur für Server Booster und Kaizen Twitch Subs verfügbar! (z.B. {flag}=12m21s)') + self.flag_parser.add_flag('--image', + store_type=flags.StoreType.store_value, + wrong_store_type_message='Die `{flag}` flag muss einen URL zu einem Bild haben (z.B. `{flag}="https://bytedream.org/darling.jpg"`)', + help='Fügt ein extra Bild zur Umfrage hinzu. Bild muss als URL angegeben sein (z.B. {flag}=https://bytedream.org/darling.jpg)') + + super().__init__() + + async def _duration_parser(self, ctx: commands.Context, flag, value): + regex_time = re.match(r'^((?P\d*?)h)?((?P\d*?)m)?((?P\d*?)s)?', str(value)) + time = 0 + if regex_time['hour']: + time += int(regex_time['hour']) * 60 * 60 + if regex_time['min']: + time += int(regex_time['min']) * 60 + if regex_time['sec']: + time += int(regex_time['sec']) + if time == 0: + await ctx.send(embed=Embeds.warn_embed(description=f'Die Zeit der `{flag}` flag sollte in Form von __12m21s__ oder __21m__ sein')) + return False + elif time > 60 * 60: + roles = role_names(ctx.author) + if 'Mod' not in roles and 'A&M Redakteur' not in roles: + await ctx.send(embed=Embeds.warn_embed(description=f'Die Gesamtzeit der `{flag}` flag kann höchstens 60 Minuten betragen!')) + return False + return time + + @commands.command(name='vote', ignore_extra=False, + usage='vote "" <2 bis 10 "Antwortmöglichkeiten"> [flags]', help='Startet eine Umfrage mit maximal 10 Antwortmöglichkeiten', + flags='flag_parser') + @commands.guild_only() + async def vote(self, ctx: commands.Context, *, args): + parsed = await self.flag_parser.parse(args, ctx=ctx) + if not parsed: + return + + args = list(parsed.normal_args) + + if len(args) == 0: + async with ctx.typing(): + await asyncio.sleep(.7) + await ctx.send(embed=Embeds.error_embed(description=f'Syntax für den \'{self.bot.command_prefix}vote\':\n' + f'`{self.bot.command_prefix}vote [titel] [antwortmöglichkeiten] (dauer)`\n\n' + f'Argumente:\n' + f'`titel`: Titel der Umfrage ("Wie findet ihr Anime xy?")\n' + f'`antwortmöglichkeiten`: Bis zu zehn mögliche Antwortmöglichkeiten ("super" "ok" "schlecht")\n' + f'`dauer`: Zeit, bis das Ergebnis bekanntgegeben werden soll.\n\n' + f'Beispiel:\n' + f'`{self.bot.command_prefix}vote "Wie findet Ihr Anime xy?" "sehr gut" super ok schlecht "sehr schlecht" time=12m`\n\n' + f'Um Leerzeichen im Titel oder in den Antwortmöglichkeiten zu benutzen, die entsprechenden Dinge einfach mit Anführungszeichen (`"`) vorne und hinten versehen')) + return + elif len(args) <= 2: + await ctx.send(embed=Embeds.error_embed('Es müssen mindestens zwei Antwortmöglichkeit angegeben sein!')) + return + elif len(args) > 10 + 1: # the +1 is the title + await ctx.send(embed=Embeds.error_embed('Es können nur maximal 10 Antwortmöglichkeiten angegeben werden!')) + return + + roles = role_names(ctx.author) + privileges = 'Mod' in roles or 'A&M Redakteur' in roles + booster = 'Server Booster' in roles + sub = 'Kaizen-Sub' in roles + + now = datetime.datetime.now() + + if len(self.total_votes) >= 3 and not privileges: + difference = divmod(min(self.total_votes) - now.timestamp(), 60) + await ctx.send(embed=Embeds.error_embed(description=f'Es können maximal 3 Umfragen gleichzeitig laufen. In {round(difference[0])} Minuten und {round(difference[1])} Sekunden kann wieder eine neue Umfrage gestartet werden.')) + return + + # check for cooldown + if privileges: + pass + elif booster or sub: + if self.sub_or_booster_time.get(ctx.author.id, now - datetime.timedelta(hours=1)) < now: + self.sub_or_booster_time[ctx.author.id] = now + datetime.timedelta(minutes=15) + elif self.next_normal_time < now: + self.next_normal_time = now + datetime.timedelta(minutes=40) + elif self.bot.database.set_user_extra_vote(ctx.author.id, -1): + pass + else: + if (t := self.sub_or_booster_time[ctx.author.id]) < self.next_normal_time: + difference = divmod((t - now).total_seconds(), 60) + else: + difference = divmod((self.next_normal_time - now).total_seconds(), 60) + await ctx.send(embed=Embeds.error_embed(description=f'Du musst leider noch {round(difference[0])} Minuten und {round(difference[1])} Sekunden warten, bis du den Befehl erneut benutzen kannst.')) + return + elif self.next_normal_time < now: + self.next_normal_time = now + datetime.timedelta(minutes=40) + else: + difference = divmod((self.next_normal_time - now).total_seconds(), 60) + await ctx.send(embed=Embeds.error_embed(description=f'Du musst leider noch {round(difference[0])} Minuten und {round(difference[1])} Sekunden warten, du den Befehl erneut benutzen kannst.\n' + f'Werde Server Booster oder Twich-Sub, um die Wartezeit zu verringern!')) + return + + # send the message embed + args[0] = args[0] if args[0].endswith('?') else args[0] + '?' + embed = discord.Embed(title=f'**{args[0]}**', + description='\n'.join([f'{self.number_emojis[i]}: {answer}' for i, answer in enumerate(args[1:])]), + color=ctx.author.roles[-1].color) + if parsed.image: + embed.set_thumbnail(url=parsed.image) + end_time = datetime.datetime.now() + datetime.timedelta(seconds=parsed.duration) + embed.set_footer(text=f'Umfrage endet am {end_time.strftime("%d.%m.%Y")} um ca. {end_time.strftime("%H:%M")} Uhr') + async with ctx.typing(): + await asyncio.sleep(.5) + message = await ctx.send(embed=embed) + for i in range(len(args[1:])): + await message.add_reaction(self.number_emojis[i]) + + if parsed.pin: + await message.pin() + await ctx.message.delete() + + last_mention_id = message.id + + self.total_votes.append(end_time.timestamp()) + walked = 0 + for _ in range(0, (parsed.duration - 5) // (60 * 10)): + await asyncio.sleep(60 * 10) + is_fresh = False + async for old_message in ctx.channel.history(limit=10): + if old_message.id == last_mention_id: + is_fresh = True + break + if not is_fresh: + last_mention_id = (await message.reply(embed=discord.Embed(description=f'Es läuft aktuell eine Umfrage, stimmt doch zur Frage `{args[0]}` ab!', + color=embed.color))).id + walked += 60 * 10 + await asyncio.sleep(parsed.duration - walked) + + self.total_votes.remove(end_time.timestamp()) + + if parsed.pin: + await message.unpin() + + reactions = [] + users = [] + + for reaction in (await ctx.channel.fetch_message(message.id)).reactions: + reactions.append(reaction) + async for user in reaction.users(): + if not user.bot and user.id not in users: + users.append(user.id) + embed = discord.Embed(title=f'**{args[0]}**', + description='\n'.join([f'{self.number_emojis[i]}: {answer} - {reactions[i].count - 1} {"Stimme" if reactions[i].count - 1 == 1 else "Stimmen"}' for i, answer in enumerate(args[1:])]), + color=embed.color) + if parsed.image: + embed.set_thumbnail(url=parsed.image) + now = datetime.datetime.now() + embed.set_footer(text=f'Umfrage endete am {now.strftime("%d.%m.%Y")} um {now.strftime("%H:%M:%S")} Uhr') + await message.clear_reactions() + await message.edit(embed=embed) + + reaction_dict = {arg: count for arg, count in sorted({arg: reactions[i].count for i, arg in enumerate(args[1:])}.items(), key=lambda item: item[1], reverse=True)} + + result_embed = discord.Embed(title=f'Umfrageergebnisse zu `{args[0]}`\n\n', + description='\n'.join([f'{i + 1}. {arg} - {count - 1} {"Stimme" if count - 1 == 1 else "Stimmen"}' for i, (arg, count) in enumerate(reaction_dict.items())]), + color=embed.color) + + result_embed.description += f'\n\nInsgesamt mitgemacht: {len(users)}' + + await ctx.send(embed=result_embed) + + +# ADDED AFTERWARDS: hehe pt. 2 +class NSFW(commands.Cog): + + def __init__(self, bot): + self.id = 796873618026004481 + self.bot = bot + + @commands.command(name='color', usage='color', help='Shows a random colored hentai image') + @commands.guild_only() + @commands.cooldown(1, 60 * 5, type=commands.BucketType.channel) + async def color(self, ctx: commands.Context): + if ctx.channel.id != self.id: + await ctx.send(embed=Embeds.error_embed(description='Dieser Befehl kann nur in <#796873618026004481> genutzt werden')) + else: + await ctx.send(file=discord.File(os.path.join('/srv/media/hentai/image', random.choice(os.listdir('/srv/media/hentai/image'))))) + + @commands.command(name='lewd', usage='lewd', help='Shows a random lewd') + @commands.guild_only() + @commands.cooldown(1, 60 * 5, type=commands.BucketType.channel) + async def lewd(self, ctx: commands.Context): + if ctx.channel.id != self.id: + await ctx.send(embed=Embeds.error_embed(description='Dieser Befehl kann nur in <#796873618026004481> genutzt werden')) + else: + page = random.randint(0, glob['twitter'].get_user('lewdxsthetic').statuses_count // 20) + await ctx.send(random.choice(glob['twitter'].user_timeline('lewdxsthetic', page=page, count=20))._json['entities']['media'][0]['media_url_https']) diff --git a/kaizenbot/database.py b/kaizenbot/database.py new file mode 100644 index 0000000..c98f89c --- /dev/null +++ b/kaizenbot/database.py @@ -0,0 +1,203 @@ +import mariadb +import datetime +from typing import Any, Dict, List, Union +import discord +from .user import User + + +class Database: + + def __init__(self, user: str, password: str): + self.database: mariadb._mariadb.connection = mariadb.connect(user=user, password=password, host='127.0.0.1', port=3306, database='kaizen') + self.database.autocommit = True + self.cursor = self.database.cursor() + + def sync(self): + self.cursor.execute('INSERT INTO info (id) (SELECT id FROM rules_accepted WHERE id NOT IN (SELECT id FROM info))') + self.cursor.execute('INSERT INTO economy (id) (SELECT id FROM rules_accepted WHERE id NOT IN (SELECT id FROM economy))') + + # --- # + + def get_message_id(self) -> Union[int, None]: + try: + self.cursor.execute('SELECT v FROM stuff WHERE k=?', ('message_id',)) + return int(self.cursor.fetchone()[0]) + except (TypeError, ValueError): + return None + + def set_message_id(self, id: int): + if id is None: + self.cursor.execute('DELETE FROM stuff WHERE k=?', ('message_id',)) + else: + self.cursor.execute('INSERT INTO stuff (k, v) VALUES (?, ?)', ('message_id', str(id))) + + def get_image_id(self) -> Union[int, None]: + try: + self.cursor.execute('SELECT v FROM stuff WHERE k=?', ('image_id',)) + return int(self.cursor.fetchone()[0]) + except (TypeError, ValueError): + return None + + def set_image_id(self, id: int): + if id is None: + self.cursor.execute('DELETE FROM stuff WHERE k=?', ('image_id',)) + else: + self.cursor.execute('INSERT INTO stuff (k, v) VALUES (?, ?)', ('image_id', str(id))) + + # --- user specific --- # + + """def user(self, member: discord.Member) -> Union[User, None]: + self.cursor.execute('SELECT * FROM rules_accepted WHERE id=?', (member.id,)) + result = self.cursor.fetchone() + if result: + return User(result[0], result[1], result[2], member.joined_at, result[3]) + else: + self.cursor.execute('SELECT * FROM normal_user WHERE id=?', (member.id,)) + result = self.cursor.fetchone() + if result: + return User(result[0], result[1], result[2], result[3], None, result[4], result[5]) + else: + return None""" + + def add_user(self, user: discord.Member, join_message_id: int) -> User: + self.cursor.execute('INSERT INTO normal_user (id, name, tag, joined, join_message) VALUES (?, ?, ?, ?, ?)', (user.id, user.display_name, str(user), user.joined_at, join_message_id)) + return User(user.id, user.display_name, str(user), user.joined_at, join_message=join_message_id) + + def get_all_users(self) -> Dict[int, User]: + users = {} + self.cursor.execute('SELECT * FROM normal_user') + for row in self.cursor.fetchall(): + users[row[0]] = User(row[0], row[1], row[2], row[3], None, row[4], row[5]) + + self.cursor.execute('SELECT * FROM rules_accepted') + for row in self.cursor.fetchall(): + users[row[0]] = User(row[0], row[1], row[2], None, row[3]) + + return users + + def set_user_warning(self, user: User, warning_time: datetime.datetime): + self.cursor.execute('UPDATE normal_user SET warned=? WHERE id=?', (warning_time, user.id)) + user.warning_time = warning_time + + def add_user_accepted_rules(self, user: User, accepted_rules_datetime: datetime.datetime): + self.cursor.execute('DELETE FROM normal_user WHERE id=?', (user.id,)) + self.cursor.execute('INSERT INTO rules_accepted (id, name, tag, accepted) VALUES (?, ?, ?, ?)', (user.id, user.name, user.tag, accepted_rules_datetime)) + self.cursor.execute('INSERT INTO info (id) VALUES (?)', (user.id,)) + self.cursor.execute('INSERT INTO economy (id) SELECT id FROM rules_accepted WHERE NOT EXISTS(SELECT id FROM rules_accepted WHERE id=?)', (user.id,)) + user.warning_time = None + user.accepted_rules_date = accepted_rules_datetime + user.join_message = None + + def reset_user(self, user: User): + self.cursor.execute('DELETE FROM rules_accepted WHERE id=?', (user.id,)) + now = datetime.datetime.now() + self.cursor.execute('INSERT INTO normal_user (id, name, tag, joined) VALUES (?, ?, ?, ?)', (user.id, user.name, user.tag, now)) + user.joined = now + user.warning_time = None + user.accepted_rules_date = None + + def remove_user(self, user: Union[User, int]): + if isinstance(user, User): + id = user.id + else: + id = user + self.cursor.execute('DELETE FROM normal_user WHERE id=?', (id,)) + self.cursor.execute('DELETE FROM rules_accepted WHERE id=?', (id,)) + self.cursor.execute('DELETE FROM info WHERE id=?', (id,)) + + def change_user_infos(self, user: User, new_name: str, new_tag: str): + self.cursor.execute('UPDATE normal_user SET name=?, tag=? WHERE id=?', (new_name, new_tag, user.id)) + self.cursor.execute('UPDATE rules_accepted SET name=?, tag=? WHERE id=?', (new_name, new_tag, user.id)) + user.name = new_name + user.tag = new_tag + + # --- user infos --- # + + def get_user_infos(self, id: int) -> Union[Dict[str, Any], None]: + self.cursor.execute('SELECT * FROM info WHERE id=?', (id,)) + result = self.cursor.fetchone() + try: + return { + 'Name': result[1], + 'Alter': result[2], + 'Anime Liste': result[3], + 'Lieblings Anime': result[4], + 'Waifu': result[5], + 'Husbando': result[6], + } + except TypeError: + return None + + def set_user_name(self, id: int, name: str): + self.cursor.execute('UPDATE info SET name=? WHERE id=?', (name, id)) + + def set_user_age(self, id: int, age: [int, None]): + self.cursor.execute('UPDATE info SET age=? WHERE id=?', (age, id)) + + def set_user_list(self, id: int, list: Union[str, None]): + self.cursor.execute('UPDATE info SET list=? WHERE id=?', (list, id)) + + def set_user_fav(self, id: int, fav: str): + self.cursor.execute('UPDATE info SET fav=? WHERE id=?', (fav, id)) + + def set_user_waifu(self, id: int, waifu: str): + self.cursor.execute('UPDATE info SET waifu=? WHERE id=?', (waifu, id)) + + def set_user_husbando(self, id: int, husbando: str): + self.cursor.execute('UPDATE info SET husbando=? WHERE id=?', (husbando, id)) + + # --- points --- # + + def add_user_gold(self, id: int, gold: int): + self.cursor.execute('UPDATE economy SET gold=gold + ? WHERE id=?', (gold, id)) + + def has_remove_user_gold(self, id: int, gold: int) -> bool: + self.cursor.execute('UPDATE economy SET gold=gold - ? WHERE id=? AND gold >= ?', (gold, id, gold)) + return self.cursor.rowcount > 0 + + def get_user_items(self, id: int) -> Dict[str, int]: + self.cursor.execute('SELECT * FROM economy WHERE id=?', (id,)) + result = self.cursor.fetchone() + return { + 'gold': result[1], + 'extra vote': result[2], + 'color': result[3] + } + + def get_leaderboard(self) -> Dict[str, int]: + self.cursor.execute('SELECT id, gold FROM economy ORDER BY gold DESC LIMIT 10') + return {user[0]: user[1] for user in self.cursor.fetchall()} + + def set_user_extra_vote(self, id: int, count: int): + self.cursor.execute('UPDATE economy SET extra_vote=extra_vote + ? WHERE id=? AND extra_vote > 0', (count, id)) + return self.cursor.rowcount > 0 + + def set_user_color_count(self, id: int, count: int): + self.cursor.execute('UPDATE economy SET color=color + ? WHERE id=?', (count, id)) + + def set_user_color(self, id: int, color: str): + self.cursor.execute('UPDATE info SET color=? WHERE id=?', (color, id)) + + # --- family --- # + + def add_user_parent(self, user: int, parent_id: int): + self.cursor.execute('INSERT INTO family (id, parent) SELECT ?, ? WHERE NOT EXISTS(SELECT * FROM family WHERE id=? AND parent=?)', (user, parent_id, user, parent_id)) + + def remove_user_parent(self, user: int, parent_id: int): + self.cursor.execute('DELETE FROM family WHERE id=? AND parent=?', (user, parent_id)) + + def get_user_parents(self, user: int) -> List[int]: + parents = [] + self.cursor.execute('SELECT parent FROM family WHERE id=?', (user,)) + for parent in self.cursor.fetchall: + parents.append(parent[0]) + + return parents + + def get_user_children(self, user: int) -> List[int]: + children = [] + self.cursor.execute('SELECT id FROM family WHERE parent=?', (user,)) + for parent in self.cursor.fetchall: + children.append(parent[0]) + + return children diff --git a/kaizenbot/flags.py b/kaizenbot/flags.py new file mode 100644 index 0000000..d76246f --- /dev/null +++ b/kaizenbot/flags.py @@ -0,0 +1,295 @@ +from copy import copy +from discord.ext import commands +from enum import Enum +import shlex +import typing + +from .utils import Embeds, role_names + + +class AlternativeStoreType: + + class _StoreType: + pass + + class Bool(_StoreType): + pass + + class Int(_StoreType): + def __init__(self, min: int = float('-inf'), max: int = float('inf')): + if min > max: + raise ValueError('min must be higher than max') + self.min = min + self.max = max + + class Value(_StoreType): + pass + + store_bool = Bool() + store_int = Int() + store_value = Value() + + +class StoreType(Enum): + store_bool = 'store_bool' + store_value = 'store_value' + + +class _Parsed: + def __init__(self): + self.normal_args = () + self.ctx: commands.Context = None + + +class FlagErrors: + + class _FlagError(Exception): + + def __init__(self, message: str = None, flag: str = None): + self.flag = flag + super().__init__(message) + + class DoubleFlagError(_FlagError): + pass + + class FlagParseError(_FlagError): + pass + + class FlagPositionError(_FlagError): + + def __init__(self, message: str = None, flag: str = None): + super().__init__(message, flag) + + class FlagStoreError(_FlagError): + + def __init__(self, message: str = None, flag: str = None, store_type: StoreType = None, value=None): + self.store_type = store_type + self.value = value + super().__init__(message, flag) + + class RoleNotAllowedError(_FlagError): + + def __init__(self, message: str = None, flag: str = None, role: str = None): + self.role = role + super().__init__(message, flag) + + class QuotationError(Exception): + + def __init__(self, message: str = None): + super().__init__(message) + + +class _ParsedFlag: + + def __init__(self, flag: str, value): + self.flag = flag + self._value = value + + def __new__(cls, flag: str, value): + return value + + def __add__(self, other): + return self._value + other + + def __bool__(self): + return True if self._value else False + + def __ge__(self, other): + return self._value >= other + + def __getitem__(self, item): + return self._value + + def __gt__(self, other): + return self._value < other + + def __hash__(self): + return hash((self.flag, self._value)) + + def __le__(self, other): + return self._value <= other + + def __len__(self): + return len(self._value) + + def __lt__(self, other): + return self._value < other + + def __repr__(self): + return self._value + + +class Flag: + + def __init__(self, raise_errors=True, + double_flag_error='The flag `{flag}` was already given', + flag_position_error='Flags must be called at the end of a command', + quotation_error='At least one quotation mark is missing (`"` or `\'`)'): + self.double_flag_error = double_flag_error + self.raise_errors = raise_errors + self.flag_position_error = flag_position_error + self.quotation_error = quotation_error + self._flags = {} + + def add_flag(self, *flags, + store_type: typing.Union[StoreType, typing.Tuple[StoreType, typing.Any]], + parser: typing.Callable = None, + allowed_roles: typing.Union[typing.List[str], typing.Tuple[str]] = [], + disallowed_roles: typing.Union[typing.List[str], typing.Tuple[str], typing.Dict[str, str]] = [], + not_allowed_role_message='User has no allowed role for flag {flag}', + wrong_store_type_message=None, + help: str = '', show_help=True): + if store_type == StoreType.store_bool and parser is not None: + raise FlagErrors.FlagParseError('The flag parser cannot be set if the store type is \'store_bool\'') + + if store_type == StoreType.store_bool: + default_value = False + else: + default_value = None + + for allowed in allowed_roles: + if allowed in disallowed_roles: + raise ValueError(f'Role `{allowed}` cannot be allowed and disallowed at the same time') + + flag_information = {'store_type': store_type[0] if isinstance(store_type, tuple) else store_type, 'default': store_type[1] if isinstance(store_type, tuple) else default_value, + 'parser': parser, + 'allowed_roles': allowed_roles, 'disallowed_roles': disallowed_roles, + 'not_allowed_role_message': not_allowed_role_message, + 'wrong_store_type_message': wrong_store_type_message, + 'help': help, 'show_help': show_help} + + for flag in flags: + flag = str(flag) + self._flags[flag] = flag_information + + def flags(self) -> typing.Dict[str, typing.Any]: + return copy(self._flags) + + async def parse(self, args: str, ctx: commands.Context): + # (re)sets the attributes every time + parsed = _Parsed() + + try: + shlex_args = shlex.split(args) + except ValueError as error: + if str(error) == 'No closing quotation': + if self.raise_errors: + raise FlagErrors.QuotationError(self.quotation_error) + else: + await ctx.send(embed=Embeds.error_embed(description=self.quotation_error)) + return + else: + raise error + + for flag, information in self._flags.items(): + parsed.__setattr__(flag[2:], information['default']) + + flag_indexed = False + normal_args = [] + parsed_flags = [] + roles = role_names(ctx.author) + + for i, arg in enumerate(shlex_args): + arg = str(arg).replace('"', '').replace("'", '') + if '=' in arg: + arg, value = arg.split('=', 1) + else: + value = None + + if arg in self._flags: + if arg in parsed_flags: + if self.raise_errors: + raise FlagErrors.DoubleFlagError(self.double_flag_error.format(flag=arg)) + else: + await ctx.send(embed=Embeds.error_embed(description=self.double_flag_error.format(flag=arg))) + return + else: + parsed_flags.append(arg) + + if not flag_indexed: + flag_indexed = True + flag = self._flags[arg] + + # --- # + allowed_roles = flag['allowed_roles'] + if allowed_roles: + if not any(allowed in roles for allowed in allowed_roles): + error = flag['not_allowed_role_message'].format(flag=arg) + if self.raise_errors: + raise FlagErrors.RoleNotAllowedError(error) + else: + await ctx.send(embed=Embeds.error_embed(description=error)) + return + disallowed_roles = flag['disallowed_roles'] + if disallowed_roles: + for disallowed in disallowed_roles: + if disallowed in roles: + error = disallowed_roles[disallowed] if isinstance(disallowed_roles, dict) else 'The role `{role}` is not allowed to use the {flag} flag' + error = error.format(role=disallowed, flag=arg) + if self.raise_errors: + raise FlagErrors.RoleNotAllowedError(message=error, flag=arg, role=disallowed) + else: + await ctx.send(embed=Embeds.error_embed(description=error)) + return + + store_type = flag['store_type'] + arg_without_prefix = arg[2:] + if store_type == StoreType.store_bool: + error = flag['wrong_store_type_message'] if flag['wrong_store_type_message'] else 'Flag `{flag}` must not contain a value' + error = error.format(flag=arg) + if value: + if self.raise_errors: + raise FlagErrors.FlagStoreError(message=error, flag=arg, store_type=store_type, value=value) + else: + await ctx.send(embed=Embeds.error_embed(description=error)) + return + else: + parsed.__setattr__(arg_without_prefix, _ParsedFlag(flag, True)) + elif store_type == StoreType.store_value: + error = flag['wrong_store_type_message'] if flag['wrong_store_type_message'] else 'Flag `{flag}` must not contain a value' + error = error.format(flag=arg) + if not value: + if self.raise_errors: + raise FlagErrors.FlagStoreError(message=error, flag=arg, store_type=store_type) + else: + await ctx.send(embed=Embeds.error_embed(description=error)) + return + else: + if parser := flag['parser']: + value_parsed = await parser(ctx, arg, value) + if isinstance(value_parsed, bool): + if value_parsed: + parsed.__setattr__(arg_without_prefix, _ParsedFlag(flag, True)) + else: + return + else: + parsed.__setattr__(arg_without_prefix, _ParsedFlag(flag, value_parsed)) + else: + parsed.__setattr__(arg_without_prefix, _ParsedFlag(flag, value)) + + elif flag_indexed: + if self.raise_errors: + raise FlagErrors.FlagPositionError(message=self.flag_position_error) + else: + await ctx.send(embed=Embeds.error_embed(description=self.flag_position_error)) + return + + else: + normal_args.append(arg) + + parsed.normal_args = tuple(normal_args) + parsed.ctx = ctx + return parsed + + +def get_flags(command: commands.Command) -> typing.Union[Flag, None]: + flags = command.__original_kwargs__.get('flags', None) + if isinstance(flags, str): + try: + return command.cog.__getattribute__(flags) + except AttributeError: + raise AttributeError(f'The flag `{flags}` does not exist') + elif isinstance(flags, Flag): + return flags + else: + return None diff --git a/kaizenbot/user.py b/kaizenbot/user.py new file mode 100644 index 0000000..cc289a7 --- /dev/null +++ b/kaizenbot/user.py @@ -0,0 +1,13 @@ +import datetime + + +class User: + + def __init__(self, id: int, name: str, tag: str, joined: datetime.datetime, accepted_rules_date: datetime.datetime = None, warning_time: datetime.datetime = None, join_message = None): + self.id = id + self.name = name + self.tag = tag + self.joined = joined + self.accepted_rules_date = accepted_rules_date + self.warning_time = warning_time + self.join_message = join_message diff --git a/kaizenbot/utils.py b/kaizenbot/utils.py new file mode 100644 index 0000000..032d54c --- /dev/null +++ b/kaizenbot/utils.py @@ -0,0 +1,476 @@ +import asyncio +import random +import typing +from pathlib import Path +from threading import Timer as _Timer +from time import sleep + +import discord +from discord.ext import menus + +from . import logger + + +class AsyncTimer: + + def __init__(self, start: float, callback, *args): + self._callback = callback + self._args = args + self._start = start + self._task = asyncio.ensure_future(self._job()) + + async def _job(self): + await asyncio.sleep(self._start) + await self._callback(*self._args) + + def cancel(self): + self._task.cancel() + + +class AsyncIntervalTimer(AsyncTimer): + + def __init__(self, first_start: float, interval: float, callback, *args): + super().__init__(first_start, callback, *args) + self._interval = interval + + async def _job(self): + await super()._job() + while True: + await asyncio.sleep(self._interval) + await self._callback(*self._args) + + def cancel(self): + self._task.cancel() + + +class IntervalTimer: + def __init__(self, first_start: float, interval: float, func, *args): + self.first_start = first_start + self.interval = interval + self.handlerFunction = func + self.args = args + self.running = False + self.timer = _Timer(self.interval, self.run, args) + + def run(self, *args): + sleep(self.first_start) + self.handlerFunction(*args) + while self.running: + sleep(self.interval) + self.handlerFunction(*args) + + def start(self): + self.running = True + self.timer.start() + + def cancel(self): + self.running = False + pass + + +class Embeds: + + @staticmethod + async def send_kaizen_infos(channel): + file = discord.File(Path.cwd().joinpath('assets', 'kaizen-round.png')) + + embed = discord.Embed(title='**Kaizen**', description='Folge Kaizen auf den folgenden Kanälen, um nichts mehr zu verpassen!', color=discord.Color(0xff0000)) + embed.set_thumbnail(url='attachment://kaizen-round.png') + embed.add_field(name='**🎥Youtube Hauptkanal**', value='Abonniere Kaizen auf __**[Youtube](https://www.youtube.com/c/KaizenAnime)**__ um kein Anime Video mehr zu verpassen!', inline=False) + embed.add_field(name='**📑Youtube Toplisten-Kanal**', value='Abonniere Kaizen\'s __**[Toplisten-Kanal](https://www.youtube.com/channel/UCoijG8JqKb1rRZofx5b-LCw)**__ um kein Toplisten-Video mehr zu verpassen!', inline=False) + embed.add_field(name='**📯Youtube Stream-Clips & mehr**', value='Abonniere Kaizen\'s __**[Youtube Kanal](https://www.youtube.com/channel/UCodeTj8SJ-5HhJgC_Elr1Dw)**__ für Stream-Clips & mehr!', inline=False) + embed.add_field(name='**📲Twitch**', value='Folge Kaizen auf __**[Twitch](https://www.twitch.tv/kaizenanime)**__ und verpasse keinen Stream mehr! ' + 'Subbe Kaizen um eine exklusive Rolle auf dem Discord Server zu bekommen!', inline=False) + embed.add_field(name='**📢Twitter**', value='Folge Kaizen auf __**[Twitter](https://twitter.com/Kaizen_Anime)**__ um aktuelle Informationen zu bekommen und in Videos / Streams mitzuwirken!', inline=False) + embed.add_field(name='**📷Instagram**', value='Folge Kaizen auf __**[Instagram](https://www.instagram.com/kaizen.animeyt/)**__!', inline=False) + await channel.send(embed=embed, file=file) + + @staticmethod + def error_embed(title: typing.Union[str, None] = None, description: typing.Union[str, None] = None) -> discord.Embed: + embed = discord.Embed(color=discord.Color(0xff0000)) + if title: + embed.title = title + if description: + embed.description = description + return embed + + @staticmethod + def warn_embed(title: typing.Union[str, None] = None, description: typing.Union[str, None] = None) -> discord.Embed: + embed = discord.Embed(color=discord.Color(0xff9055)) + if title: + embed.title = title + if description: + embed.description = description + return embed + + @staticmethod + def success_embed(title: typing.Union[str, None] = None, description: typing.Union[str, None] = None) -> discord.Embed: + embed = discord.Embed(color=discord.Color(0x00ff00)) + if title: + embed.title = title + if description: + embed.description = description + return embed + + +class MenuListPageSource(menus.ListPageSource): + + def __init__(self, data): + super().__init__(data, per_page=1) + + async def format_page(self, menu, embeds): + return embeds + + +def random_sequence_not_in_string(string: str): + sequence = '+' + while sequence in string: + choice = random.choice('+*~-:%&') + sequence = choice + sequence + choice + + return sequence + + +def role_names(member: discord.Member) -> typing.List[str]: + return [role.name for role in member.roles] + + +# ADDED AFTERWARDS: I've stol- copied the following code from a tweepy (https://github.com/tweepy/tweepy) PR or gist (from where exactly I do not know anymore lul) +# at the time when they didn't support async actions + +# Tweepy +# Copyright 2009-2021 Joshua Roesslein +# See LICENSE for details. + +import json +from math import inf +from platform import python_version + +import aiohttp +from oauthlib.oauth1 import Client as OAuthClient +from yarl import URL + +import tweepy +from tweepy.error import TweepError +from tweepy.models import Status + + +class AsyncStream: + """Stream realtime Tweets asynchronously + Parameters + ---------- + consumer_key: :class:`str` + Consumer key + consumer_secret: :class:`str` + Consuemr secret + access_token: :class:`str` + Access token + access_token_secret: :class:`str` + Access token secret + max_retries: Optional[:class:`int`] + Number of times to attempt to (re)connect the stream. + Defaults to infinite. + proxy: Optional[:class:`str`] + Proxy URL + """ + + def __init__(self, consumer_key, consumer_secret, access_token, + access_token_secret, max_retries=inf, proxy=None): + self.consumer_key = consumer_key + self.consumer_secret = consumer_secret + self.access_token = access_token + self.access_token_secret = access_token_secret + self.max_retries = max_retries + self.proxy = proxy + + self.session = None + self.task = None + self.user_agent = ( + f"Python/{python_version()} " + f"aiohttp/{aiohttp.__version__} " + f"Tweepy/{tweepy.__version__}" + ) + + async def _connect(self, method, endpoint, params={}, headers=None, + body=None): + error_count = 0 + # https://developer.twitter.com/en/docs/twitter-api/v1/tweets/filter-realtime/guides/connecting + stall_timeout = 90 + network_error_wait = network_error_wait_step = 0.25 + network_error_wait_max = 16 + http_error_wait = http_error_wait_start = 5 + http_error_wait_max = 320 + http_420_error_wait_start = 60 + + oauth_client = OAuthClient(self.consumer_key, self.consumer_secret, + self.access_token, self.access_token_secret) + + if self.session is None or self.session.closed: + self.session = aiohttp.ClientSession( + headers={"User-Agent": self.user_agent}, + timeout=aiohttp.ClientTimeout(sock_read=stall_timeout) + ) + + url = f"https://stream.twitter.com/1.1/{endpoint}.json" + url = str(URL(url).with_query(sorted(params.items()))) + + try: + while error_count <= self.max_retries: + request_url, request_headers, request_body = oauth_client.sign( + url, method, body, headers + ) + try: + async with self.session.request( + method, request_url, headers=request_headers, + data=request_body, proxy=self.proxy + ) as resp: + if resp.status == 200: + error_count = 0 + http_error_wait = http_error_wait_start + network_error_wait = network_error_wait_step + + await self.on_connect() + + async for line in resp.content: + line = line.strip() + if line: + await self.on_data(line) + else: + await self.on_keep_alive() + + await self.on_closed(resp) + else: + await self.on_request_error(resp.status) + + error_count += 1 + + if resp.status == 420: + if http_error_wait < http_420_error_wait_start: + http_error_wait = http_420_error_wait_start + + await asyncio.sleep(http_error_wait) + + http_error_wait *= 2 + if resp.status != 420: + if http_error_wait > http_error_wait_max: + http_error_wait = http_error_wait_max + except (aiohttp.ClientConnectionError, + aiohttp.ClientPayloadError) as e: + await self.on_connection_error() + + await asyncio.sleep(network_error_wait) + + network_error_wait += network_error_wait_step + if network_error_wait > network_error_wait_max: + network_error_wait = network_error_wait_max + except asyncio.CancelledError: + return + except Exception as e: + await self.on_exception(e) + finally: + await self.session.close() + await self.on_disconnect() + + async def filter(self, follow=None, track=None, locations=None, + stall_warnings=False): + """This method is a coroutine. + Filter realtime Tweets + https://developer.twitter.com/en/docs/twitter-api/v1/tweets/filter-realtime/api-reference/post-statuses-filter + Parameters + ---------- + follow: Optional[List[Union[:class:`int`, :class:`str`]]] + A list of user IDs, indicating the users to return statuses for in + the stream. See https://developer.twitter.com/en/docs/twitter-api/v1/tweets/filter-realtime/guides/basic-stream-parameters + for more information. + track: Optional[List[:class:`str`]] + Keywords to track. Phrases of keywords are specified by a list. See + https://developer.twitter.com/en/docs/tweets/filter-realtime/guides/basic-stream-parameters + for more information. + locations: Optional[List[:class:`float`]] + Specifies a set of bounding boxes to track. See + https://developer.twitter.com/en/docs/tweets/filter-realtime/guides/basic-stream-parameters + for more information. + stall_warnings: Optional[:class:`bool`] + Specifies whether stall warnings should be delivered. See + https://developer.twitter.com/en/docs/tweets/filter-realtime/guides/basic-stream-parameters + for more information. Def +logger = logging.getLogger('kaizen')aults to False. + Returns :class:`asyncio.Task` + """ + if self.task is not None and not self.task.done(): + raise TweepError("Stream is already connected") + + endpoint = "statuses/filter" + headers = {"Content-Type": "application/x-www-form-urlencoded"} + + body = {} + if follow is not None: + body["follow"] = ','.join(map(str, follow)) + if track is not None: + body["track"] = ','.join(map(str, track)) + if locations is not None: + if len(locations) % 4: + raise TweepError( + "Number of location coordinates should be a multiple of 4" + ) + body["locations"] = ','.join( + f"{location:.4f}" for location in locations + ) + if stall_warnings: + body["stall_warnings"] = "true" + + self.task = asyncio.create_task( + self._connect("POST", endpoint, headers=headers, body=body or None) + ) + return self.task + + async def sample(self, stall_warnings=False): + """This method is a coroutine. + Sample realtime Tweets + https://developer.twitter.com/en/docs/twitter-api/v1/tweets/sample-realtime/api-reference/get-statuses-sample + Parameters + ---------- + stall_warnings: Optional[:class:`bool`] + Specifies whether stall warnings should be delivered. See + https://developer.twitter.com/en/docs/tweets/filter-realtime/guides/basic-stream-parameters + for more information. Defaults to False. + Returns :class:`asyncio.Task` + """ + if self.task is not None and not self.task.done(): + raise TweepError("Stream is already connected") + + endpoint = "statuses/sample" + + params = {} + if stall_warnings: + params["stall_warnings"] = "true" + + self.task = asyncio.create_task( + self._connect("GET", endpoint, params=params) + ) + return self.task + + def disconnect(self): + """Disconnect the stream""" + if self.task is not None: + self.task.cancel() + + async def on_closed(self, resp): + """This method is a coroutine. + This is called when the stream has been closed by Twitter. + """ + logger.error("Stream connection closed by Twitter") + + async def on_connect(self): + """This method is a coroutine. + This is called after successfully connecting to the streaming API. + """ + # logger.info("Stream connected") + + async def on_connection_error(self): + """This method is a coroutine. + This is called when the stream connection errors or times out. + """ + # logger.error("Stream connection has errored or timed out") + + async def on_disconnect(self): + """This method is a coroutine. + This is called when the stream has disconnected. + """ + # logger.info("Stream disconnected") + + async def on_exception(self, exception): + """This method is a coroutine. + This is called when an unhandled exception occurs. + """ + logger.exception("Stream encountered an exception") + + async def on_keep_alive(self): + """This method is a coroutine. + This is called when a keep-alive message is received. + """ + #logger.debug("Received keep-alive message") + + async def on_request_error(self, status_code): + """This method is a coroutine. + This is called when a non-200 HTTP status code is encountered. + """ + # logger.error("Stream encountered HTTP Error: %d", status_code) + + async def on_data(self, raw_data): + """This method is a coroutine. + This is called when raw data is received from the stream. + This method handles sending the data to other methods, depending on the + message type. + https://developer.twitter.com/en/docs/twitter-api/v1/tweets/filter-realtime/guides/streaming-message-types + """ + data = json.loads(raw_data) + + if "in_reply_to_status_id" in data: + status = Status.parse(None, data) + return await self.on_status(status) + if "delete" in data: + delete = data["delete"]["status"] + return await self.on_delete(delete["id"], delete["user_id"]) + if "disconnect" in data: + return await self.on_disconnect_message(data["disconnect"]) + if "limit" in data: + return await self.on_limit(data["limit"]["track"]) + if "scrub_geo" in data: + return await self.on_scrub_geo(data["scrub_geo"]) + if "status_withheld" in data: + return await self.on_status_withheld(data["status_withheld"]) + if "user_withheld" in data: + return await self.on_user_withheld(data["user_withheld"]) + if "warning" in data: + return await self.on_warning(data["warning"]) + + logger.warning("Received unknown message type: %s", raw_data) + + async def on_status(self, status): + """This method is a coroutine. + This is called when a status is received. + """ + # logger.debug("Received status: %d", status.id) + + async def on_delete(self, status_id, user_id): + """This method is a coroutine. + This is called when a status deletion notice is received. + """ + # logger.debug("Received status deletion notice: %d", status_id) + + async def on_disconnect_message(self, message): + """This method is a coroutine. + This is called when a disconnect message is received. + """ + # logger.warning("Received disconnect message: %s", message) + + async def on_limit(self, track): + """This method is a coroutine. + This is called when a limit notice is received. + """ + # logger.debug("Received limit notice: %d", track) + + async def on_scrub_geo(self, notice): + """This method is a coroutine. + This is called when a location deletion notice is received. + """ + # logger.debug("Received location deletion notice: %s", notice) + + async def on_status_withheld(self, notice): + """This method is a coroutine. + This is called when a status withheld content notice is received. + """ + # logger.debug("Received status withheld content notice: %s", notice) + + async def on_user_withheld(self, notice): + """This method is a coroutine. + This is called when a user withheld content notice is received. + """ + # logger.debug("Received user withheld content notice: %s", notice) + + async def on_warning(self, notice): + """This method is a coroutine. + This is called when a stall warning message is received. + """ + # logger.warning("Received stall warning: %s", notice) diff --git a/main.py b/main.py new file mode 100644 index 0000000..0fd92e6 --- /dev/null +++ b/main.py @@ -0,0 +1,444 @@ +#!/usr/local/bin/python3.9 + +import asyncio +from copy import copy +import datetime +import discord +from discord import errors +from discord.ext import commands +from discord.ext.commands import errors as ext_errors +from pathlib import Path +import sys +import traceback +import tweepy +from twitchAPI.twitch import Twitch + +from kaizenbot import glob, logger +from kaizenbot.database import Database +from kaizenbot.user import User +from kaizenbot.utils import AsyncIntervalTimer, AsyncStream, IntervalTimer, Embeds + +import kaizenbot.commands as cogs + + +class Bot(commands.Bot): + + def __init__(self): + intents = discord.Intents(messages=True, members=True, guilds=True, reactions=True) + super().__init__(command_prefix='$', case_insensitive=True, intents=intents) + self.support = Support(self) + + # ADDED AFTERWARDS: hardcoded password, very secure... + self.database = Database('kaizen', '9y*"xF(BxLZ!HpgKn_') + self.image_id = self.database.get_image_id() + self.message_id = self.database.get_message_id() + self.all_users = self.database.get_all_users() + self.normal_users = [] + self.error_users = [] + + for cog in [cogs.Economy, cogs.Mod, cogs.Help, cogs.Info, cogs.Kaizen, cogs.Vote, cogs.NSFW]: + loaded_cog = cog(self) + if cog == cogs.Economy: + now = datetime.datetime.now() + try: + reset_economy = IntervalTimer((datetime.datetime(year=now.year, month=now.month, day=now.day + 1)), 60*60*24, lambda: loaded_cog.reset()) + except ValueError: + reset_economy = IntervalTimer((datetime.datetime(year=now.year, month=now.month + 1, day=1)), 60 * 60 * 24, lambda: loaded_cog.reset()) + reset_economy.start() + self.add_cog(loaded_cog) + + + @commands.Cog.listener() + async def on_ready(self): + logger.info('Logged in') + if not hasattr(self, 'guild'): + if sys.argv[1] == 'test': + self.guild: discord.Guild = self.get_guild(768846874517438535) + self.welcome_channel = self.guild.get_channel(769292296985903184) + self.info_channel = self.welcome_channel + self.twitter_channel = self.welcome_channel + self.kaizenianer = self.guild.get_role(802222058116612136) + self.twitter_abonnenten = self.kaizenianer + self.mod = self.guild.get_role(803296051444056115) + + twitter_id = 1301397827378176007 + elif sys.argv[1] == 'run': + self.guild: discord.Guild = self.get_guild(796132539269382154) + self.welcome_channel = self.guild.get_channel(796876279537336423) + self.info_channel = self.guild.get_channel(803403162056523786) + self.twitter_channel = self.guild.get_channel(797555712943194163) + self.kaizenianer = self.guild.get_role(796870178939994132) + self.twitter_abonnenten = self.guild.get_role(831963234352234578) + self.mod = self.guild.get_role(796864065741258773) + + twitter_id = 982950038610632705 + else: + exit(1) + return + + now = datetime.datetime.now() + if now.hour < 12: + first_call = datetime.datetime(year=now.year, month=now.month, day=now.day, hour=12) + else: + try: + first_call = datetime.datetime(year=now.year, month=now.month, day=now.day + 1, hour=12) + except ValueError: + first_call = datetime.datetime(year=now.year, month=now.month + 1, day=1, hour=12) + + glob['bot'] = self + + daily_kaizen_infos = AsyncIntervalTimer((first_call - now).seconds, 60*60*24, Embeds.send_kaizen_infos, [self.info_channel]) + glob['timers'].append(daily_kaizen_infos) + recheck_users = AsyncIntervalTimer(60*60*24, 60*60*24, self.support.recheck_user_tags_and_names) + glob['timers'].append(recheck_users) + + database_ping = IntervalTimer(0, 60 * 60, lambda: self.database.cursor.execute('SELECT * FROM stuff WHERE k=?', ('0',))) + database_ping.start() + glob['timers'].append(database_ping) + logger.debug('Started database pinger') + transcript_cleaner = IntervalTimer(0, 60 * 5, self.support.transcript_cleaner) + transcript_cleaner.start() + glob['timers'].append(transcript_cleaner) + logger.debug('Started transcript cleaner') + + twitch_stream_status = AsyncIntervalTimer(0, 60 * 5, self.support.twitch_stream_status) + glob['timers'].append(twitch_stream_status) + logger.debug("Started twitch stream status listener") + + # ADDED AFTERWARDS: 2 twitter listeners, why not + + # twitter listener + stream = AsyncStream('...', '...', + '...', '...') + stream.on_status = self.support.twitter(twitter_id) + await stream.filter(follow=[str(twitter_id)]) + + auth = tweepy.OAuthHandler('...', '...') + auth.set_access_token('...', '...') + + glob['twitter'] = tweepy.API(auth) + + logger.debug('Started twitter listener') + + + + await self.support.on_startup() + + self.loop = asyncio.get_event_loop() + self.loop.run_until_complete(await asyncio.gather([await self.support.check_normal_users()], return_exceptions=True)) + + @commands.Cog.listener() + async def help_command(self): + pass + + @commands.Cog.listener() + async def on_guild_join(self, guild: discord.Guild): + if guild.id != self.guild.id: + await guild.leave() + + @commands.Cog.listener() + async def on_connect(self): + logger.info('Connected to discord') + # self.loop = asyncio.get_event_loop() + # self.loop.run_until_complete(await self.support.check_normal_users()) + + @commands.Cog.listener() + async def on_disconnect(self): + logger.info('Disconnected from discord') + # self.loop.close() + + @commands.Cog.listener() + async def on_command_error(self, ctx: commands.Context, error: ext_errors.CommandError): + if isinstance(error, ext_errors.CommandNotFound): + logger.info(error) + #elif isinstance(error, ext_errors.UnexpectedQuoteError): + # await ctx.send(embed=Embeds.error_embed('Please use `\'` as quotation mark for flags')) + elif isinstance(error, ext_errors.CommandOnCooldown): + cooldown = divmod(error.retry_after, 60) + await ctx.send(embed=Embeds.error_embed(description=f'Dieser Befehl kann erst wieder in {round(cooldown[0])} Minuten und {round(cooldown[1])} Sekunden genutzt werden')) + elif isinstance(error, ext_errors.MissingRequiredArgument): + await cogs.Help(self).show_help(ctx, ctx.command) + elif isinstance(error, ext_errors.MissingRole): + logger.info(f'{str(ctx.author)} tried to run `{ctx.command}` for which he has no authorization') + else: + logger.error(''.join(traceback.format_exception(etype=type(error), value=error, tb=error.__traceback__))) + + @commands.Cog.listener() + async def on_raw_reaction_add(self, payload: discord.RawReactionActionEvent): + if not payload.member.bot and payload.message_id == self.message_id: + user = self.all_users[payload.member.id] + if str(payload.emoji) == '✅': + if not user.accepted_rules_date: + await self.support.user_accepted_rules(user) + await payload.member.add_roles(self.kaizenianer) + else: + await payload.member.remove_roles(self.kaizenianer) + # `self.support.reset_user(user)` is not called here, because it gets called in `self.on_member_update(...)` + message = await self.welcome_channel.fetch_message(payload.message_id) + await message.remove_reaction(payload.emoji, payload.member) + + @commands.Cog.listener() + async def on_member_join(self, member: discord.Member): + if not member.bot: + join_message = await self.welcome_channel.send(f'Hey <@{member.id}>, Willkommen auf dem Offiziellen Discord-Server von Kaizen! **Kaizen Anime!**\n' + 'Bitte lese die Regeln und warte 10 Mintuten, damit Du auf sie reacten kannst, um ein Kaizenianer zu werden! Diese findest Du, wenn Du nach oben scrollst, ' + 'oder indem Du zur angepinnten Nachricht springst.') + user = self.database.add_user(member, join_message.id) + self.all_users[user.id] = user + self.normal_users.append(user) + logger.info(f'User {str(member)} joined') + await asyncio.sleep(60*10 + 15) + if user.accepted_rules_date is None: + await member.send(f'Hey <@{member.id}>, Willkommen auf dem Offiziellen Discord-Server von Kaizen! **Kaizen Anime!**\n' + 'Bitte lese und reacte auf die Regeln, um ein Kaizenianer zu werden! Diese findest Du, wenn Du im __**#willkommen**__ Kanal nach oben scrollst, oder indem Du zur dort angepinnten Nachricht springst.') + + @commands.Cog.listener() + async def on_member_remove(self, member: discord.Member): + if not member.bot: + user = self.all_users[member.id] + + self.database.remove_user(user.id) + await self.support.check_and_remove_normal_user(user) + del user + logger.info(f'User {str(member)} left') + + @commands.Cog.listener() + async def on_member_update(self, before: discord.Member, after: discord.Member): + try: + user = self.all_users[before.id] + except KeyError: # this method also gets called if a new user is joined + return + if hash((str(before), before.display_name)) != hash((str(after), after.display_name)): + self.database.change_user_infos(user, after.display_name, str(after)) + logger.info(f'User changed from {str(before)}, {before.display_name} to {str(after)}, {after.display_name}') + + if before.roles != after.roles: + if user.accepted_rules_date and self.kaizenianer in before.roles and self.kaizenianer not in after.roles: + self.support.reset_user(user) + elif not user.accepted_rules_date and self.kaizenianer not in before.roles and self.kaizenianer in after.roles: + await self.support.user_accepted_rules(user) + + @commands.Cog.listener() + async def on_message(self, message: discord.Message): + glob['transcript'][datetime.datetime.now()] = f'[{datetime.datetime.now().strftime("%Y-%d-%m %H:%M:%S")}] - {message.author}: {message.content}' \ + f'{" | Attachments: " + ", ".join([attachments.url for attachments in message.attachments]) if message.attachments else ""}' + + await super().on_message(message) + + +class Support: + + def __init__(self, bot: Bot): + self.bot = bot + + self.streams = False + self.title = "" + + self.twitch = Twitch('...', '...') + self.twitch.authenticate_app([]) + + async def on_startup(self): + # the rules embed to accept to get the kaizenianer role + embed = discord.Embed(description='Hey, bitte lese & akzeptiere unsere Regeln!\n\n' + 'Willkommen auf dem Offiziellen Discord-Server von KaizenAnime. Bitte lest Euch die Regen einmal durch.\n\n' + '-Keine Beleidigungen\n' + '-Kein Rassismus\n' + '-Freundlich bleiben\n' + '-Themen bitte nur in die dafür vorgesehenen Kanäle posten\n' + '-Sprachkanäle bitte mit Respekt betreten\n' + '-Kein Spam oder Eigenwerbung\n' + '-Religiöse und Politische Themen sind nur in Sprachkanälen erlaubt\n' + '-Behandle alle mit Respekt. Belästigung, Hexenjagd, Sexismus, Rassismus oder Volksverhetzung werden absolut NICHT toleriert\n' + '\n' + 'Die Regeln können jederzeit (mit Vorankündigung) geändert werden', + color=000000) + + if not self.bot.image_id: + image = await self.bot.welcome_channel.send(file=discord.File(Path.cwd().joinpath('assets', 'rules.png'))) + self.bot.database.set_image_id(image.id) + self.bot.image_id = image.id + + if self.bot.message_id: + message = await self.bot.welcome_channel.fetch_message(self.bot.message_id) + await message.delete() + self.bot.database.set_message_id(None) + self.bot.message_id = None + + # checks if the posted message if there are differences between `embed` content and the posted content + if self.bot.message_id: + message = await self.bot.welcome_channel.fetch_message(self.bot.message_id) + message_embed = message.embeds[0] + # if differences are there, the posted message will be edited + if hash((embed.title, embed.description, embed.color)) != hash((message_embed.title, message_embed.description, message_embed.color)): + await message.edit(embed=embed) + logger.info('Edited rules message') + # if the message doesn't exists, it gets posted + else: + message = await self.bot.welcome_channel.send(embed=embed) + await message.add_reaction('✅') + self.bot.database.set_message_id(message.id) + self.bot.message_id = message.id + + member_ids = [] + for member in self.bot.guild.members: + member_ids.append(member.id) + if not member.bot: + new = False + if member.id in self.bot.all_users: + user = self.bot.all_users[member.id] + else: + user = self.bot.database.add_user(member, None) + self.bot.all_users[member.id] = user + new = True + logger.info(f'User {user.tag} joined while I was offline') + + if user.accepted_rules_date is None: + if self.bot.kaizenianer in member.roles: + self.bot.database.add_user_accepted_rules(user, datetime.datetime.now()) + await self.check_and_remove_normal_user(user) + logger.info(f'Added kaizenianer {user.tag}') + else: + self.bot.normal_users.append(user) + if new: + join_message = await self.bot.welcome_channel.send(f'Hey <@{member.id}>, Willkommen auf dem Offiziellen Discord-Server von Kaizen! **Kaizen Anime!**\n' + f'Bitte lese und reacte auf die Regeln, um ein Kaizenianer zu werden! ' + f'Diese findest Du, wenn Du nach oben scrollst, oder indem Du zur angepinnten Nachricht springst.') + await member.send(f'Hey <@{member.id}>, Willkommen auf dem Offiziellen Discord-Server von Kaizen! **Kaizen Anime!**\n' + f'Bitte lese und reacte auf die Regeln, um ein Kaizenianer zu werden! ' + f'Diese findest Du, wenn Du im __**#willkommen**__ Kanal nach oben scrollst, oder indem Du zur dort angepinnten Nachricht springst.') + user.join_message = join_message.id + elif self.bot.kaizenianer not in member.roles: + self.bot.database.reset_user(user) + + for user in copy(self.bot.all_users).values(): + if user.id not in member_ids: + tag = user.tag + self.bot.database.remove_user(user.id) + del user + logger.info(f'User {tag} left while I was offline') + + try: + reacted_users = message.reactions[0].users() # the ✅ reaction / emoji + async for reacted_user in reacted_users: + if not reacted_user.bot: + user = self.bot.all_users[reacted_user.id] + if not user.accepted_rules_date: + await reacted_user.add_roles(self.bot.kaizenianer) + await self.user_accepted_rules(user) + else: + self.reset_user(user) + await message.remove_reaction(message.reactions[0], user) + except IndexError: # gets thrown if the embed message was new created with this bot runtime + pass + + bot.database.sync() + + def transcript_cleaner(self): + now = datetime.datetime.now() + for timestamp in copy(glob['transcript']).keys(): + if timestamp + datetime.timedelta(hours=1) < now: + del glob['transcript'][timestamp] + + async def recheck_user_tags_and_names(self): + for member in self.bot.guild.members: + user = self.bot.all_users[member.id] + tag = str(member) + name = member.display_name + if tag != user.tag or name != user.name: + info = f'User changed from {user.tag}, {user.name} to {tag}, {name}' + self.bot.database.change_user_infos(user, name, tag) + logger.info(info) + + async def check_normal_users(self): + temp_error_users = {} + while True: + now = datetime.datetime.now() + for user in self.bot.normal_users: + try: + if user.joined + datetime.timedelta(days=1) < now and user.warning_time is None: + member = self.bot.guild.get_member(user.id) + await member.send('Hey, bitte reacte auf unsere Server-Regeln, da dir sonst wegen Verweigerung ein Kick aus unserem Server (**Kaizen Anime**) bevorstehen wird!\n\n' + 'Mit freundlichen Grüßen,\n' + 'das _Kaizen Server Team_') + self.bot.database.set_user_warning(user, now) + logger.info(f'Warned user {user.tag}, because he didn\'t accepted the rules since he joined') + elif user.warning_time and user.warning_time + datetime.timedelta(days=1, hours=12) < now: + await self.bot.guild.get_member(user.id).kick(reason='Wegen nicht reacten auf unsere Kaizen Anime Server-Regeln trotz Verwarnung.\n\n' + 'MfG das Kaizen Server Team') + # the user won't removed from the database here, because `self.on_member_remove(...)` is called + logger.info(f'Kicked user {user.tag} because he didn\'t accepted the rules') + except Exception as error: + if isinstance(error, errors.Forbidden): + if user not in self.bot.error_users: + if user in temp_error_users: + temp_error_users[user] += 1 + else: + temp_error_users[user] = 1 + + if temp_error_users[user] >= 5: + logger.warning(f'User {user.tag} caused to many error. I hide error log messages for him from now on') + self.bot.error_users.append(user) + del temp_error_users[user] + continue + logger.warning(f'Unexpected exception was thrown while checking all normal users: {"".join(traceback.format_exception(etype=type(error), value=error, tb=error.__traceback__))}') + await asyncio.sleep(60) + + async def check_and_remove_normal_user(self, user: User): + if user in self.bot.normal_users: + self.bot.normal_users.remove(user) + if user in self.bot.error_users: + self.bot.error_users.remove(user) + + if user.join_message: + try: + message = await self.bot.welcome_channel.fetch_message(user.join_message) + await message.delete() + except discord.errors.NotFound: + logger.info(f'Failed to find message {user.join_message}') + user.join_message = None + + def reset_user(self, user: User): + self.bot.database.reset_user(user) + self.bot.normal_users.append(user) + if user in self.bot.error_users: + self.bot.error_users.remove(user) + logger.info(f'Reset kaizenianer {user.tag}') + + async def user_accepted_rules(self, user: User): + await self.check_and_remove_normal_user(user) + self.bot.database.add_user_accepted_rules(user, datetime.datetime.now()) + if user in self.bot.error_users: + self.bot.error_users.remove(user) + logger.info(f'Added kaizenianer {user.tag}') + + def twitter(self, id: int): + async def on_status(status: tweepy.Status): + # checks if the status author is the given id, if the tweet is not a retweet and if the tweet is not a reply + if id == status.author.id and not hasattr(status, 'retweeted_status') and status.in_reply_to_status_id is None: + msg = f'Hey <@&{self.bot.kaizenianer.id}>, **Kaizen!** hat einen neuen Tweet gepostet!\nhttps://twitter.com/twitter/statuses/{status.id}' + await self.bot.twitter_channel.send(msg) + return on_status + + async def twitch_stream_status(self): + if data := self.twitch.get_streams(user_login=['kaizenanime'])['data']: + if not self.streams: + await self.bot.change_presence(activity=discord.Streaming(name=data[0]['title'], url='https://www.twitch.tv/kaizenanime')) + self.streams = True + logger.info('Kaizen started streaming') + elif self.title != data[0]['title']: + self.title = data[0]['title'] + await self.bot.change_presence(activity=discord.Streaming(name=data[0]['title'], url='https://www.twitch.tv/kaizenanime')) + else: + if self.streams: + await self.bot.change_presence(activity=None) + self.streams = False + self.title = '' + logger.info('Kaizen stopped streaming') + + +if __name__ == '__main__': + bot = Bot() + if sys.argv[1] == 'test': + bot.run('...') + elif sys.argv[1] == 'run': + bot.run('...')