Articles

Poprawa mojego bota FPL dla Reddita!



https://github.com/amosbastian/FPLbot

Po dodaniu porównania gracz vs gracz, w końcu skonfigurowałem bota na kropla w zeszłym tygodniu. Napisałem o tym na Reddicie i jak widać został bardzo dobrze przyjęty! Jest często używany (prawie 100 komentarzy dziennie), co jest Świetne do zobaczenia. Oznacza to również, że otrzymałem kilka opinii, więc postanowiłem szybko wdrożyć niektóre z otrzymanych sugestii!

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

zmiana tabeli player vs.player

tabela Player vs. player wcześniej nie była zbyt mobilna, co ktoś natychmiast zauważył. Zaproponowali stworzenie osobnego stołu dla każdego gracza i po prostu ułożenie ich jeden na drugim, i tak właśnie zrobiłem. Pozwoli to również na porównanie więcej niż 2 graczy w przyszłości, które mogę również wdrożyć.

Poprawa tabel!



ulepszone tabele dla bramkarzy

wprowadziłem również inne ulepszenia w tabelach w ogóle. Jednym z problemów było to, że porównywanie bramkarzy było bezcelowe, ponieważ tabele zawierały tylko takie rzeczy, jak oczekiwane bramki i asysty, co oczywiście nie jest dla nich istotne. Aby rozwiązać ten problem, postanowiłem stworzyć tabelę, która zawierała ich oczekiwane bramki, ich zapisy i wiele innych.



zapisywanie wyników


Tworzenie tabeli bramkarzy

kolejną rzeczą, którą zrobiłem, było dodanie oczekiwanych bramek do tabeli obrońcy, a także punktów, które gracz faktycznie zdobył podczas meczów (w tym punktów bonusowych). Aby to osiągnąć, pierwszą rzeczą, którą musiałem zrobić, było upewnienie się, że mecze używane przy porównywaniu graczy są tylko tymi, które grają w Premier League (ponieważ o to chodzi w FPL). W końcu musiałem jakoś zdobyć punkty, a następnie dopasować to do odpowiednich danych z Understat. Na szczęście mogłem po prostu użyć historii gracza zawartej w FPL API, aby uzyskać punkty, a wszystkie mecze na Understat mają swój własny identyfikator, więc mogłem po prostu porównać mecze gracza z meczami Premier League.

być może zauważyliście, że przełączyłem się również na use tabulate, który jest pakietem Pythona do tworzenia tabel, który znalazłem. Działa całkiem dobrze dla mojego przypadku użycia, a także nieco oczyścił kod.

zrobiłem też kilka innych zmian QoL do bota, ale ten post jest już dość długi. Jeśli chcesz przeczytać więcej na ten temat, Możesz sprawdzić wątek Reddit, który stworzyłem.

Mogę dodać możliwość porównania więcej niż 2 graczy do siebie, ale będę musiał zobaczyć. Mam nadzieję, że otrzymamy również więcej sugestii!

użycie& instalacja

FPLbot używa MongoDB do przechowywania graczy w bazie danych, dlatego wymagane jest zainstalowanie MongoDB. Poza tym używa fpl do pobierania informacji z API Fantasy Premier League, a zatem wymaga Pythona 3.6+.

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



Po zainstalowaniu należy utworzyć config.json plik jak w powyższym przykładzie, ale z poprawnymi wartościami. Gdy to zrobisz, możesz zaplanować zadanie cron, aby uruchomić bota, kiedy tylko chcesz!

współtworzenie



stworzyłem serwer Discord dla osób zainteresowanych programowaniem rzeczy związanych z FPL, więc jeśli jesteś zainteresowany pomocą, lub po prostu chcesz wiedzieć więcej, to nie nie wahaj się dołączyć! W przeciwnym razie możesz po prostu utworzyć problem na Githubie.