The begining
This commit is contained in:
commit
dee311e709
71 changed files with 8349 additions and 0 deletions
256
README.md
Executable file
256
README.md
Executable file
|
|
@ -0,0 +1,256 @@
|
|||
# 🤖 Kuby Discord Bot
|
||||
|
||||
Un bot Discord avancé et sécurisé développé en Python avec discord.py, conçu pour la gestion de serveurs et l'automatisation.
|
||||
|
||||
## 📋 Table des matières
|
||||
|
||||
- [🤖 Kuby Discord Bot](#-kuby-discord-bot)
|
||||
- [📋 Table des matières](#-table-des-matières)
|
||||
- [🚀 Fonctionnalités](#-fonctionnalités)
|
||||
- [⚙️ Installation](#️-installation)
|
||||
- [🔧 Configuration](#-configuration)
|
||||
- [📁 Structure du projet](#-structure-du-projet)
|
||||
- [🎯 Utilisation](#-utilisation)
|
||||
- [🛡️ Sécurité](#️-sécurité)
|
||||
- [🔍 Logging](#-logging)
|
||||
- [🐛 Dépannage](#-dépannage)
|
||||
- [🤝 Contribution](#-contribution)
|
||||
- [📄 Licence](#-licence)
|
||||
|
||||
## 🚀 Fonctionnalités
|
||||
|
||||
### ✅ Fonctionnalités principales
|
||||
- **Système de whitelist** : Contrôle d'accès basé sur une liste blanche
|
||||
- **Logs avancés** : Suivi détaillé de toutes les activités du serveur
|
||||
- **Système de bienvenue/au revoir** : Messages personnalisés pour les arrivées/départs
|
||||
- **Sécurité renforcée** : Protection contre les raids et les utilisateurs malveillants
|
||||
- **Commandes de modération** : Outils complets pour les modérateurs
|
||||
- **Sauvegardes automatiques** : Backup régulier des données importantes
|
||||
|
||||
### 🎮 Commandes disponibles
|
||||
| Commande | Description | Usage |
|
||||
|----------|-------------|--------|
|
||||
| `!whitelist add @user` | Ajoute un utilisateur à la whitelist | `!whitelist add @Kuby` |
|
||||
| `!whitelist remove @user` | Retire un utilisateur de la whitelist | `!whitelist remove @Kuby` |
|
||||
| `!whitelist list` | Liste tous les utilisateurs whitelistés | `!whitelist list` |
|
||||
| `!setwelcome #channel` | Définit le canal de bienvenue | `!setwelcome #bienvenue` |
|
||||
| `!setgoodbye #channel` | Définit le canal d'au revoir | `!setgoodbye #depart` |
|
||||
| `!security settings` | Affiche les paramètres de sécurité | `!security settings` |
|
||||
| `!snipe` | Récupère le dernier message supprimé | `!snipe` |
|
||||
| `!fun meme` | Envoie un meme aléatoire | `!fun meme` |
|
||||
|
||||
## ⚙️ Installation
|
||||
|
||||
### Prérequis
|
||||
- Python 3.8 ou supérieur
|
||||
- Un compte Discord avec des permissions d'administrateur
|
||||
- Un serveur Discord pour tester le bot
|
||||
|
||||
### Étapes d'installation
|
||||
|
||||
1. **Cloner le repository**
|
||||
```bash
|
||||
git clone [URL_DU_REPO]
|
||||
cd kuby-bot
|
||||
```
|
||||
|
||||
2. **Créer un environnement virtuel**
|
||||
```bash
|
||||
python -m venv venv
|
||||
|
||||
# Windows
|
||||
venv\Scripts\activate
|
||||
|
||||
# Linux/Mac
|
||||
source venv/bin/activate
|
||||
```
|
||||
|
||||
3. **Installer les dépendances**
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
4. **Créer le fichier .env**
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
5. **Configurer les variables d'environnement**
|
||||
Éditer le fichier `.env` avec vos informations :
|
||||
```
|
||||
DISCORD_TOKEN=VOTRE_TOKEN_BOT
|
||||
APPLICATION_ID=VOTRE_APPLICATION_ID
|
||||
```
|
||||
|
||||
6. **Lancer le bot**
|
||||
```bash
|
||||
python bot.py
|
||||
```
|
||||
|
||||
## 🔧 Configuration
|
||||
|
||||
### Fichier .env
|
||||
```env
|
||||
# Token du bot Discord (obligatoire)
|
||||
DISCORD_TOKEN=your_bot_token_here
|
||||
|
||||
# ID de l'application Discord (optionnel mais recommandé)
|
||||
APPLICATION_ID=your_application_id_here
|
||||
|
||||
# Configuration du logging
|
||||
LOG_LEVEL=INFO
|
||||
LOG_FILE_MAX_SIZE=10MB
|
||||
LOG_BACKUP_COUNT=5
|
||||
```
|
||||
|
||||
### Permissions Discord requises
|
||||
- **Administrator** : Pour une gestion complète du serveur
|
||||
- **Manage Server** : Pour modifier les paramètres du serveur
|
||||
- **Manage Channels** : Pour créer/modifier les canaux
|
||||
- **Manage Roles** : Pour gérer les rôles
|
||||
- **Kick Members** : Pour expulser des membres
|
||||
- **Ban Members** : Pour bannir des membres
|
||||
- **Read Messages** : Pour lire les messages
|
||||
- **Send Messages** : Pour envoyer des messages
|
||||
- **Embed Links** : Pour envoyer des embeds
|
||||
- **Attach Files** : Pour envoyer des fichiers
|
||||
- **Add Reactions** : Pour ajouter des réactions
|
||||
|
||||
## 📁 Structure du projet
|
||||
|
||||
```
|
||||
kuby-bot/
|
||||
├── bot.py # Point d'entrée principal du bot
|
||||
├── kuby.py # Classe principale MyBot avec événements
|
||||
├── requirements.txt # Dépendances Python
|
||||
├── .env # Variables d'environnement (non versionné)
|
||||
├── .gitignore # Fichiers à ignorer par Git
|
||||
├── README.md # Ce fichier
|
||||
├── data/ # Dossier pour les données
|
||||
│ ├── security_settings.json # Paramètres de sécurité
|
||||
│ ├── logs/ # Fichiers de logs
|
||||
│ └── member_logs/ # Logs des membres
|
||||
├── commandes/ # Extensions (cogs) du bot
|
||||
│ ├── __init__.py
|
||||
│ ├── whitelist.py # Gestion de la whitelist
|
||||
│ ├── whitelist_monitor.py # Surveillance de la whitelist
|
||||
│ ├── security.py # Commandes de sécurité
|
||||
│ ├── fun.py # Commandes amusantes
|
||||
│ ├── snipe.py # Récupération de messages
|
||||
│ ├── sendbotmessages.py # Envoi de messages via le bot
|
||||
│ ├── setwelcomechannel.py # Configuration canal bienvenue
|
||||
│ ├── setgoodbyechannel.py # Configuration canal au revoir
|
||||
│ └── whitelist_monitor.py # Monitoring de la whitelist
|
||||
├── src/ # Code source utilitaire
|
||||
│ ├── logger.py # Configuration du logging
|
||||
│ └── advanced_logger.py # Logger avancé avec fonctionnalités
|
||||
└── utils/ # Utilitaires divers
|
||||
```
|
||||
|
||||
## 🎯 Utilisation
|
||||
|
||||
### Premier démarrage
|
||||
1. Invitez le bot sur votre serveur avec les permissions appropriées
|
||||
2. Configurez le canal de bienvenue avec `!setwelcome #channel`
|
||||
3. Configurez le canal d'au revoir avec `!setgoodbye #channel`
|
||||
4. Ajoutez les modérateurs à la whitelist avec `!whitelist add @modérateur`
|
||||
|
||||
### Configuration de la sécurité
|
||||
```bash
|
||||
# Activer la surveillance de la whitelist
|
||||
!security enable
|
||||
|
||||
# Voir les paramètres actuels
|
||||
!security settings
|
||||
|
||||
# Configurer les notifications
|
||||
!security notifications #channel
|
||||
```
|
||||
|
||||
## 🛡️ Sécurité
|
||||
|
||||
### Système de whitelist
|
||||
Le bot utilise un système de liste blanche pour contrôler l'accès aux commandes :
|
||||
- Seuls les utilisateurs whitelistés peuvent utiliser les commandes
|
||||
- Les administrateurs du serveur sont automatiquement whitelistés
|
||||
- Les modifications de la whitelist sont loguées
|
||||
|
||||
### Protection contre les raids
|
||||
- Détection automatique des arrivées massives
|
||||
- Notifications aux administrateurs
|
||||
- Actions automatiques possibles (kick, ban)
|
||||
|
||||
### Logs de sécurité
|
||||
Toutes les actions importantes sont enregistrées :
|
||||
- Connexions/déconnexions
|
||||
- Modifications de la whitelist
|
||||
- Arrivées/départs de membres
|
||||
- Suppressions de messages
|
||||
- Modifications de rôles
|
||||
|
||||
## 🔍 Logging
|
||||
|
||||
### Niveaux de logs
|
||||
- **DEBUG** : Informations détaillées pour le développement
|
||||
- **INFO** : Informations générales sur le fonctionnement
|
||||
- **WARNING** : Avertissements sur des comportements potentiellement problématiques
|
||||
- **ERROR** : Erreurs qui n'empêchent pas le fonctionnement
|
||||
- **CRITICAL** : Erreurs graves qui nécessitent une intervention
|
||||
|
||||
### Fichiers de logs
|
||||
Les logs sont stockés dans `data/logs/` avec rotation automatique :
|
||||
- `kuby.log` : Logs principaux
|
||||
- `security.log` : Logs de sécurité
|
||||
- `commands.log` : Logs des commandes
|
||||
|
||||
## 🐛 Dépannage
|
||||
|
||||
### Problèmes courants
|
||||
|
||||
#### "Bot ne se connecte pas"
|
||||
1. Vérifiez le token dans `.env`
|
||||
2. Assurez-vous que le bot a les bonnes permissions
|
||||
3. Vérifiez la connexion Internet
|
||||
|
||||
#### "Commandes ne fonctionnent pas"
|
||||
1. Vérifiez que l'utilisateur est whitelisté
|
||||
2. Vérifiez les permissions du bot
|
||||
3. Consultez les logs pour les erreurs
|
||||
|
||||
#### "Erreur de permissions"
|
||||
1. Vérifiez que le bot a le rôle approprié
|
||||
2. Vérifiez la hiérarchie des rôles
|
||||
3. Assurez-vous que le bot est au-dessus des rôles à gérer
|
||||
|
||||
### Commandes de debug
|
||||
```bash
|
||||
# Vérifier l'état du bot
|
||||
!ping
|
||||
|
||||
# Voir les logs récents
|
||||
!logs recent
|
||||
|
||||
# Vérifier la configuration
|
||||
!config check
|
||||
```
|
||||
|
||||
## 🤝 Contribution
|
||||
|
||||
### Rapport de bugs
|
||||
Pour signaler un bug :
|
||||
1. Vérifiez les issues existantes
|
||||
2. Créez une nouvelle issue avec :
|
||||
- Description détaillée
|
||||
- Étapes pour reproduire
|
||||
- Logs pertinents
|
||||
- Environnement (Python version, discord.py version)
|
||||
|
||||
## 📄 Licence
|
||||
|
||||
Ce projet est sous licence MIT. Voir le fichier `LICENSE` pour plus de détails.
|
||||
|
||||
---
|
||||
|
||||
**Développé avec Lowei et Gameur ❤️ par l'équipe Omega Kube**
|
||||
|
||||
Pour toute question ou support, rejoignez notre serveur Discord ou créez une issue sur GitHub.
|
||||
Loading…
Add table
Add a link
Reference in a new issue