End of Discord.Py

Beginning of a New Era?

Well, to start it all off, R Danny(View) the sole maintainer of discord.py has decided to archive the repository which supported all the python developers to make discord bots across the world.Since Python was the first-language to many young people across the world, they've readily capitalized this library. They’ve decided to step down from the role of maintainer and it marks a sad end to the entire community. The API allowed us, the python-developers to quickly create bots with modern features like Asynchronous Python. Why did this Happen?

A Little Backstory:

As mentioned in their gist github( Read the full article) Danny developed this years ago to after switching to Discord from IRC and Skype. They weren’t satisfied with the features of JavaScript to build a bot, subsequently they reverse engineered using the resources that were provided by Discord. That single idea which was implemented became a big boon to all the aspiring developers across the world who’ve used this library to rapidly develop bots to fulfill their needs. To all the experienced developers reading this, the maintainer initiated the idea of a python library for discord and implemented it in a time where Discord did not use OAuth-2 to authorize Bots. This library was implemented in a time-frame where using bots in server used to be complicated. It was way ahead of its time.

The project is relatively old,stable and it was one of the projects which the community utilized to a great extent. The maintainer had previously interacted with other bot-developers, discord-developers and contributors through the “dinfra”(discord infrastructure) server. The Maintainer in his gist has reported how there has been a major expectation mismatch. It has also been mentioned that there has been a “bureaucratic disaster” and how there was a terrible mix-up when Discord had announced about giving “Verified Bot Developers” badges.

What Triggered this Event?

Around July-August 2020, discord employees gave a heads up about the slash commands and it was a viral topic back then. When the maintainer tried to implement this in their library, issues were reported which were pertinent to permissions. The Slash Commands by-passed permissions and was heavily criticized by the community. Post the turn of events(bureaucratic issues, slash-command Controversy) there was an internal meeting according to the maintainer (It is legally bound by a NDA therefore I would suggest you to go by their words directly)

Quoting from their article:

The meeting was bound by an NDA, which made us reluctant to sign it, but since we believed and were told that this would be our
final chance to get a seat at the table for this change, we all agreed with the sole purpose of convincing the developers that this direction was a bad idea.

Unfortunately, due to being legally bound by this NDA, I cannot share too many details. However, I will mention that the morale from all the library developers fell quite fast.

The fall was imminent post this point because the maintainer couldn’t keep up with the changes. It must be duly noted that the maintainer couldn't keep up because of repeated and persistent issues which took a hit on their morale. The maintainer reported that the discord team is “sloppy and hasty” with changes. Since these promises and changes can’t be taken care of, they’ve stepped down. They’ve also suggested their opinion that the gateway API would be deprecated in the future and a HTTP based API would take over.

What Next?

According to the maintainer, Discord has told that the bots will continue to work fine even after April 2022. As the author of this post, I don’t know how things will turn out for the Python community. There are alternatives to the retired library like Nextcord(View). Also Danny R(View their profile) has also mentioned that libraries for .NET, ruby and PHP have either partially implemented or not implemented the changes for slash commands. We might expect bigger havoc with the bots in the near future if discord decides to enforce the feature. I am unsure about how things will turn out and this might be a big blow to the users who used Python or intend to use Python for building bots. On an optimistic note, the project may be restored in the future because the maintainer is unsure about fully retiring this.

32