Ce bot détecte automatiquement des images à l'écran et clique dessus quand elles sont trouvées.
flowchart TD
A[🚀 Démarrage du Bot] --> B[📁 Chargement Configuration]
B --> B1[parametre.txt]
B --> C[🖼️ Chargement Templates]
C --> C1[image/]
C1 --> D[📷 Capture d'écran]
D --> E{🔍 Détection d'image}
E -->|Image trouvée| F[📊 Validation confiance]
E -->|Aucune image| G[⏱️ Attendre délai]
F -->|Confiance OK| H[🖱️ Calculer position centre]
F -->|Confiance faible| G
H --> I[👆 Clic automatique]
I --> J[📝 Log de l'action]
J --> G
G --> D
K[⌨️ Ctrl+C] --> L[🛑 Arrêt du bot]
style A fill:#e1f5fe
style L fill:#ffebee
style I fill:#e8f5e8
style E fill:#fff3e0
graph LR
subgraph "📁 Structure des fichiers"
A[main.py<br/>🤖 Logique principale]
B[parametre.txt<br/>⚙️ Configuration]
C[image/<br/>🖼️ Templates]
D[README.md<br/>📖 Documentation]
end
subgraph "🔧 Dépendances"
E[opencv-python<br/>🔍 Détection]
F[pyautogui<br/>🖱️ Capture & Clic]
G[numpy<br/>🧮 Calculs]
H[pillow<br/>🖼️ Images]
end
A --> E
A --> F
A --> G
A --> H
A --> B
A --> C
Le bot suit un cycle continu d'exécution :
- Initialisation : Chargement de la configuration et des images templates
- Capture : Prise d'une capture d'écran complète
- Analyse : Recherche de correspondances avec les templates
- Détection : Vérification du seuil de confiance
- Action : Clic automatique sur l'image détectée
- Attente : Pause selon le délai configuré
- Répétition : Retour à l'étape 2
- Les dépendances ont été installées automatiquement :
- opencv-python (pour la détection d'images)
- pyautogui (pour capturer l'écran et cliquer)
- numpy (pour le traitement des images)
- pillow (support d'images)
sequenceDiagram
participant U as Utilisateur
participant B as Bot
participant CV as OpenCV
participant PA as PyAutoGUI
participant S as Système
U->>B: Démarrage
B->>CV: Charger templates
loop Cycle continu
B->>PA: Capturer écran
PA-->>B: Screenshot
B->>CV: Recherche template
CV-->>B: Position + confiance
alt Image détectée
B->>PA: Clic(x, y)
PA->>S: Action souris
B->>U: Log succès
else Aucune détection
B->>U: Log debug
end
B->>B: Attendre délai
end
BotClickImage
: Classe principale du botcharger_parametres()
: Lecture de la configurationcharger_images_templates()
: Chargement des images de référencecapturer_ecran()
: Capture d'écran via PyAutoGUIdetecter_image()
: Détection par correspondance de template (OpenCV)cliquer_sur_position()
: Simulation de clic sourisexecuter_cycle_detection()
: Cycle principal d'exécution
Modifiez le fichier parametre.txt
pour ajuster les paramètres :
- SEUIL_CONFIANCE (0.0 à 1.0) : Précision de la détection (0.8 = 80%)
- DELAI_SCAN : Temps en secondes entre chaque scan
- MODE_DEBUG : Affiche plus d'informations (True/False)
- Placez vos images de référence dans le dossier
image/
- Formats supportés : PNG, JPG, JPEG, BMP, TIFF
- Plus l'image est précise, meilleure sera la détection
-
Ajoutez vos images dans le dossier
image/
-
Configurez les paramètres dans
parametre.txt
-
Lancez le bot :
python main.py
-
Arrêtez le bot avec
Ctrl+C
Le bot affiche dans la console :
- ✅ Images détectées avec le pourcentage de confiance
- 📍 Coordonnées exactes du clic
- ⏰ Horodatage de chaque action
- 🔍 Informations de debug (si activé)
- Le bot clique sur la première image détectée à chaque cycle
- Plus le seuil de confiance est élevé, plus la détection est stricte
- Testez d'abord avec des images simples et distinctes
- Le bot continue à tourner jusqu'à ce que vous l'arrêtiez
- "Aucune image trouvée" : Vérifiez que le dossier
image/
contient des fichiers - "Image non détectée" : Réduisez le seuil de confiance ou utilisez une image plus précise
- Clic imprécis : L'image de référence doit être exactement celle affichée à l'écran
- Ajouter un mode aléatoire pour le délai entre deux vérifications (par exemple, un délai compris entre 1 et 3 secondes) afin d’éviter la détection par des anti-bots
- Ajouter une interface graphique pour configurer les paramètres
- Simuler un mouvement de la souris avant le clic pour imiter un comportement humain, au lieu de déplacer instantanément la souris sur l’image à cliquer
- Mettre en place un système de logs qui enregistre les actions dans un fichier
.log