From cc25909722b84871df53280bb00f65230cf13833 Mon Sep 17 00:00:00 2001 From: DudeBro249 Date: Mon, 21 Jun 2021 15:51:40 -0700 Subject: [PATCH 1/7] :wrench: chore: set vscode configuration up --- .gitignore | 1 - .vscode/extensions.json | 11 +++++++++++ .vscode/settings.json | 4 ++++ .vscode/tasks.json | 23 +++++++++++++++++++++++ docker-compose.yaml => docker-compose.yml | 0 5 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 .vscode/tasks.json rename docker-compose.yaml => docker-compose.yml (100%) diff --git a/.gitignore b/.gitignore index 46a44bf5..c0c60dfa 100644 --- a/.gitignore +++ b/.gitignore @@ -104,7 +104,6 @@ venv.bak/ .mypy_cache/ # IDE and Editors -.vscode/ .idea/ # MACOS Files and Property file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..bb7639aa --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,11 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. + // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp + + // List of extensions which should be recommended for users of this workspace. + "recommendations": [ + "ms-python.python", + "ms-python.vscode-pylance", + "njpwerner.autodocstring" + ], +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..9fa20284 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "python.pythonPath": ".venv\\Scripts\\python.exe", + "python.analysis.extraPaths": ["bot"], +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..c297b72e --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,23 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Setup", + "type": "shell", + "command": "pipenv sync --dev && pipenv run precommit && pipenv run pre-commit run --all-files", + "problemMatcher": [] + }, + { + "label": "Run Bot", + "type": "shell", + "command": "docker-compose up", + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": true + } + } + ] +} diff --git a/docker-compose.yaml b/docker-compose.yml similarity index 100% rename from docker-compose.yaml rename to docker-compose.yml From 54fe011ae4324ec2b347003baade86d01628a06d Mon Sep 17 00:00:00 2001 From: DudeBro249 Date: Mon, 21 Jun 2021 18:38:47 -0700 Subject: [PATCH 2/7] :memo: docs: add instructions for using vscode configuration --- README.md | 10 ++++++++++ assets/task.png | Bin 0 -> 21089 bytes 2 files changed, 10 insertions(+) create mode 100644 assets/task.png diff --git a/README.md b/README.md index 0af1e0e5..95cf2961 100644 --- a/README.md +++ b/README.md @@ -45,3 +45,13 @@ To get a **token**, go to [Discord Developer Portal](https://discord.com/develop ``` 5. Lint and format your code properly (use black or flake8) or `pipenv run lint`, and push changes `git push -u origin ` + +## Set Development Environment up With Editor + +### VSCode + + +1. Run the setup task by pressing `Ctrl + P` and typing `"task Setup"` + +2. Run the bot in development using the `Run Bot` task(You can run it just like the Setup task +in the previous step). You can also run this task by pressing `Ctrl + Shift + B` diff --git a/assets/task.png b/assets/task.png new file mode 100644 index 0000000000000000000000000000000000000000..55d3a2f35d02afff453b19e0a823741b466b6e1b GIT binary patch literal 21089 zcmd74Wn5I>*FLO*fJiAQT?U~N!q5#0A`GB_iUQIM-Q7~sC_OaDkV;AqARtK2AV{aA zba(vE0E67$-|zn3ub$86c`b-E?mHue)8z~g$o$q z3l}cB;a~y(M6ljUy>NlEf?sOa50?P0DO*bFj3I6ao zR&$Uj?5i~0wuUP^<|PkL@6ejscVjNj!pezRh-t-NLtH|MU%q6y9wOJ*OXOd=2#3gT zOas@Tl%`cCx#p<^>9wRI(R+Aun+Z1b-tj3+A#>~*gRng#ne^%^8abivrW8_2ki+CCrFvw~y zV6nS7U@*lsx+zxI+VkM+C(I&nq9_clJm*86C(blWLPHupt4XKgPBJ zHOk4=89jI8BZyY+rL%ufk0QTcNY0d*w3dmjY#7G*`{s*yfj+>DlKtSgCsR3ng(xY8 z7mPKcF2S>-*Gg2Nv;ExFp?{fDoT))rPcNm%*-U}Ob+C&$lmxisIaM_7ID$b3?wEPN0vPjy$|r=!E~H?w;`8>ypMN@#}o z17Pl|E%h3Tnzc#`o6|og%f19O!fu=SSZScvRXOISP$BJ zlc3n_d3BfB8a@%Uctzq7wt*{la*$MMP<&k_x6X1c*@T~;Uh*LymD=hU zd*cf6*C+jL8CJKp9_YvS=>9=_eQKdGEq~!t$Fh$Soxc>CNUR_mqbG2JWME|Qq z4>F~vFP46-o5f9Ku$X7bqI=^_3;%Zch}q!xh0f%5S%<+lH~GI_MWi2imnX4O7y>(r z^qG_jrscykt`ikBm&b0`3ytydO-XJN>bZNb5l_R0yxX0N9P&nt-jVfSxKaYSZ@KQ2 zV_Bk4&-iMazR6+!%XnK!{KxP5DKS}<=3{Jgo`_0=c*;q)lA~U;@fn+v_Rm|}7Z-{v zS5qeC`>Wh9yTLgYuDOL6Y{@$5M7F%v+v9oKQ%Lz`e`%FgN_{?tq1uHX!Jrq}sebcN zPa_ae_vnk_o$tALMcz?k-R9L8HzP-4$louWaZSZW7}z&Ch0q8xCI(}>Ig9NcIjuitBl#43`TOVodu6(*xrr=#v*t0w7|K0@mjqW?{W zEtmD56;t%nZpv%GZbRT~v&Z1meEg{qCTtpT@j-AiO8^UA(i~b^EjV z2V%<c>?y7Y54nm?Q6s<$}_ zUTt^Ot-7twy~NpWnT5EMT+~@k0s-V`(vw`6qvukpKi~_GjLvY}y@$4yr2o7f3i#rsHj!!xKsU2bb9A7IMN$s@nNyHoo@P zZgyI5XDU|o&vpM1iVPWC+7zBXG&XxpO_v)tN2ZiJP;# zKNIs?+FqNBhcVaP<8+g}uV#861Y?~qS8RbCCBj+@woPbv3iM|SU(bHtg$+DGD+qv(TsU2plIo^v)Xoi)nSHnNStP>+s=Fi@GiX*IfM7ar1LT`Q^@sZOKF(``3r z!;X+z;_|eIyJkJuP|22^-e{dHSepf@(M}gy9NfLwmgROZBn^)yBKfst#h5Z_Cp_I{ z*Zt0*1e@gurUn+^pHx}0Dk*av(nVb5d|AgisW;HWBGG1;rTftLiR8%i7b{bu#nM0n zmx`A5wJvNRN*ZH$F}RYE&1hf1c#IckFHvrNo z?>+pmhMR=PnhxC_%)mGw)RlTfT}yN1?X#pImUY*uQ_88|6(^gVd%T?d2Uf8 z=6M~yf`NUOsd<(;?n;KmEh~s|_ zSdeAJT%=C=xEzj^o`v9627xBqIBc%UR!la;4h>A34zv7YmErm|v|%ImEsL^wpS8`) zlgr=RHYE-MA%0Tc)Za7_ZjtW1*+AXBV7fCu{d2%=cW~$*Q>t0U>m6T14BMA**}fd# zwl<~>T1kC)1iVVQPdbEBc&(8~hRcknN&j$$VMk)xHg$iDc8JMsJBD(SaDBmQ6+3ZE zlKMPcOWMUsv8bd$WIu#+wZ9xcMC|96D|5yUA}JChpAKz;n_gK8FjZ`24PX>FAujf% znSPe;>npE*-J<%HU&mqj9Bfh$!!V@EZCEo@&289njH}*C3S3YuVZtuj1S@}8FeHXr zYxJjHB2LbHPG9ma{=;r&Z!l4yl4+ehZF0!*jB4`mGLWAd)+#pZze$6GiJ-d|Vp=)C zP0=yB{d?}5Ek#y=F)&TBX{SAQFoX{DcNHe0LF4g#4Af8>8da9JhF^9_(&39zg4D?{qzOZd%W&WNw zvfdb*Q~lgtZ*V3_ge92x6LfG+bM+-lPkLm1HTl|Z@Ki6ROIqX4W4fPfF^i;JX;P4^ zx7e8!&XL#>XHO?NV;Dfnt6xlW{bC0VNkQ(hYd1#?0#<+Ww7_={ngjUiF~q_%*1Z`DJ*6FU)U`=7wq4 z#q&TKOJCIcxwxW=ucwVbI&*@-b4ABDF$O7Ccwej(O1fD7-s;Yg7lHgl*im@Y#KH+4 z3NdK?^h}(%P^%RWNejB1q)_l7wXBRb4IR4g;yb|oce_g;( zI|kp@p{&$iLNfCzK!`YSBnS7d8=yXLR8_0X`@xfQqtLcxn5tOTmN3)NT6}qkxB>M%) zu-&cKlnuyLuzX+8pfAN(m_wczT!hubZWCHDw?bC&m z7PacnZ)Md0x8kZy*(~<;{xvN;(60;02KC}$P@(6Xk2dM;r-+1z1G|i-_%KE)H=9Kc zXfG*78Ewbz{!XC9Kbs|z3RvGYT<|@dOi`V7F%GdGgimbqIC5jQvg)?xC3btsK>FIE zZ+=Fe&4_LUc+Dg6uq#3gn3)70w&I4KbvgYKDNHt?4g+KvCPJMBz?ZWGud_Yl3V8-lBMC2=2>RxFBclmd-m@@-aPk%gNd}u72++-XA!KI*W&oMn|EA!_PiQX53vC`E<%)>W&v=4R zmW8soGpPf1Jp&}Qk02?Y)_>?c2erle=C9SA8R*7w8vNg$P+CKNq6qz`L!yA(_<=9b zuoywDz17s-eNd3i#ayvT6*}ZZ3;YP1dxdRcf0lGtF*83`S6M1c&SAT^E@W}{afFS+ z%Y>{)$}w5bl_#^FzKBrEsJw(P#n;(&R}L*AK!Q&Jv&6j^gjB+P@$Qz`wZA?_gA6cA zFNRCjdZ2 zoe0EUoGb~CN)zoBJsJR$^sZ@>Rn!*v!M>@p96vAiSBSqjj>Y~j&)_&YWPOeD-Aocf zFP7|t;iw_5y`VdabGA@W_l0C;OjA85#ekSkKBMQ74&h%F%ZNPIh<|&gw?*+YT(Agx z;WTRF7>~|YSUw$&@T703Pm9cF3fVVR40g$T)yx}?BuTN5!2|DwsD^$|Q(h{*n_FR&~4k)kx)Duk%#>DHMDlkfEe{t9LvZDWs}un;)>N` zO^1Vd5}gw&D(2#fuJ32~W@r|pT7co-N69r;j&CAQpt`Rf4Y^d;04EJQjY?7&PO7E|7t+)(*tabe5) zz}e9i@l8Hw>4{!MN>A9*3*FcrAdBBKGs=mjEN-2f<%B(08{C%RxF5^m^lO&1+}NmZ z-i9*qrhb_+wXm7Xi-@_;NBM;6zvEz^s^H}X3Dw_5v+55NBosk!3L)Ofa-1RzcVhSh z2<8e2Lt5^)m|=>5CJ{Fui?zld_*WqabaxWDS{mVRw*(t7Pb8T16RWjmnDE-Jg8)uF zeFHARGe{oWkL8c8&>kmOVf@Di3V!bbT#~&8m&Y;F;_^5XunGpt*{(x5TFgGjUXj&P z`{n+YEll~X1spaP>GQzpz%mMfOElmR9|I%0p<)ZMWUU{?3d5|&FH$7R{aAWJ$F?8_oC;LG@m|gtLgNd`Wr0yw$Qt4dh z+L}e4g&wRS{X3!bq4q+9I>8#bK+TM9VO?B>G5_c`eMh3fYE|6|^i36ImvvH6lyu0* z&=#+*57~&5E)ld6_fK|h3jtUf>8J1Wu@P(Krg#{q1c3efNZ&!e`}W^O{AqLz^^XL% zai{r?U4!nf-mHC~t3%+I#L~Ly>GS}lx-$c!rrXl`9&vT!>zei!WY3as5ev!+kZe2q z_R)#l*$LTj-1TU<`f!&srba80CE-T%g9;Jth%XYZ_C*8(g#_|}!;~)F3A+CMjE=&J z!|n~dfd1bQC_;X!*)8OmDx1esS{!qr7w_CI;?*UFl7;%tyhJ;xj93rWWM+Yxr5l2+ zbMfMy4r)Ww*f^+{T1hCXz9_29Qk`QjtK9s7@9YZUXrU0wt<}D6YbjzjocQHU@!@Ju z*-}kxiD|c$7ehA3?w5&VADBUt`l;%P@ z?8y6^0XlBEd`CY7oaJ*v?C5b?G7G7Mx`!~ukC1gQoN+hOhEBgD`gtoaH{Un=P9 zaq3GSY3CWM!a|!g;YJp(RwAreUkcdJYvjNr;o^vwYAF< zVPzVR(q)3*jK>?lpUZ2H(N*+a1K``v+~Va=I^4`w!eJZn>g0tl*LoZjxUYb323OrL zt4DTiarnHFZ>Hn@>ta8!CrK!lNZ?AfUQA|w)=OX7-;1q3~v-_f9B7+G(YM{Ah^eM1WunyWIs6nCE~%q z$H1zgF3*q45obt)ETi}$=iDO*g*XIyxR#6ikA(dfH}JY^k+S4(;tZg1(0`^lC@iLP zN&dZ)I5B-F9YC3)1%~8BApp&$a50FXDz;{>{MW5rq;L@-S{AwhCX1;d{+$3oAT7jo z^xptL9|!QUxYu1ptmI4!>Q8|}q|Vq*KhWX1M)WIyAZ16dSjeNw1m}|!x>AqKxuupB zw3fm`;eqPIS^5)m8xDu^|286)*<&n;^N?hH%?s&k8J8Ljfxx zqON)*T(N*T-PPt9gIf_p`UI)v_IELtw;7hHlL<#NeHX^RF-{<*XlMEDSGSB-Nk?{^ zc2=uRng=)1bu4Esb^_j-HLtvNeM6w`D08?eqNL`+Hp`u>ck~f(J7c|zU$V4a#z^(uw;a@lhA*ntJNj>K ziK~XE7BEY>byeaMh}%9I1n_D5X{Gp>V!HmTsxx-8!$)P>Xog|1)VPHD)`>KSG4ji&@VG>=*R~Z z!r4=v0Evl_{H~FG_SR^D$X2-^D{afmk>|eS8?U4ECzs85CcE5J!+fV5;Uz~sSHKL* zUZreYAd{ybv?VtJm4?Th9J6|;x=DwmIOTRcTI27@33xlbAB76`6WboWadv)3F=UNo3+bv68 zk1op^D7k8+>UXScKn38G9SnW0`YBx>A(-M*v1*;qf-2De<~ zXI$}F!bd6LomX-$6l#{L@h#!4;_&VA)`LTB2Mz*z`NKvHRw+}ChTwcB-Ns&*f zc|&mX7a?q&tzp#9lcQLE2)6$Dt67$|`$OFb2a$3>rM{Gg-Mb^_8yg`V)JMqfDitWa zWE*}f{y}b7cJPOn>a^4hedf!3I-b(;uSA$iYfeCDxIxn1wj}mF{ch&h+(!=7kM_5A zJTgQf&6pHIl0PWN`{>zTGaMC`wJ2%e{fQ!WSdU5$;eNicvR5*h+__TrRBykKiu%hI zPgKgZ&Cub%9EYxY&sIo_hnwr01RP6T8QVT^4L#`B?6P1reQLY&)11&x0?AI>@iB|w zEyoEH%q}Z9ze>7X#~%kb2Zz=WYP8;SJq)G1^;7rd#aq;G(hz$Bc~+hckpNKawzRX) zURrO|0EEoP`ShOiI+estHLPsbIP=cQ9bS;ozO3VR{34?q#8H)Icam))oEAEj@X<30 z2h1?IvvpgzQzvzeKR{9+7PPR{=SB?O{#GEg%tLdkqvRN=WYB%`hm7lZ>>xEbL*vGg zT7Q@C?;HGrOJzN}?aq?i-gRp*E5fUHKq~L!g~-Z1_4NY>@x{`S6K{P4XQ}?syQ_I!d~XAz z#TB2E@J9B@Lx<7QIfC0xb}~3#ZbMK+&@`I`0qRSXL8yuB-sa>kl<=vL?ORbzM}Df( zHq!n9p^7QNbBT`ID{ej9gUwi^5r~Dfc#5cmmA!?t5+3xFRtA_gk5?ZlRIP?phcrC3 zBAv(vymgQ8ZbMCjTr0>sT9ZRJ+@WbD8OvWZUMph`DaEMgfL%;aF%d$gt4)0z37}?4 z(%OZ`ai*DhM?r6-oXOWMm6fZCd6r}R?as)DNo==G&HX_b)lu8PYVVQq($TBn!Y}iC z>U8?wqoGD}<|ZYRYfWpzhm%aAM)WTJj7r+NGlPq%!}uk|?%}SDt;y|bH>wdpQxD}f zg*=Vf0N9zQ(@YkFRAT)pW_zI-#&WK$!VyTIPvA(sEHUSKnkEQ zA1|bc#%mf$I{=q~ia{e<5XWW2k>r1ZtCRQkYC(4Qg$S?w7kGt=!3Q@b!ZMu~)5DBL z6wmT;6w4v1j6Y9S@zOSMh*99pR?C;}PxJj&qP9yez)y%td#}sn>B#Fn*gdW)c=Gcb zPa#<(!B6{et~E1bygi$wMg}lR`U}^gKK{|6_3F&%%>^h;F@Qe-SSCSwJO!+?xL6~q z4S+21Q9W2@KDAD$(*vehA+58~l4yX@xUPbU*QRwGcD(loe!r9TdPUnzhk1^y)}TW% zMjpxaF)*v#uW9gnR->N65?d#=FFDR?dLaojj!xF)G=2#}Y=2oYV6is<>}N;@{Q`I9 zmxeQ^kn?S}Wfydt%2f0$d|utSF6v#0U z)%1-zih8*XCMmQ>sx%H&h9*VlxRn4TiI(WwRar$>$UUr`?Up6!z4(`t_U|_~Tj)R$ zKMn2|KHC^bY%CHvar;S!z*5UhoG9>V`y&P_$DW0ZkF6m$Zc|)w4e+(rN z&G;`=CM9Gr9?O-fr$&au2ti|_OGRuAGoWnwprWS-^(Uj~b2H6uH+WsK|8!HF=)OoO zty$4zf7)7KPtH}TN_&TRWcVLz;<8`yGPGMU+ zlZ>2lda$XxE~cToafgAlA3rt@7dWqe{KeW~)MVGtVvE2QiBi;a;b)ZsZSrmVDPw=M zB8Vt)Z4`bV8EXYC522QFgc+Dm14Ti|*pIkhR|cmE;#DKQhyC$p+N4#HmWU*V%C+qO z%xXnM`^1ISF#B#_^xDSJiVZ8}DK#6_X*TG=A{#!4Yz(g+^uCVcG2^^Mi3V&V8q728f=L+ zf2>za`IM(FqBAv!|NqIbLksM@HZu05K>5fZ1i5kRxy2M~ zx+9B%nq^>@WC*}UQE!{nakM6}SI2{jRV%E8_nV{OqE>Q3(+b4b^9HBi3UwlHD9XKkr`Qyw<`Jf?9M^yX-(yNkY;)BQs9TfNLxA7olk4^# zgjTPd_R8P@Y}F%(CDt@Qol2oFR-C{a5OtfN?r@1WQs*-J26fERT@c@bR=gF!n38cmJ3UG)=Xtfs#ZzABu-?S9?}keico$|U3+BgNRP8u z*b49>yuU5bdA(LSbHK18MI+M0Bqj0 zV!Y?YE<@gR|IChKl3}SzN9<)MI zfVRn-brP)au1j>*@AIjsyK25ENuSooO`nChthFm^d4?L%doecmrpQ0gLRS+#zM*P) zWJ!@^P^@A4u4ISqGMOfCDh^U#vIngmx%%&I)A4HY&!$Co1*PoBSQ2Q%kk!ZaGHFcM zhh8!wrM_!_8>3bM7>fhOd`E?D23!hgiVa$dr%!6tuT+ z0u9sk;5+B4iJHfQ0q^{8gIU?DYYX5w8PqPOB@1VsGSe5ZW+5nr`!`<~%D;F;Gp5fI z)q04+`xmfk|4&Hn1qW$v{ZvToVnj>B=A^*<-z%MJfTKFu1^T1nQaWP#ZeI?Hfw8$# zeP3O@kUQux>W-OSqNjM^X>}tRCvCOvFZyN+o8_u1JLRo3LLD2MGazcSUh0sgMmqE} zWEmkq=)jlg{2C=c-Rjl)Bi~Ft;;ZeOez>Vwd{iIN+)#F4%ncRQ*B>O{!;N!%3o400 zIF!!)XWS)>61C@fQG%TSFXC_0JXbZ@q9o9F$BelNv^V!pzAPYp_iD#u-#(S4hczBirKiUG`+LhAu$3lqRp0f6?OzqEWE80^eGszoDpAXKIzDnIO<4t05|%!R zY*JPcG-ywQ9@kV|8x{nQE4G~ay45OJK*41q|IK0T2R^J(SbJ&X-v;}PI8?9=2gd%E z&`ENcLg2>?`=?7vp+LJxw2j64row`}qI;WL`HYSDsa@C`f4jVVfWQSfuaC}p#Y|rk z%{jrO6U(0hsygioEX?Qpc9Vq9JXQ^=-x3Eb2YEimWY*273MtTwksV_6UBFK#&RaK347+#%Zwjcn0WIzuYU1M3YxQ?Qtrp=VAG>r<+`u z$n7-!R9rQj+M(Xk!dHt%slCi9`e@MuX{8}**wMoHJuGk7i*|2vU<0BfXZYq61YF(^ z8G2+-Pr@0U?h130{OVUYU*%5)d`(e&o{sRqC*-GYW&ra)er908FhX#c2@tol}C zacNZ_vI|>}7+SnNWX!vpVKm!YR&&LN{RHU(Cp2u2eKRXidq2%>O@lugV)MO9c?t6|yZO&EioV90&bl zR=sE+qwyZ4TlcDg#5h=!vEFfpBSqydP=%@@ycVt02XsBzev2!ZHeMdMG#kx-+WJI> z@^qf1lHLsbzJI6&wa=Z65CsH%4H|ub^DiJrO>5~~edYfKMJoTJ9`pbG{h4~n23m)4 z57??h-QK8%`Vq}Zkb41ruqTF$(&{@XnX!lSc3LlfEiU3gZR=*YX>LnIL~hG`2eF!2 zh+JWbyO89WA^?vv0X<-U;TEN%WU$LxR?gRfpNlq5bCs>Oua{0tZH@D>K*w?3d{t`7 zGBOiFUdd)6HT$j{UE#Tap$t$!vm`XdtIkcF;GN{mSJV85t4=>%r;E6^zdqFNNO6uTMqA}rSF@VPDQ53*?nzUlC6sw{)5WIyFf z;#Qi8xS9efdgdBQg1|Ir=u?Rr0LM9sFes2{Gl&r}P_w^f)gDF(O>zHv%QwgImq!z; zw%+5LQS(bogwDyEMUnAao!n=GTtKNS#)PCVLv>gweI{3eaPXxtQXlIdmJ;Cy<1WEuhWWX`l{#xzcuXN>+dYzbwdM@R8W5Pqu{o4y(P&E^CC z=Ut>IGfJhBxHgvsMd&g=Er{p~1?xxrbmwCEJQ#C-vp=r~>nve8KBWarktg1XzOnkf zXN*HLRf3%k>pe!|xK`P4fdT88Pi_f{F8uhEyl0UOI6QLP6$DJo&|#XBg^G{G7cmjn zse@`qh}QTTt@@CSK(5>2nZXRjXM#qo$W3&g;{}WjK;N=7Ai1i@|zqnI{)MloHbz5~>^y!cS&)>a?L`iA1TNtEr zCEh1e&_axTP0g=P-CX`_c(X_gHb*JR}6^B#)EU!7U}o~ z5+`n66xA(|fH89^LJdW1oOfkCb!!ZW=GvcG4_@^m zi#l1-adZ*oMDg5s%RqtMQz)Go|E6?0k4OEN`_!y}_muwiFa?p3r%T(Nj?wb*MqC`? zRU+p%rnOyz7@pi9d8x5BRIe;dKki3$z$ zH_=0puth#3r?9lBpM>ISZ{<=^E8A!Poj6?f7&S8D2GS0vy?M%6h~Zj_q8cx zHb0I5Q!nz@TLzktddZJ9ahr_j*yQmHMVUNYHgSePBP&C7Y89qKH4(4V3ZHF`xpj=_ zao=;1XUNM?=vw$WMt$j}I;1%~K1QV=DmG|5!<0(JY#!bIu5k<(hmFO2Ym)RGf19Ts z+Fp|NMeu6gag?VhDz~YH_%!nc1|uiFDwgbya}|1wpPX4ig=T=o0U9wJJXho{GVzN% z@uuOLn`rO0-VU^T5-%{S6!cu1B$wekFxtc=lWPHXJZ z6)s@Yg@x}RcPk0h)YvdJ3D#ty`tS`eM{!zR^eYm?T0Y04kO>{9cDC}~2@Za&LW}K8 z-+kM3SwCs$>B-Hx1;)k|>Re9H8NZI5J|Sd_v--AW$C)JVXG;nrJ=m@I734MVa}7R$ z?r$?DcRm(h?Rd#_dtfAkcoy@-5h^&Kg5DDpL;p{&?ee+AiL26@-9)@o_4~ITUA`-N znJnl%1Z+lQ8*oxC-q^WgKZAj!0$HLcpCOESNamrbok-GLS!R6_Tr+z^BxU+sE&gSRK{5P*7 zzPFai!fyB64eZk81H&!fM&RFV@pybo(lhvbYS3yMq`pg$9NEe z``_^9)|0r-dYZ^*BXzaAo!IDf`K1Cx8ObfW za588+yc>wtCTo^2@z+>e!f z?pTHfCdyHREFX(^)+$aw_hKF5d)%&acf|xX2k&yO$wu^$0iEo zmRfSqRq$rc$63e@&^jtG0nb&0tX}#^@O;?HrR4GZ%};ojsLsGojXQwKbd)7WFl@vX z2QvW+r^Fo#<>)O%J6(4V4-}2;{uttK&OrL%eY!`C0mYN_yU`ZWe`5y|a6A@Z{0Qa` zMpNe+W5xUldlX6EJ!yZ-f#~z?y9OOB$JY$v$WTO^C%Zy9uwESN+X9`|uirWjszy3@ z5Xfe!Uje7tK{oj#P#O)ZI;YVX}p&a(xPfdREN@%AMH0|4f{ zo9dgw!vUCsDTpb%fnEPeF9JI|6mV)lk@(k4h8N7Rs19OUl;MQF=29DmB-zK{r|+EnoF|LaL%sV8>lnfC^Re@e?nX){8z4#v$Lz0 z;Q6%Btp@^5>;Gdtum*3~vF!n7`0L&eD*m#20YLYC%e)Bd=Q>2rkKaH2sc^^MaeUl- z@cAIaYL@C0#d};tsbWSK;BtUkC|!U|cJ~5c)F9^alw^a|oCgnV2&_xUx2z7Fn%e)9C?3uM#x zVYG@)w2^yuU%%n5W3^LN$Zl|gZ(U}=@1-8y-Vx%SG}@2*jno6TctDTG9te4Ls7-a- zD@pyCdqK3(BOsiEeBjoD*k!eEZ9wDXi+CVZQ37+~r+8=4Bh3al%ZOy%C@#W9lHr}tAlkn#tXtWnq8yT zTp2+&89evb`4aIp{WvJ{H5XOVIhktWn;qjpk>PRR$C6qNLP`KFo-A{?ID_9JIy840p3Zq^OH}GWLExSc< zFY8S)t&!iL%R$)kceT?vPr)0Rc@AAs-SZ0^@znxe3^p@KVww1?wN8hm2kafKI0+ws9H z_d_#?h`pI_banBG4m(-Rb$Ib_eH@)qy+z#K#Q}T=!fl>4{Yp@$7Mu2Z!nVMILWZXt zH(lDdX2&)Hur2xU?xbtClYFD@l*`u<^Pj~pXzMu>jzxMJK35ea!f1Jceu4XVe4f>< zYYb$WbRV$-m_*AEe3Q}q3q&tuk#m~}<2?ef!${0loJzwAlg{0XtPW;Hi#wc_dNngH z+{~So?Ji%g&ic{5M7v@`;L|E3Dc_!61*hu{^EEcK7DcPjaXn!pg0{8>-|%Xko~KL2 zs%#4M-+(t+sp)BT=~rMS-idqkt=28~sC0aEfY9-9oR=ic_jg;(&8GcuiPey>si?tB1NM3914e3}T45mT*$9oDDhPRIMf7lClTu>-LO< zaiU*ig>vkx-6IZdnb>-%{KYIAO8tZvO+-ablUr*b<->i*exC(oVccgn_Q&4bgApjY{iio? z1#uO7=A|?2Cs53W^P`KHNv8kinXk5j7N{!Zm2`VplnX28ub?>vU{Pc?C&#V-y&-G3 zI{7(1a3cACZ^*K}3U*?!xfP@bU8FSBCT8fBLDPXKa?9g0WpA=xOsi}sjUIIODwnr- z=RwLn%1>{kp2k1ZKPTim5Ro@*FSTwBpqjNojSpwFDYj?=gDnPuKCwSBFzG%%NeBgl zbybDiKo_+Qy3kaU0emtb45|waA6nr9YajA~>4UYdzLErvRX@KU*~(2#qU^9+&rS^` zmlV36XR6{KIOGO zxM0KL%-|=l^tesWO*hpTI5S@OvfW8EWUuX-z8CD4qE3@+SovTQ)WBaawrdh6Ok(}D z7wp-hF+lGBr4^GBu+}l(S9RIDuwF{eQFekg;eu!FrKsb6_c8E46%xQ*kgWI{bvw95 zTRDDBxPh2+BM8Aw4q)K)?2Uw0O~;jF$JyQ|Tei7}*rgqAR8wZNXgVD@1a1n~P8_sv zF*WV_rho^^bt~7lvU-w09sSeI(1@Tddr_qLvmQ_g!5X7UNoU2qMh(+{r|2B42o$tE zqm8Qd--Qp@oBsICHG5h>VV}h^tyo*L>}07Zdxo7x`CeS{phRr&nmCW1Omh`)uxy;BY^VDs&ukJ1qoVb0X)K3aVdG@es{_$hk(d+} zh8y9nU}`n)w4;qsTqfm8<)t_V#b*}ZV`K=SPq|)p%A~K;yr-x!Bns0i3t>wT8@l7f z&F*pK*cCEqjV{I$TdtX~n0ARVW6i5X-x8i%r8x*O3JVa*kXUJL^SW#1BOP=EzM0YM zVj~fj#WcM--mwGb7yQ!_njUpqp0Wmnxz%+AjYJ1H^R&0%mMtbuK(8eRPoC4##rq1z z2osw<7m)2sQU}g3`acs-P|J6*Pmqp^A!ocVn8_@pyt2Xq_2$s@cS7%uyT<~#0%=V7 zMldki!trRFM3>_iR6c9H<fm&%wDmuF)s;L1^D?DnWAkvzp)@nAb7FayIb-*TiL}|Tz2lOlH z16GjxYIe1qCwEE^YPnr??mLX7x`dTGRl8VUD{K$QlQXf#Er3!tg&%FR8%thZ% zyePgv{OF785d)CZ%w(YL8n3=495BcLOh&ypeu`47Mxk}M$2xqOJ`kxC=A%XU$bSDU zSn84~V2l%SUJvi6B+pcH;sxaf3X}a7K*@UZ?07J{2F9$8o4EX%IKsAHiMonhi(Q_4 za(=T1_ArU{*;|{!2XD*O?xLobhn`-zjs|cB zq$$ZkppeA5c)0L|-BQ1N;{8m7H?AwtJH_=X!zVq?8gUVA9-=X*J-Q-yTX4Ky(_v$9 z7^MpHf6iiv4#q4pXJCAFU4D$?(GU8VU+LU4VjUgH~ZkPs?{U_$(PeC@|q|l`SwF;kg34Wft zSuwuI#!;uV_K+tza|-{Jb!zM0_Ql4NB9c<4JHM(-{Pa(w(YCn_yceqL$;VbX zIe!B!G@|n{(HJ?|nRG1btn_|G>UU+ozVR*P>ixI{!gspev{m>JUFN0ZHlJ>H!ja=5 zl(Snb_08+5F`-D#^ayIE@i$ydPEv!Md`kgvj$hQ=fDa{Tnm_l5ibdIDZdE z?goLJp`^Jnt)_ueF+M8Gbs{}YBFHi_JmR&10q>E-b&1@0@v?55wkxulShIHwP_K@l zi9F5agVd6TNo@vJsCEAWv2z`ZJuxBv@;t8$#?J=B6)DY zpzG8(P7_j8$+ycJd$DxyDrWk{%ZxW7ZHpJ>XDb4~@s2!etJ6BL)r9%sKcvJ$?~S33 zsG8SkF!kFzyqEFh?!C{lYTWnW2${PEX@;a95t0Vn*I>1EsRceAc|rQI+@mkz8t?ue DWxxp& literal 0 HcmV?d00001 From 41eb8fe06d3472d1930dd923a8fc216a9f0141f4 Mon Sep 17 00:00:00 2001 From: DudeBro249 Date: Sun, 27 Jun 2021 08:26:21 -0700 Subject: [PATCH 3/7] :wrench: chore: add more helper tasks for running bot --- .vscode/tasks.json | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index c297b72e..355c0ed4 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -6,11 +6,11 @@ { "label": "Setup", "type": "shell", - "command": "pipenv sync --dev && pipenv run precommit && pipenv run pre-commit run --all-files", + "command": "poetry install && poetry run task precommit && poetry run pre-commit run --all-files", "problemMatcher": [] }, { - "label": "Run Bot", + "label": "Run Bot With Docker", "type": "shell", "command": "docker-compose up", "problemMatcher": [], @@ -18,6 +18,18 @@ "kind": "build", "isDefault": true } + }, + { + "label": "Build and Run Bot With Docker", + "type": "shell", + "command": "docker-compose up --build", + "problemMatcher": [], + }, + { + "label": "Run Bot Manually", + "type": "shell", + "command": "poetry run task bot", + "problemMatcher": [], } ] } From cedfe98f2e25fa8b2d912d6b6f1a202b4e8ad33b Mon Sep 17 00:00:00 2001 From: DudeBro249 Date: Sun, 27 Jun 2021 08:32:57 -0700 Subject: [PATCH 4/7] :memo: docs: document new vscode tasks --- README.md | 4 ++-- assets/task.png | Bin 21089 -> 25258 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index de2f63bf..450da258 100644 --- a/README.md +++ b/README.md @@ -59,8 +59,8 @@ Then navigate to the directory `cd gurkbot/` 1. Run the setup task by pressing `Ctrl + P` and typing `task Setup` -2. Run the bot in development using the `Run Bot` task(You can run it just like the Setup task -in the previous step). You can also run this task by pressing `Ctrl + Shift + B` +2. Run the bot in development using the any of the `Run Bot` tasks(You can run them just like the Setup task +in the previous step). You can also run the default build task by pressing `Ctrl + Shift + B` ## Commands to Remember `poetry run task precommit` - Installs the pre-commit git hook diff --git a/assets/task.png b/assets/task.png index 55d3a2f35d02afff453b19e0a823741b466b6e1b..3b9274a6390d8262a3e835a4785ad05b03a52b8c 100644 GIT binary patch literal 25258 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 CvdUKg literal 21089 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 DWxxp& From 3dba3d883ebe1d6db7a6a0a89bff7309587709fc Mon Sep 17 00:00:00 2001 From: DudeBro249 Date: Mon, 28 Jun 2021 12:39:58 -0700 Subject: [PATCH 5/7] :memo: docs: increase readability --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 450da258..784738eb 100644 --- a/README.md +++ b/README.md @@ -52,15 +52,16 @@ Then navigate to the directory `cd gurkbot/` 5. Lint and format your code properly using `poetry run task lint`, and push changes `git push -u origin ` -## Set Development Environment up With Editor +## Set up the Development Environment With an Editor -### VSCode +### 1. VSCode 1. Run the setup task by pressing `Ctrl + P` and typing `task Setup` -2. Run the bot in development using the any of the `Run Bot` tasks(You can run them just like the Setup task -in the previous step). You can also run the default build task by pressing `Ctrl + Shift + B` +2. Run the bot in development using any of the `Run Bot` tasks (You can run them just like the +`Setup` task in the previous step). You can also run the default build task +by pressing `Ctrl + Shift + B` ## Commands to Remember `poetry run task precommit` - Installs the pre-commit git hook From a03e25592300d5a1e30a9bc4cd74a0ec63ae4499 Mon Sep 17 00:00:00 2001 From: DudeBro249 Date: Mon, 28 Jun 2021 20:31:39 -0700 Subject: [PATCH 6/7] :wrench: chore: install poetry in setup task --- .vscode/tasks.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 355c0ed4..7d293ad6 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -6,7 +6,7 @@ { "label": "Setup", "type": "shell", - "command": "poetry install && poetry run task precommit && poetry run pre-commit run --all-files", + "command": "python -m pip install -U poetry && poetry install && poetry run task precommit && poetry run pre-commit run --all-files", "problemMatcher": [] }, { From c5e218638eb9652cf4b130094fdfb8054c41aefc Mon Sep 17 00:00:00 2001 From: DudeBro249 Date: Sun, 4 Jul 2021 12:13:43 -0700 Subject: [PATCH 7/7] :pencil2: chore: small fixes --- .vscode/settings.json | 2 +- .vscode/tasks.json | 2 +- README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 9fa20284..1aeac5eb 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,4 @@ { - "python.pythonPath": ".venv\\Scripts\\python.exe", + "python.defaultInterpreterPath": ".venv\\Scripts\\python.exe", "python.analysis.extraPaths": ["bot"], } diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 7d293ad6..355c0ed4 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -6,7 +6,7 @@ { "label": "Setup", "type": "shell", - "command": "python -m pip install -U poetry && poetry install && poetry run task precommit && poetry run pre-commit run --all-files", + "command": "poetry install && poetry run task precommit && poetry run pre-commit run --all-files", "problemMatcher": [] }, { diff --git a/README.md b/README.md index 784738eb..e55faf4b 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Then navigate to the directory `cd gurkbot/` PREFIX = "!" # the prefix the bot should use, will default to "!" if this is not present ``` -4. Install poetry: `pip install -U poetry` and run the following: +4. [Install poetry](https://python-poetry.org/docs/#installation) and run the following: ```sh # This will install the development and project dependencies.