Skip to content

Script Python pour automatiser la recherche de solution au jeu https://sutom.nocle.fr

License

Notifications You must be signed in to change notification settings

Gyrfalc0n/SUTOM-Resolver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SUTOM-Resolver

Description

SUTOM-Resolver est un script Python pour automatiser la recherche de solution au jeu en ligne SUTOM disponible à l'adresse suivante : https://sutom.nocle.fr Le code source du jeu est disponible ici.

Démonstration

1.mp4

Fonctionnement

Le script envoie un premier mot commençant par la lettre donnée par le jeu, et ne contenant que des lettres uniques (pour diminuer au maximum le nombre de possibilités). La réponse du jeu des lettres présentes à la bonne position, des lettres présentes mais à la mauvaise position et les autres (non présentes dans le mot) est analysée par le script qui recherche alors les mots correspondant à ces critères. Sur les essais accordés par le jeu, le script tentera de déterminer un unique mot au final. Le script utilise un dictionnaire des noms communs français pour cela.

Fonctionnement détaillé

Le script teste le jeu à partir des mots du dictionnaire. Le dictionnaire étant plus exhaustif que celui du jeu, certains mots ne sont pas reconnus par le jeu. Pour pallier ce problème, je script ajoute à un autre fichier dictionnaire les mots non reconnus par le jeu. Le script ne les testera que s'il n'a pas trouvé de mots disponibles parmi le dictionnaire initial. Ainsi on réduit le temps de recherche, sans pour autant se priver des mots qui pourraient éventuellement être rajoutés dans le jeu. A la fin de l'execution, le script effectue une capture d'écran de la fenêtre du navigateur qu'il a ouvert, sous le nom screenshot.png. Il envoie également dans la sortie standard terminal des informations sur l'execution courante.

Installation

Le script Python utilise selenium pour le scraping et l'intéraction avec la page web. Il faut donc l'installer de la manière suivante :

pip install selenium

Enfin, il utilise au choix les drivers Chrome ou Firefox pour afficher la page web et la contrôler. On peut ainsi voir le script en action sur la page. Pour activer le driver Chrome, il convient de commenter la ligne Firefox et de décommenter celle avec le driver Chrome.

Execution

python3 resolver.py

Configuration générale

############# VARIABLE TO MODIFY ###############

headless = True # True pour activer le mode headless, False sinon
discord = True # True pour activer la sortie sur webhook discord (spécifier l'url), False sinon
windows = False # True si vous exécutez le script en environnement Windows (sert aux path des drivers), False sinon
webhook = "add your webhook url here" # L'url de votre webhook discord

############################

Discord

Le mode discord vous permet d'avoir le résultat de l'exécution du script, directement dans un channel discord via les webhook. De l'aide est disponile pour la configuration d'un webhook ici.

Mode Headless

Le mode headless n'affiche pas le nabigateur, mais uniquement la sortie standard. On peut alors s'éviter l'affichage inutile. On peut ainsi lancer le script sur un serveur sans GUI autre qu'un terminal.

Automatisation

Pour automatiser l'exécution du script, il faut activer le mode headless, et je vous recommande d'activer le mode Discord également, de sorte que vous aurez les sorties du script sur votre channel discord configuré. Une simple tâche planifiée ou cron fera l'affaire.

Le JEU

Règles

regles

La grille de jeu

Autre script

Cet autre script fait par PierreCH résoud également le jeu de la même manière.

About

Script Python pour automatiser la recherche de solution au jeu https://sutom.nocle.fr

Topics

Resources

License

Stars

Watchers

Forks

Languages