90 lines
3.1 KiB
Markdown
90 lines
3.1 KiB
Markdown
# 🥐 Femboy Croissant Bot
|
|
|
|
Un bot Discord complet et moderne pour la gestion de communauté, incluant modération, système d'XP, tickets avec transcription web, et plus encore.
|
|
|
|
## 🌟 Fonctionnalités
|
|
|
|
### 🛡️ Modération
|
|
- **Sanctions complètes :** Ban, Kick, Mute (Timeout), Warn.
|
|
- **Gestion des sanctions :** `unban`, `unmute`, `untimeout`, `changesanction`, `revokesanction`.
|
|
- **Logs détaillés :** Toutes les actions sont enregistrées en base de données et dans un salon de logs.
|
|
- **Casier judiciaire :** Visualisez l'historique des sanctions d'un membre avec `/casier`.
|
|
- **Auto-Unban/Unmute :** Gestion automatique des expirations de sanctions.
|
|
|
|
### 🎫 Système de Tickets
|
|
- **Types multiples :** Support, Plainte, Candidature, etc.
|
|
- **Transcriptions Web :** Génération automatique de pages HTML pour les archives de tickets.
|
|
- **Dashboard Web :** Interface pour visualiser et gérer les transcripts (avec authentification Discord).
|
|
- **Candidatures :** Formulaire intégré avec questions personnalisées.
|
|
|
|
### 📈 Système d'XP
|
|
- **Progression :** Gain d'XP par message et en vocal.
|
|
- **Niveaux :** Annonces de level-up personnalisées.
|
|
- **Classement :** Leaderboard global avec `/leaderboard`.
|
|
- **Exclusion :** Possibilité d'exclure certains salons du gain d'XP.
|
|
- **Bumps :** Récompenses d'XP pour les bumps (Disboard) et rappels automatiques.
|
|
|
|
### 🛠️ Utilitaires
|
|
- **Info :** `/userinfo`, `/serverinfo`, `/profil`.
|
|
- **Profils personnalisables :** Signature, anniversaire, badges (détection automatique Nitro/Boost).
|
|
- **Dev :** Commandes de maintenance (`/reload`, `/infra`).
|
|
|
|
## 🚀 Installation
|
|
|
|
### Prérequis
|
|
- Node.js v16.9.0 ou supérieur.
|
|
- Une base de données MySQL/MariaDB.
|
|
- Un bot Discord créé sur le [Developer Portal](https://discord.com/developers/applications).
|
|
|
|
### Configuration
|
|
1. Clonez le dépôt.
|
|
2. Installez les dépendances :
|
|
```bash
|
|
npm install
|
|
```
|
|
3. Configurez le fichier `.env` (voir `.env.example` ou ci-dessous) :
|
|
```env
|
|
TOKEN=votre_token_bot
|
|
CLIENT_ID=votre_client_id
|
|
GUILD_ID=id_serveur_principal
|
|
|
|
DB_HOST=localhost
|
|
DB_USER=root
|
|
DB_PASSWORD=votre_mot_de_passe
|
|
DB_NAME=bot
|
|
|
|
DISCORD_CLIENT_SECRET=votre_secret_oauth
|
|
DISCORD_CALLBACK_URL=http://localhost:3000/auth/discord/callback
|
|
TRANSCRIPT_PORT=3000
|
|
MODERATOR_IDS=id1,id2
|
|
```
|
|
|
|
### Démarrage
|
|
1. Déployez les commandes Slash :
|
|
```bash
|
|
npm run deploy
|
|
```
|
|
2. Lancez le bot :
|
|
```bash
|
|
npm start
|
|
```
|
|
3. (Optionnel) Lancez le serveur de transcripts :
|
|
```bash
|
|
npm run server
|
|
```
|
|
|
|
## 📂 Structure du Projet
|
|
|
|
- `/commands` : Commandes Slash organisées par catégorie.
|
|
- `/events` : Gestionnaires d'événements Discord (message, interaction, vocal...).
|
|
- `/functions` : Logique métier (DB, XP, Modération).
|
|
- `/server` : Serveur web Express pour les transcripts.
|
|
- `/utils` : Constantes et fonctions utilitaires.
|
|
|
|
## 🔒 Sécurité
|
|
- Les tokens et mots de passe ne doivent **jamais** être partagés.
|
|
- Le fichier `.env` est ignoré par Git.
|
|
- Le serveur web utilise l'authentification OAuth2 Discord pour protéger les transcripts.
|
|
|
|
---
|
|
*Développé avec ❤️ par Syxpi* |