Amélioration de mon bot FPL pour Reddit!
https://github.com/amosbastian/FPLbot
Après avoir ajouté une comparaison joueur/ joueur, j’ai finalement configuré le bot sur un gouttelette la semaine dernière. J’ai posté à ce sujet sur Reddit et comme vous pouvez le voir, il a été très bien reçu! Il est beaucoup utilisé (près de 100 commentaires par jour), ce qui est génial à voir. Cela signifie également que j’ai reçu des commentaires, et j’ai donc décidé de mettre en œuvre rapidement certaines des suggestions que j’ai reçues!
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
Changer la table joueur contre joueur
La table joueur contre joueur n’était pas très conviviale pour les mobiles auparavant, ce que quelqu’un a immédiatement souligné. Ils ont suggéré de créer une table séparée pour chaque joueur, et de simplement les empiler les uns sur les autres, et c’est ce que j’ai fait. Cela permettra également de comparer plus de 2 joueurs à l’avenir, ce que je pourrais également implémenter.
Améliorer les tables !
Tableaux améliorés pour les gardiens de but
J’ai également apporté d’autres améliorations aux tableaux en général. Un problème était que comparer les gardiens de but était inutile, car les tableaux ne comprenaient que des choses comme les buts et les passes attendus, ce qui n’est évidemment pas pertinent pour eux. Pour résoudre ce problème, j’ai décidé de créer un tableau qui comprenait leurs buts attendus contre, leurs arrêts et plus encore.
Sauvegarde des résultats
Comme les buts attendus d’un joueur contre ne sont pas inclus dans les informations d’un joueur sur Understat, j’ai dû les obtenir de leur équipe elle-même. Pour ce faire, j’ai créé une autre fonction qui enregistre tous les résultats de l’équipe dans la base de données, puis l’utilise pour obtenir les données. Heureusement, c’était assez facile à faire en utilisant mon propre package Understat!
Création de la table des gardiens de but
Une autre chose que j’ai faite a été d’ajouter les buts attendus contre à la table d’un défenseur, ainsi que les points que le joueur a réellement marqués pendant les matchs (y compris les points bonus). Pour ce faire, la première chose que je devais faire était de m’assurer que les matchs utilisés lors de la comparaison des joueurs ne sont que ceux joués en Premier League (puisque c’est de cela que parle FPL). Enfin, j’avais besoin d’obtenir les points, puis de les faire correspondre aux données respectives de Understat. Heureusement, je pourrais simplement utiliser l’historique d’un joueur inclus dans l’API FPL pour obtenir les points, et tous les matchs sur Understat ont leur propre identifiant, donc je pourrais simplement comparer les matchs d’un joueur avec les matchs de Premier League.
Vous avez peut-être remarqué que je suis également passé à utiliser tabulate, qui est un package Python pour créer des tables que j’ai trouvées. Cela fonctionne plutôt bien pour mon cas d’utilisation, et a également légèrement nettoyé le code.
J’ai également apporté d’autres modifications à la qualité de vie du bot, mais ce post devient déjà assez long. Si vous voulez en savoir plus à ce sujet, vous pouvez consulter le fil Reddit que j’ai créé.
Feuille de route
Je pourrais ajouter la possibilité de comparer plus de 2 joueurs les uns aux autres, mais je devrai voir. Nous espérons recevoir également d’autres suggestions!
Utilisation&installation
FPLbot utilise MongoDB pour stocker les lecteurs dans une base de données, et il est donc nécessaire d’avoir MongoDB installé. En dehors de cela, il utilise fpl pour récupérer des informations de l’API de Fantasy Premier League, et nécessite donc Python 3.6+.
git clone :amosbastian/FPLbot.gitcd FPLbotpip install -r requirements.txt
Une fois installé, vous devez créer un config.json
fichier comme l’exemple ci-dessus, mais avec les valeurs correctes. Une fois que vous avez fait cela, vous pouvez planifier un travail cron pour exécuter le bot quand vous le souhaitez!
Contribuer
J’ai créé un serveur Discord pour les personnes intéressées par la programmation de choses liées à FPL, donc si vous êtes intéressé à aider, ou si vous voulez simplement en savoir plus, alors don n’hésitez pas à nous rejoindre ! Sinon, vous pouvez simplement créer un problème sur GitHub.