# đŸ€– 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.