Avaire Versions Save

A multipurpose Discord bot made for fun

0.9

5 years ago

Changelog

This build is an early development build which should be stable, feel free to download and run it for testing purposes.

Note: This is an early development build, you will most likely encounter some issues with the bot, if you do please contact me on Discord at Senither#0001 or on the official AvaIre Discord Support Server.

  • Created 16 new commands.
    • Add Reaction Role Command
    • List Reaction Roles Command
    • Remove Reaction Role Command
    • Channel Level Command
    • Unban Command
    • Modlog Pardon Command
    • Level Hierarchy Command
    • Level Modifier Command
    • Merry Me Interaction Command
    • Blush Interaction Command
    • Undertale Text Box Command
    • Weather Command
    • Bot Statistics System Command
    • Partnership System Command
    • SQL System Command
    • JSON Command Map System Command
  • Created start & update scripts for Linux, Windows & Heroku.
  • Created a Lavalink overview system within the Lavalink command.
  • Created command groups.
    • Commands are now placed into groups when the help command is used for a category, giving the user a better overview of what commands belongs to what category/group.
  • Created language test.
    • This makes it easier to validate all the language files which are nice now that all the language files are 800+ lines long.
  • Changed the default "to delete" message to 5 down from 100.
  • Added support for hosting Ava with Heroku.
  • Added support for overriding config values using environment variables.
  • Added Danish language support.
  • Added support for using the playlist command when using a SQLite database type.
  • Added support for level modifiers when calculating Levels and XP.
  • Added support for using a custom port when using a MySQL database type.
  • Added command relationships so commands can now suggest related commands when using the help command.
  • Added a music flag which can be used to disable everything but music features when self-hosting the bot.
  • Removed commands-per-minute metrics and added command attempts metrics instead.
  • Rewrite the slow mode command to use Discords internal slow mode.
  • Rewrite the cache from using mem caching to using Guava.
  • Rewrite the majority of the database management system to add support for handling database deadlocks.
  • Squashed 42 bugs.
  • And 97 other minor changes.

0.8

5 years ago

Changelog

This build is an early development build which should be stable, feel free to download and run it for testing purposes.

Note: This is an early development build, you will most likely encounter some issues with the bot, if you do please contact me on Discord at Senither#0001 or on the official AvaIre Discord Support Server.

  • Created 3 new commands.
    • Voice Fix Command
    • Music Messages Command
    • System Feedback Command
  • Created auto resume music task, this will auto resume music after a shutdown.
  • Added support for the following languages.
    • Russian
    • Spanish
  • Added support for command relationships.
    • This makes the help command more usfull since it can now tell what commands have some sort of relationship, an example would be any of the add, list, remove command of a certain type, like self-assignable roles, level roles, aliases, etc.
  • Added new self-hosting flags.
    • Flag to disable colours in the console.
    • Flag to enable debugging mode without changing any code.
    • Flag to enable internal restarts(Removing the use for a batch/bash scriptt, or Watchdog)
  • Added condition for when commands should be throttled.
    • This prevents commands that didn't execute successfully from throtteling users.
  • Added auto blacklisting with rate limits, blacklisting both users and servers when they abuse commands too quickly.
    • The punishment for abusing commands goes up the more times they get blacklisted.
  • Added the admin, fun, utility, and internal music messages to the language files.
  • Added support for moving songs around in playlists.
  • Added default guild throtteling for commands if not guild throttle is defined.
  • Added support for targeting users in interaction commands, adding suport for customizing both the sender and the target.
  • Added a random factor to the interaction images via a lottery system, so it is less likly to get the same image twice in a row.
  • Added limits to the level roles, and the self-assignable roles.
  • Added support for using usernames and IDs for mentionable commands, like interactions, ban, kick, etc.
  • Added support for native audio in non-arm systems.
  • Changed the playlist loader to skip tracks that doesn't exists or can't be reached anymore.
    • Before the playlist would get stuck trying to load the track, causing a full playlist to not load any songs if just one of the tracks couldn't could successfully, not the track is just skipped instead.
  • Changed Urban Dictionary command to only work in NSFW marked channels.
  • Changed when how often the database connectivity state is checked, should overall incresse preformance.
  • Changed the default music volume level from 50% up to 100%.
  • Rewrite the leveling system.
    • The leveling system now uses a more curve XP grind, making it exponentially harder to reach higher levels.
    • The leveling system now syncs player data with the database is a less straining way by doing it in batch requests once every minute.
  • Rewrite the uptime command to be more informative.
  • Rewrite the global and server specific leaderboards.
  • Rewrite the shard command to use embeds and fields instead of code blocks.
  • Rewrite the blacklist system to work with expiration date.
  • Squashed 31 bugs.
  • And 129 other minor changes.

0.7

5 years ago

Changelog

This build is an early development build which should be stable, feel free to download and run it for testing purposes.

Note: This is an early development build, you will most likely encounter some issues with the bot, if you do please contact me on Discord at Senither#0001 or on the official AvaIre Discord Support Server.

  • Created 2 new commands.
    • Music Channel Command
    • Reminder Command
  • Rewrite eval system command to be more user-friendly.
  • Changed music related messages to be more informative.
  • Changed purge command to add support for deleting messages by name or ID.
  • Changed how 99% of data is stored in memory, everything should be a lot more efficient now.
  • Changed the language formating system by rewriting it completely.
  • Moved audio resamping and audio encoding settings to the config.
  • Added support for the following languages.
    • French
    • Hungarian
    • German
    • Norwegian
  • Added default throttel for all commands unless one is defined for the command already.
  • Added support for welcone and goodbye messages using embedded messages.
  • Added version requirement for plugns. (As of v0.6.30)
  • Added author and description for plugins.
  • Added support for plugins to regsiter custom language files.
  • Added a bunch of new metrics trackers for prometheus, check it out at metrics.avairebot.com
  • Expanded the plugin API so plugns now can register middlewares & custom internal events for Ava.
  • Squashed 21 bugs.
  • And 91 other minor changes.

0.6

6 years ago

This build is an early development build which should be stable, feel free to download and run it for testing purposes.

Note: This is an early development build, you will most likely encounter some issues with the bot, if you do please contact me on Discord at Senither#0001 or on the official AvaIre Discord Support Server.

Changelog

  • Created 13 new commands.
    • Language Command.
    • Set Default Music Volume Command.
    • Add Level Role Command.
    • List Level Roles Command.
    • Remove Level Role Command.
    • Modlog Reason Command.
    • Modlog History Command.
    • Warn Command.
    • Vote Command.
    • System Set Guild Type Command.
    • System Force Leave Command.
    • System Blacklist Command.
    • System Lavalink Command.
  • Changed the internal command messaging system to support dynamic generating descriptions.
  • Changed the random cat command to use the new cat API(https://meow.senither.com/).
  • Updated the database manager to be faster and more optimized with multiple connections.
  • Added support for SQLite database types.
  • Added support for changing the reason of old modlog cases by ID.
  • Added a help message that is set if the bot has send permissions but no Embed permissions.
  • Added a vote locking system so commands can be restircted to people who voted for the bot. Servers with the VIP or VIP+ rank will be excempt from all vote checks.
  • Added auto cleanup to !iam and !iamnot commands so messages are deleted.
  • Added language support for the following languages.
    • English
    • Priate English
    • German
  • Squashed 32 bugs.
  • And 87 other minor changes.

0.5

6 years ago

This build is an early development build which is somewhat stable, feel free to download and run it for testing purposes. the build requires a MySQL database since SQLite databases are not yet supported in AvaIre.

Note: This is an early development build, you will most likely encounter some issues with the bot, if you do please contact me on Discord at Senither#0001 or on the official AvaIre Discord Support Server.

Changelog

  • Upgrade Gradle wrapper to version 4.4
  • Upgrade JDA to version 3.3.5 build 332
  • Created 5 new commands.
    • DJ Level Command.
    • Stop Music Command.
    • Modlog Commad.
    • Reload System Command.
  • Added config options for:
    • Default command prefix.
    • Application client id.
    • Music activity tracking and timeouts.
    • Lavalink nods and settings.
    • Metrics web api ports and settings.
  • Added shutdown message for servers playing music.
  • Added support for the use of Lavalink as encoding nodes for music.
  • Added a "new line" placeholder to welcome/goodbye messages.
  • Added cleanup for music commands by auto deleting messages.
  • Added support for modlogging in all moderator related commands.
  • Created guild API routes.
  • Changed help command to hide categories if they're disabled in the current channel.
  • Changed custom shard manager out for JDAS new internal shard manager.
  • Changed all category commands to share a common prefix.
  • Changed now playing messages to more user.
  • Changed plugin loaders from using JSON to YAML.
  • Changed descriptions for some commands to be more informative.
  • Moved user, channel and server info commands from admin to the utility category.
  • Squashed 31 bugs.
  • And 66 other minor changes.

0.4

6 years ago

This build is an early development build which is somewhat stable, feel free to download and run it for testing purposes. the build requires a MySQL database since SQLite databases are not yet supported in AvaIre.

Note: This is an early development build, you will most likely encounter some issues with the bot, if you do please contact me on Discord at Senither#8023 or on the official AvaIre Discord Support Server.

Note 2: If you have been self-hosting Ava previously, you'll notice a new config being generated on startup, you'll have to re-enter in your details into the new file since the configuration system used in Ava has undergone a complete rewrite, there are now comments on what should be put where, for an example of the config, checkout the github repo config.yml file.

Changelog

  • Created 7 new commands.
    • Music Shuffle Command.
    • Remove song from Queue Command.
    • Version Command.
    • User Avatar Command.
    • Slowmode Command.
    • NSFW Command.
    • Triggered Interaction Command.
  • Created REST API and Metrics tracking using Prometheus.
  • Changed from using Maven to Gradle.
  • Changed configuration system from using JSON to YAML.
  • Added Sentry error logging support.
  • Added support NSFW search using the search command in NSFW marked channels.
  • Added support for example messages in welcome and goodbuye message commands.
  • Added song request list when requesting music by name.
  • Added music activity job, disconnecting from voice channels if no one is listening.
  • Added some easter eggs.
  • Squashed 17 bugs.
  • And 56 other minor changes.

0.3

6 years ago

This build is a very early development build which is somewhat stable, feel free to download and run it for testing purposes. the build requires a MySQL database since SQLite databases are not yet supported in Orion.

Note: This is a very early development build, you will most likely encounter some issues with the bot, if you do please contact me on Discord at Senither#8023 or on the official AvaIre Discord Support Server.

Changelog

  • Created 12 new commands.
    • Calculate Command.
    • Reverse Text Command.
    • Flip Text Command.
    • Eat Interaction Command.
    • Meow Interaction Command.
    • Pout Interaction Command.
    • Shrug Interaction Command.
    • Uptime Command.
    • Shard Command.
    • Music Playlist Command.
    • Categories Command.
    • Toggle Category Command.
    • System Shutdown Command.
  • Created 5 new AI intents.
    • Random Dog & Cat AI Intents.
    • Find Song AI Intent.
    • Command Prefix AI Intent.
    • Level AI Intent.
  • Changed commands, jobs, and intents to be registered using reflection.
  • Changed all image commands to use embedded messages.
  • Changed AI to be enabled by default.
  • Moved DuckDuckGo, Gfycat, Urban Dictionary, and XKCD commands into a search category.
  • Cleanup logging output to be a bit nicer on the eyes.
  • Added support for plugins to register events.
  • Added support for plugins to set the source of their commands via annotations.
  • Removed build version.
  • Removed system command for non-bot-admins.
  • Squashed 14 bugs.
  • And 37 other minor changes.

0.2

6 years ago

This build is a very early development build which is somewhat stable, feel free to download and run it for testing purposes. the build requires a MySQL database since SQLite databases are not yet supported in Orion.

Note: This is a very early development build, you will most likely encounter some issues with the bot, if you do please contact me on Discord at Senither#8023 or on the offical AvaIre Discord Support Server.

Changelog

  • Updated JDA to version 3.3.1 Build 307, and LavaPlayer to version 1.2.45
  • Created 10 new commands.
    • Alias & List Aliases commands.
    • Server, Channel & User Info commands.
    • DuckDuckGo search command.
    • Feedback command.
    • Expand url command.
    • XKCD command.
    • IP Info command.
  • Created shard management and rewrote the bootstraping layer.
  • Created plugin management support.
    • Plugins can be added to the plugins folder, all .jar files in the folder will be loaded, if they are a valid plugin Orion will execute the jar file, allowing it to interacte with the inner workings of Orion via an API.
  • Created createFromOffsetDateTime method on the Carbon class.
  • Created info message on mention.
  • Changed all thread sensitive code to use thread pools.
    • Create thread command contract.
  • Changed all log messages to use slf4j Log factory and logback.
  • Removed prefix requirement when diplaying help for commands.
  • Rewrote the message factory & added placeholder support.
  • Squashed 19 bugs.
  • And 17 other minor changes.

Writing custom plugins for Orion

Orions custom plugin system is still very new so there isn't any real documentation just yet, if you'd like to see how to write a plugin for Orion you can check out the example plugin at avaire/orion-example-plugin.

0.1

6 years ago

This build is a very early development build which is somewhat stable, feel free to download and run it for testing purposes. the build requires a MySQL database since SQLite databases are not yet supported in Orion.

Note: This is a very early development build, you will most likely encounter some issues with the bot, if you do please contact me on Discord at Senither#8023 or on the offical AvaIre Discord Support Server.

Setup

The first time you run the jar file, a config.yml file will be created for you in the same directory the .jar file is placed in, if you already have a copy of avaire setup, you can use the same config.yml file, if not you'll need to setup your bot token and some valid MySQL user and database information, once you've done that, run the file again and you should be set.