Articles

forbedring af min FPL bot til Reddit!



https://github.com/amosbastian/FPLbot

efter at have tilføjet en spiller vs. spiller sammenligning, jeg endelig oprettet bot på en dråbe i sidste uge. Jeg skrev om det på Reddit, og som du kan se, blev det meget godt modtaget! Det bliver brugt meget (næsten 100 kommentarer om dagen), hvilket er dejligt at se. Det betyder også, at jeg har modtaget noget feedback, og derfor besluttede jeg hurtigt at implementere nogle af de forslag, jeg modtog!

https://github.com/amosbastian/FPLbot/pull/6
https://github.com/amosbastian/FPLbot/pull/7
https://github.com/amosbastian/FPLbot/pull/9

https://www.reddit.com/user/FantasyPL_bot

ændring af Player vs. player Table

Player vs. player table var ikke særlig mobilvenlig før, hvilket nogen påpegede straks. De foreslog at oprette en separat tabel for hver spiller, og blot stable dem oven på hinanden, og så det er hvad jeg gjorde. Dette vil også give mulighed for en sammenligning af mere end 2 spillere i fremtiden, som jeg måske også implementerer.

forbedring af tabellerne!



forbedrede tabeller til målmænd

jeg lavede også nogle andre forbedringer af tabellerne generelt. Et problem var, at sammenligning af målmænd var meningsløst, fordi tabellerne kun indeholdt ting som forventede mål og assists, hvilket naturligvis ikke er relevant for dem. For at løse dette besluttede jeg at oprette en tabel, der omfattede deres forventede mål mod, deres sparer og mere.



gemme resultaterne

da en spillers forventede mål mod ikke er inkluderet i en spillers information om Understat, måtte jeg få dette fra deres hold selv. For at gøre dette oprettede jeg en anden funktion, der gemmer alle holdets resultater i databasen og derefter bruger den til at hente dataene. Heldigvis var det ret nemt at gøre ved hjælp af min egen Understat-pakke!



Oprettelse af målmandstabellen

en anden ting, jeg gjorde, var at tilføje de forventede mål mod til en forsvarsbord, og også de point, som spilleren faktisk scorede under kampene (inklusive bonuspoint). For at opnå dette var det første, jeg måtte gøre, at sikre, at de kampe, der blev brugt ved sammenligning af spillere, kun er dem, der spilles i Premier League (da det er det, FPL handler om). Endelig havde jeg brug for på en eller anden måde at få pointene og derefter matche dette med de respektive data fra Understat. Heldigvis kunne jeg bare bruge en spillers historie inkluderet i FPL API for at få pointene, og alle inventar på Understat har deres eget ID, så jeg kunne simpelthen sammenligne en spillers inventar med Premier League-inventar.

Du har måske bemærket, at jeg også skiftede til at bruge tabulate, som er en Python-pakke til oprettelse af tabeller, som jeg fandt. Det fungerer ret godt for min brugssag, og også ryddet op koden lidt.

Jeg har også lavet nogle andre ændringer i bot, men dette indlæg bliver allerede ret langt. Hvis du vil læse mere om det, kan du tjekke den Reddit-tråd, jeg oprettede.

køreplan

Jeg kan tilføje muligheden for at sammenligne mere end 2 spillere til hinanden, men bliver nødt til at se. Vil forhåbentlig også modtage nogle flere forslag!

brug & installation

FPLbot bruger MongoDB til at gemme spillere i en database, og det er derfor nødvendigt at have MongoDB installeret. Bortset fra det bruger den fpl til at hente information fra Fantasy Premier League ‘ s API og kræver således Python 3.6+.

git clone :amosbastian/FPLbot.gitcd FPLbotpip install -r requirements.txt



Når det er installeret, skal du oprette en config.json fil som ovenstående eksempel, men med de korrekte værdier. Når du har gjort dette, kan du planlægge et cron-job for at køre bot, når du vil!

Contributing



Jeg har oprettet en Discord-server til folk, der er interesseret i programmering af FPL-relaterede ting, så hvis du er interesseret i at hjælpe, eller bare vil vide mere, så don tøv ikke med at deltage! Ellers kan du blot oprette et problem på GitHub.