From aa82634f7501efc0e3a9c961f5d21540d9d09c7a Mon Sep 17 00:00:00 2001 From: ada-dmitry Date: Fri, 18 Apr 2025 19:30:07 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D0=B0=D1=8F=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=87=D0=B0=D1=8F=20=D0=B2=D0=B5=D1=80=D1=81?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +++- .idea/dataSources.xml | 19 +++++++++++++++++++ .idea/misc.xml | 2 +- .idea/vol_bot.iml | 5 ++++- __pycache__/database.cpython-311.pyc | Bin 0 -> 690 bytes __pycache__/database.cpython-312.pyc | Bin 0 -> 569 bytes __pycache__/database.cpython-313.pyc | Bin 0 -> 571 bytes __pycache__/keyboards.cpython-311.pyc | Bin 0 -> 813 bytes __pycache__/keyboards.cpython-312.pyc | Bin 0 -> 686 bytes __pycache__/keyboards.cpython-313.pyc | Bin 0 -> 684 bytes __pycache__/models.cpython-311.pyc | Bin 0 -> 735 bytes __pycache__/models.cpython-312.pyc | Bin 0 -> 596 bytes __pycache__/models.cpython-313.pyc | Bin 0 -> 652 bytes handlers/__pycache__/admin.cpython-311.pyc | Bin 0 -> 5019 bytes handlers/__pycache__/admin.cpython-312.pyc | Bin 0 -> 4584 bytes handlers/__pycache__/admin.cpython-313.pyc | Bin 0 -> 4577 bytes handlers/__pycache__/user.cpython-311.pyc | Bin 0 -> 3924 bytes handlers/__pycache__/user.cpython-312.pyc | Bin 0 -> 3568 bytes handlers/__pycache__/user.cpython-313.pyc | Bin 0 -> 3543 bytes requirements.txt | 8 +++++--- 20 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 .idea/dataSources.xml create mode 100644 __pycache__/database.cpython-311.pyc create mode 100644 __pycache__/database.cpython-312.pyc create mode 100644 __pycache__/database.cpython-313.pyc create mode 100644 __pycache__/keyboards.cpython-311.pyc create mode 100644 __pycache__/keyboards.cpython-312.pyc create mode 100644 __pycache__/keyboards.cpython-313.pyc create mode 100644 __pycache__/models.cpython-311.pyc create mode 100644 __pycache__/models.cpython-312.pyc create mode 100644 __pycache__/models.cpython-313.pyc create mode 100644 handlers/__pycache__/admin.cpython-311.pyc create mode 100644 handlers/__pycache__/admin.cpython-312.pyc create mode 100644 handlers/__pycache__/admin.cpython-313.pyc create mode 100644 handlers/__pycache__/user.cpython-311.pyc create mode 100644 handlers/__pycache__/user.cpython-312.pyc create mode 100644 handlers/__pycache__/user.cpython-313.pyc diff --git a/.gitignore b/.gitignore index c66ba3a..21b708a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ +# created by virtualenv automatically .env -.venv \ No newline at end of file +.venv +.venv/bin diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 0000000..f8ae353 --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,19 @@ + + + + + postgresql + true + org.postgresql.Driver + jdbc:postgresql://localhost:5432/postgres + $ProjectFileDir$ + + + postgresql + true + org.postgresql.Driver + jdbc:postgresql://localhost:5432/postgres + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 2fe8f8c..562afa4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,5 +3,5 @@ - + \ No newline at end of file diff --git a/.idea/vol_bot.iml b/.idea/vol_bot.iml index 0c5b3a3..de6eff9 100644 --- a/.idea/vol_bot.iml +++ b/.idea/vol_bot.iml @@ -4,7 +4,10 @@ - + + + \ No newline at end of file diff --git a/__pycache__/database.cpython-311.pyc b/__pycache__/database.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..06f81215107ba39c7016a5b30a666e05df13a8b5 GIT binary patch literal 690 zcmZutziZn-6uy)7!?L3y($Ww}I%G2iYjZl3g54xTX-i4^gJ=;K-Qg(F>C%&8;-#q2 z|Dhf_WO8ZKKcIg?M;SZ_O@U6`3fVH0KFKlE(5Lr~_kDc#-lzL)Sq%j7fem90y?N!xJ_EyL#_I+61J4$wl5h;m`CDa z+d~J4@Qtu0Y5d7?LU+#jSr7LULI? za-oR0&}Vz3UJ_~#EEIa5Rjc(I>(+wxFX#%S==y!Fpr;{wB=5kW^10&?9KUNA;~YK7{+BtrpDkvN z%(VJ)bT3=XOVmu8@2wA3YF!#DnXxi4R;R{ls^;ceX0DC)N4uZ)&)-efJJa>f#N3>k fo2j1L8=1Xv-ub?r*}aL~o7%k;2Bel;26KM_*>}KY literal 0 HcmV?d00001 diff --git a/__pycache__/database.cpython-312.pyc b/__pycache__/database.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c99d71421ccecdb01bfb2f667bf1ae815aaf3f57 GIT binary patch literal 569 zcmY*WOKTKC5bmDmJ~Fbzpa|+g@URFww|J3+-MAh^MBHKys7UpKk-e>V*wA75F-acIGSHEMcx7>6_dl}_&dvs zVSg?4M}~=&g-vRv)`1!gK8GV`mP_hGw^{jRLDSKfGYO=Gl&E2mrBL+q0`&3>DNrgG z1t+^8n^-p}WQ<5s<^xE#h=Ru^SZ9LJl!_9HfnK`be%9`^pLWydn~xsY7C79?C8VNA zGr@UYHkb4jwa*C4wt){@a9FmcvvMI_Lr8i?=}Z4q2+5^gr*?$W!EBBUY{2Un3OeY+ zbaXJM9{orC6PlP(bkT~p1&5eW62BC3H+~|;4rHZ@Uu?t!!O|^J#*~!AzN)o1yr|sc zf*vqflPjj(E>*1?_1nc5|3DAV(4Ft7dWLSEqxzfZJiIy%uN`@()$7N-fNK@v~lZX^-K3#qw_kF_RszRx0#z} literal 0 HcmV?d00001 diff --git a/__pycache__/database.cpython-313.pyc b/__pycache__/database.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..73b286b009ccfa9536830752c7d071319d368fdc GIT binary patch literal 571 zcmY*W&ubGw6rS0i`O%e7MG;g=Zb8VNS`}1CY{3XN+J%8YjcouE*(oa~) z^!wU-V_CVI^JG7R`*=wW(u)=MRQhdFN`H{xgxvg2swd>eDXG8pPTeaL_v)c_T)p<8 h|7q*v*3s+9^|eX$)}eFUXdbP7+4$DzzVT51+h2t(o5}zH literal 0 HcmV?d00001 diff --git a/__pycache__/keyboards.cpython-311.pyc b/__pycache__/keyboards.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..32f0724b4366dacca7a21c364b43fdf195e66fb9 GIT binary patch literal 813 zcma)2y=xRf6rb6T+~wBwB3h``MFX-;wz3c;kdH>hpd2V%;kvssuIugY9J8~M0}B(h zk%(m)Ke}j03JVJ>{TF7z;#f$dmEFo|lggRnZV^o&kD1@R_lEcTz4zXkW&;RYcrgqH z5PY3O0(iv}v25}qpV@VS63@EFip_SZj?e`7-sDSPU+ zXm@wgG6-M*_q1(Mv0GKO!I2C)nmQhXRa?!@3f*t7H(UHozQMonPx(6kkZvtXGGS`AdGaPNm>5f;FotK=ip0)T}{+WOLk9E4@q;hZz zQn{a0j@CN3Vm}};wq4}fE5y%YoUqisLul8&Ny$U(i|F>U{fI=4N0>d4Oy_(3;#`24 zGv@BGkR(+{^rYaHT4^HS2^iE)m7t~@`^}5{<}AOo$Zy@{rjwh_SJUAq?v<)?xlsaT z#`r1Wmjn?`8^7ydW^Pon%-hE+845+PYUzdPh9sbFJkR<)oKj7ssV<<*jWMj@eo9z`_LW zB9>`PYz;|aVPT~|z-AUKbO{Jr*&W1yRR^j+8cw`<{ zc^lx&iUyhbe}z50mdz{XpL;u9xu0*#&+=owCEw@U`A)u-zb@KYQcrB7!W8tWC@ddG zk%#@hOR&H;EIMI%0k>bBAiJbF-@NR~xAK$x@DJ-u&B^s@HspH$R4>v!ah%62rVb|9 zxzBjtS?6q%`XY7itvF9umRE1cyAQrvt~~c}WT0!U2|%;$5kNETNfXR2mMJT8P) zF&xm8o65}_3JTL>EGoMn0N&AVOTkI=ddx@`(Pe&7nR?xHPQl245dHwSMrISX-z`pn H`pT+5qzb_V literal 0 HcmV?d00001 diff --git a/__pycache__/keyboards.cpython-313.pyc b/__pycache__/keyboards.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2a3c03acca2deeb4aed719c9b3632ecb362520b6 GIT binary patch literal 684 zcmZuuzi-n(6n=Mhnl!2kwpg0ki3dH*v4_+DI2 z3{R8%l1dK21{-a_I^t*@bKC(NZ)?}Etu4Zi&h@@-)_xQXM_4YbMPU%p4LWui;r?yH z2kGeF>a8?MSR|Wq>c$=qTH_0D~4~c4m#p>wl6-3580l0m+fZ<*3bFcqCH7Mw4ib;KL-QM~_;b++Q4*O~yHZT)J%T(^X*2>WzMuE=21 ztVx3etk21CDH)Gw%ym`fHRYu4G8UH8kASy}vQd;9H-^klL%Ph>k3u0lUQlkLA%wod Q>O^m#*4yrHP@(Ml0~Z{>2><{9 literal 0 HcmV?d00001 diff --git a/__pycache__/models.cpython-311.pyc b/__pycache__/models.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7a464fc152414f9102acd2bfecced2d65b2a3405 GIT binary patch literal 735 zcmZ`$zi$&U6t?eY2qXiXgn+-`7EU=K7(gA;sue>kBnn8kSkBo^kJ`D`zC+5Ep+lES z-O683ir|k)r4G?e2qw0mFm>WNmw@>7Y(IaWpPs+>?02nJ6M?N9&-$NX|6<6}+y$6* z0h}U+7#2w41WPNiq@CEq)}H>IWIH_yCrzN4Z7F&RVJw#l07~I>NCDWOHpiv*Qy2~11dQo zRg(~zvr-s*gOG!gibbSFNI`po*HoGAl_|XPjRMJ-G7nm{GEH>Z)2YgOoV`agQ}5No zXg8NUqKrmsd0I+7D0K8HS9{SjmA~dGu$QaRn_Q4yUPMp<7yADGP&FWV?u?Rt3~uyu zOoDr(%}?#%Xy+t3-yXN)i*|h3jz=4l;O@!#+ehbXci4Y;v0U+j% zMjUZ0k-`M4fCMTeA@;REMk*#TMgiJHJUl`?67gx+c}dd7Me@^&B6P`ymW`Ua-mscH zoYrC@j7x`FOTnfEcF~YoG46~VMhh`p19FT6BA6o*a7@Ag3CQ8W`|vdA{vye|mO?H1 zSId09iym8uiW@+?14$S6O{JJ=>7Hmord&K@jjXqe3ofH{%9Nng^(a-EH`4P8NC)@&q2Cyjrr@vXYlC(w!;KRVa1EVa$Zj!iWZ{2iM4KF@EKyIP5oaaKOnX0Lo? z^m8$;ZTV!Qe4!;B>AHkmA?>aG)?{FrgTLS2060RQ^6Q6N-&XQBee+2><{9 literal 0 HcmV?d00001 diff --git a/__pycache__/models.cpython-313.pyc b/__pycache__/models.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d6aff8669f52f45b033a5057d7a90b7895f2d3f8 GIT binary patch literal 652 zcmYLGO=}cE5bd6CH*RuSzt)2xx4AgDL`9JtHUV)%f-q4*7Mk9f&Sp%{bW%Md>@6UO z7r{%wpAdh}-n2nPJ>@2>-mTfmYC~7QS2eGz-t?^9ZV_A??`Pv5c>b)(V!0P!_7K4- ziAhYi$$$bKSYQoouvhDxwe1XCa97E7vPNRNOJZl}-nAPocw;y8&TA6d#@ke~$_vx# zXX7VDDaHbf-&aZsUWC**eXd2)2%GqCf_3DlWJrL<1gw~X9b15X*2vI{?bvx>fj?&f zG8fsU*n`&C4+G;o(*n*Nyui2>LcNErmX09HIZW80m>~62vCk`6ej>Z!k_i|qcrF+- zEyi+{RB zo6&0}*+`WU4lAU-eKdgp#q&_lpl@M#OFnmQp6q;I?tFN8wl`hwojm^1>3+O_wl(eC zd9wpo7mD4`H!XcExl9g3KKXB@aS)^&jp9pzw@}RIZ7#TmITJi;{@Mm~ky6~c2ES}d Y={M4wlHONxm&e^+jclZ3D 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 Smb=zSv^UTiaW;tn literal 0 HcmV?d00001 diff --git a/handlers/__pycache__/admin.cpython-313.pyc b/handlers/__pycache__/admin.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6c7decfade0934c36564f089b0623e97eab32485 GIT binary patch literal 4577 zcmbtXT~Jg<7Ve&V=id2a7(_-ug<&#)Ob}G!Du@{5XBA6K%?QSY4SR(vj+q~}?+l7B zpm_+EsZ#P&x_MZsjW4OSYDreI{v;X&ecFe6>pl$LU9)bIhxHAY+H&L5p1w1828eFT z*i+qo`gET@eY?;3&Y6Xr92m#po!TIjj3c_6yWLLx;oI-{{kNa+c^Rd}%#SV}GNkdV;yV%xi4WwM19Z zAXk<5h#s|y(YQb?5f_Pu+cjoqEMA2*ey=D=!k`EwCy8OPpEB7lNhHwc2+~NjzfXcC zp;)w2DHp@2TMv}1auDLkC;xg1NojOVS1i~2Mr<%>MViEZ($DO zDyH*4C7@9LP`;_0R8A@H$hSQ5U*swImNF(!E2otS`Ky{l4_)%Hd{h1sX1Z*KQp0d>*A~9j0Uy$OSMwptGuhYqzDmiC(`)YpOjGi-_Ya|LV8zcule>}ypE+LF0#vZZa#mUp)1bd6ke zT(ylP*%5^udCVYJJHF43{2-OVW~b_!3-L5=Udet@2-IySZg#V`b2&=8F|;Sl`ZX>w zDry3{QF*{0k#B*c-ca5HH@+!qCcShHoTXE78ph3YtGySSe%Exl;>yZD zRww<9iofy8{mJe7lkIQ#Gwl zJcV2Q+-D3>S2nb4Vs86zOEq`9yx9eVJDYJ!4R_}kETtRlux7@LTQ;yWTnVLpxYfbV zlyj7>#;|6lMsGJ@%Gt!VTKSo+xMiDTrrrVctl0wmr}jnYt1$q9{fpyI24G%?Sn`qp zQ~csli@E@~5H+S{C6ED|>_jjV%K|xBu0a`a1F&MsIL!0U#QZXFEH8$n(Ju#>DA&aWs0%GC#*ZcKVJLhsSGeK%SHegnV@++yi%0e>!Tr6&y;@(N;APJ zt1HNL0f+|qF7~IP^q08P4`BE$)W1SK3AMcp^}siz3XcQ;GB_KXJ{wz#_DTS$CoS=%(G%8U8jr<2A+wnjSwK&na>Vf2Gnl@ANH2~mg$gK$V%tx3C zH$XFg@q^1Ad2)%^R4OC;9P+U-Wt>XMQw=ux69Dg9z#E70O@MZ4wl?|qFup2(1^|B@ zKz+q>P^SQ`v2pQuTyqdH5*rqWhn2%un-DE#Godw zaYU37VF)Tz3v8Hx#E*s_8Y1+PiW7O6oH7$EHoz*ng|r{8@VUXlS#UObIx4T-t~#5N zmL}QKG-q)>1b}Zm-I%od6uWQo*Q&iPX|Gr8^{Rc_SnD_T+&M#Puj=efS~_J*r!M6f zYn{t+jd}Yzi_-|-o)mtnR6E<-4%+vVp3Aw861Kt_f!;fBl9tcVz=OSPt~=TKpxvx z%6`#o1@iU|+~#HPpjANMS%uqt+?_&((yL+G#6Z+)tKeqJD}kQPS=r`iXUlNgI?Jrr zO6gZw%CEJ9z-$9QlxLHE8y3R-N5sg8?g1JXi4BNhDV6_N286h9NB~3C6C_g%{-Ti7zfCqAlHwW@ z5r#A-L~VRfjEm7>@U5Y6D4xoyXcn#ef&RAxbj1Y{myU(vNA$#pP=o#yEkKJ>MsH~Z z?TN71L|z9T1q$h3(7=OX{14<+koN&9dw|wHK&u`g@86L1pVr(ng=5@(hifALT=0VT zV%5i0le^U7^~vHorMPaYMJ?W{=GCi?hB50y%)eW5vg8~-&rNU_)+sKpieH&GG57?& zaBKn5et|(IUy3zvLncdhebQB?xXLCgRhM7Iug;q|9L1CT0-`;Ys!p-yUC)wQuevs< fc;mdO5Ff*n2j&s&r|K5;o=R_etWS|0@Ui~`7`^R6 literal 0 HcmV?d00001 diff --git a/handlers/__pycache__/user.cpython-311.pyc b/handlers/__pycache__/user.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..77657667b25b509ec321f6cf67b1b9fc23841e24 GIT binary patch literal 3924 zcma)9Z)_CD6`$GL`)lu=eGaxEspFh!%telm7O21wk_J=>lF~MIsB&#N*0+=M*}J#) z>>glx2ntneTuUI!k@NA=CbSVmqE!=-q=l+~qtQ_icK*D5^WMzto8No)TS15*D21!{b9ej*{gVyc5?JfpKY$ThMiP>+j1-*43YX?E z8*{Qx;nTe0Py3y*PYx)-bWjPULrORuc6huTQQFdNPTw!LD?(au`T;qr#L_X0I7IL@ zFm>Ivi_#sWquf~^HgpI#8Fz-2Ep$VO%rp( z77mHBJT7LZeo!QIHtDki8j(p>w*&ctMkut!X-U*c65IUiz<^c|wb?>8qk)FJS^&n@ z9MLmcaa_yN{Im|d%oLd&S4AqF4Wu+(1T8_OW-nVmELc+e6Y+S3?ZrQn3>youz>s{Qy-nrgU z;|?%_Rkby1Wn=FSymKV(9A84^_Ez&sy#C}mzvQFAl5aBVatc`Tc~^6TzXpDC-MM&7 zs>u=q1=J+Lt$zV_@kh}B`Ubkxz}5KE+!@~+=rqRY4e-F4RMLM8+&WkUf6wHl;t?=r zEE%_r-eJGtoOY*8TvT}%B?rBkWz zQ*{zBLrWb$lscu#nQ>K5O^5|aCR9r?UBlC}w%{N^W{pq#K`+~+_FuTh|AyZM^sm@c zm(MSpucDBD25+V=58mzRTRy*d{=HKlNbi*1Ev*jjTN&K<=k0$Q`fSiT`XlS;iItHP z=3vGe%$PkVt)7!cXEV(ODzPoAu^lV19cJt~EB4$RUx{^95f>h)#J4V|7E|v%`@s|M z481$Fn%J|F*mEmq9sHhk@HHc`$4rb`iBU5?X2r*h_7=nx3@;9w@q`sm80{^n5=(=< z=$0#m`NG>{pYJ?koRo~Ch0nHIM}KSpO%}|Zs`k2T2QsK`M~ZuNBCgV z2f3NU-n`7ihYvR+tg&#qd^mh~m+$YpB8OiH{sUpC?eJPC87FpIv9LY}fyX z>zu4hvcnK*1^CN3Yvn_jix}* zv@2Au2MzaJSX;uBlXwUte((43&SpU&88}9tff-3mw?RWYpejBEm9c34%8TI)^a0BO z@QX~eCU6_Dz6SC2*Tcz}%|qTKI@nH`r&IO?9bBg@j60}KSyo6{3P^ic)ypaelRJr& z*E5ZA!a;Dl6(o{AI=}?knkfsR8gp%cX!=|Fj}HL%AT z*t^oT*A(_y!oDwsuKDBTM93pB3#hLM^B& zcvgCkE&RcTtKWEUn|SMBo5yNxQWUjyS&?n4k)f5y(B~tg#@J8HkrUR)2_rIOMlx0; zWAH7g5{X|)&8Kc1F}CH5ZF?ELk~1R{R%F89A4v{!{`%$M%lmzQ-5)vR5B@ELp+1)E zwS!__%~4UI%q1wxav@)@v4-{8X`)dEPn0FJc0`+zML9b`l-XL+!4SxCQ#+uj5|Oo9 z8WLiTJT5{UcM_Gbo84=*q#{6_KNgPP(mtl5pJ|V}aGjZ9e=X?O8Pk_9WE@|7AKiyB zay<5{&;c-4l*vK53wYq5NP8aYst;paL0>akQ3dTZT2Tc(Z#*Cndm zhzqUa?iJj9b!O?*^4Z0+<^4AWBXQ8|dC}^5(ZnxV_@ycr!Fl{Up^8}BSTk+k#&wa# KSM-~3Z2tpI=AG&Q literal 0 HcmV?d00001 diff --git a/handlers/__pycache__/user.cpython-312.pyc b/handlers/__pycache__/user.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7ab3299eed16ecdbbaacb9a23e4983a356ab37b0 GIT binary patch literal 3568 zcma)8U2Gf25#GH!9{)xC*pmDcStixUOleWIrTC|gTq8^XE3K0{vWqaODT;TNNF9H) zM@ptk!;T#^5~S8v;8sDN6xa_9tO9P)7I9P9jl=>0`f^tWpn8ZQ2kk@qMn?})j6QVs zs3T=b{aM`Z%+Aiv%-+s^yMJ~%Z3xQCKUp5UZ$jvAv||*0jahbMgl3R{1T3LA4&pcy zWH9YB5*z1&T-+2i>3vq>Fpi}30sV43Ux-epp zi0`bq3f79XF^>^Im5NNPt=cm#~-i$udOL&y9*QI^AlqUL-t zEJ*|5$nf_wBFTDLjh979jHER_nvg{TG?Nm-Y0--{?hFWkI>T}{5edm)A(~8pV8@`C z4#}ATIYOeTG{{23Vs;=ICc;JDFQ>y`#T+mDi>&) z?Zs*~%hqqVu^HDO5%rkawV0V46RX=i*I4BxHpj{X|6yGX#=L68hM(AWW2{R5|H$XC zVaK2w4D2ooE8+fYu5SscU)bmhZgW3YM)`PxQ!}WZ>w@kc>u$ALGp=uUAd=TReoDm{S8d`SbbahJ*eM1+V>IG97Ie>*-$)8hBGOz zi`c<|W)?4q5qe(fAt5wBHPhITNJQeIy!AXu#zQnDjfo0cy&MTkVG>Fv#88ri5hYstDI>}nA4$gJQ8>-vgghn^LQ`9FMrGsJ4v2!+M4VJ=UOU(tPeeH*r8Q1>!==Rw zX_+3eR$87M^baNDqCYHz{Xa;OVgG9+83Wvq{byhFk0zziKr-zg3MT|fB(k4c=tyNX zr;Y}pH92VoYjkO{9gh7!(CQWRch~O8%PYui8o?#Koo!!iYMHq_efjq2oNy~wY(Jv5 zANfPu1K&O0XYIw_H`U%Zi@oPm_>P_{w1)~!{l&WeaemRYz3AGfy7m=Z&y90`bu}#3 z@0jsV`)@xxx9yg%=VR(nn>?(Ty7^+J7L(b1BV8M4>Y|o+#9$ik6gONv*i( z0?NyHtS{s1#k&605|5l`@am$&z52+KS}o~Xt7WzI%Kwso3P0tl>m@s$#sM$?9t+&h zPBaFdXFvTW4*2*_eJ6H7XTgjE9sGi&iSm1Jpp#!{JqUch0S6B7`E4BKo9!?;@45kQhBp8%kAc zD~N|Uw*dKA?FJ*zT@U=R3P@M=a(HgjExj4YU`<r>eKZ@>rfH&$aXxUB$r z9UNCKg1HL#Ry?m=yKoht*fWN`D$QZS2pqt+$@u4+XHqbp`VwjuY6R+;{|&)YVi|%# z`#97#9g6u=WG}e(VzLtmp_`JSmx%J7I{7rdQa}cr1u)J~)w05Uz~M6dR)#ygE{%g1 zPFTlXQcum&$AXTzgzl=2xMUmU=tdEG9g=3+=y+Kt3ej|EJ%;P(O6U#fWr>F>(wGUo z{A8Nu0H0(JP^}@I92}HH1BCUr6KRJL>PP+>8XXiL)i%#Kr=7FA)LP$_lV6k}k~i%s zA!q;~0hN*y$uAuBH@hakyX35&ICHaW=GgSH*~3Lox9aIGdJe1bH5@KDk1RPGCeF@! z$Ilj=zGXA#vaKM_YAflD4Y?XAz7=X(ik23|(z4yl zkQI1p8KBRw|Cn-5z>BFL0FoPeBEJi(zuFS;;8`4C_zzj&Zl8EIU}NWPIKc7q_9n`^ zae(LNJsjoR?VvLcSZ3ko5Bh+on7D^qXx&YDK(xKw!V5g`c@Beqp4VForV<+;*lo_& z;y{BVUuUL#vxUm{($Q1iX3ZRqCI?A4PUr>_csIcHxhCpJXH%j~C@>NF@YHPbh!mD0 zLt;EzzP>3c=}D#W@uVP1a`{5H(6k!}!`-M~`BvlAESIlmp6CyDJ-27yNo3Ekb@wjPiuJ+ni7jKUP8|-q0S|=Uq$;L zqNaz){Sf)Tw7Mpnukeqs`Q4VcTW;VPewu%OpIYlKU{8s$;1N9A^cA9XnMF)nSybAF z7)ud1s<`pS$js>U=*-3Gi?iRp>r~u5g{I>L{GAeG!%_ST=U0eQI`ss8tjov&i09vk C5iCLg literal 0 HcmV?d00001 diff --git a/handlers/__pycache__/user.cpython-313.pyc b/handlers/__pycache__/user.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f44555b4d59b78a1dce9a6693cb2ad53430da336 GIT binary patch literal 3543 zcmb7GO>7&-6`t8$E`P)o^<#^&B1;q{M`B8gf@`Ic;;1n~w-wdOEh#!crJ7oiYmzp9 zUhQ#wLrr)XjSpt?If-ca2hcJ9M3QAOE@{G> zVk$K$Mz8%WFOeA!tMRgwlA<|{PiAC^0L@Ru#GK^88W#ouP(hSuGSP?(7LwTv2u{SM zTtv=K%2AS>%7H9$O`4g^iX?V}_sKaCteDd!f6?7vqc6)0?XRKkJYW!NM=sdXvGTa_ z!!R1cA(UVdn#On85tAKda2N-nf3S=}x|GV8ktpS@2wIJ?3aw}b^^~iOP%eyu_Wcst z3sxVN?cH)?JBA<`_r=VFnPBbVxyC9pY?$rZ9gao7`_U_`H!M_QH#`Q98)Fsv|F0p0 z`>|o^VC*g$jk99a;EdQ0>xY;O2fj}jniU%6#$Gadl@*Kdr^9Tp*%+zNi#Ws@afP^k z<_KT(*rQ&^AXd!2h)0?&Xk;B~0%{Oy3)Gr6u!3dQ*AqQl0?&XXT;t3D7?% z57k@h`)w}ep7I2SAA;l)by0bw-ctTlQvD-L_*i{c`3tB&8W{ZuYjz?{rDh^&kzC79 zc^sq)9B5|g9VtprFg-SeW~^p2wm#x0sRNmI$HAt_exmILMPy%wr+~m6~^ty2cYp&Zlx3r@P^D z(mOes9y%8-+UveVHZA$YnCSCoqxrOy$;rOAvgDfYrzCq7Fh%xVdeb+ZO+_ZNIbTA| z#8MKGebiR>)Ql$RND5sW>|65PfBC_&d)}hES9SM(94`)DR0l5>2ZQQhP;vJv?ogp_v}hky?4wk_d#Srn z=Pugairu~8`1u^SQGI+dGoSfz^oyRMzfZ(I?N}{ZLA=7a$dIH&0bd3XcJDOGsND?)Eq|4xTrn4zZ+;nx!uV9bO6DT^(G> zG0M>kme6~UG}1xv{OYIGoiPhOw%2ZlC%QV>T}t6JS7=; zt3RAbCydbTlsBQFsQ0X98o8sLz175am$lAJVlfvA;x2ut90)NRR{w2Q$YrNIs@5C$EkNMxS zz}-LJ?zgh5X6$GARg07It=MnkS6v+CJE}lu)rb9NZneh){MrfZZ|ByU+9>}T_MhU` z&hfynvl#T(O?nH~Kw{vaT)LqxG`S{4xZ?CX+-f|G z<-1GlPEjG7%tZA3_z3MlAC*$F32!c zc>$U&7Gu1LPHv)}O>|mCr=KF{Q{;Y%e9x_pg~prwGi-jZ<=vLsc$r_~KkQO#+y&ge z#aQumyyDzJlvlzkuJ^Vr)2x Ue<$o9O6k<|cw3i|GZ4>z0gwXqCIA2c literal 0 HcmV?d00001 diff --git a/requirements.txt b/requirements.txt index 6483022..c702118 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,6 @@ -aiogram~=3.19.0 -SQLAlchemy~=2.0.40 -# dotenv~=0.9.9 +aiogram~=3.20.0 +dotenv~=0.9.9 python-dotenv~=1.1.0 +sqlalchemy~=2.0.40 +asyncpg~=0.30.0 +