Bot Discord simple pour la gestion des tickets et des rôles avec système d'approbation.
Système de Tickets
- Création de tickets avec catégories personnalisées
- Panels configurables avec boutons colorés
- Renommage et fermeture de tickets
- Intégration avec les catégories Discord
Gestion des Rôles
- Demandes de rôles avec approbation
- Groupes de rôles organisés
- Recherche de rôles par nom
- Interface d'administration pour les modérateurs
- Node.js 18+
- MySQL 8+
- Bot Discord créé sur le portail développeur
- Application Discord avec token bot
- Serveur Discord avec permissions appropriées
git clone https://github.com/imutig/Supedo.git
cd Supedonpm installCREATE DATABASE supedo_bot CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'supedo_user'@'localhost' IDENTIFIED BY 'votre_mot_de_passe';
GRANT ALL PRIVILEGES ON supedo_bot.* TO 'supedo_user'@'localhost';
FLUSH PRIVILEGES;- Cloner le projet
git clone https://github.com/imutig/Supedo.git
cd Supedo- Installer les dépendances
npm install- Configurer la base de données MySQL
CREATE DATABASE supedo_bot;
CREATE USER 'supedo_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON supedo_bot.* TO 'supedo_user'@'localhost';- Créer le fichier
.env
DISCORD_TOKEN=your_bot_token
CLIENT_ID=your_application_id
GUILD_ID=your_guild_id
DB_HOST=localhost
DB_PORT=3306
DB_USERNAME=supedo_user
DB_PASSWORD=your_password
DB_DATABASE=supedo_bot
NODE_ENV=production- Compiler et démarrer
npm run build
npm run deploy
npm start/ticket- Gestion des tickets/role- Gestion des rôles/info- Informations du bot
- Remplissez le formulaire :
- Utiliser
/ticketpour accéder au menu - Créer des catégories avec clé, nom et style de bouton
- Créer un panel dans un salon
- Les utilisateurs peuvent cliquer sur les boutons pour créer des tickets
- Utiliser
/rolepour le menu de gestion - Les utilisateurs demandent des rôles
- Les modérateurs approuvent/refusent via boutons
- Système de groupes de rôles disponible
src/
├── commands/ # Commandes slash
├── events/ # Gestionnaires d'événements
├── utils/ # Utilitaires et handlers
│ ├── entities/ # Entités TypeORM
│ ├── buttonHandler.ts
│ ├── roleMenuHandler.ts
│ ├── ticketMenuHandler.ts
│ └── database.ts
└── scripts/ # Scripts de maintenance
Tables principales:
ticket_categories- Catégories de ticketsticket_panels- Panels de ticketstickets- Tickets individuelsrole_requests- Demandes de rôlesrole_groups- Groupes de rôles
npm run dev # Développement
npm run build # Compilation
npm run deploy # Déployer les commandes
npm run cleanup-db # Nettoyer la base de donnéesnpm run build
npm run deploy
npm start
npm run cleanup-db
npm run setup-categories GUILD_ID [CATEGORY_ID]
---
## 📁 Architecture du Projet
src/ ├── commands/ # Commandes slash Discord │ ├── role.ts # Gestion des rôles │ └── ticket.ts # Gestion des tickets ├── events/ # Gestionnaires d'événements │ ├── ready.ts # Événement de démarrage │ └── interactionCreate.ts # Interactions Discord ├── utils/ # Utilitaires et logique métier │ ├── entities/ # Entités TypeORM │ ├── buttonHandler.ts # Gestion des boutons │ ├── roleMenuHandler.ts # Logique des rôles │ ├── ticketMenuHandler.ts # Logique des tickets │ ├── database.ts # Opérations base de données │ └── dataSource.ts # Configuration TypeORM ├── scripts/ # Scripts utilitaires └── index.ts # Point d'entrée principal
---
## 🐛 Dépannage
### **Problèmes Courants**
#### Bot ne répond pas
```bash
# Vérifier les logs
npm start
# Vérifier les permissions
# Le bot doit avoir les permissions dans le serveur
-- Vérifier la connexion
SHOW PROCESSLIST;
-- Recréer les tables si nécessaire
DROP DATABASE supedo_bot;
CREATE DATABASE supedo_bot CHARACTER SET utf8mb4;# Redéployer les commandes
npm run deploy
# Vérifier la variable GUILD_ID pour le développementLes contributions sont les bienvenues ! Pour contribuer :
- 🍴 Fork le projet
- 🌟 Créez votre branche (
git checkout -b feature/NouvelleFeature) - 💾 Commit vos changements (
git commit -m 'Ajout: Nouvelle fonctionnalité') - 📤 Push vers la branche (
git push origin feature/NouvelleFeature) - 🔀 Ouvrez une Pull Request
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
- imutig - Développement - GitHub
- Discord.js pour l'excellente librairie
- TypeORM pour la gestion de base de données