A WoW inspired ready-check bot for Discord servers. This bot is a near-identical replacement of the classic bot with some new features.
Click here to add this bot to your server. (You need to have server management permissions to add the bot.)
If you like the bot, vote for it on top.gg! It helps other people find the bot! Want to support development of this bot? Find the bot on GitHub.
If you need help with ready-bot, you can open an issue in GitHub or head over to the ready-bot support server.
Once you add the bot to your server, start a ready check for a number of users with:
/check count:<number>
or check for specific users with
/check mentions:<mention> <mention> ...
and have users ready-up with
/ready
Full usage can be found by typing
/help
Ready checks can be overridden by invoking the /check
command again, and checks will only be performed if the count
or number of mentions
(of non-bot members) entered is greater than 0. The person who initiates the ready check may
also respond to the check as ready.
If you experience any unusual behavior from the bot or think of a feature that could be added, please open an issue on GitHub.
No, the bot isn't "new" as far as Discord is concerned, but previously ready-bot was built from the old javascript code and in April 2023 I replaced it with the version built from this new Kotlin code. The new version serves the same purpose as the original but with the added benefit that I will have a better understanding of how to fix things should they break.
In the old bot, everything related to a check was stored in memory within the bot. This meant when the bot restarted all checks were destroyed (😥). The migration to this new bot adds database functionality so that no longer happens! This was also a good future-proofing step in case the bot grows large enough that I need to have several instances of it running simultaneously.
As part of the upgrade, I'm excited to say I added the ability to mention custom roles in a mentions
check. I won't be
adding the @here
or @everyone
tags just yet since they require additional permissions for the bot to use, and those
mentions are something I'd like to put behind in-server permissions so that folks can disable the tags to prevent
abuse.
In the future, I'd like to allow more control for server admins over how the bot operates in each server. Adding a persistent database is the first step toward this goal. I'll also need to assess how best to implement the permissions to avoid making my database storage run rampant.
Discord has added really excellent features for bots like slash commands and ephemeral messages, and I was able to add those to the final update of the old bot. Unfortunately, adding those features to my already brittle Javascript code pushed it past its limit and – due to my level of comfort with Javascript – I've been unable to properly diagnose and fix the issues that have cropped up.
Switching to Kotlin lets me make use of the experience I have from my day job; I can use tools I'm comfortable with, try out design patterns I see at work, and test new libraries or systems I might want to bring back to my job later. Plus since this project is still just a one-person-enterprise, it behooves me to make it as easy for myself as possible to keep things from being a slog.