Ressources Magic Makers

 

Site en maintenance

 
Nous sommes actuellement entrain de mettre à jour les ressources de ce site.
Pendant la mise à jour vous pouvez retrouver tous les nouveaux contenus sur le site
 

https://lp-magicmakers.fr/

 
 

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 & 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() :

print(type(ma_variable))   # —> "<class 'discord.ext.commands.context.Context'>"

Pour afficher seulement le nom de la classe, tu peux ajouter .__name__ :

print(type(ma_variable).__name__)   # –> "Context"

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
  • cette commande a été postée (dans quel salon, sur quel serveur)
Les attributs et méthodes les plus utilisées pour un Context sont :

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

METHODES

  • 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 :

ATTRIBUTS

  • 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é

METHODES

  • 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 :

ATTRIBUTS

  • 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


Et aussi, uniquement pour les Member :

  • 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

METHODES

  • send() : pour envoyer un message privé à cet utilisateur


Et aussi, uniquement pour les Member :

  • add_roles() : pour donner des rôles à ce membre
  • get_role() : pour vérifier si ce membre a bien le rôle voulu