NOTES
from
TRACTION

Bastion v8 - Release Notes

The Bastion Bot Project
k3rn31p4nic
Fri Jun 05 2020 - 9 min read

Hello, @everyone!

Finally, the day has come! I'm excited to announce the biggest release of Bastion, ever!

In this version, every single feature of Bastion has been rewritten from scratch; everything has been completely overhauled. And along with that, a lot of new features have been introduced. This version of Bastion is like a completely new bot, yet it's still the same old familiar bot that you know and love.

We'll write some cool guides for the major features soon, so you'll know how to use them properly. But before that, let's go through a brief overview of what's new in this version and what's changed (spoiler alert, everything!).


What's New?

Premium Memberships

With the release of v8, we've introduced three new Premium Membership tiers that bring an enhanced Bastion experience for our Premium Members.

  • Bastion Gold
  • Bastion Platinum
  • Bastion Diamond

Bastion Gold membership enables all premium features (including music! yeah, music is now available on the public Bastion - more on that later) on all your Discord servers and increases the limits of some features that has limits. Bastion Platinum membership increases the limits of those features even more and Bastion Diamond membership removes all limitations from every features.

You (and all your servers) also get some sick badges (more on that later) for your subscribed tier in your Bastion Profile to rep your support for the development of the project!

You can check out all the premium membership tiers on the website and choose the one that fits the needs of all your Discord servers.

Partner and Verification Programs

With the release of v8, we also establish our Partner and Verification program. Both of these programs are separate and have different requirements.

The Partner program is for any large enough servers or communities that want to partner with The Bastion Bot Project. And the Verification program is for users and servers of public interest.

If you think either you, or your community, or even if someone you know qualifies for this, feel free to let us know.

Framework

In v7 Bastion started using Tesseract. A Discord Bot Framework that I created to make Bastion more modular and easier to develop. Tesseract was a very basic framework at that time. But, now, Tesseract has been updated to v2 and is now more capable than ever. It manages and handles each and every aspect of Bastion now. It's the heart and soul of Bastion!

Database

Bastion now uses MongoDB as its database system. A much more robust and reliable database system than before. Now you can also have the database in a different server than the bot itself.

Status API

Bastion now includes a Status API. When Bastion is started, the Status API is automatically served in the background. It can be used to get detailed status of Bastion from anywhere. You can check the status of the public Bastion here. And if you're hosting Bastion yourself, you can access it with the port 8377 (by default).

Dashboard

It was probably the most requested feature of Bastion! Well, anyways, dashboard has finally arrived in Bastion. A sleek and stylish dashboard for Bastion, that'll make your Discord life much easier.

Dashboard is currently in beta and most of the planned features are not yet complete.

Server Pages

Server Pages are an overview of server and its members that's meant for the public. Anybody can see your Server Page, even if they aren't a member in your server. Every server that is using the public Bastion will have their own Server Page. No strings attached.

Badges

Bastion now has badges for users in their Bastion Profiles and Member Profiles. Even Servers have badges in their server profiles. Every single badge has some significance and are automatically assigned to your or your server when it meets the criteria. You can see your badges across Bastion and its services.

Here's a list that explains all the available badges and how to earn them.

We also plan to have custom badges for partnered and verfied communities. Let's have a chat and see how this can benefit your communities.

Plugins

A plugin system for Bastion. It can be used by developers to write extentions for Bastion that can add new commands, or any other features to it, without ever making any modifications to core codebase.

Check out the Developer Documentation if you wanna write and publish your plugin for Bastion in the Plugin Store.

Auto Moderation

Bastion's moderation system has got big overhaul too. A completely new auto moderation system to automatically take actions based on different configured criterion. Some may say they won't need moderators anymore.

Whenever any member does anything to violate a configured rule, the incident is added to their list of infractions. And you can configure Bastion to kick, or ban a member automatically when their infraction count reach the configured threshold for the respective actions.

Music

Bastion's music module is now better than ever, with much better performance and quality. No more lags, no more shutters, no more noise, only clear and pleasant music! And thanks to the new music system, music is now available in the Public Bastion for all our Premium Bastion users.

So, if you were self hosting Bastion simply for music, you don't need to do that anymore.

Voice Sessions

Bastion can now create Temporary Voice Channels automatically on user request so that your server members can have private voice channels for themselves, or their team, when need it, without ever needing a moderator to manage it for them.

Triggers

Triggers now support wildcards! You can now use wildcards to specify the pattern for a trigger and any message that matches the pattern will trigger the response. Makes things easier, doesn't it?

Message Filter

Message Filter (formerly, Word Filter) now supports phrases along with words. You can now match an entire phrase for filtering messages.

Not just that, Message Filter now supports wildcards as well! You can now use wildcard patterns to match a word or phrase and filter messages based on that pattern.

Gamification

A new gamification system that brings more customizations and incentives for your server members to stay active in Discord. You can customize the rate at which your server members level up. Want your server members to level up as fast as possible? Want your server members to level up in a very slow rate? You can now do whatever the hell you want.

Gambling

A new gambling system that's fully customizable now. You can customize the reward multiplier for your server members, or you can entirely disable gambling in your server, if you want.

Scheduled Commands

Previously only a few commands supported to be scheduled. And even for most of the supported commands, arguments were to supported while scheduling. What a bummer, right? So, we changed how scheduled commands works entirely. Now you can schedule almost any command and use any arguments with it. No limitations with that anymore! And all of that can now be done and customized very easily in the configurations file.

We also brought back the customization of seconds in the cron expression.

Giveaways & Polls

Giveaways and polls are now persistent. Which means, even if Bastion restarts after you've started a giveaway or a poll, it won't stop anymore. Even if a giveaway or poll has reached its timeout when Bastion was down, it'll not terminate. When Bastion restarts, the giveaway or poll will still be active and announce the results.

And that means, giveaways and polls can now run forever! Yeah, you heard that right. Forever.

Locales

Previously you were able to configure the language of Bastion in your entire server. That was all okay, but what's better is that you can now configure a different language for each channel as well!

Suggestions

Previously Bastion only allowed you to receive suggestions from members. But now you can also accept or reject suggestions that you've received!

What's improved?

Reaction Roles

Reaction Roles is now robust than ever. Previously, Reaction Roles won't work in some cases. But, now, whatever may be the case, it's gonna work perfectly. You can also make Reaction Roles, in one Reaction Roles Group, exclusive.

Starboard, Reaction Pinning & Reaction Announcements

Previously, Starboard, Reaction Pinning & Reaction Announcements only worked for messages that were sent only after Bastion came online in the channel. Now it will work even for the first message that was ever sent in Discord!

Level-up Roles

Level-up Roles are now exclusive by default.

Player Stats

Unfortunately, the Battlefield Stats API has now been shutdown, so we had to remove the battlefield1 and battlefield4 commands. But not to worry, we're looking for alternatives and as soon as we come up with one, we'll bring the commands back.

We now have player stats for Counter-Strike: Global Offensive. You can check your stats with the csgo command. And other player stats commands have also been improved. Go check them out.

Game Server Stats

Previously, we only supported getting server stats for a few popular games. But people wanted more games to be supported. And, now, we support 264 game servers officially! Imagine having 264 commands in one category. So, we decided to combine all the commands in the Game Server Stats category into one single command - gameServer. Oh, and any game server that use the same protocol as one of the supported ones, might work as well.

Settings

The days when you had to restart Bastion after making changes to settings files are gone. Now you can modify the file whenever you want and use the reloadSettings command to reflect the changes without ever restarting Bastion. Well, of course, this doesn't apply to settings that're only used during the boot, like token or scheduledCommands.

And remember default fallback prefixes? You can now change default prefixes any time you want.

Live Stream Notifications

With Twitch's new API, the new Live Stream notifications are more reliable than ever.

Command System

With Tesseract v2 powering Bastion now, all the commands have been rewritten completely and commands are now more intuitive to use. All the commands have changed entirely. Many commands that belong to the same category have been consolidated into one command. Most commands have new names and aliases.

You might think some command has been removed, but actually it has been renamed or consolidated into another. And even the commands that haven't been renamed or consolidated into others, have their parameters and options changed.

You can now see a command's help message using the --help option with that command itself. For example, to see the help message of, say, the blacklist command, you would use the following command:

#!blacklist --help

Go check out all the new commands! And see their help messages to see how to use them.

Under-the-Hood Stuff

So many changes have been made to almost all the stuff that makes Bastion work - the way Bastion handle commands, the way it handles different events, and everything that you don't see through direct eyes. But Bastion is now faster than ever and uses comparatively very less memory than previous versions.

And many more amazing stuff that I didn't mention here. Start using v8 and find out for yourself.


Oh, and lots of easter eggs are hidden too! Go find them and tweet with #BastionEasterEggs and we'll see how many you can find.


Thanks to all our Sponsors, Patrons, and individual donors who support the development of Bastion to make this possible. If you like what we do, and would like for this project to keep on improving, please consider supporting us.


I hope the release was amazing and worth the wait.

Thank you.
As always, your's truly.