Back in early 2019 I had a personal use-case for a Discord bot that should remote control game servers and play music in a voice channel. Therefore, I created a modular Discord bot written in JavaScript.

The main idea of the bot was, to be easily expandable without any code changes to the main code. Therefore, I developed an architecture, that allowed new bot functions being added by just creating a new file and entering it’s details in a JSON file.

In the hope that others might use my bot and maybe even develop modules for it, I wrote a detailed documentation including code examples. Later on, I also added support for Python and Lua modules in addition to JavaScript. Furthermore, I wrote an underlying framework which allowed the bot to also work for other platforms than only discord.

My hope of the bot being used by others was fulfilled and the project is until now with 60 stars and 53 forks the most interacted repository on my GitHub Account.

I maintained the project for more than two years, until Discord did a major API change which required a lot of effort to adapt. In addition to this, I no longer had a personal use-case for this project. Therefore I archived the repository.

At the end this project thought me how to properly plan a project and set up an architecture that remains relevant over years.

Here is a list of repositories that I created for the chat bot: