Skip to content

Instantly share code, notes, and snippets.

@best4281
Created August 28, 2021 06:03
Show Gist options
  • Save best4281/be40aa304dd7aa916b76e18faf4bbd5c to your computer and use it in GitHub Desktop.
Save best4281/be40aa304dd7aa916b76e18faf4bbd5c to your computer and use it in GitHub Desktop.
Behind the migration of the Discord API wrapper library (from Discord.py to Discord.js)

Reasons for CherngBot rewrite

The future of discord.py

In short, discord.py - an API wrapper for Discord written in Python - is the main library which this project is heavily rely on. At the moment, the sole maintainer of the discord.py library has stepped down and cease the development of the discord.py project with no successor maintainer in place. As a result, the repository for discord.py is now archived without any further update down the line (for now). Along with the change of direction for bot from Discord team, the old library will not be compatible with slash command enforcement (kinda) that are likely to happen in April 2022.

More of the information on discord.py future can be read on this gist written by the maintainer himself.

Even though it was six years that you have made it to this point and I have only scratch the surface of this library, I have learn a lot of things during my brief period of time I spent with it.
Thank you, Danny, for the fantastic work you have been sharing with the discord.py community.

The choice for new library

To not drag this out any longer, I have no particular knowledge about anything else about other library I should use, but I chose to learn and experiment with the JavaScript library discord.js, particularly for a large and active community.

But what can I say since my JavaScript skill is not far from nothing, this rewrite is going to take longer than I even imagine myself. The same (or the worst) can also say for any other programming languages.

Not only the rewrite

I have decided that this rewrite will not just be the exact copy of the old bot since the Discord will go through a lot of change after this introduction of the slash commands. So here are some of the notable changes that will happen after the rewrite.

  • No more text based command like the old bot, the new one will only has slash commands (As said in the first section)
  • The infrastructure of the bot will change, especially the way deployment works (which currently undeniably terrible)

I don't even know if anyone will read this to the end or even read this at all, especially because there is no one aside from me knows about this bot haha ha h a.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment