This is the first properly versioned release for the bot, wooo! (I know in the past I talked about "Conspiracy AI v2" and all, but that was just a way of saying that I'm rewriting it, there was no published releases or versioning scheme at the time :P)
This is also the first release to come with a Docker image on GitHub Packages to make it easier for both myself and others to deploy an instance of this bot, without having to clone the repository and execute the source code directly.
I decided to make it v3.0.0 because a bunch of code has changed and it's always good to start at a fresh number when introducing a versioning scheme. Starting at something like v2.103.17 would be a bit confusing, and starting at 1.0.0 would be flat out wrong because the bot is currently on it's second internal version already.
The changes for this version are as follows:
- Removed a bunch of entries from the settings file that are either reundant or unused, and can instead be calculated on the fly.
- The repost detection now only happens in a configured channel (e.g.
#memes
). - Removed the localisation strings settings completely because they weren't being used.
- Split up the settings file into seperate proper JSON files for better organisation.
- Updated the key names of a few settings entries so they make more sense without the comments.
- Secrets are now fetched from environment variables instead of being read from a file (thus removed the secrets file and replaced it with an environment variables file).
- Created a Dockerfile to build a docker image with all dependencies preinstalled, instead of installing them every single time the container is ran.
- Deleted the dev and production startup script, replacing it with just a dev script as production will now use the Docker image.
- Setup a GitHub Actions workflow to automatically build Docker images and draft GitHub releases when a new tag is pushed.
- Updated shutdown and interrupt code to no longer handle SIGTERM since the container's stop signal is now a SIGINT to be consistent with stopping the bot manually through a keyboard interrupt.
- All images and assets that are used by the bot are now hosted in GitHub Pages to keep everything centralised, no longer are they on my personal website.
- Moved all commands that were still on the old command system over to slash commands (i.e. moderation, music and general commands).
- Removed all of the old command system code since it's no longer needed.
- Fixed a bunch of small bugs that I be bothered to get into detail about.
All code code changes for everything mentioned above: 98972a4...f6447d6.