From 6df2450b603f4fd360060ed26bf553e892ec43da Mon Sep 17 00:00:00 2001 From: Abhay Kashyap Date: Wed, 21 Dec 2016 21:46:59 +0530 Subject: [PATCH] Created DefineBot and document and added them --- contrib_bots/lib/DefineBot/correct_word.png | Bin 0 -> 74801 bytes contrib_bots/lib/DefineBot/docs.md | 21 +++++ contrib_bots/lib/DefineBot/wrong_word.png | Bin 0 -> 19314 bytes contrib_bots/lib/define_bot.py | 85 ++++++++++++++++++++ 4 files changed, 106 insertions(+) create mode 100644 contrib_bots/lib/DefineBot/correct_word.png create mode 100644 contrib_bots/lib/DefineBot/docs.md create mode 100644 contrib_bots/lib/DefineBot/wrong_word.png create mode 100644 contrib_bots/lib/define_bot.py diff --git a/contrib_bots/lib/DefineBot/correct_word.png b/contrib_bots/lib/DefineBot/correct_word.png new file mode 100644 index 0000000000000000000000000000000000000000..2b5ae1fa2fcadfee84c77c8ad4df62024df726c7 GIT binary patch literal 74801 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

3pb7up|LC!2zG zEJ_^iQQUARGr^V<9;e_jG#xL9{~epYn2x+$SgqhLrifzmpzTM8Y;3NUiHN;M%Ql;8 z>hnFUX27+p3wJ1&^v)hsObYK!ja&IlGn9WD_Z8+rn8W@gihfL-ewGq+p4jp2I8e&F zmVO|UZ=p>y0!xIUh#@8n>sUQ+SLV?2$kN@d@RU|wdA8kdKe-#rupL-?GYo_>0oPso zsc@2fQ%4O{bM0xf3>Oc&3KNJW%jn?PM5i$z6)B+MjVnA=a;FRevJ_+aO7}_KEnFqz zvuD2j#ERxKBxTZN{<$*ddMtN3*m8Vqlx&O-EMskmKmrQrlEX)5ScFxCHtGxLH*HXK z3Fqs~SC7}&)h}d~OCT|Fr;4#w{bzxG{11JqPjZK1@-Pt<|W4BvQQ7OkG}DE5IxVsrkL$U?Q?283yE^hm>M^Li9Utb;-weM zpF+l0)O983U#W~k!?Q&QZ5>G#)h&5q3wyvE{Xc}gb9iOnvhUqV$F^-d>DVi_osQkH z)v;|G9ox2T+qQGlzq8Lhd%yR6p7ZaVYtFUiST$QmP&VG0V7U12bJwU6)<JUoSch= zU@0MySkuNEo4>BIKa8{2DW#gp>*CQoWNsSR>Oc&&Fb(qEjkh#)7(lv=vzB1a2IHhe z+^LXX+fB$B>q{e4DwL?~yMy)d+g@z6Z4{xgx=hqbE(-m6g-*i@+e|JF%U_5 z#UylNp2}P!?YW3C_}fG)JQamR>%1hu|rt({7jc@gN@E0~yc>47NYmo=!{0and2 zFaa{PGPV{OrnOtW{4}a0483|-Z;2n~V)7z--(TwIc{#P#iysHUWhOe-fiQQZ+D5B!`NQn^3-}K(*SV)4)H}btn zi{e_uPjoNwmYiS+3)=JtTykd!9LU3}b$EZYi0jJ6*HW_16N4F_EU_rX%S3pha7GPh zDVS6d;VR!jSX!O%Pl)}nBrR9lmd(#9>pBs{Zn!iRn7u=|If6DRai!%EwK|fqnQpA( zR=dw1FzD-v2${Q;J8Ngnr*Maw7N5*3j%w|VaAc_xnmvvUw_3P_?AjTI>N&F&2i2hJ z*AVmsE^WGN8l?2|d-0)@8m1^Y6^vPo_@5NmXp9v)=Om?gXl%~yy0Dd&t&IfQzF`?O zM;rIzz=de?UIw=DM3NW`*w)sc@Zw~BM*^}YQad@#$iCrOun~Dzgb$AajGfV37R@ci-%abIJu&|LBW%1EP-`pIavN$8JTVuhlK@lo0FdG`cftR!`755zh_eX zE&MXmqy9#{p1?`nAbckzZq=|&Fj;u{IPr0Ia_Vw{h>|&*p~jjSLLsN}D|3?ArY?*E zX}^Ux)%LD+L&`{O|H@zUM<|msu8HUI8di4=6L1a~&L#fS?fk7RfZhilFxpOqd4>h68cj78=n}haTfqKoKpK-2Ac@lYH;m?~U;b&hl9}r3 zn^8EC>KF4Af+d}ien|G}!fc#yuRckw~%lS)FNM;71`#xF|60QR` zXL;^N&n&6PeXN7{UaVDx8!27-uEG-MNV{UuuGUzsrcq@`|2GG?Jmc&)qyyy#c26ux z3x=SsI`5xg^Py66K;k?N{T(Vj)I0u&1`%g+*>S$0^o|jo+&c3N-Ip88YCN(@F=E4v{O;H%RpXA+VjMJ?ZHI z3$!|h=t+7RV14p4{C|cW{iu{hMhq6rYf=H*mPEDEn@$?-hKe~0svjew@qE}^k~iff z`7qe2c2l~B&?RA{-QVUdMGbn%%BYt@&sIUDBrLwa1h*eOo9+@TiB@l{vuMm-Pz;agUtXaHVtYx^)ph1_GS(X;OUQeakM*RDfLxg(bH`m@7w$|q z1Z6}}kz#%i*EL-Zed*)Mf#(oX-v2`>Pce9B;4P78Od#D?4hP-RN;@QlI_V41ZPgcw zGW7`dLTK{cN#PXRxe;5-Z4T!|7n;XlfFG*O9+@XkvswmsNlnPk$<^`n&k^D^AN!FN z+#0K%l@K*|UlaSQ(|v;#PpW3vp8aJnlI!FwI!0~7y>juWMByv)p3^=+y<@8|u#NWI zd{sK<++1ZKQ7Vj)nEFxbb%lVw zuKfhqf%)}^9QjKH+68795p&3f`oN)V0>J3WyB&Go%qTYfuVgwzC(`l3lsDedkU!Q#CDkf%p=nCf3niD76F#noMKR3 zmDAUCyqthLRGAeJM|?329#LpmO4*yAb_7^CXEi+{EZ|ggp9z>{l;Xw2KJFL^l309U z*3u5&q0FQSfHan{Zo*}c(2^k-$4r;sglv3B*$*f^TuvfDDWvbC5G^*0C zuXxH7z%~}gx_C||4a1V=JBMcL-X$wcXGRL)95Nv>g#n8lc6rff*~N@?gy6#yTt#)m zjjqTHDD`u3`fe~AO{b+T2;#QyPA-)pG!vlHvG53}vokS3&_K7PZSI@euyG|`=Tc?r zt!G`}jXRc#*&vQFpLqP5#!X9KB|9Tb^7zFvLftN?FQ-iOQuxvE1}iO0Q%C?cRB?gF z3xO3YZ29>P>=c2*JZQ!KuXwk6$QVx2#2g$g2@^cr;UE@FD*iw8 z22>VE&4HE{xE%1DXZ@Tkxf$@fj6W@2Jvh zX8Cu`*hlhr*M2qD0O^$c8pwZ~fR_EzjG-sfCI6FM5QETR8!aCevc|OrPMS47nOdz0 zXtc6fUcpV)h}bV_eQDU~tUkr=f>WW;y?zzNr#RTq4=rF*^V0&@k4@o?^u6{P*6ubK z$mn+W^r^ax>}Rp=y6N~^wROkb@%Z=J&l=dScqi1QDEB^Y9v$H5}jKax<$Ec z4y=a;#9%xfRajFCq!07njxI-P%>(#mpNr{D8~IE`!0a>w-}kTnwgXC{_ZbyZe}Ky= zgEzHVnKYA4lR{fjCg^dRtLp}QKX+GHU~!NcHPov{#Mr2Y!(0V3ko17em#E^5j_n9s zfKb6^&U>$0C|w)j3T%jkcTz05H@&uP-z}a1bXEk8ahQLFz)MOBc}1&@M1G zn{}n&J88W+!$KT#{2D2zDTn-`F1?7RCHHKPzX`QlvE(-D6r&eBR{7-d*iH&*?Yf@w zUZP2e+2ArMhm)~qKkVr#?F;^L&vv)}&9lg9CgyrX3|;xc;( ze>Qf!>O5jdM269Y+-dFr#>T-!_QpGy_mOLn%yAYpR5eltB}a$i4_Ykq`#nu^dQA_f z?hC@S_A5e@VM{Mu?7`gA?zYArPj(aO^OiL<`F9 zB2u-c2es9~S{(8}LL=r1)km_**MiSOwFsX*0QidX%%elgF2_hji}YGq(@ran(l!-L zyz)EBxPKb94Ub4~zbegrnq{__M=9NRoa^d_g3*p^M?6)oD%cFHv z(bLV$?&6%lW@bXGMD6pgn%%d@XaK6J$m^5*BEN#xU}64IE&W*}vSMNaXBvL9&KlOw zvh}VX*^hg4x4551YtH#cCMtMuMCxfkx0Grm$ktGC27ccS^T<9;H*aSu_CmG#u3&pD z@5wwX!FUEsf?C6zL92n?ZiwsfGD=~-f~>P0LZB;_;7DsFkfgG>#-^Ih;CcYCMrK6N zD&9x|(B2$+Wi1A<$v3pga%V_;{rJ|+{G+zVTe={dlNlWsi~2D$k)QV@NGEBdYk6f? zNEJZGHs`*ztif*?tem8=xn0rnTZ+n^pe!sL+p)R1nAm$=!4oImsf&j({6x!2OK#(< z|IgfqnB7;|o_PLFlskL`fILFre8Rs8jsf^RT}NQ7B{-$E5i6xYd#*8N72btmYCce_ zTss9|RhMILV>A6UT7d~9@>iq%^B@{ujd;yPY zJ|<}Te^(WB&t8nreJb$6dLzxPC^FZV!!$=XD^yx;>+&oHWC2_ugD2#=49; zVRLq~Qf?MjfZh+|@l0_*#F=_OV1GnMf_Ztfc*(vbem(bW8jmz;WedTvkb#xzg-~?4 z)CqchiTre-EsDwfko4R=Vfah(G_h))p}QDd%6xxyix-qvaV?#Zy&hx@yE@U*{wo=iXo-T?rL|v>e$p zA@6EYriiN>InaLNW~cjmyTcf(G}4$TpJICjAET2)!sL^pzEtAIbRiR(GWtVGI+AKU z;6x4ClZOq_(-LG4EHkVcFTqjIK8lI6LDr0xKK{LE6MfgP^T-c}swiKPp7YGMPT3Re zG4fn>;DsyUrbGr1>F@b+tCo9rhO7K=u99UTT8{A;id0@!Y`elvnbU!XyI#tY#Lgm< zJ2ymlqV~ARN)Pi&Sx_s?od;Lo`p9b(KkzHW#p`^f)|!HeD9m&cX@7Ch^oea;C(UC!LugY)PPbB`LFZ-S%KVDP)Q?8ReuL; z9Y2zIM0dZRwP^0KjQS-#UL-*UwX0AK))g7u3QCX6(fNR`;a^;h~S0@qiVw>v`zu#3JDtZWkVt*rw5 z-gH5LM{K=mJ)cg^>Ltd>bjvL;`W5yTM<6IpQ{{H`%)g|%7s0Rm|C^PN(5G)GBQlXM zM*R7#UhHO27I2gz26067X!@4$kcumR%F++yY4fh3g{#VXoOmL~% zmP=;%($;FREi|O}1Rkt(inuTH>6Ie6bGR2qY-=m!?+Qkk#V}K*y)qhYVIn9=SsEl+ z0BdRortX=#)hSk%V;*!YWcxfKF%GCA)^VOnI9~+DuzwX#Q z-<~=x<^4Yb^q9=mr%!Sy0sF1@`bX?ko!rCpwt=mPvc!@15NGway7gRF;jzY;Z zb-fn=(@IMKxfe`G6wa4SMlut%eutbfnNnh$gCg2Sq-~n*J}~T)il0L#i9+ey^bp?K zr~Bf=gAl8L>yT5?r#DFn#0nwQK|}JuI{nUFh6ZaFM-8lfPNNo-;cyq^(2jCHVRsXs_br5%rK4QTfI-nj5>^0 zzF_#u%JQDZftSKAc4oubRIC*? zXyEZ0f_1Ptcfr|cloMi}F*Y_NBf(w!?S6=A8S(lPqB>$)ZSn~xGy+-|hQNI2jyhv2 zfrM5hqvumYVI5`WP^P%|5a4zaE!*RfS@0-p$M~Au`Ce!&{kthlFgIa*WpC8EIQ2m{ zkcU~(J!Yu5WqJmwsG+81wI|Ri@!z8~f0v*3&mS9^dML6NM&{9zf0*eo zg@a2|^sw;kZ0am)o>7fr1`>-)RG4Q6odzw%bNv$uQt)mP(C|Zcgr?)uWh~IYS+%?W zTxIl+zk#a%KnqhkSzvj{reLiD#0x;z4krzN@VQ^Y&56_m!txzfa#B)VK8@VL?!nd(@k(VS+JEtG?1Dez+R~b=@RW<^8R?Q9H|h zWdqI1G3pD;vu7l-lk89wniYCkc?5g)jy2Vgp(E>4RVDpP{b;N1Qx=%kHoKGI)E9sr58~ zz?9L})y2Tv)_eB?bkk2%;mROHRe(0rtV)9q89@4$!rRTtC0{)h(LtcIN?qKX9m?xx zpFNTxv#VxJ&=->qyrYGX+)783B~94jATj8dSAG-Ho3N^=CBe=d>5L9U0`?Y~P5xW& zq?wU3;yWE44Qgd`7qxP2RXN8y*p2I(3#CgRvRItxb!ynl!9f#6gyeYNY(?#N=RT$+ zX?+KsHgO8k?%8G1jI;X;Vy)V-*I`vVe+?U|{pKO22H!YtUE8*dBiQ6O%{ftSeJ&w~ z{vQhLlZVahmEUCtg11Dp=*B2(Dim&a9e6#({NKs0U*BBPX5U*I4$fm7pRU*8fRXiM zO2FHD^>8}fMcZ_;8%K}r)Hsz+b?>(tYpzwB>LPj;R|C>3razBYC#$)nkc# zDUxIp-)fv?-{)l(vb^*wJ!QBR4=rLP)3wiW6x=dP!`? z%F~-=w7M4|BK_}(*IF4qZ2HcCbDVt=yf`6iQaq$cvYQcZ=?{vu#-af$&ZJt3NJF0axLZT^YGpu;93xi_>^g9oRu~f5`<2;c3Ddx*q z7#NFWcVMUl6=YtuF+*RcSG^+Rix3xWP1f*)^_e%f#k1|eprkHTmMYtEtqNo2<5l#9 z?#M5R5hsN^C0YuB1<%MlVtVW#734_Rbuj@GDohDxtG=nxBxBi`r=S(%N*RLNp*>eu zvmzkDX*6K%7m`DxUq{z35e42S+v|=KX}Iu>AtB=y107$hh-~i(63C54q8(9G^(u4pV$@u(+c?A4rN{(UpmqYbme#tPM0ST+`vi*L0)r^$~61E zY-&iD#4#S)Ps>m<;A0o)S2oD6=N*8xoB*tbO(RepqYoFf{2;7w^@Z7cQ3do!R+5Z5c7%IA za!?xJ7Pk+<-5JM6#sm8XdH`7Rr1WtveswKQ!HGp?bmqv5&dNsAT z(-F%*)Gxm|t)#acjZA%VbJEDD_Gxcg z!Msgc8fCvPC;M~B3XJ8G_1)*eCQ%)Ixu3U>kDj0w>6w?67{7#h>%qWfCf4u6vu{T0 zYyRQ^uNkC8-V9y=!)bCeR>ix^nz({nIB2++dY)Pr5IiQcrF&oSH-2)tRuovIA6`tYuiyJAH=~IXU+ogwWQ_KnUYfhs>5f_8 zy~&>J`c8u_)v_}qW?O=0*nO|@mnO@ z3c)mLonfVrvp)Bq1N{H@JbcJ+r$l@tX=%y-d+47}Y$XY1Tcz(SWV(|TP2$(xNUT*p z`rFfL3thJj)6pAW2sZwdCw|A9sALk$b9(uP!CSZHi4h>QTQ5{|MQIh`uZ(* z!YQ%|rXP2@p#~p2mEirXNm%_9k0OrFIG;Ul9&IPl0Zgx2Oo1OCi0O@c42KNQ@vj(@ zw@aJDO0#|>BU*SL5|+#N<_-|eiF;lyAE~(_|MUB?d@e)yv2i2>*~5yGIlxrV{oq5( z2X}Y3Ve7H4B*``iRQj9APm6-37H`h4ZjW{loN=x6NWCeYdkheN|De4@e$O^nLAnjj z_y)W-uLAxxSpReHPF`Ru#+r0KiJ8tc$8^iZHhoFhL$ToTgK>Uub+BrncHBR?Zke*z za|#j;aer)zpQo|n)E_;r07u%_lvc$1s9ECFRHg)X2ORvc4rTto1)g8PtF-M}hy1=5Y z`{9W<;K6{x7@11u4*YjwN>?I0I=Cx6QXk%f%gf7N2Zd?GKJE_!LGHw-C8G(!kDoEb z6K2N_nstiDBqCB9F~UfT`SQ8k#6ps7oc##1g^C15s zix_Fm`q_;H`^#-6YC{cDj!|wF57lrO9Z4hNa!JPHp6tZv21f1-PTf`ld__LzzkJPq zTiiH;>30*%ChBhjomjvRj`!I%+_Hx=Wydq18=h_a*{yMhiTT$KreGNEe&_2}G;I_= zJ#2I$VB&_%^x&D9@fq%oF)hNrr-u?0lHlyFA0jL?G*odT4s6U&sMHiLhRDD~TUGbn zCX@;?dWQ-o`i96U)g78B1XujhbKC|s((2jZfR{Xn(YGY(lj6P62Cy6n@$v+zGGn{2 zwT7ObvkG%LBjAVc3P0Uz{Z4AnmSJW-O7`@dujg>ZsR~}*NQQC`WaCS#6uI`L&ij2QukEf1t?iEZl^l2SsDzv8k$}AI1QzB2vZxt{ zyJs;0&I%rPkcl+1d&ED|PQ}4trkZ;w2jx^5ko=%3&v6oINteXST?6@ykn8tSA$M$8 z+Deq4EE9{zmpT2sPEmqGbi9m=WCMbDNX`6PD{V=SIX*SoAF3aDtY5U+zMCnB0ryLC z;7Tdd>KQBb{+Bua*PMRqfvEGTJp=q`@5(j!47}LX@0uZjs{!)J7GiH*A}(E8Bwg#* zJ2TO@^9`uokmRr>*P0O7h6_;SOhyJ;l}Bs-p3#84QfvcAb@)ZCUxrQpMsjE$yO+Ml z^YWZw*RSe{K0w6v3 zZ`N`}O*92I%b;fEKvQeSzEIXPNH{jbml-v=)$=1TT9+f*$4AfDCFuD6`(7A8>(C`y zoND#w3sA;D57LKJ)>bNbJWd(88kWm@{-~kS@8ra_=`}vqTh)(X+l!U0{#+XY!WJGDdke*fkO zv3zu~eb_M6A8g3O84@?}@=#pOB1@U*2-yTS_+9k*BQrzIAD*%d+?#{Duf;iHsY-cS z0uT{Iu(bgSd~8BMr@7>zl1jnVFjGi0bmrpj~2 zlV#kI4@Mk5Z-1!KN$GpoiE$q4Z|(++D}(gI#Kej|)hp+)$=KPmU+-gL;cu0)KgctKof!MAqn+>{-f}R*r~>F3rm)dZZNM?pOLMnk@W}FWov6&gKzG1gzU2 zu00>ZIV|G&JzAMpI7Hm8;kLAvKaXw(MiiF(`-1!Rtmg=(ejKA@E}3+kBb#tTSR-rr z&8@9uDx&{pcYgzsH(`jnL6-2WV!^uN|CrcckqsR1iu#A`iJ)Ze|L5j@gi~x2c9fGm zakGc;P~IW#I9Yo)7c60i(hsI+{Srfk3hd~bl6457YmXe`Z{W*X(9MpCS@=K~uJ5Jzt)`nniPg zw2%jHYDBq*7KEAo-7+x(TkX&!*;JtnzV++EYbZC*QHTV&ST<14cQWwd4+`W3X?%RU zes--RQl?DmnayE0PWGmB{W#^6UrUVqTw#i*LZK(*n2Gv`*@M?yOt|?dQC1P;{NUPQ zW=_sh?{V#JulJTchep2*mc^f|4x@4nyT?|fOcK`h#^1;a<0j1q)73Mje;ijDKJUK{ zeXVUJ9^!QiesiY#Ap5kg9Na{aLtp$GcMF27^s3Wk>K|aJMS$Yhg>vKJ%Qh$uCd?rm zI60PbKN=cm6m8B!F5hEr1-K@QWpJz99metKbaXk9`Q7R7Z9ghEV7&Ks9^!*de;y9= z(e(3mbvXETe+ZC6c*|M37vV6!>9an&Ey|7%=o*N`4TNVsM;Jx@LKf=M2Kypu=RxrS z4>(NwogHHScce*yt+r_nqhdXv#&Si|Z5H)Sxy=urxFbirG+We)98oMO6TPMXS?-B#<`C=Ra<#HwF5x`jzLEaI02(W6)7 zMq7zw6SPpxBGcS%7Q!0C7LI1r8Vm0%dnTZ>c5y`EeX9XwSD=&Q>wiQ$b=u;>FaVac zy3O(KUPWyQuGHoE>0}ipX3CqY2Tq;HMp)Oy)-Lys&IRIE0kSKnjaZx+;#sb#1+Avi z25HBdRwJy>?L5f^2CZIuGqrO=79qR2&ghR>-krhZusG(Wbx-9ny(vpuD|D)Zh>dri z!dPef=Dyk;WB_4^b}eLw{D1tR%U9IirGC)16~Tk&TAm)M<%Sg_Ji^GN)HA&Up?@h$ zQv6?`+TG)$JqV=_u{{=m()+iXA=dF7=WhSuHHymszK!i~cxp(m2}2w{GZ}JJT!FD& z_?xOD9-KpScl%R{v+T|@DAdV}Hqq#@k{~_0_TU^+ugo?zL2q4* zFY>sexxs#pBUF1uWifs36bgVymBF(c;#r3)=@{B}MM_2M6OIf{flT&@WOhK|sLKJo z3WFf|Wji(5+nhvMks=3B6wI?9K)7%=J}E2eP~_@F8z`XBR#?oPE+fv>?if|kctPB9 zJyH55)hp`m)r|60OkqDMpyUI^9$ZYg%q?PSTF&)Uk1ka5CB!jb>IJxVj^pvv*i#K- zqF_Q=#Uf)&EYG|q&!6ri;x>IOIJe%(+l%9v7AD##_9rwRqX58~80da!GjpHWN`$;rJ9>FYgQF|>|} z=aS2{p|S4~Ro0meuJQThnlF-PR>KA7W%fFCJ>+EP`8v9NnV{XK5QEr8>!d%5+JxQ} zBGdHY#HSmK(p1j}YXpqqX5rH6=8KzbYJp;M)|`}`0F!#VUr~!X8)k^!uS~I*k^D+o zg+f~7(It|Nny^zE^1RFsl~yV8!!sv#X|7_(K7&-YGzU7U9G)ly_tXZsf4p_JBS@d^ z;?8F!_OFO?n<+J})&!~zj};c*?(AxBBXf_}VT^-!!Gkbc_j>BtT#MI%`6OxsXT9V{ z#lRsq_h!;r-|njFdT&#YmNrJZ#sQ_ZIkHRoh~9BZ*Ut3j>fp4ta(8BpnLM0rX(4gI z3)$t>S%a;squCjqC~5h4E%xri!ORj4G}C8Ub=EM3s`4I_g}g!X{zOGZcx^9hZ8~6i z$JOF&G8W8HdzFv5f(|}nxmta9cD%fri*%=V!0BM7iF1`TcMKV4g9#*Um09w#xLR@} zQ41-kH{7ChO@PWwc^3V zDy37)lgWiB7cqS$VV|B>hm5WaY0<{Lp56>11wFIR4 zy1$>YEDK-iM6m*ErE+X*U8duO2{H% zuzR_vU)MR4+3D4cyRnmZ%-c<%Nd@*a$j`r#ao@<0X-!;j;{byWg-1sT221i`LAxvD z>giD|uJkz9CpK~0ejD2~nr)*TU)2iR#lp&>-p$hFb8by4$hA%DSKAr#6BkPlMn-hE z1wR+OB&(njbkWLy8%;(8mKyHi(%`)h7>>)9*|kQ%s~ldEY48ml8EtuoP#Pt#uWIfU zWHzr33M5EsfG4*E2ikr-U7^Fp+R4oeF>5&SpKB$cL#+nbwWkhCGbT+m**O6a1H$%U z7z8``QyvR@6$c8KI&1Jxedt0GGK>V)@{KxXLtr9=7!msUYy_jIdl52)pN^yX%y zc+kEG{x}xqTnVvxpe3K6thrs;(d!IjlAq5p?}RsrmS1&um(HxRu<(bksD1knF}7_Ew3?ICY5yT?w{x$un1&f8OSvVEc2SLO!zU~`Uo zY{z+q7HbL!wLxgIshe3laU8_cOVP2(Ejv*kQ)+Qg$X`sE?(8?{tdf;C$hzxQtrW5r zb_ZHN_LpQPjlNer>l5mZNx9M%>2}aukt!{Zp+D0Et2{;+8QmxRv)^n(9(0S58)6Zx+j+rvYy4UmbwV|5*|W6Wq03LCZaMI78ULYFs?WQ&o6~b zlEd|a;Jid>f@SBOV6If<_ex<%2Za$BFE4IEI|Y~`^^?2(Hf(+iqO!01ZC4})Ce)gG zPIzzzf0BKY-=deOcBA)+dL6Dw*4ANqAMUNq!`g{d8(!aS$CT%%R+`E3?KuEZC*@LH zq#EekRX)qt(cFcyqjT^MD0^1PWDfkm(3=Oc2hSvy11k^AjIbK_xI|+>PvtQR%@CUA_?j4tOzKnna6uE0 zp8v5o2ZY~JdYJ3hQeD&hZF3M4h8Hz!Pj#*#Kr5W{H9V2N2)VfVj$S87Eex+sYh8Hm zk*^Ots|HSAEG?_9bf4B^LVgK&z#DxwN%++@)H%GmqXpX1!)SY3&vz0iQOYD!qve-B@Qx1F608}q z)maW(J=o*`R{8pYP%BSz3ak$A{8%`+OF(O+>>=srvMWWKV1Ceu4A>^e_RjVGm8 zv|iM$8ODsJLCb=l*B8|vF1k*mbs6WpzXV&L2>vjLx^CM=9f#X(6&mOAqYv5v@!+_% zO7`FI=v`;IN9KS}>P+9>rO7@^XDPBP_@Yim_EvjaUEB*fgxMRiuXNuL!l`4AmJ*lB zN!^LAHQr7aIVX-CiKeAIn+!*%)hhdgY8FoT@Ny!9i-(wzb8*rB2_iZV-s5kF&~x3F z(G%g$5^7X?dqVTO$HfGC>nuXuBSl`+jIP2W=;$W`l(QL`QNhvTi5@ynnEPQBgc(Pu ze^3d@FL3gykj}A@S2Nnmc*1IIjxM8`rQ05Qe3rF+;7xNcE=d+Aqg*_FCIQ*2D7nC* zoE*B?!mi5Jcn+YZeC~tEUiCh{^x*;H(je{iDDCTrWrjo)2eoRL`zktL5O$3%o8jTe%@Pd1v}fZNiOP(ajqLTEwuqU0e!tkx}Aqza}cSDy0+ zC?b+7d8#<=n;LgI3X~RemukG->93#gzgjLoa`t|S)oQRcz^ml_88(0k2d%o^=2^Iu zK`h8yJN2CSAPs4c#A#9!T(RMON4w=(i!pgb=pNill-0Ao5>o%wEyTGe5i8;uGgKm& z-DBOTpV0{}nYZ*;EAdP%p7x-M>UIXM=Ir($EE6j?_>K_KY;)1|)n`U0Mr75w4PH6g zqt7b{wu)%Nbyn{H}mWFx@^Fy!r59^S81u0xL*i8E&VCi9e!6k}!H>17W{y zP>XSdr{pDF#rw=H$*svMMv%uda_s;gm)w7lhS3#Fo!{eEF|{Sa=vX@VXh21nEW@4yOC zUOelasf8f-#E~K5nQoy77}=f~UVRgQZ{L9$RJ;*(5_ZoAq1!Mn5?qz2?}zDy7n_O4 zLeRBZ%AA?%AEJ!X?q70yo+)4J19`rO*e#bKRL6Npwc@j)FE?MKcANrKI651IVJ)*~ zCkLQTJmU>?UHyj%>AYChZQwg)o=vy&;x3J}LmKeVaZ`W)ZfyX2iRh&V<7^?lxC@w(Gclrx>3ZO}KMt34==5zo6e2ssRw4f3yfMbp5t`b~ zQb2f)*E@ejw42+^;0QX)?Sf5eW;HII@MiW5JYG`@RJaKf#-1FJ{#F9lPde^jf#}d_ zVrsnvJ=h0+g=8*o!P5Q+hj2);{k2qm?XJ&?b)qU|NIG5$n}UqIebe0n%uM0)jPRMv z9Sj_OLF<=PyjQ?!nvfxq!vJd^LD#ty;yN_w=Te8wl#o{a9q%6S#Z~cect}jan99nO`c_MhdYE*TOz;p-QPRWK)=3hFZgkvhb~-Mk zjfKZ%^&%S>Yl)*7E*Y za+#rZp+GNmTt$8vY))f7GIlrLUbT#&5id#7puN%j#q`E$vCk7HdXyxVeN|j^p0;)| z;qPY`TvszEvXY?kF#2e5|JrO)0(X7@^G(dNp$D;}r!`G%H4s}zU|&$#lrG#YRY%bM z(!RkDT_;Z*4Vx_)_11v4Hwk(#IjTIQg;=u#nv@O$hE}&uhi;RCJn2`3T)I-B+reZ* zM`-?;3zf#XkSEMzz87a(7UyPU_?ECHEkrZq0DoUqj(#cA&$^&xScGQZJYI8Mww4Xo8`E1gk=hKmwx$ zk!iO3{#(Ad9z8=wljHe_B937xWBTF~Fy)`6Ba+ic$h&Mx$6HA*SvunA8q zb<&E*=uW@#P1jkgfXuM(hkj6yLzKQ0tEwHyH7rtu#a8WD7vO1eQ#kb(pIBIHzjQ$n zz5Ey4Oa6*PhL|?d*+;6Me81D∋APN$V1@UjSM7=LL*0g$-In_NjqB4ZEik7ml_b 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 literal 0 HcmV?d00001 diff --git a/contrib_bots/lib/DefineBot/docs.md b/contrib_bots/lib/DefineBot/docs.md new file mode 100644 index 0000000..c84e973 --- /dev/null +++ b/contrib_bots/lib/DefineBot/docs.md @@ -0,0 +1,21 @@ +# DefineBot + +* This is a bot that defines a word that the user inputs. Whenever the user +inputs a message starting with '@define', the bot defines the word +that follows. + +* The definitions are brought to the website using an API. The bot posts the +definition of the word to the stream from which the user inputs the message. +If the user inputs a word that does not exist or a word that is incorrect or +is not in the dictionary, the definition is not displayed. + +* For example, if the user says "@define crash", all the meanings of crash +appear, each in a separate line. + +![Correct Word](correct_word.png) + +* If the user enters a wrong word, like "@define cresh" or "@define crish", +then an error message saying no definition is available is displayed. + +![Wrong Word](wrong_word.png) + diff --git a/contrib_bots/lib/DefineBot/wrong_word.png b/contrib_bots/lib/DefineBot/wrong_word.png new file mode 100644 index 0000000000000000000000000000000000000000..eca3301b495be22e9496badfee1dc80f6cf99a2d GIT binary patch literal 19314 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 P7#KWV{an^LB{Ts5cV9JU literal 0 HcmV?d00001 diff --git a/contrib_bots/lib/define_bot.py b/contrib_bots/lib/define_bot.py new file mode 100644 index 0000000..10bd3ee --- /dev/null +++ b/contrib_bots/lib/define_bot.py @@ -0,0 +1,85 @@ +# See readme.md for instructions on running this code. +import logging +import json +import requests +import html2text + +class DefineHandler(object): + ''' + This plugin define a word that the user inputs. It + looks for messages starting with '@define'. + ''' + + DEFINITION_API_URL = 'https://owlbot.info/api/v1/dictionary/{}?format=json' + REQUEST_ERROR_MESSAGE = 'Definition not available.' + EMPTY_WORD_REQUEST_ERROR_MESSAGE = 'Please enter a word to define.' + PHRASE_ERROR_MESSAGE = 'Definitions for phrases are not available.' + + def usage(DefineHandler): + return ''' + This plugin will allow users to define a word. Users should preface + messages with "@define". + ''' + + def triage_message(DefineHandler, message): + # return True if we want to (possibly) response to this message + original_content = message['content'] + # This next line of code is defensive, as we + # never want to get into an infinite loop of posting follow + # ups for own follow ups! + is_define = original_content.startswith('@define') + + return is_define + + def _handle_definition(DefineHandler, original_content): + # Remove '@define' from the message and extract the rest of the message, the + # word to define. + split_content = original_content.split(' ') + + # If there are more than one word (a phrase) + if len(split_content) > 2: + return DefineHandler.PHRASE_ERROR_MESSAGE + + to_define = split_content[1].strip() + to_define_lower = to_define.lower() + + # No word was entered. + if not to_define_lower: + return DefineHandler.EMPTY_WORD_REQUEST_ERROR_MESSAGE + else: + response = '**{}**:\n'.format(to_define) + + try: + # Use OwlBot API to fetch definition. + api_result = requests.get(DefineHandler.DEFINITION_API_URL.format(to_define_lower)) + # Convert API result from string to JSON format. + definitions = api_result.json() + + # Could not fetch definitions for the given word. + if not definitions: + response += DefineHandler.REQUEST_ERROR_MESSAGE + else: # Definitions available. + # Show definitions line by line. + for d in definitions: + example = d['example'] if d['example'] else '*No example available.*' + response += '\n' + '* (**{}**) {}\n  {}'.format(d['type'], d['defenition'], html2text.html2text(example)) + + except Exception as e: + response += DefineHandler.REQUEST_ERROR_MESSAGE + logging.exception(e) + + return response + + def handle_message(DefineHandler, message, client, state_handler): + original_content = message['content'] + + response = DefineHandler._handle_definition(original_content) + + client.send_message(dict( + type='stream', + to=message['display_recipient'], + subject=message['sender_email'], + content=response + )) + +handler_class = DefineHandler