B L O G
Tue Nov 22 2022
Product Releases
Bastion v10 — A new foundation!
Bastion v10 lays the foundation for some new ways to interact with Discord using Discord's new Slash commands, Select Menus, Input Modals & Button Interactions.
TRACTION
iamtraction

Bastion v10 lays the foundation for some new ways to interact with Discord using Discord's new Slash commands, Select Menus, Input Modals, Button Interactions, and all the latest features available to Discord bots.

There's also a bunch of new features in the pipeline for future releases. But let's talk about what's changed in the current version.

Slash Commands

Slash commands make it way easier for users to use Bastion's commands with builtin command invocation in Discord.

All of Bastion's commands are now Slash Commands. You can check out this table to see the new Slash command equivalent for the existing commands you used to use. Or type / in Discord to see the list of all the commands in Bastion.

Discord only allows a limited amount of Slash commands. So, a few existing commands had to be removed because they are not required or redundant. And some commands will be rewritten and improved to make use of new Discord features and will be coming soon in the upcoming updates.

Important Changes

Almost all of the modules have been rewritten with major changes which brings lots of improvements and fixes. But here are some important changes you should know about:

  • Music
    • Huge performance improvements.
    • Music search and playback are way faster than before.
    • Audio quality will have some improvements but it's not really noticeable.
    • One drawback is that it won't support the huge variety of audio sources that it did before.
    • Music commands would only work in Voice Channel Chat.
  • Reaction Roles
    • Self Roles can now be used to do this as they use Discord's Select Menu interaction where user can simply select the roles they want to assign themselves.
    • But I'm still experimenting with a better "reaction" roles system using Discord's new interactions. And it will be coming soon.
  • Voice Sessions
    • #session-control channel isn't created anymore when creating a voice session category.
    • When a new temporary voice channel is created, Bastion sends a message in the voice channel chat which has buttons that can be used to control your voice session.
  • Voting Channels
    • Now works only when slow mode is enabled in the channel.
    • When you add a voting channel, Bastion will automatically configure slow mode in the channel.
  • Giveaways
    • Giveaways can now be manually ended.
    • Manual giveaways can now run forver.
  • Polls
    • Polls can now be manually ended.
    • Manual polls can now run forver.
  • Suggestions
    • Suggestions now use Discord's Button interactions instead of reactions for suggestion actions.
  • Reports
    • Reports now use Discord's Button interactions instead of reactions for report actions.
  • Localization
    • Automatic text localization using server's language.
    • DM commands will use user's language for automatic localization.
  • Player Stats
    • As Overwatch 2 was released, the overwatch command won't get Overwatch 1 stats. And a stats API for Overwatch 2 isn't available yet. Once it's available, it'll be implemented.
    • Rocket League API was shutdown soon after it was acquired by Epic Games. Therefore, the command to get the stats will be added back as soon I can find other ways to get the stats.
  • Moderation Commands
    • Discord now has builtin slash commands for ban, kick, nickname and timeout.
  • Bastion Profiles
    • Discord offers better builtin profile customization. Data from Discord can be used instead of having a separate Bastion profile.
    • Although I'm still experimenting a combination of both to allow users as much customization as possible.
  • Badges
    • A new badge system is coming soon that'll allow self hosted users to use badges & customize them.

Here are some changes you should be aware of if you're hosting a private instance of Bastion:

  • Music is not dependent on youtube-dl and ffmpeg anymore.
  • Credentials and configurations are now unified in one settings.yaml file.
  • Direct message relay is now configurable in the settings file settings.yaml.
  • All the settings in settings.yaml can be overriden using environment variables.
  • As all commands are now slash commands, the commands can't be scheduled anymore. I'll be experimenting new ways to bring it back as soon as possible.
  • Removed all dependency Bastion had on its Omnic backend. So, even if all of Bastion's services shutdown in the future, you'll still be able to run your own self hosted instance of Bastion.
  • Stats API is unavailable for the time being. It'll be back in upcoming updates with some improvements.
  • It's now safe to shutdown the bot by doing Ctrl + C. shutdown command isn't necessary.

Dashboard

  • Dashboard will be temporarily disabled to implement support for v10.
  • This also implies that Server Pages will be disabled during this time.
  • Dashboard support (including Server Pages) for self hosted instances will be coming soon.

Verification

  • Captcha Verification is disabled for the time being.
  • A new verification system is coming soon in the upcoming updates to verify users directly within Discord without having to open Bastion's dashboard.
  • Discord is testing a feature to allow bots to act as a verification provider for servers. Which means a builtin way to verify users through bots might be coming. If this gets released, it'll be added to Bastion as soon as possible.

Removed

  • Removed message filter & mention spam filter as Discord's builtin AutoMod in server settings can be used for this.
  • Removed the option to change global music volume to improve performance. Volume can be controlled from user's side using Discord's builtin methods.
  • Removed Bastion's announcements. Discord's builtin announcement channels can be used to do this.
  • Removed command module used to enable/disable commands. Slash command permissions can be used to do this.
  • Removed members only mode. Slash command permissions can be used to do this.
  • Removed lockdown mode. It's wasn't reliable when a channel had permission overrides.
  • Bastion Coin transaction logs won't be stored for the foreseeable future.
  • Removed reaction announcements.
  • Removed reaction pinning. The same number of steps is required to pin a message using Discord's builtin method.
  • Although moderation cases are logged, they are not saved anymore. This also means you can't change the reason of a moderation case.
  • Removed blacklisting users and servers from using Bastion. Although a better system will come to block users and servers abusing Bastion's features.
  • Removed command to leave the server.
  • Removed commands to change Bastion's username, avatar & nickname.
  • Removed command list & help commands as Discord provides builtin ways to do this for slash commands.
  • Removed command prefixes as all commands are now slash commands.

There's a lot of features coming soon in the next few weeks. So, stay tuned for more announcements! If you have any suggestions, or need any sort of help with Bastion, feel free to join Bastion HQ on Discord and we will help you out.

Also, a huge thanks to all our patrons for their continuous support of Bastion without whom this wouldn't have been possible. If you want to support the continuous development of Bastion you can do so through our Patreon and get some cool rewards for it too!

❤️

...