4.5 KiB
4.5 KiB
Bot Discord - Accès Serveur Minecraft
Ce bot Discord permet de gérer automatiquement les demandes d'accès à un serveur Minecraft via un système de whitelist.
Fonctionnalités
🎮 Système de demande d'accès
- Message automatique avec bouton pour demander l'accès
- Modal pour saisir le pseudo Minecraft
- Vérification automatique si le joueur est déjà whitelisté
- Envoi de la demande au canal staff avec boutons Accept/Refuse
⚙️ Commandes administrateur
/minecraft list- Affiche la liste des joueurs whitelistés/minecraft add <pseudo>- Ajoute un joueur à la whitelist/minecraft remove <pseudo>- Retire un joueur de la whitelist/minecraft status- Affiche le statut du serveur Minecraft/setup-access- Envoie le message de demande d'accès
Installation
- Cloner le projet et installer les dépendances :
npm install
- Configurer le fichier .env :
Assurez-vous que votre fichier
.envcontient toutes les variables nécessaires :
TOKEN=votre_token_bot_discord
CLIENT_ID=id_du_bot
OWNER_ID=votre_id_discord
SUPPORT_SERVER_ID=id_du_serveur_discord
CHANNEL_REQUEST_ACCESS_ID=id_canal_demandes_publiques
CHANNEL_ACCESS_STAFF_REQUESTS_ID=id_canal_staff_demandes
ROLE_WAITER_ID=id_role_attente
ROLE_VERIFIED_ID=id_role_verifie
ROLE_ADMIN_ID=id_role_admin
MINECRAFT_SERVER_IP=adresse:port
MINECRAFT_WHITELIST_PATH=/chemin/vers/whitelist.json
- Lancer le bot :
npm start
Pour le développement :
npm run dev
Structure du projet
├── start.js # Point d'entrée principal
├── src/
│ ├── commands/
│ │ ├── minecraft.js # Commandes /minecraft
│ │ └── setup-access.js # Commande /setup-access
│ ├── events/
│ │ └── ready.js # Événement de démarrage
│ ├── handlers/
│ │ ├── commandHandler.js # Chargeur de commandes
│ │ ├── eventHandler.js # Chargeur d'événements
│ │ └── interactionHandler.js # Gestionnaire d'interactions
│ └── utils/
│ ├── accessRequestManager.js # Gestionnaire de demandes d'accès
│ ├── minecraftServer.js # Utilitaires serveur Minecraft
│ └── whitelistManager.js # Gestionnaire de whitelist
Utilisation
Configuration initiale
- Inviter le bot sur votre serveur avec les permissions nécessaires
- Utiliser
/setup-accessdans le canal où vous voulez le message de demande d'accès - Configurer les rôles dans votre serveur Discord selon les IDs dans le
.env
Workflow des demandes
- Utilisateur : Clique sur le bouton "Demander l'accès"
- Utilisateur : Remplit le modal avec son pseudo Minecraft
- Système : Vérifie si le joueur est déjà whitelisté
- Système : Envoie la demande au canal staff
- Staff : Clique sur "Accepter" ou "Refuser"
- Système : Ajoute le joueur à la whitelist (si accepté) et notifie l'utilisateur
Commandes administrateur
Seul l'OWNER_ID peut utiliser les commandes /minecraft :
- Lister les joueurs :
/minecraft list - Ajouter un joueur :
/minecraft add pseudo:NomDuJoueur - Retirer un joueur :
/minecraft remove pseudo:NomDuJoueur - Status du serveur :
/minecraft status
Permissions requises
Le bot a besoin des permissions Discord suivantes :
Send Messages- Envoyer des messagesUse Slash Commands- Utiliser les commandes slashEmbed Links- Incorporer des liensManage Messages- Gérer les messagesRead Message History- Lire l'historique des messages
Notes importantes
- Le fichier
whitelist.jsondoit être accessible en lecture/écriture - Le serveur Minecraft doit être accessible pour la vérification du statut
- Les IDs Discord dans le
.envdoivent être valides - Le bot vérifie automatiquement les pseudos via l'API Mojang
Dépannage
Le bot ne répond pas aux commandes
- Vérifiez que le TOKEN est correct
- Vérifiez que les permissions sont accordées
- Consultez les logs dans la console
Erreurs de whitelist
- Vérifiez le chemin vers
whitelist.json - Vérifiez les permissions de fichier
- Assurez-vous que le format JSON est valide
Problèmes de serveur Minecraft
- Vérifiez que l'adresse IP et le port sont corrects
- Assurez-vous que le serveur est en ligne
- Vérifiez les paramètres du pare-feu