WP Manifestindependent plugin directory
manifest / utilities / cryptobot-v2

CryptoBot V2

CryptoBot V2 - Trading Bot WordPress Plugin

by CryptoBot Team · github.com/ekinoxprod/cryptobot-v2 · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/ekinoxprod/cryptobot-v2/archive/refs/heads/main.zip

CryptoBot V2 – Documentation technique et fonctionnelle complète Ce document décrit en détail le module CryptoBot V2 : objectifs, architecture interne, configuration, outils d’analyse et procédures de dépannage. Il a pour but de servir de référence à toute l’équipe (développeurs, intégrateurs, support).

  1. Objectif du module CryptoBot V2 est un plugin WordPress (PHP) qui automatise le trading à partir de signaux Telegram. Il permet : Outil 1 – Surveillance Telegram Connexion à un bot Telegram. Scan périodique des canaux configurés. Parsing avancé (29+ patterns) des messages pour extraire action, symbole, entrée, SL, TP. Sauvegarde des signaux en base, exposition dans l’interface admin, exécution manuelle ou auto. Outil 2 – Bot IA Autonome Analyse des signaux par un moteur IA (AIService) et application d’une stratégie prédéfinie. Gestion du risque (capital, drawdown, nombre de trades, timeframes). Intégration aux exchanges pour transmettre les ordres (IG Markets, Alpaca Crypto, etc.). Le module gère également la journalisation, les scripts de maintenance et la configuration complète depuis le back-office WP.
  2. Architecture générale Principaux services Service Rôle TelegramService Récupère les messages via getUpdates, teste 29 patterns Regex, corrige SL/TP, enregistre les signaux, expose APIs Ajax et Cron. ExchangeService Centralise l’accès aux plateformes (IG, Alpaca…). Offre des méthodes de test et d’exécution, utilise l’ExchangeInterface. IGMarketsService Authentification (email / compte migré), récupération de tokens CST & X-SECURITY-TOKEN, gestion d’erreurs spécifiques IG. AIService Orchestration des analyses IA (OpenAI). DatabaseManager CRUD sur tables personnalisées (wp_cryptobotv2*), détection dynamique de colonnes (last_update_id, is_active, etc.). TradingEngine Exécution du bot autonome, intégration IA + règles de gestion du risque. AdminInterface Interface WP : formulaires, tests, affichage des données (signals, trades, statistiques, boutons “Scanner Telegram”).
  3. Schéma et tables de base de données Les tables sont créées via DatabaseManager::createTables() lors de l’activation. Principales tables utilisées : Table Objet Colonnes clés (peuvent varier selon versions) wp_cryptobot_v2_config Paramètres (Telegram, exchanges, IA, risque…) config_key, config_value, encrypted wp_cryptobot_v2_signals Signaux Telegram parsés channel_id, raw_message, parsed_data (JSON), status, created_at wp_cryptobot_v2_trades Historique des trades venue, symbol, side, qty, entry_price, sl, tp, status, mode wp_cryptobot_v2_channels Canaux Telegram configurés (optionnels) channel_id, channel_name (ou name), is_active/active, last_update_id? Autres tables (log, ML, etc.) Selon modules (AI, ML) Voir dossiers src/Domain, src/Infrastructure/ML

    DatabaseManager détecte automatiquement si les colonnes name/channel_name ou is_active/active existent, et fournit des helpers (getChannels, resetChannelsLastUpdate).

  4. Installation et activation Prérequis WordPress ≥ 6.x avec PHP 8.x. Accès FTP/SSH pour déposer le module. WP-Cron activé (ou équivalent système). Clés API Telegram, IG, Alpaca, OpenAI. Extensions PHP standard (cURL, JSON). Optionnel : Composer si vous utilisez vendor/. Installation Copier le dossier Cryptobot-main dans wp-content/plugins/. Vérifier cryptobot-v2.php présent à la racine du plugin. (Optionnel) composer install si vous utilisez des dépendances. Activation Depuis wp-admin > Extensions, activer CryptoBot V2. L’activation crée les tables personnalisées et planifie les Cron suivants : cryptobot_v2_scan_telegram cryptobot_v2_process_pending_signals cryptobot_v2_bot_analysis cryptobot_v2_autonomous_bot cryptobot_v2_cleanup Les Cron personnalisés “every_minute” et “every_5_minutes” sont ajoutés. Mises à jour Le plugin définit CRYPTOBOT_V2_VERSION. Prévoir un hook de migration si vous incrémentez la version.
  5. Configuration détaillée (admin) L’interface admin (onglet “Configuration CryptoBot V2”) contient plusieurs sections. 5.1 Onglet Telegram Bot Token : Token du bot (BotFather). API ID / API Hash : Identifiants du compte Telegram. Téléphone : Numéro associé (optionnel). Boutons disponibles : Sauvegarder (Ajax). Scanner Telegram : lance cryptobot_v2_scan_telegram via Ajax. 5.2 Onglet Exchanges IG Markets (Forex) Champs : Activé (checkbox). ID de compte (numérique) : ex. Z64GKU (compte migré). Identifiant historique : ex. LOUISE82302956 (ancien login IG). API Key : clé active depuis l’espace IG (Compte démo > API Web). Username Demo : email ekinox.prod@gmail.com. Password Demo : mot de passe API (ex. Mafir@2936). Tester IG Markets (Ajax) : teste tous les identifiants listés avec identifierType : ACCOUNTID, MIGRATED, migrated, USERNAME et, pour l’email, EMAIL. journalise tous les errorCode (invalid-details, account-migrated, identifier, api-key-disabled, exceeded-api-key-allowance).

    Important : côté IG, activer la clé (“radio bouton”), s’assurer que l’API Demo utilise le même mot de passe, patienter si IG retourne error.public-api.exceeded-api-key-allowance. Alpaca (Crypto) Activé. API Key / Secret. Mode Paper. Test connexion Ajax (log getAccount success/fail). 5.3 Onglet IA API Key OpenAI. Modèle (gpt-3.5-turbo, etc). Budget quotidien. Mécanisme d’analyse IA (via AIService). 5.4 Onglet Risk Management & Bot IA Capital total (total_capital). Risk per trade, max drawdown, max trades/day. Assets & timeframes (tableaux serialisés). État du bot (start/pause/stop via Ajax, stocké en transient).

  6. Outils et scripts auxiliaires Script Chemin racine Utilité RESET-TELEGRAM-LAST-UPDATE.php /RESET-TELEGRAM-LAST-UPDATE.php Réinitialise la colonne last_update (si existante) via DatabaseManager. SCAN-TELEGRAM-MANUAL.php /SCAN-TELEGRAM-MANUAL.php Lance TelegramService->scanChannels() et affiche un JSON. Pratique pour vérifier un message. DEBUG-CHANNELS-COLUMNS.php /DEBUG-CHANNELS-COLUMNS.php Affiche SHOW COLUMNS FROM wp_cryptobot_v2_channels + extrait de lignes. (scripts temporaires supprimés) ex : TEST-SIGNAUX-REELS-COMPLETS.php Utilisés pour les tests durant le dev (non nécessaires en prod). Tous chargent WordPress (wp-load.php) en testant plusieurs chemins possibles, afin d’être exécutables depuis le navigateur.
  7. Fonctionnement Cron & Hook Ajax Cron cryptobot_v2_scan_telegram : scan périodique des canaux actifs. cryptobot_v2_process_pending_signals : traite les signaux en attente (exécution, envoi). cryptobot_v2_bot_analysis : exécute le moteur IA. cryptobot_v2_autonomous_bot : exécute le bot autonome. cryptobot_v2_cleanup : nettoyage (logs, transients). Ajax cryptobot_v2_save_config : sauvegarde (nonce cryptobot-v2-config) — accepte nonce et cryptobot_nonce. cryptobot_v2_test_connection : tests IG / Alpaca / OpenAI. cryptobot_v2_scan_telegram_manual : scan manuel (depuis UI). cryptobot_v2_get_signals, cryptobot_v2_get_trades, cryptobot_v2_get_dashboard_stats, etc.
  8. Analyse / Logging La plupart des services utilisent error_log() (pref. wp-content/debug.log). IG Markets logue : identifiant testé, type, errorCode, HTTP code, headers/tokens. Les messages error.security.account-migrated, validation.pattern.invalid.authenticationRequest.identifier, error.public-api.exceeded-api-key-allowance, error.security.invalid-details, error.security.api-key-disabled. Telegram logue : start/end scan, #signaux, pattern utilisé, matches JSON, corrections (swap SL/TP). La sauvegarde “config” logue chaque clé modifiée (DatabaseManager::saveConfig). Scripts utilitaires affichent output en clair.
  9. Procédures de configuration rapide (TL;DR) Telegram Créer un bot, récupérer TOKEN. Créer une app (api_id, api_hash). Ajouter le bot comme admin du canal Telegram. Remplir les champs et sauvegarder. Lancer un scan test (bouton / script) pour vérifier les signaux. IG Markets Se connecter sur IG > Compte de démo > API Web. Générer une clé (Nom = cryptobotv3 par exemple) et cliquer sur Activer. Définir identifiant/mot de passe démo spécifiques (ex: email + Mafir@2936). Renseigner dans l’admin : ID de compte (numérique) : Z64GKU. Identifiant historique : LOUISE82302956. API Key : afb9f5831f55a261b29223aad405fcb5f07c61ae. Sauvegarder, puis cliquer sur “Tester IG Markets” (éviter les clics en rafale pour ne pas dépasser la limite API). Si IG renvoie error.public-api.exceeded-api-key-allowance, patienter 15-30 min. Alpaca Renseigner API KEY, SECRET, cocher Mode Paper. Tester la connexion pour vérifier account (log success). AI & Bot Renseigner openai_api_key, modèle, budget. Configurer capital / risque dans Risk Management. Lancer le bot depuis l’onglet “Bot IA”.
  10. Tests & scripts de validation SCAN-TELEGRAM-MANUAL.php : à exécuter après avoir publié un message dans le canal (ex: “💎 BUY BTCUSDT 🚀 MARCHÉ SL : 108000 TP1 ➡️ 115000”). Le JSON doit indiquer count=1, puis wp_cryptobot_v2_signals doit contenir le signal. RESET-TELEGRAM-LAST-UPDATE.php : à utiliser si les nouveaux messages Telegram ne sont pas détectés (permet de repartir de 0). Bouton “Tester connexion” IG/Alpaca : vérifier le message de succès, sinon voir logs.
  11. Dépannage (FAQ) Symptôme Analyse & Résolution Nonce invalide lors de la sauvegarde Vérifier que le formulaire se soumet via Ajax (pas de reload). Le back-end accepte maintenant nonce et cryptobot_nonce. IG Markets: error.security.api-key-disabled Cocher “Activer” sur la clé dans l’espace IG. Une clé fraichement créée est inopérante tant qu’elle n’est pas activée. IG Markets: validation.pattern.invalid... Vérifier identifiants (ID compte, Identifiant historique, email) et mot de passe démo. Attendre si la limite API a été atteinte. IG Markets: error.public-api.exceeded-api-key-allowance Limite journalière atteinte -> patienter (IG suspend les appels quelques minutes). IG Markets: error.security.invalid-details Mot de passe ou identifiant erroné. Regénérer le mot de passe depuis l’espace IG et le re-saisir dans l’admin. Telegram scan = 0 messages Vérifier que le bot est admin du canal, que last_update_id n’est pas bloqué (utiliser RESET script), et que le canal est bien -100.... Signal mal parsé Les patterns couvrent la majorité des formats. Vérifier TelegramService::parseSignal, ajouter un nouveau pattern si nécessaire. Cron ne s’exécute pas Vérifier que WP Cron est activé. Utiliser wp cron event list ou un plugin Cron. AI / OpenAI ne répond pas Vérifier la clé, le budget (quota), les logs AIService.
  12. Bonnes pratiques de développement Journaliser : utiliser error_log ou un logger custom ; consulter wp-content/debug.log. Respecter les champs config existants : DatabaseManager::saveConfig() conserve toutes les clés (pas de suppression). Tests unitaires / manuels : SCAN-TELEGRAM-MANUAL.php et le bouton “Tester IG/Alpaca” sont vos meilleurs alliés. Limiter les appels IG : chaque tentative échouée consomme du quota. Toujours vérifier/activer la clé avant de tester. Scripts utilitaires : n’hésitez pas à en créer, mais les supprimer une fois les tests terminés pour ne pas encombrer la prod. Gestion des mises à jour : incrémenter CRYPTOBOT_V2_VERSION, ajouter des migrations si le schéma change.
  13. Pistes d’amélioration Ajouter une page de diagnostics consolidée (statuts IG/Telegram/AI + logs récents). Persister les tokens IG (CST / X-SECURITY-TOKEN) en options pour limiter les authentifications. Ajouter des tests unitaires (PHPUnit) pour les patterns de TelegramService. Intégrer un système de retry/backoff pour IG afin d’éviter les blocages de quota. Sécuriser davantage la configuration (chiffrement des API keys côté DB + options sourdes). Exposer une API REST pour consulter les signaux/trades depuis un service externe.
  14. Conclusion CryptoBot V2 est une plateforme complète de trading automatisé pour WordPress, articulée autour de : la collecte/parse de signaux Telegram, la connexion à des exchanges (IG, Alpaca), l’analyse via un moteur IA configurable, des outils d’administration (tests, scripts de maintenance). En suivant les étapes de configuration ci-dessus et en consultant les logs en cas d’anomalie, vous disposerez d’un environnement stable et évolutif pour développer de nouvelles stratégies ou intégrer d’autres exchanges.