• Sentinelle d'Omega Kube • Assistant des partenaires Omega Kube. • Agent de sécurité
Find a file
2026-07-11 22:15:25 +00:00
backups/scratch Migration vers Disnake et ajout des components V2 2026-05-09 18:42:42 +02:00
banners Fix de la base de données 2026-06-03 15:52:43 +02:00
commandes Corrections commentaires des suivi de fonctionnalité et bug 2026-07-12 00:10:09 +02:00
config Système WL modulaire + intégration des notations staffs 2026-06-25 17:48:12 +02:00
data V0.5 du système de rapport plusieurs choses à revoir avant MEP 2026-06-14 22:36:21 +02:00
scratch migration vers new components V2, et ajout de diverse fonctions ! 2026-05-16 18:05:04 +02:00
scripts Fix: récupération des issues_gitlab après incident 2026-06-04 08:40:14 +02:00
src Mise à jour: migration de gitlab --> Forgejo 2026-07-11 21:42:45 +02:00
utils Merge branch 'dev' of https://omegakubeserv.tail951d2f.ts.net/Gameur/kuby 2026-07-11 23:13:20 +02:00
.gitignore Ajout: Syncronisation automatique des pp discord des agent O.K sur le site via Kuby 2026-06-18 22:12:01 +02:00
background_template.png The begining 2026-01-01 18:48:25 +01:00
background_template_goodbye.png The begining 2026-01-01 18:48:25 +01:00
bot.py V0.5 du système de rapport plusieurs choses à revoir avant MEP 2026-06-14 22:36:21 +02:00
check_cols.py Ajout d'un système de suggestion via intégration gitlab + correction de /setgoodbye et DM arrivée 2026-02-08 14:42:40 +01:00
check_db.py Ajout d'un système de suggestion via intégration gitlab + correction de /setgoodbye et DM arrivée 2026-02-08 14:42:40 +01:00
check_schema.py Ajout d'un système de suggestion via intégration gitlab + correction de /setgoodbye et DM arrivée 2026-02-08 14:42:40 +01:00
custom_font_large.otf The begining 2026-01-01 18:48:25 +01:00
custom_font_small.otf The begining 2026-01-01 18:48:25 +01:00
EXEMPLE_ARRIVER.png Fix: système de ticket & arriver-départ 2026-05-31 12:07:24 +02:00
Explication.md Fix système arriver départ V1 2026-05-25 19:08:45 +02:00
EXPLICATION_NON_DEV.md Fix système arriver départ V1 2026-05-25 19:08:45 +02:00
kuby.py Debug GitLab note DM v8 2026-05-20 16:43:54 +02:00
nohup.out Fix de la base de données 2026-06-03 15:52:43 +02:00
note_dev The begining 2026-01-01 18:48:25 +01:00
README.md Mise à jour de la documentation de Kuby (README.md) 2026-01-01 20:19:45 +01:00
requirements.txt Migration de Kuby vers disnake 2026-05-06 17:07:09 +02:00
serveur_flask.py Merge main dans dev et résolution des conflits 2026-07-11 23:45:06 +02:00
test_paypal_logic.py Ajout de la monétisation V0.1 2026-07-06 16:08:14 +02:00
test_premium.py Ajout de la monétisation V0.1 2026-07-06 16:08:14 +02:00
TODO.md Ajout de la monétisation V0.1 2026-07-06 16:08:14 +02:00
TÂCHE_VICY.py Ajout système de tâches et Fix: suggerer et signaler_bug 2026-06-07 16:22:17 +02:00
whitelist_parteners.json Ajout de la monétisation V0.1 2026-07-06 16:08:14 +02:00
whitelist_partners.json Ajout de la monétisation V0.1 2026-07-06 16:08:14 +02:00

🤖 Kuby - Bot Discord Multi-Fonctions

Kuby est un bot Discord complet développé en Python avec discord.py. Il offre une suite complète d'outils de modération, de sécurité, de sauvegarde et de gestion communautaire.


📋 Table des Matières

  1. Fonctionnalités
  2. 🛠️ Installation
  3. ⚙️ Configuration
  4. 📖 Commandes
  5. 🏗️ Architecture
  6. 🔐 Système de Permissions
  7. 📊 Système de Logs
  8. 🧪 Tests

Fonctionnalités

🛡️ Sécurité

  • Anti-Raid : Protection contre les attaques de raid
  • Anti-Spam : Détection et sanction du spam (5 msgs/5s par défaut)
  • Anti-Link : Blocage des liens non autorisés (discord.gg, http, https, www)
  • Anti-Mention : Protection contre les mentions abusives
  • Anti-Nuke : Protection contre la suppression massive de salons/ rôles

💾 Sauvegardes

  • Backup Complet : Sauvegarde rôles, catégories, salons, membres
  • Export des Messages : Option pour inclure l'historique des messages
  • Archives ZIP : Fichiers compressés pour faciliter le stockage

🎫 Système de Tickets

  • Création de tickets via bouton interactif
  • Gestion des permissions par rôle staff
  • Logs des actions
  • Réouverture et suppression

👋 Bienvenue / Au Revoir

  • Images de bienvenue personnalisées avec avatar
  • Messages DM automatisés
  • Images d'au revoir avec temps de présence

📝 Logs & Monitoring

  • Logs des événements membres (join/leave)
  • Logs des messages (édit/ suppression)
  • Logs vocaux (connexion/ déconnection)
  • Restauration des rôles à la reconnexion

🔒 Gestion des Utilisateurs

  • Whitelist : Liste d'utilisateurs autorisés à utiliser les commandes sensibles
  • Blacklist Réseau : Système de blacklist global pour tous les serveurs partenaires

🎮 Commandes Fun

  • Commandes variées pour animer le serveur

🛠️ Installation

Prérequis

  • Python 3.10 ou supérieur
  • pip (gestionnaire de paquets Python)

1. Cloner le Repository

git clone <url-du-repo>
cd backup_kuby

2. Créer un Environnement Virtuel (Recommandé)

python -m venv venv
source venv/bin/activate  # Linux/Mac
# ou
.\venv\Scripts\activate   # Windows

3. Installer les Dépendances

pip install -r requirements.txt

Les dépendances incluent :

  • discord.py>=2.3.0 - Framework Discord
  • python-dotenv>=1.0.0 - Variables d'environnement
  • PIL - Traitement d'images (pour les images de bienvenue)
  • aiohttp - Requêtes HTTP asynchrones

⚙️ Configuration

1. Créer un Fichier .env

Créez un fichier .env à la racine du projet avec le contenu suivant :

# Token de votre bot Discord
DISCORD_TOKEN=your_bot_token_here

# ID de l'application Discord (optionnel)
APPLICATION_ID=your_application_id_here

2. Obtenir le Token du Bot

  1. Allez sur le Discord Developer Portal
  2. Créez une nouvelle application
  3. Allez dans l'onglet "Bot"
  4. Créez un bot et copiez le token
  5. Activez les intents nécessaires :
    • SERVER MEMBERS INTENT
    • MESSAGE CONTENT INTENT
    • VOICE STATES

3. Inviter le Bot sur votre Serveur

Générez un lien d'invitation avec les permissions suivantes :

  • Administrator (recommandé pour toutes les fonctionnalités)

📖 Commandes

🔐 Sécurité

Commande Description
/security Ouvrir le panneau de configuration de sécurité

Le panneau de sécurité permet de configurer :

  • Anti-Raid : Protection contre les raids
  • Anti-Spam : Bloque le spam excessif
  • Anti-Link : Interdit les liens non autorisés
  • Anti-Mention : Protection contre les mentions de masse
  • Anti-Nuke : Protection contre la suppression de salons/rôles
  • Logs : Activer/désactiver les logs

💾 Sauvegardes

Commande Description
/backup create Créer une sauvegarde complète du serveur
/backup list Lister les sauvegardes disponibles

Options pour /backup create :

  • save_messages : Inclure les messages (défaut: True)
  • privacy_notice : Afficher un avertissement public (défaut: True)
  • message_limit_per_channel : Limite de messages par salon (défaut: 10000)

🎫 Tickets

Commande Description
/ticket setup Configurer le système de tickets
/ticket panel [channel] Créer un panneau de création de tickets

Fonctionnement :

  1. Les utilisateurs cliquent sur "Créer un ticket"
  2. Un salon privé est créé automatiquement
  3. Les membres staff peuvent fermer/rouvrir

👋 Bienvenue / Au Revoir

Commande Description
/setwelcome <channel> [message_dm] Configurer le salon de bienvenue et message DM
/setgoodbye <channel> Configurer le salon d'au revoir

Variables pour les messages DM :

  • {username} - Nom d'utilisateur
  • {servername} - Nom du serveur
  • {member_count} - Nombre de membres

👥 Whitelist

Commande Description
/whitelist ajouter <utilisateur> Ajouter un utilisateur à la whitelist
/whitelist retirer <utilisateur> Retirer un utilisateur de la whitelist
/whitelist liste Lister les utilisateurs whitelistés

🔒 Blacklist (Agents uniquement)

Commande Description
/blacklist <utilisateur> [raison] Blacklister un utilisateur du réseau
/unblacklist <utilisateur> Retirer de la blacklist

🏗️ Architecture

backup_kuby/
├── bot.py                    # Point d'entrée principal du bot
├── kuby.py                   # Script de lancement alternatif
├── requirements.txt          # Dépendances Python
├── .env                      # Variables d'environnement (à créer)
├── README.md                 # Documentation
│
├── commandes/                # Cog Discord (modules de commandes)
│   ├── whitelist.py         # Gestion de la whitelist
│   ├── whitelist_monitor.py # Monitoring whitelist
│   ├── security.py          # Panneau de sécurité
│   ├── ticket.py            # Système de tickets
│   ├── backup.py            # Sauvegardes serveur
│   ├── blacklist.py         # Blacklist réseau
│   ├── welcome.py           # Messages de bienvenue
│   ├── goodbye.py           # Messages d'au revoir
│   ├── fun.py               # Commandes fun
│   ├── snipe.py             # Commande snipe
│   ├── scan.py              # Scan de sécurité
│   ├── no_link.py           # Anti-liens basique
│   │
│   └── modules_security/    # Modules de sécurité avancés
│       ├── antispam.py      # Anti-spam & Anti-liens
│       ├── antiraid.py      # Anti-raid
│       └── logs_manager.py  # Gestion des logs
│
├── data/                    # Données et configurations
│   ├── config.db            # Base SQLite (welcome/goodbye)
│   ├── whitelist.json       # Utilisateurs whitelistés
│   ├── blacklist.json       # Utilisateurs blacklistés
│   ├── security_settings.json # Paramètres de sécurité
│   ├── agents.json          # Agents de la blacklist
│   ├── tickets_blacklist.json # Tickets blacklist
│   │
│   ├── logs/                # Logs d'événements
│   │   ├── member_events_*.json
│   │   ├── messages_*.json
│   │   └── voice_*.json
│   │
│   ├── security_backups/    # Sauvegardes serveur
│   └── member_logs/         # Historique des rôles membres
│
├── ressources/              # Ressources statiques
│   └── assets/
│
└── src/                     # Code source utilitaire
    ├── logger.py            # Système de logging
    └── advanced_logger.py   # Logging avancé & historique

🔐 Système de Permissions

Whitelist

La whitelist est un système de permissions qui contrôle l'accès aux commandes sensibles. Seuls les utilisateurs whitelistés peuvent utiliser certaines commandes administratives.

Fichiers :

  • data/whitelist.json - Stockage des utilisateurs whitelistés

Gestion :

  • Les propriétaires de serveur sont automatiquement whitelistés
  • Gestion via /whitelist ajouter/retirer/liste

Rôles de Staff

Pour le système de tickets, les rôles staff sont définis lors de la configuration. Ces rôles ont accès aux tickets des utilisateurs.

Permissions Requises

Le bot nécessite les permissions suivantes sur le serveur :

  • Administrator (recommandé) OU
  • Manage Roles - Pour la modération
  • Manage Channels - Pour les tickets
  • Ban Members - Pour la sécurité
  • Manage Messages - Pour l'anti-spam
  • View Audit Log - Pour les logs

📊 Système de Logs

Types d'Événements Trackés

Événements Membres

  • Join : Arrivée d'un nouveau membre
  • Leave : Départ d'un membre
  • Restauration de rôles : Les rôles sont restaurés si le membre revient

Événements Messages

  • Suppression : Message supprimé (contenu, auteur, salon)
  • Édition : Message modifié (avant/après)

Événements Vocaux

  • Connexion : Arrivée dans un salon vocal
  • Déconnexion : Départ d'un salon vocal
  • Déplacement : Changement de salon vocal

Fichiers de Logs

Les logs sont stockés dans data/logs/ avec la structure suivante :

  • member_events_YYYY-MM-DD.json - Événements membres
  • messages_YYYY-MM-DD.json - Événements messages
  • voice_YYYY-MM-DD.json - Événements vocaux

Restauration des Rôles

Le système advanced_logger.py сохраняе l'historique des rôles des membres dans data/member_logs/{user_id}.json. Lorsqu'un membre rejoint à nouveau, ses rôles précédents sont automatiquement restaurés.


🧪 Tests

Lancer le Bot

# Méthode 1 : Via kuby.py
python kuby.py

# Méthode 2 : Via bot.py (avec gestion d'erreur)
python bot.py

Vérifier le Fonctionnement

  1. Le bot doit apparaître en ligne sur Discord
  2. Vérifiez les logs dans la console
  3. Testez les commandes :
    • /whitelist liste - Doit fonctionner
    • /security - Doit ouvrir le panneau
    • /backup create - Doit créer une sauvegarde

Dépannage

Problèmes Courants :

  1. Token manquant

    Erreur: Token Discord non trouvé dans les variables d'environnement!
    

    ➡️ Vérifiez le fichier .env

  2. Intentions manquantes

    discord.IntentsRequired: ...
    

    ➡️ Activez les intents sur le portail développeur

  3. Permissions insuffisantes

    Je n'ai pas la permission d'exclure ce membre
    

    ➡️ Vérifiez la position du bot dans la hiérarchie des rôles


📝 Notes de Développement

Structure des Cogs

Chaque module est un "Cog" Discord.py qui permet une organisation modulaire du code :

class NomDuModule(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
    
    # Commandes slash
    @app_commands.command(name="commande", description="Description")
    async def ma_commande(self, interaction: discord.Interaction):
        # Logique
        pass

async def setup(bot):
    await bot.add_cog(NomDuModule(bot))

Système de Logging

Le bot utilise un système de logging personnalisé via src/logger.py :

  • kuby_logger.info() - Informations générales
  • kuby_logger.debug() - Messages de débogage
  • kuby_logger.error() - Erreurs
  • kuby_logger.audit() - Audits de sécurité

📄 Licence

Ce projet est développé pour le réseau Omega Kube. Toute utilisation est soumise aux conditions du projet.


🤝 Contribution

Pour contribuer au projet :

  1. Forkez le repository
  2. Créez une branche (git checkout -b feature/ma-fonctionnalite)
  3. Commitez vos changements (git commit -m 'Ajout de...')
  4. Push sur la branche (git push origin feature/ma-fonctionnalite)
  5. Ouvrez une Pull Request

Développé avec ❤️ pour Omega Kube