Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Weerdle Bot

Ce projet automatise le jeu Weerdle sur pokengine.org à l'aide de Playwright.

Fonctionnalités principales

  • Bot automatique pour le jeu Weerdle sur pokengine.org.
  • Interface web de contrôle (http://localhost:3000).
  • Gestion des statistiques, logs, configuration, base de données (PostgreSQL).
  • Affichage d'une notification Bootstrap en cas d'erreur critique (ex : 429 Too Many Requests) sur l'interface web.
  • Envoi d'une notification système Windows en cas d'erreur critique (ex : 429) via PowerShell.
  • Arrêt immédiat du bot et du serveur via le bouton "Éteindre" de l'interface.
  • Explorateur d'API Pokengine pour découvrir et tester les endpoints disponibles (http://localhost:3000/api-explorer.html).

Prérequis

  • Node.js (version 16 ou supérieure recommandée)
  • npm (généralement inclus avec Node.js)
  • Un navigateur compatible installé (Firefox, Chrome, Edge)
  • PostgreSQL pour la base de données

Installation

  1. Cloner le dépôt

    git clone <url-du-repo>
    cd weerdle-bot
  2. Installer les dépendances

    npm install

    Pour installer tous les navigateurs supportés par Playwright :

    npx playwright install
  3. Configurer la base de données PostgreSQL

    • Assurez-vous que PostgreSQL est installé et en cours d'exécution.
    • Créez une base de données appelée pokengine :
      CREATE DATABASE pokengine;
    • Configurez les informations de connexion dans le fichier db/dbManager.js (utilisateur, mot de passe, hôte, port).
    • Exécutez le script SQL pour créer les tables et fonctions nécessaires :
      psql -U <votre-utilisateur> -d pokengine -f db/pokemon_tracker.sql
  4. Configurer les identifiants du bot

    • Modifiez les identifiants dans models/botState.js :
      username: 'votre_nom_utilisateur',
      password: 'votre_mot_de_passe',

Utilisation

  1. Lancer le serveur
    En mode production :

    node index.js

    En mode développement (avec redémarrage automatique) :

    npm run dev
  2. Accéder à l'interface de contrôle
    Ouvrez votre navigateur et accédez à http://localhost:3000.

    • En cas d'erreur critique (ex : 429), une notification rouge s'affiche en haut de la page et une notification Windows est envoyée.
    • Le bouton "Éteindre" arrête immédiatement le bot et le serveur (processus Node.js).

Utilisation de l'explorateur d'API

L'explorateur d'API Pokengine permet de découvrir automatiquement les endpoints disponibles sur le site pokengine.org et de les tester facilement.

  1. Accéder à l'explorateur
    Ouvrez votre navigateur et accédez à http://localhost:3000/api-explorer.html.

  2. Découvrir les endpoints

    • Cliquez sur "Lancer le scan" pour commencer la découverte automatique
    • Vous pouvez spécifier le nombre maximum de pages à scanner
    • Les résultats seront affichés et catégorisés (API, AJAX, Data)
  3. Tester un endpoint

    • Cliquez sur un endpoint dans la liste pour le sélectionner
    • Choisissez la méthode HTTP (GET, POST, PUT, DELETE)
    • Ajoutez des paramètres au format JSON si nécessaire
    • Cliquez sur "Tester l'endpoint" pour voir les résultats
  4. Fonctionnalités supplémentaires

    • Sauvegarde automatique des résultats pour consultation ultérieure
    • Filtrage et recherche parmi les endpoints découverts
    • Visualisation structurée des résultats JSON

Personnalisation

  • Modifiez les chemins des navigateurs dans controllers/botController.js si nécessaire :
    const CHROME_PATH = 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe';
    const EDGE_PATH = 'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe';

Configuration de la base de données

Le bot utilise PostgreSQL pour stocker les informations sur les Pokémon rencontrés.

  1. Prérequis

    • PostgreSQL installé et configuré
    • Base de données pokengine créée
  2. Initialisation de la base

    node scripts/init-database.js
  3. Configuration

    • La configuration de la base de données peut être modifiée dans l'interface web du bot
    • Par défaut, le bot se connecte à localhost:5432/pokengine avec l'utilisateur défini dans la configuration
  4. Tables créées

    • encountered_pokemon : Stocke les Pokémon rencontrés et leurs codes

Remarques

  • Le script ouvre un navigateur en mode non-headless pour observer les actions.
  • Si vous rencontrez des erreurs 429 (trop de requêtes), attendez quelques minutes avant de relancer.
  • Assurez-vous que votre base de données est correctement configurée et accessible.
  • Le VPN/NordVPN n'est plus utilisé ni nécessaire.
  • Les logs API ne sont plus affichés dans la console.
  • Les notifications système utilisent PowerShell et fonctionnent uniquement sous Windows.

Dépendances principales


About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages