Comment créer des Commandes (préfixes) ?
Dans la partie précédente, on a vu comment écouter des événements avec les events (Partie 3).
Dans cet article, je vais vous montrer comment créer un bot Discord en utilisant la bibliothèque Python discord.py
. Nous verrons comment ajouter des commandes à ce bot et les rendre interactives. Nous allons aussi explorer des concepts comme les commandes à paramètres multiples et la gestion du contexte des messages.
1. Commande Hello, World!
Nous allons commencer avec une commande simple, Hello, World!
. Cela nous permettra de nous familiariser avec la structure de base pour créer une commande dans un bot Discord.
import discord
from discord.ext import commands
bot = commands.Bot(command_prefix='$')
@bot.command()
async def hello(ctx):
await ctx.send("Hello, World!")
Ici, nous définissons notre bot avec un préfixe $
, ce qui signifie que toutes nos commandes commenceront par ce symbole. La commande hello
utilise un décorateur @bot.command()
et une fonction asynchrone pour envoyer un message dans le chat.
Tester la commande
Pour tester cette commande, démarrez votre bot et tapez $hello
dans un serveur Discord. Le bot répondra avec “Hello, World!“.
2. Commande avec un paramètre
Nous allons maintenant ajouter une commande qui accepte un paramètre. Imaginons une commande qui répète ce que vous lui envoyez.
@bot.command()
async def repeat(ctx, *, message):
await ctx.send(message)
Ici, l’astérisque *
avant message
indique que tous les mots suivants dans la commande doivent être capturés comme un seul paramètre.
Tester la commande
Tapez $repeat Salut les amis!
dans Discord, et le bot répétera exactement ce message.
3. Commande avec plusieurs mots
Maintenant, nous allons voir comment gérer plusieurs mots en tant que paramètre dans une commande. La syntaxe que nous venons d’utiliser (*, message
) permet justement de capturer tous les mots dans un seul paramètre.
Exemple avec plusieurs mots
Essayez cette commande : $repeat Bonjour tout le monde!
Le bot renverra : Bonjour tout le monde!
4. La commande help
Discord.py inclut par défaut une commande help
qui permet d’obtenir des informations sur les commandes disponibles dans votre bot. Cependant, vous pouvez personnaliser cette commande pour ajouter des descriptions plus détaillées et faciliter l’utilisation.
Ajouter une description à une commande
Vous pouvez ajouter une description et une version abrégée de l’aide directement dans le décorateur :
@bot.command(description="Dit bonjour", brief="Commande Hello")
async def hello(ctx):
await ctx.send("Hello, World!")
Avec cette modification, si vous tapez $help hello
, vous verrez une description plus claire.
Conclusion
Félicitations ! Vous savez maintenant comment créer un bot Discord avec des commandes de base. Vous pouvez enrichir votre bot en ajoutant des commandes plus complexes et en personnalisant les réponses selon vos besoins.
N’oubliez pas de consulter la documentation officielle de discord.py
pour explorer encore plus de fonctionnalités. Vous pouvez également trouver des exemples complets dans le code source du projet ici.
Et si vous avez bien compris les commandes avec préfixes, on peut voir un autre type de commandes, les commandes slash.
Lire la suite du tutoriel bot discord en python avec discord.py (Partie 5)
Je m'appelle Thomas, et je code depuis plus de 20 ans. Depuis ma sortie de la première promotion de l'École 42, j'ai conçu et développé des centaines d'applications et de sites web. Sur ce blog, je partage avec vous les stratégies les plus efficaces pour maîtriser l'art de coder et progresser rapidement.