Un bot Discord complet et professionnel avec des fonctionnalités avancées pour la gestion de communautés.
- Gain d'XP automatique sur les messages
- Système de niveaux avec progression personnalisable
- Leaderboard et classements
- Rôles de récompense par niveau
- Commandes:
!rank,!leaderboard,!levelroles
- Récompense quotidienne (
!daily) - Système de monnaie virtuelle
- Transferts entre utilisateurs
- Classement des plus riches
- Trivia avec questions de culture générale
- Jeux: dés, pile ou face, 8ball, pierre-feuille-ciseaux, machine à sous
- Commandes:
!balance,!give,!richest,!trivia,!roll,!coinflip,!8ball,!rps,!slot
- Auto-modération (spam, mots interdits, liens d'invitation)
- Ban, kick, mute/timeout avec logs
- Système d'avertissements persistant
- Seuil d'avertissements configurable
- Purge de messages, slowmode, lock/unlock de channels
- Commandes:
!ban,!kick,!mute,!unmute,!warn,!warnings,!purge,!slowmode,!lock,!unlock
- Attribution automatique de rôles via réactions
- Création de menus de rôles personnalisés
- Support des emojis personnalisés
- Commandes:
!reactionrole add,!reactionrole remove,!reactionrole create,!reactionrole list
- Panel de tickets avec boutons interactifs
- Création de tickets via modal
- Ajout/retrait de membres
- Transfert de tickets
- Fermeture avec transcript
- Commandes:
!ticket setup,!ticket close,!ticket add,!ticket remove
- Messages de bienvenue personnalisables
- Messages de départ
- DM automatique aux nouveaux membres
- Variables dynamiques:
{user},{server},{member_count} - Commandes:
!setwelcome,!setwelcomemsg,!setgoodbyemsg,!testwelcome
- Sondages simples et multiples
- Rappels/reminders
- Système AFK
- Memes aléatoires
- Informations serveur/utilisateur
- Calculatrice, ping, avatar
- Commandes:
!poll,!multipoll,!remind,!afk,!meme,!serverinfo,!userinfo,!avatar,!calc,!ping
- Intégration OpenAI (
cogs/ai.py) avec support d'alternatives gratuites - Conversations contextuelles par utilisateur / salon avec historique configurable
- Activation par variable d'environnement (
AI_ENABLED) et modèle configurable (AI_MODEL)
- Préfixe personnalisable par serveur
- Activation/désactivation des modules
- Channels de logs configurables
- Messages personnalisables
- Commandes hybrides (prefix
!et slash/) viacommands.hybrid_group - Commandes:
!config,!help,!botinfo,!invite
- Python 3.10+
- Un compte Discord Developer
- Cloner le dépôt
git clone https://github.com/kingoftech-v01/discord-bot.git
cd discord-bot- Créer un environnement virtuel (recommandé)
python -m venv venv
source venv/bin/activate # Linux/Mac
# ou
venv\Scripts\activate # Windows- Installer les dépendances
pip install -r requirements.txt- Configurer le bot
cp .env.example .env
# Éditez .env avec vos tokens- Lancer le bot
python main.py| Variable | Description | Défaut |
|---|---|---|
DISCORD_TOKEN |
Token du bot Discord | (requis) |
APPLICATION_ID |
ID de l'application Discord | (requis) |
BOT_PREFIX |
Préfixe des commandes | ! |
XP_PER_MESSAGE |
XP gagné par message | 15 |
XP_COOLDOWN |
Cooldown XP en secondes | 60 |
DAILY_REWARD_MIN |
Récompense quotidienne min | 50 |
DAILY_REWARD_MAX |
Récompense quotidienne max | 200 |
WARN_THRESHOLD |
Seuil d'avertissements | 3 |
Le bot nécessite les permissions suivantes:
- Gérer les rôles
- Gérer les channels
- Kick/Ban des membres
- Gérer les messages
- Envoyer des messages
- Ajouter des réactions
- Voir l'historique des messages
Activez ces intents dans le Discord Developer Portal:
- Server Members Intent
- Message Content Intent
discord-bot/
├── main.py # Point d'entrée principal (classe DiscordBot, logging, chargement des cogs)
├── config.py # Configuration centralisée (tokens, couleurs, emojis, modèle IA)
├── requirements.txt # Dépendances Python
├── .env.example # Template de configuration
├── .gitignore
├── cogs/ # 11 modules (cogs) chargés au demarrage
│ ├── admin.py # Administration + configuration (commandes hybrides)
│ ├── ai.py # Chatbot AI (OpenAI / alternatives)
│ ├── games.py # Jeux et économie (dés, slot, trivia, etc.)
│ ├── leveling.py # Système XP / leveling / rôles de récompense
│ ├── moderation.py # Ban, kick, mute, warn, purge, lock, slowmode
│ ├── profanity_filter.py# Auto-modération mots interdits
│ ├── reaction_roles.py # Attribution automatique de rôles via réactions
│ ├── scheduler.py # Tâches planifiées (APScheduler)
│ ├── tickets.py # Panel de tickets + transcripts
│ ├── utility.py # Sondages, rappels, AFK, memes, infos
│ └── welcome.py # Messages de bienvenue / départ + DM
├── utils/
│ └── database.py # Gestion base de données (aiosqlite)
└── data/ # Stockage SQLite (genere au premier demarrage)
| Commande | Description |
|---|---|
!help |
Affiche toutes les commandes |
!config |
Voir/modifier la configuration |
!rank |
Voir son niveau et XP |
!leaderboard |
Classement XP |
!daily |
Récompense quotidienne |
!trivia |
Lancer une question trivia |
!ticket setup |
Installer le système de tickets |
!reactionrole create |
Créer un menu de rôles |
- Créez un compte sur Render
- Nouveau > Web Service
- Connectez votre repo GitHub
- Build:
pip install -r requirements.txt - Start:
python main.py - Ajoutez les variables d'environnement
- Créez un compte sur Railway
- Nouveau projet > Deploy from GitHub
- Ajoutez les variables d'environnement
- Le bot se déploie automatiquement
# Avec systemd
sudo nano /etc/systemd/system/discord-bot.service
[Unit]
Description=Discord Bot
After=network.target
[Service]
User=your-user
WorkingDirectory=/path/to/discord-bot
ExecStart=/path/to/venv/bin/python main.py
Restart=always
[Install]
WantedBy=multi-user.target
# Activer le service
sudo systemctl enable discord-bot
sudo systemctl start discord-bot- Ne partagez JAMAIS votre token Discord
- Gardez le fichier
.envprivé - Utilisez des variables d'environnement en production
- Limitez les permissions du bot au strict nécessaire
Pour toute question ou problème:
- Ouvrez une issue sur GitHub
- Consultez la documentation Discord.py
MIT License - Libre d'utilisation et de modification.
Développé avec Discord.py | kingoftech-v01