La documentation Discord.py
Cette page a pour but d’expliquer comment utiliser la documentation Discord.py (pour créer des bots Discord) et d’en répertorier les principaux points d’entrée.
Tu y trouveras les sections suivantes :
Utiliser la documentation
Introduction
Lorsque l’on crée un bot Discord, on utilise des classes spécifiques. Par exemple, lorsqu’on crée une commande, on récupère des informations dans une variable de type Context. Le plus souvent, on appelle cette variable ctx.
En plus de la classe Context, tu verras qu’on utilise aussi des Message, des Member, des User…
Utiliser la documentation, c’est donc avant tout comprendre ce que sont ces classes et ce qu’elles permettent de faire, notamment à travers leurs attributs et leurs méthodes.
Attributs et méthodes
On appelle attributs les informations auxquelles on a accès sur un objet. Par exemple, un Member correspond à un membre sur Discord. Il a entre autres un attribut name qui correspond au nom d’utilisateur de ce membre !
On appelle méthodes les actions que l’on peut faire à partir d’une instance de cet objet. Par exemple, la méthode send() sur un Member permet d’envoyer un message privé à ce membre !
Comme tu peux voir sur l’image ci-contre, lorsque tu consultes la documentation d’une classe en particulier, tu peux voir d’un coup d’oeil les attributs et les méthodes de cette classe.
Connaître le type d'une variable
Comme dit précédemment, à partir du moment où tu sais ce que contient ta variable (un Context, un Member, un Message…), tu peux alors facilement trouver toutes les informations dont tu as besoin sur la documentation.
Tu dois donc toujours savoir quel type d’objet contient chaque variable de ton code (d’où l’importance de bien les nommer !). Si cependant il t’arrive de te demander quel est le type d’une variable, tu peux utiliser la fonction type() :
Pour afficher seulement le nom de la classe, tu peux ajouter .__name__ :
Et voilà ! Maintenant que tu sais quel est le type de ta variable, tu peux rechercher sur la documentation Discord.py (ou sur internet) à quoi correspond cette classe !
Context
Le Context est un point d’entrée courant de la documentation Discord.py. A chaque fois que quelqu’un utilise une commande, cela crée un Context.
>>> Documentation du Context <<<
Le Context contient les informations suivantes :
- quelle est la commande utilisée, quel est son préfixe
- qui a posté cette commande
- où cette commande a été postée (dans quel salon, sur quel serveur)
ATTRIBUTS
- author : l’auteur (de type Member ou User), c’est-à-dire qui a écrit la commande
- message : le Message qui a été posté.
- guild : le serveur (Guild) sur lequel la commande a été postée
- channel : le salon (Channel) sur lequel la commande a été postée
- send() : pour envoyer un message sur le même salon que celui du Context
- reply() : pour répondre au message du Context
Message
Cela correspond simplement à un message sur Discord.
>>> Documentation du Message <<<
Les attributs et méthodes les plus utilisés sur un Message sont :
- author : l’auteur (de type Member ou User) du message
- content : le contenu du message (c’est-à-dire le texte)
- guild : le serveur (Guild) sur lequel le message a été posté
- channel : le salon (Channel) sur lequel le message a été posté
- add_reaction() : pour ajouter un emoji sous le message
- pin() : pour épingler le message
- reply() : pour répondre au message
Member & User
Un User est simplement un utilisateur sur Discord.
Un Member est un utilisateur membre d’un serveur (Guild).
>>> Documentation du Member <<<
>>> Documentation du User <<<
Ces deux classes partagent beaucoup d’attributs et de méthodes, elles sont donc listées ensemble ici.
Il y a cependant des différences (par exemple, un User n’a pas de rôles), il est donc important de connaître le type précis de ses variables – si on ne connaît pas le type de sa variable, on peut toujours utiliser la fonction type() comme vu plus haut !
Les attributs et méthodes les plus utilisés sur un Member / User sont :
- id : l’identifiant unique de l’utilisateur
- bot : spécifie si l’utilisateur est un bot (la valeur est True si c’est un bot)
- display_name : le nom affiché de l’utilisateur
- guild : le serveur (Guild) auquel ce membre appartient
- roles : la liste des rôles que le membre possède sur le serveur auquel il appartient
- send() : pour envoyer un message privé à cet utilisateur
- add_roles() : pour donner des rôles à ce membre
- get_role() : pour vérifier si ce membre a bien le rôle voulu