Hey all,
Just posting some more here to keep myself motivated. Classes have started back up, but before I get too deep into classwork I’d like to get the majority of this rewrite done. The goal is to push out this big update, bug test, and revise the website to match all before I leave for my internship in late May. Over the summer, I’m hoping I can run the bot remotely via VNC Viewer if needed. I’ve got a UPS for the machine, so as long as the internet doesn’t have a stroke, the bot should stay up. This new build of AbettorBot has never gone down on its own, from my current testing, compared to the current build that restarts itself every time it disconnects due to the dated API not supporting the reconnect options.
PREFACE: These updates are not live. Don’t try and use these commands (yet.) I’ll make a blog post announcing when the update goes live– this is just to keep up communication that progress is actually happening.
So yeah yeah yeah what have I actually been working on?
First of all, I’ve made the ping utility much nicer to look at and understand. Utilizing embeds (which thankfully can be edited on the fly), I applied my previous logic and made a nice little utility (pictured below.)

The a!createcolor command is finished. This command will replace the a!addcolor command as well as the a@rolecolorsetup add command.
Thank goodness.
To elaborate, admins can now create a color using the a!createcolor command, no matter the permissions given to users. This means that normal users could be disallowed from creating their own roles, but admins would still be able to utilize this command (rather than having to create them through a separate command like the current implementation.)
The same rule follows for naming roles– users can now name their own roles assuming that the server admins configure the bot as such, and admins will always have permission to name roles. This previously was not possible, and was possible thanks to this complete rewrite. This command is pictured below.
a!setcolor is replacing the old, poorly-named a!rolecolor command. Hopefully, this will help improve the overall usability of the color role suite. Otherwise, functions very similarly with only slight changes internally to fit the newer Discord API. This command is pictured below as well.

The a!colorlist command now gives a much more readable list, but only shows names of the colors. In my opinion, this looks much cleaner than the current implementation, and most of the time it seems that people would rather create their own color or copy someone else’s rather than scroll through the currently created colors and look up hexcodes. Maybe I’ll end up writing in a color-previewer into the bot… would be a nice-to-have. That’ll have to wait until I’m done with the rewrite though. Anyway, here’s what the new command does. Simply lists all the names of the created colors in a bracket-separated list.
As in the past, colors that don’t get assigned a name will simply be named their color code.

a@rolecolorsetup is still in progress. The ‘enable’ function, which walks you through the setup for the server, is complete. Rather than having a bunch of really oddly-named, confusing arguments, the bot walks you through a setup. You can see this below. Some of the phrasing and text may change, but the overall functionality is complete.
The ‘help’ function was an easy one, as it simply pastes the entire help. I wish it was more reasonable to link to the website, where I could simply have a blogpost for it, but I understand that most people hate getting links to help pages for simple commands (and also hate getting DMs from bots.)
I’m currently working on writing the rest of the functions, so I’ll update on those as they are finished. This includes the ‘delete’ function, which deletes a color role from the server; the ‘clean’ function, which will delete all color roles not being used; the ‘names’ function, which will allow you to toggle whether or not users can name roles; the ‘create’ function, which will allow you to toggle whether or not users can create roles; and the ‘disable’ function, which resets all of the color settings for the server, wipes the roles, and goes back to a state of never being set up.

Also, I’m not sure if it’s been mentioned in these blogs, but the addmod, delmod, listadmins, purge, and kick commands are all done. Those are pretty straightforward and self-explanatory, other than maybe purge, which is replacing a!prune.
Well, that’s all the updates I have for now. Progress is going well.
I’m definitely getting good use out of this keyboard I assembled. Kailh Box Jade ftw.
Until next time,
Rwarcards762