La fin de Discord.py ?
Discord.py, qu’est-ce que c’est ?
Discord.py est une bibliothèque, utilisant l'API* officielle de Discord, maintenue par un certain Danny (connu sous le pseudo “Rapptz”) et écrite en Python. Elle vous permet de facilement créer vos propres bots Discord en utilisant ce même langage de programmation.
Qu’est-ce qu’il se passe et pourquoi ?
Depuis les débuts de Discord, Rapptz développe et gère cette bibliothèque, mais malgré les nombreux contributeurs, il reste difficile de continuer à s’en occuper seul. Étant un projet initié du désir de voir plus de bots sur Discord écrits en python et géré par passion, il n’a jamais demandé ou accepté des donations. De plus, Discord prend de plus en plus de décisions restrictives sur les bots et leur développement ce qui ne plaît évidemment pas à tous.
“Ma motivation à travailler dessus a diminué au cours de l'année dernière, depuis l'introduction du système de vérification. Le staff de Discord qui fait la sourde oreille, les fausses promesses et les changements rapides sans consultations ne redonnent pas la motivation nécessaire pour travailler avec les changements fréquents et les limitations qui me sont imposées.”
Rapptz a ensuite demandé aux contributeurs si l'un d'entre eux voulait reprendre le projet mais aucun n'a accepté. Le développement de la bibliothèque se voit donc stoppé et le dépôt github ne recevra plus de modifications.
Que va-t-il arriver à mon bot ?
Malheureusement, Discord souhaite que tous les bots existants utilisent les Slash Commands d'ici avril 2022. Or, cette nouvelle fonctionnalité n'a pas été et ne sera pas implémentée dans l'api discord.py Votre bot ne marchera donc plus si vous le laissez tel quel.
Que faire ?
Plusieurs possibilités s’offrent à vous si vous souhaitez que votre bot reste fonctionnel :
- Changer pour une bibliothèque avec les Slash Commands (par exemple Hikari)
- Changer de langage de programmation
- Faire un fork du dépôt github de discord.py et l’améliorer vous-même
- Attendre que quelqu’un propose un fork qui résout le problème
*Une API (Application Programming Interface) est un ensemble de définitions et de protocoles qui facilite la création et l'intégration de logiciels d'applications. Exemple : une API de météo qui vous permetrait (aussi par exemple) de récupèrer la température qu'il fait à Lyon sous forme de nombre dans votre programme.