2018 for GAwesomeBot
Hello GAwesomeUsers, welcome to the new year! In 2017, we've done a whole lot, and we're only planning on doing more! Let's talk about that for a little,
What the heck have we been doing?
The goal that we set ourselves mid-2017 was very clear; make GAB fast, stable; usable. We've been doing nothing but that, so, why has it been taking so long? Well, it's complicated, but the current GAwesomeBot simply wasn't build to handle the load and amazing support that we've been receiving. GAB is an ambitious project, it has a lot of functionality mushed into a as self-hoster-friendly environment as possible. We want people to set up our code in minutes, on any computer or server of any tier, and then immediatly be able to reach for the stars. From people who plan on using GAB specificly modded for their community, or those who want to build unto our GAB and spread it to as many servers as possible; it needs to be elegant, simple, and powerful. We're factually one of the only all-purpose, fully customizable bots with a functioning (and actually nice looking) web dashboard. We've worked hard to get there, especially the AwesomeBot builders, but as we added more and more beef, we started losing performance. This has to change. We want instant message responses, web dashboard page speeds which are unnoticable, and a more flawless, stable, flowing experience both in Discord and gawesomebot.com.
If you have any questions as to how we're achieving this technically, check out this Pull Request for more info.
So, where are we now?
We have come far. In fact, I believe we've overcome the biggest challenges, the most annoying hurdles, and the most time-costing problems have been solved. The rewritten bot base is functional, and fully scalable; we can quickly port our old commands over to it, and build upon it for even more improvements. We initially set a goal to release 4.1 in 2017. Sadly, I quickly realised that this is not accomplishable with the amount of stability and elegance that I want, that I need for 4.1 to release. Also, Black Mirror season 4 released, I mean, how am I meant to work on bots while watching that show?
I'm sure this all sounds pretty bad, but don't be sad: We didn't come to you completely empty handed.
As I mentioned, we are very far in our rewrite, there's a handful of things left to do before we're ready to push:
- Port over some remaining public commands
- Port over event handlers
- Rewrite extensions
- Find and exterminate final bugs, some cleanups
I'm not willing to put another definate release date on when these things will be done, but I'm working on them daily, 4.1 will be here extremely soon!
I know you all want to hear something, and you absolutely deserve to hear something from us, so let's talk about some sneak peaks of what we already have finished:
- The Web Interface has been reworked, given a new visual taste, and the Admin Consoles have a more flowing experience: Save buttons that don't reload the web page, previews that update without reloading, and a cleaner menu.
- The Maintainer Console has been reworked from the ground up. Tons of new stuffs, including a whole new Management section, and a brand new Permission system to tweak the powers of your maintainers.
- GAB is not slow anymore! Web Interface loads pages fast, and the discord bot responds immediatly; the way it has always been supposed to be.
- Embeds are more consistent, have been given a nice rework, and everything just makes more sense on the discord side of things.
- Some commands have been reworked to add more functionality, or display results better. Also, shared commands are now a thing; maintainer-only commands that can be used in both DM's and guilds.
- Internal reworks, we've redesigned the way GAB works from the ground up. We now use multithreading in the form of Worker Processes, (One for each shard), and given the codebase a nice refactor. Directories make more sense, and we use a lot more ECMAScript 6; everything looks nicer, and is easier to understand for self-hosters!
- So, so much more. Bugs have been fixed, timed events make sense now, and stability has been put on priority #1.
But, this isn't all that I have to share with you. If you're reading this blog article, you'll have noticed by now that you're not on your normal gawesomebot.com domain anymore, but
dev.gawesomebot.com. This is for a reason; I've decided to host a public bot which runs the latest commits from 4.1, 24/7! You can add him to your guild and start finding bugs! A few very important notices though:
- Don't expect anything to work. Lots of stuff doesn't yet. This instance is being worked on every single day, updates are added almost once per hour. Lots of commands, events, and other features might be unstable/non functional.
- There will be bugs. Plenty of them. We do not recommend using this bot for actual production or everyday usage. If you find any bugs, we'd be very happy to hear about them! Just leave us a message in the Discord Guild and we'll take a look.
- Uptime is not guaranteed. I will try to keep this bot on as much as possible, but I have to test aswell, especially under high-load circumstances. I might restart the bot to update it, or move it locally for more fine-tuned testing at any moment without prior notice. Keep that in mind!
2018; what does it hold for us?
We have tons of stuff planned, so many ideas, so many new features, so many amazing goals to reach. However, we're extremely focused on 4.1. I discussed before what we have to work on, and those 4 points are personally the first-and-foremost tasks I will be working on. Once we finish them, we're pushing 4.1 out as soon as possible to the Main Instance. After this, you'll experience no more seconds of response time, no more laggy or not-working dashboards, and a ton of stability and support. And what will we be doing after 4.1? Well, I think that in 4.1, not only have we tackled slowness, we have finally figured out a lot of stuff which was horribly broken, unstable, etc. in 4.0. This encourages me to start working on GAB in a regular updating schedule. New features will slowly but surely make its way to you update by update.
I am insanely excited to see what the future holds for us, with this amazing bot that we've slowly built up from the ruins of AwesomeBot, I really believe that this feature-packed bot can be a popular and well-used bot, as long as our attention remains focused on it. GAB has always been a community-focused bot, and apart from a growth in users, I hope that after 4.1 we'll collect more and more collaborators who are just as passionate about this project as I am. Working on GAB is difficult; it's a hot mess before 4.1, but I'm optimistic that our team will grow larger and stronger, to make the community more involved in GAB, and "elevate" it from a personal project to something many communities hold dear and depend on, many communities trust, and many communities find useful.
Thanks for experiencing this wonderful journey with me,
(P.S: We love you BitQuote!)