Kuby/README.md
2026-01-01 18:48:25 +01:00

8.2 KiB
Executable file

🤖 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

🚀 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

    git clone [URL_DU_REPO]
    cd kuby-bot
    
  2. Créer un environnement virtuel

    python -m venv venv
    
    # Windows
    venv\Scripts\activate
    
    # Linux/Mac
    source venv/bin/activate
    
  3. Installer les dépendances

    pip install -r requirements.txt
    
  4. Créer le fichier .env

    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

    python bot.py
    

🔧 Configuration

Fichier .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é

# 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

# 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.