Articles

förbättra min FPL bot för Reddit!



https://github.com/amosbastian/FPLbot

dropp förra veckan. Jag skrev om det på Reddit och som ni ser blev det mycket väl mottaget! Det används mycket (nästan 100 kommentarer om dagen), vilket är bra att se. Det betyder också att jag har fått lite feedback, och så bestämde jag mig för att snabbt genomföra några av de förslag jag fick!

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

ändra spelare mot spelarbord

spelaren mot spelarbordet var inte särskilt mobilvänligt tidigare, vilket någon påpekade omedelbart. De föreslog att skapa en separat tabell för varje spelare, och att helt enkelt stapla dem ovanpå varandra, och så det är vad jag gjorde. Detta kommer också att möjliggöra en jämförelse av mer än 2 spelare i framtiden, vilket jag också kan genomföra.

förbättra tabellerna!



förbättrade tabeller för målvakter

Jag gjorde också några andra förbättringar av tabellerna i allmänhet. Ett problem var att det var meningslöst att jämföra målvakter, eftersom tabellerna bara innehöll saker som förväntade mål och assist, vilket uppenbarligen inte är relevant för dem. För att lösa detta bestämde jag mig för att skapa en tabell som inkluderade deras förväntade mål mot, deras sparar och mer.



Spara resultaten

eftersom en spelares förväntade mål mot inte ingår i en spelares information om Understat, var jag tvungen att få detta från sitt lag själv. För att göra detta skapade jag en annan funktion som sparar alla lagets resultat i databasen och använder sedan det för att få data. Lyckligtvis var det ganska lätt att göra med mitt eget understat-paket!



skapa målvaktsbordet

en annan sak jag gjorde var att lägga till de förväntade målen mot en försvarares bord, och även de poäng som spelaren faktiskt gjorde under spelen (inklusive bonuspoäng). För att uppnå detta var det första jag var tvungen att se till att matcherna som används när man jämför spelare bara är de som spelas i Premier League (eftersom det är vad FPL handlar om). Slutligen behövde jag på något sätt få poängen och sedan matcha detta till respektive data från Understat. Lyckligtvis kunde jag bara använda en spelares historia som ingår i FPL API för att få poängen, och alla fixturer på Understat har sitt eget ID, så jag kunde helt enkelt jämföra en spelares fixturer med Premier League-fixturerna.

Du kanske har märkt att jag också bytte till use tabulate, vilket är ett Python-paket för att skapa tabeller som jag hittade. Det fungerar ganska bra för mitt användningsfall, och städade också upp koden något.

Jag gjorde också några andra QoL-ändringar i botten, men det här inlägget blir redan ganska långt. Om du vill läsa mer om det kan du kolla in Reddit-tråden jag skapade.

färdplan

Jag kan lägga till möjligheten att jämföra mer än 2 spelare till varandra, men måste se. Förhoppningsvis får vi fler förslag också!

användning & installation

FPLbot använder MongoDB för att lagra spelare i en databas, och så krävs det att MongoDB är installerat. Utöver det använder den fpl för att hämta information från Fantasy Premier League API, och kräver därmed Python 3.6+.

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



När du har installerat bör du skapa en config.json fil som exemplet ovan, men med rätt värden. När du har gjort det kan du schemalägga ett cron-jobb för att köra boten när du vill!

bidragande



Jag har skapat en Discord-server för personer som är intresserade av att programmera FPL-relaterade saker, så om du är intresserad av att hjälpa till, eller helt enkelt vill veta mer, behöver du inte tveka inte att gå med! Annars kan du helt enkelt skapa ett problem på GitHub.