Inom ramen för projektet En bot har förberetts för GitHub som löser problem med att tvinga anvÀndare av förvaret att sjÀlvbetjÀna sig. PÄ GitHub kan man stöta pÄ förvar som har som enda funktion att koordinera mÀnniskor genom systemet Issue. I vissa av dessa uppmanas de som lÀmnar Issue att fylla i ett formulÀr. DÀrefter kommer en moderator, kontrollerar om formulÀret Àr korrekt ifyllt och sÀtter taggar enligt de som angivits i formulÀret (taggarna kan endast sÀttas av en privilegierad anvÀndare om de inte Àr angivna i mallen). Ett exempel pÄ en sÄdan gemenskap Àr .
Moderatoren kommer inte omedelbart. DĂ€rför för att kontrollera formulĂ€r och utföra Ă„tgĂ€rder presenteras den GitHub-Ă„tgĂ€rd som nĂ€mns i nyheterna. Botten Ă€r skriven i Python, men man mĂ„ste Ă€ndĂ„ köra den genom node.js eftersom GitHub har endast 2 typer av Ă„tgĂ€rder â node.js och docker, och för docker mĂ„ste man först ladda ner den samma containern dĂ€r node.js finns, och i den laddas ytterligare en container, vilket tar tid. Med tanke pĂ„ att containern med node.js redan har python3 och allt annat som behövs, Ă€r det rationellt att helt enkelt ladda ner beroenden i den, eftersom de Ă€r smĂ„.
Egenskaper:
- à tgÀrden styrs med hjÀlp av YAML-konfiguration och Markdown-mallar;
- I varje Markdown-mall lÀggs en sektion till som beskriver villkoren för korrekt ifyllande av formulÀret och önskade ÄtgÀrder;
- En konfigurationsfil med globala instÀllningar lÀggs till;
- FormulÀr bestÄr av sektioner. Det finns 2 typer av sektioner:
- Fritt text. à tgÀrden kan kontrollera att anvÀndaren har anstrÀngt sig för att fylla i nÄgot dÀr. Men meningsfullheten av texten kontrolleras automatiskt inte.
- Kryssrutor (checkbox). Man kan krÀva att fylla i n kryssrutor, sÄdana att 0 {= m1 {= n {= m2 {= det totala antalet kryssrutor i sektionen. à tgÀrden kontrollerar att kryssrutorna överensstÀmmer med kryssrutorna i mallen. Om kryssrutorna Àr korrekt angivna kan ÄtgÀrden sÀtta taggar pÄ issue som motsvarar kryssrutorna.
- Om formulÀret Àr felaktigt ifyllt instruerar ÄtgÀrden anvÀndaren hur det ska fyllas i korrekt och sÀtter en speciell mÀrkning.
- Om formulÀret inte rÀttas till inom viss tid kan ÄtgÀrden stÀnga issue. Automatisk ban av anvÀndare, radering och flyttning av issue har inte implementerats pÄ grund av avsaknad av officiell API för nödvÀndiga ÄtgÀrder och problem med lagring av tillstÄnd.
- Om problemet har ÄtgÀrdats, tar ÄtgÀrden bort mÀrkningen.
- Svarsmallar för ÄtgÀrder kan sjÀlvklart anpassas.
KĂ€lla: opennet.ru
