Skip to content

Repository files navigation

🤖 Bot Discord IA Avancé

Bot Discord intelligent avec IA locale (Ollama), système de raisonnement avancé et mémoire contextuelle massive

License: MITVersionNode.jsDiscord.jsOllamaContext

InstallationConfigurationFonctionnalitésDocumentation🚀 Contexte Massif

Separator

📑 Table des Matières


🎯 À propos

Bot Discord intégrant une IA locale ultra-performante avec :

  • 🧠 Raisonnement avancé : Analyse les intentions et adapte ses réponses
  • 💾 Mémoire intelligente : Se souvient du contexte et des préférences utilisateur
  • Performance optimale : Configuration automatique selon votre matériel (GPU/CPU)
  • 🎭 Personnalité adaptative : Ton décontracté, empathique et contextuel

Note : Ce bot utilise Ollama pour faire tourner des modèles IA localement (Mixtral/Mistral), garantissant confidentialité et performance.


✨ Fonctionnalités

🧠 Intelligence Avancée

FonctionnalitéDescription
🎯 Détection d'intentionAnalyse le type de question (explication, conseil, problème) et la complexité
🔍 Inférence contextuelleDétecte les besoins implicites et l'état émotionnel de l'utilisateur
🧩 Décomposition de problèmesStructure le raisonnement en étapes logiques pour les questions complexes
💾 Mémoire illimitéeSystème de mémoire court/long terme avec profils utilisateurs
⚡ Comportement proactifPeut initier des conversations et réagir au contexte

💬 Conversation Naturelle

  • ✅ Discussions sans restriction (personnalité libérale)
  • ✅ Adaptation du ton selon l'émotion détectée
  • ✅ Support multi-canal (serveur + DM)
  • ✅ Réponses structurées pour questions complexes
  • ✅ Apprentissage continu des préférences

🚀 Performance selon le matériel

Le bot s'adapte automatiquement à votre configuration matérielle :

🖥️ Matériel🔧 Configuration🤖 Modèle⚡ Vitesse💾 Mémoire
🎮 RTX 4090/4080SGPU CUDAMixtral 8x7B5-10s13 GB VRAM
🎮 RTX 3090/3080 TiGPU CUDAMixtral 8x7B6-12s13 GB VRAM
🎮 RTX 3080 (10GB)GPU CUDAMistral 7B1-3s4 GB VRAM
🔴 AMD RX 6000+CPUMistral 7B8-15s6 GB RAM
🖥️ CPU seulCPUMistral 7B10-20s6 GB RAM

💡 Astuce : Le script setup-config.ps1 détecte automatiquement votre matériel et configure les paramètres optimaux.


📦 Installation Rapide

Prérequis

Installation

# 1. Cloner le projet
git clone https://github.com/votre-username/BotDsC.git
cd BotDsC
# 2. Installer les dépendances
npm install
# 3. Configuration automatique selon votre matériel
.\setup-config.ps1
# 4. Configurer le token Discord"DISCORD_TOKEN=VOTRE_TOKEN_ICI"|Out-File-Encoding UTF8 .env
# 5. Démarrer le bot
.\start-bot.ps1

⚠️Important : Ne partagez JAMAIS votre token Discord publiquement !


⚙️ Configuration

1. Token Discord

  1. Créez une application sur Discord Developer Portal
  2. Allez dans Bot > Reset Token et copiez le token
  3. Ajoutez-le dans le fichier .env :
DISCORD_TOKEN=votre_token_discord_iciOLLAMA_MODEL=mixtralAI_MEMORY_LENGTH=12

2. Permissions et Intents

Intents requis (Developer Portal > Bot) :

  • MESSAGE CONTENT INTENT
  • SERVER MEMBERS INTENT (optionnel)
  • PRESENCE INTENT (optionnel)

Permissions bot :

  • ✅ Read Messages/View Channels
  • ✅ Send Messages
  • ✅ Read Message History
  • ✅ Add Reactions

Lien d'invitation :

https://discord.com/api/oauth2/authorize?client_id=VOTRE_CLIENT_ID&permissions=68608&scope=bot

3. Choix du modèle IA

ModèleQualitéVitesse GPUVitesse CPUVRAM/RAM
Mixtral 8x7B🟢🟢 Excellente5-10s60-90s13 GB / 16 GB
Mistral 7B🟢 Très bonne1-3s8-15s4 GB / 6 GB
# Télécharger le modèle
ollama pull mixtral # ou mistral# Vérifier que le modèle fonctionne
ollama run mixtral "Bonjour"

🎮 Utilisation

Interactions avec le bot

Le bot répond à plusieurs types d'interactions :

# Mention directe
@BotName Salut, comment ça va ?
# Message privé (DM)
Raconte-moi une blague
# Préfixe (optionnel)
!ask Explique-moi les threads Python

Commandes disponibles

CommandeDescription
!help / !aideAffiche l'aide complète
!reset / !clearEfface l'historique de conversation
!memAffiche l'état de la mémoire
!setmem <n>Change la profondeur mémoire (4-100)

Exemples d'interaction

📝 Cliquez pour voir des exemples de conversations

Conversation simple :

User: @Bot salut !
Bot: Salut ! Ça roule ? 😎

Question technique :

User: @Bot explique-moi les threads en Python
Bot: Les threads en Python permettent d'exécuter plusieurs tâches...
1. Import du module threading
2. Création d'un Thread
3. Démarrage avec .start()
[Réponse détaillée avec exemples de code]

Détection d'émotion :

User: @Bot putain ça marche pas ce code !
Bot: Je comprends ta frustration. Montre-moi ton code, on va trouver le problème ensemble. 🛠️

🧠 Système de Raisonnement Avancé

Le bot analyse chaque message selon plusieurs dimensions :

🎯 Détection d'Intention

Type de question → Explication | Conseil | Comparaison | Problème
Complexité → Simple | Medium | Complex
Besoins → Explication | Solution | Support émotionnel
État émotionnel → Frustré | Positif | Confus | Neutre

🔍 Processus de Raisonnement

graph LR
A[Message reçu] --> B[Analyse intention]
B --> C[Évaluation complexité]
C --> D{Complex?}
D -->|Oui| E[Décomposition]
D -->|Non| F[Réponse directe]
E --> G[Raisonnement structuré]
G --> H[Réponse détaillée]
F --> H
Loading

📊 Exemple d'amélioration

Avant (IA simple)Après (Raisonnement avancé)
Réponse génériqueAnalyse du contexte
Pas d'adaptationDétection de l'émotion
Réponse uniqueStructuration par étapes
Oubli du contexteMémoire long terme

📚 Documentation complète : REASONING-SYSTEM.md


🛠️ Scripts Disponibles

PowerShell (Windows)

.\start-bot.ps1# Démarrer le bot
.\stop-bot.ps1# Arrêter le bot et Ollama
.\check-bot.ps1 # Vérifier l'état du bot
.\monitor-bot.ps1 # Surveiller en temps réel
.\setup-config.ps1 # Auto-configuration matériel
.\kill-all.ps1 # Arrêt d'urgence

NPM Scripts

npm run bot:start # Démarrer le bot
npm run bot:stop # Arrêter le bot
npm run bot:check # Vérifier l'état
npm run bot:monitor # Monitoring en temps réel

🔧 Dépannage

❌ Le bot ne se connecte pas

Causes possibles :

  • Token Discord invalide
  • Mauvaise configuration .env
  • Bot non invité sur le serveur

Solution :

# Vérifier le fichier .envGet-Content .env
# Régénérer le token sur Discord Developer Portal# Remplacer dans .env et redémarrer
.\start-bot.ps1
⏱️ Timeout / L'IA ne répond pas

Pour GPU NVIDIA :

# Vérifier que le GPU est utilisé
nvidia-smi
ollama ps # Doit afficher "100% GPU"# Forcer la configuration GPUCopy-Item .\configs\ollama-gpu.js .\ollama.js -Force
.\start-bot.ps1

Pour CPU/AMD :

# Passer à Mistral (10x plus rapide)
ollama pull mistral
$env:OLLAMA_MODEL="mistral"
.\start-bot.ps1
🐌 Le bot est trop lent

Solutions :

  1. Passer à un modèle plus léger (Mistral 7B)
  2. Augmenter les timeouts dans ollama.js
  3. Fermer les applications gourmandes en RAM
  4. Vérifier que le GPU est bien utilisé (NVIDIA uniquement)
💾 Out of Memory
# Utiliser Mistral au lieu de Mixtral
ollama pull mistral
# Éditer .env : OLLAMA_MODEL=mistral# Libérer de la RAM# Fermer Chrome, jeux, etc.

📁 Structure du Projet

BotDsC/
├── 📄 index.js # Point d'entrée principal
├── 🧠 reasoning-engine.js # Système de raisonnement
├── 🤖 ollama.js # Interface Ollama (auto-configuré)
├── 💾 smart-memory.js # Mémoire intelligente
├── 🎭 proactive-behavior.js # Comportement proactif
├── 📋 context-manager.js # Gestion du contexte
│
├── ⚙️ configs/
│ ├── ollama-gpu.js # Config GPU NVIDIA (30s timeout)
│ └── ollama-cpu.js # Config CPU/AMD (3min timeout)
│
├── 💾 data/
│ ├── smart-memory.json # Mémoires utilisateurs
│ ├── reasoning-cache.json # Cache de raisonnement
│ ├── user-profiles.json # Profils et préférences
│ └── proactive-config.json # Config comportement proactif
│
├── 🔧 Scripts PowerShell
│ ├── start-bot.ps1
│ ├── stop-bot.ps1
│ ├── setup-config.ps1
│ └── monitor-bot.ps1
│
└── 📚 Documentation
├── README.md
├── REASONING-SYSTEM.md
└── CHOIX-CONFIGURATION.md

🤝 Contribuer

Les contributions sont les bienvenues ! Voici comment participer :

  1. 🍴 Fork le projet
  2. 🌿 Créez une branche (git checkout -b feature/amelioration)
  3. ✏️ Commit vos changements (git commit -m 'Ajout feature X')
  4. 📤 Push vers la branche (git push origin feature/amelioration)
  5. 🔀 Ouvrez une Pull Request

📋 Guidelines

  • Respecter la structure du code existant
  • Tester toutes les fonctionnalités ajoutées
  • Documenter les changements majeurs
  • Suivre les conventions de nommage

📜 License

Ce projet est sous licence MIT. Voir LICENSE pour plus de détails.

MIT License - Libre d'utilisation et de modification

🌟 Crédits et Remerciements

  • Ollama - Plateforme IA locale
  • Mistral AI - Modèles Mixtral & Mistral 🇫🇷
  • Discord.js - Bibliothèque Discord
  • Communauté open-source pour les contributions

🚀 Prêt à démarrer ?

📥 Télécharger📖 Documentation💬 Discord

Separator

Fait avec ❤️ par la communauté • Dernière mise à jour : Janvier 2025

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages