Un bot Discord complet et modulaire conçu pour gérer un serveur Minecraft avec modération, système de tickets, création de salons vocaux dynamiques et bien plus encore.
# Cloner et installer
git clone <repo>
cd Veera
npm install
# Configurer
cp .env.example .env
# Éditer .env avec vos données
# Démarrer
npm start┌─────────────────────────────────────────────┐
│ 🌟 VEERA HIGHLIGHTS 🌟 │
├─────────────────────────────────────────────┤
│ │
│ ✨ 13+ Commandes Slash │
│ 🎯 Modération Complète & Automatisée │
│ 🎤 Salons Vocaux Dynamiques │
│ 🎫 Système de Tickets Intégré │
│ 🗄️ Base de Données MySQL Persistante │
│ ⚡ Architecture Modulaire & Extensible │
│ 🔐 Gestion des Permissions Avancée │
│ 📊 Logs & Historique Complet │
│ │
└─────────────────────────────────────────────┘
- Commandes Complètes → Liste de toutes les commandes slash
- Systèmes Principaux → Comment marche le bot
- Configuration Avancée → Variables d'environnement et setup
- Guide de Contribution → Comment aider au projet
- Fonctionnalités
- Prérequis
- Installation
- Configuration
- Structure du Projet
- Commandes
- Systèmes Principaux
- Dépannage
- Contribution
- Support
- Licence
| Catégorie | Fonctionnalités |
|---|---|
| 🛡️ Modération | Ban/Unban, Kick, Timeout, Avertissements, Blacklist, Lock/Unlock |
| 🎤 Salons Vocaux | Création dynamique, Permissions auto, Suppression auto |
| 🎫 Système de Tickets | Création, Gestion, Archivage, Support intégré |
| 🔧 Utilitaires | Help interactif, Ping, Clear messages |
| 💬 Membre | Bienvenue personnalisée, Archivage des événements |
| 🗄️ Base de Données | MySQL persistant, Historique des actions |
| 🤖 Automation | Logs automatiques, Actions programmées |
- ✅ Ban/Unban : Bannir et débannir avec raison enregistrée
- ✅ Kick : Expulsion instantanée
- ✅ Timeout : Mute automatique temporaire
- ✅ Warns : Système d'avertissements avec historique BD
- ✅ Blacklist : Liste noire personnalisée
- ✅ Lock/Unlock : Verrouillage des canaux
- ✅ Salons Dynamiques : Création auto à partir d'un canal spécifique
- ✅ Permissions Auto : Gestion intelligente des droits d'accès
- ✅ Suppression Auto : Nettoyage automatique des salons vides
- ✅ Création : Interface simple et rapide
- ✅ Gestion : Interface de gestion complète
- ✅ Archivage : Sauvegarde des tickets fermés
- ✅ Help Interactif : Menu de sélection des catégories
- ✅ Ping : Latence du bot en temps réel
- ✅ Clear : Suppression en masse de messages
- Bienvenue Personnalisée : Messages de bienvenue pour les nouveaux membres
- Intégration Mammoth AI : Support de l'API Mammoth AI
- Base de Données MySQL : Stockage persistant des données
- Node.js ≥ 16.0.0
- npm ou yarn
- Discord Bot Token
- MySQL (optionnel, pour la persistance des données)
- Compte Discord Developer avec application créée
git clone https://github.com/qrlmza/veera
cd Veeranpm installCréer un fichier .env à la racine du projet en copiant .env.example :
cp .env.example .envRemplir les variables nécessaires (voir section Configuration)
npm startCréer un fichier .env avec les variables suivantes :
# Discord
APP_TOKEN=votre_token_bot # Token du bot Discord
APP_ID=votre_app_id # ID de l'application Discord
SERVER_ID=votre_server_id # ID du serveur Discord
# Canaux
WELCOME_CHANNEL_ID=id_du_canal # ID du canal de bienvenue
CRVOICE_CHANNEL=id_du_canal_creation # ID du canal de création vocale
# API Externe
MAMMOUTH_API_TOKEN=votre_api_key # Clé API Mammoth (optionnel)
# Base de Données MySQL
DB_HOST=localhost # Adresse du serveur MySQL
DB_USER=root # Nom d'utilisateur MySQL
DB_PASS=votre_mot_passe # Mot de passe MySQL
DB_NAME=nom_de_la_base # Nom de la base de données
DB_PORT=3306 # Port MySQL (défaut: 3306)Veera/
├── main.js # Point d'entrée du bot
├── package.json # Dépendances du projet
├── .env.example # Modèle de configuration
│
├── Commands/ # Commandes slash
│ ├── Admin/ # Commandes de modération
│ │ ├── ban.js # Bannir un membre
│ │ ├── unban.js # Débannir un membre
│ │ ├── kick.js # Expulser un membre
│ │ ├── timeout.js # Mettre en mute
│ │ ├── warn.js # Avertir un membre
│ │ ├── warns.js # Voir les avertissements
│ │ ├── blacklist.js # Gérer la blacklist
│ │ ├── clear.js # Supprimer des messages
│ │ ├── lock.js # Verrouiller un canal
│ │ ├── unlock.js # Déverrouiller un canal
│ │ └── setup-ticket.js # Configurer les tickets
│ │
│ ├── Utility/ # Commandes utilitaires
│ │ ├── help.js # Aide et liste des commandes
│ │ └── ping.js # Vérifier la latence
│ │
│ └── Fun/ # Commandes amusantes (à développer)
│
├── Events/ # Événements Discord
│ ├── ready.js # Bot prêt et connecté
│ ├── customVoice.js # Création de salons vocaux
│ ├── guildMemberAdd.js # Bienvenue des nouveaux membres
│ ├── interactionCreate.js # Gestion des interactions
│ └── messageCreate.js # Gestion des messages
│
├── Handlers/ # Gestionnaires
│ ├── commands.js # Chargement des commandes
│ └── ticketSystem.js # Système de tickets
│
├── Utils/ # Utilitaires
│ ├── blacklistManager.js # Gestion de la blacklist
│ ├── warnManager.js # Gestion des avertissements
│ └── clearCommandsAPI.js # API de suppression de commandes
│
├── Config/ # Configuration
│ └── tickets.js # Configuration des tickets
│
└── Data/ # Données du bot (générées)
└── ...
| Commande | Description | Permission |
|---|---|---|
/ban [@user] [raison] |
Bannir un membre | Administrator |
/unban [user_id] [raison] |
Débannir un membre | Administrator |
/kick [@user] [raison] |
Expulser un membre | Kick Members |
/timeout [@user] [durée] [raison] |
Mettre en mute | Moderate Members |
/warn [@user] [raison] |
Avertir un membre | Moderate Members |
/warns [@user] |
Voir les avertissements | Moderate Members |
/blacklist [action] [user_id] |
Gérer la blacklist | Administrator |
/clear [nombre] |
Supprimer des messages | Manage Messages |
/lock |
Verrouiller le canal | Manage Channels |
/unlock |
Déverrouiller le canal | Manage Channels |
/setup-ticket |
Configurer les tickets | Administrator |
| Commande | Description |
|---|---|
/help |
Affiche toutes les commandes disponibles |
/ping |
Vérifie la latence du bot |
Le bot crée automatiquement des salons vocaux privés quand un utilisateur rejoint un canal spécifique.
Fonctionnement :
- L'utilisateur rejoint le canal déterminé par
CRVOICE_CHANNEL - Le bot crée automatiquement un nouveau salon :
Salon de [username] - Le salon est de type vocal avec:
- Permissions de l'utilisateur : Connect, ManageChannels, MuteMembers, MoveMembers
- Permissions du serveur : Connect uniquement
- Quand le dernier utilisateur quitte, le salon est automatiquement supprimé
Permet aux membres de créer des tickets pour contacter l'équipe de support.
Configuration : Voir Config/tickets.js
Suivi automatique des avertissements des membres avec historique en base de données.
Message de bienvenue personnalisé quand un nouveau membre rejoint le serveur.
- discord.js (v14.25.1) - Bibliothèque Discord.js
- dotenv (v17.2.3) - Gestion des variables d'environnement
- mysql2 (v3.15.3) - Client MySQL
- colors (v1.4.0) - Coloration du terminal
- fs & path - Modules Node.js natifs
$ npm start
📦 → Total: 13 commande(s) chargée(s)
🔄 → Déploiement des commandes slash en cours...
🚀 → Chargement des handlers...
📂 → Chargement des events...
✅ → Event chargé : voiceStateUpdate
✅ → Event chargé : guildMemberAdd
✅ → Event chargé : interactionCreate
✅ → Event chargé : messageCreate
✅ → Event chargé : clientReady
🪶 → 13 commande(s) slash déployée(s) sur le serveur
📡 → The application started with the Veera username- ✅ Vérifiez que toutes les variables dans
.envsont remplies - ✅ Assurez-vous que le token est valide et actif
- ✅ Vérifiez les logs d'erreur dans la console
- ✅ Vérifiez les permissions du dossier/fichiers
- ✅ Attendez 2-5 minutes après le démarrage (déploiement des slash commands)
- ✅ Vérifiez que l'ID du serveur est correct dans
.env - ✅ Vérifiez que le bot a les permissions administrateur
- ✅ Rafraîchissez Discord (Ctrl+R)
- ✅ Vérifiez que
CRVOICE_CHANNELpointe sur le bon canal - ✅ Assurez-vous que le bot a les permissions de gestion des canaux
- ✅ Vérifiez que
GuildVoiceStatesest dans les intents
- ✅ Vérifiez que
clientest passé en paramètre - ✅ Assurez-vous que les événements sont structurés correctement
Consultez les logs détaillés avec :
npm start 2>&1 | tee bot.logLes contributions sont bienvenues ! Pour contribuer :
- Fork le projet
- Créer une branche pour votre fonctionnalité (
git checkout -b feature/MaFonctionnalite) - Commit vos changements (
git commit -m 'Ajoute une nouvelle fonctionnalité') - Push vers la branche (
git push origin feature/MaFonctionnalite) - Ouvrir une Pull Request
| Métrique | Valeur |
|---|---|
| 📦 Commandes | 13+ Slash Commands |
| 🎫 Systèmes | 4 majeurs |
| 📁 Fichiers | 20+ fichiers JS |
| 📝 Lignes de Code | 1000+ |
| ⏱️ Temps de Chargement | < 2s |
| 🗄️ BD Support | MySQL 8.0+ |
Ce projet est sous la licence ISC. Vous êtes libre de l'utiliser, le modifier et le distribuer.
En savoir plus sur la licence ISC
- ⭐ Donner une star aide le projet à grandir
- 🔔 Activer les notifications pour les mises à jour
- 🐛 Signalez les bugs avec une issue
- 💡 Proposez des améliorations
| Info | Détail |
|---|---|
| Version | 1.0.0 |
| Statut | ✅ Actif & Maintenu |
| Dernière MAJ | 17 février 2026 |
| Node.js Min | 16.0.0 |
| Discord.js | 14.25.1 |
Merci d'utiliser Veera! 🙏
Si le projet vous plaît, pensez à ⭐ Star le repo ! 😊
© 2026 Veera Bot | Tous droits réservés